@pixldocs/canvas-renderer 0.5.306 → 0.5.307
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-DG1oNkJx.js → index-D4p1jWxS.js} +91 -12
- package/dist/index-D4p1jWxS.js.map +1 -0
- package/dist/{index-Dtus6g8-.cjs → index-DDubE6xA.cjs} +91 -12
- package/dist/index-DDubE6xA.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-CBKunRKb.js → vectorPdfExport-B6HX4s-I.js} +4 -4
- package/dist/{vectorPdfExport-CBKunRKb.js.map → vectorPdfExport-B6HX4s-I.js.map} +1 -1
- package/dist/{vectorPdfExport-DlIHeeIS.cjs → vectorPdfExport-BLbk8p1V.cjs} +4 -4
- package/dist/{vectorPdfExport-DlIHeeIS.cjs.map → vectorPdfExport-BLbk8p1V.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/index-DG1oNkJx.js.map +0 -1
- package/dist/index-Dtus6g8-.cjs.map +0 -1
|
@@ -11259,10 +11259,31 @@ const PageCanvas = react.forwardRef(
|
|
|
11259
11259
|
const [ready, setReady] = react.useState(false);
|
|
11260
11260
|
const [unlockRequestId, setUnlockRequestId] = react.useState(0);
|
|
11261
11261
|
const applyLogicalGroupSelectionVisualState = react.useCallback((selection, groupId) => {
|
|
11262
|
-
var _a2;
|
|
11262
|
+
var _a2, _b2;
|
|
11263
11263
|
selection.__pixldocsGroupSelection = groupId;
|
|
11264
11264
|
delete selection.__pixldocsLogicalGroupIds;
|
|
11265
11265
|
selection.hasBorders = true;
|
|
11266
|
+
try {
|
|
11267
|
+
const state = useEditorStore.getState();
|
|
11268
|
+
const pages = ((_a2 = state.canvas) == null ? void 0 : _a2.pages) ?? [];
|
|
11269
|
+
let groupNode = null;
|
|
11270
|
+
for (const page of pages) {
|
|
11271
|
+
const found = findNodeById(page.children ?? [], groupId);
|
|
11272
|
+
if (found && isGroup(found)) {
|
|
11273
|
+
groupNode = found;
|
|
11274
|
+
break;
|
|
11275
|
+
}
|
|
11276
|
+
}
|
|
11277
|
+
if (groupNode && !isStackLayoutMode(groupNode.layoutMode) && typeof groupNode.angle === "number" && Math.abs(groupNode.angle) > 0.01) {
|
|
11278
|
+
const currentAngle = ((selection.angle ?? 0) % 360 + 360) % 360;
|
|
11279
|
+
const targetAngle = ((groupNode.angle ?? 0) % 360 + 360) % 360;
|
|
11280
|
+
if (Math.abs(currentAngle - targetAngle) > 0.01) {
|
|
11281
|
+
selection.rotate(targetAngle);
|
|
11282
|
+
selection.setCoords();
|
|
11283
|
+
}
|
|
11284
|
+
}
|
|
11285
|
+
} catch {
|
|
11286
|
+
}
|
|
11266
11287
|
const members = selection.getObjects();
|
|
11267
11288
|
for (const prev of suppressGroupMemberBordersRef.current) {
|
|
11268
11289
|
if (members.includes(prev)) continue;
|
|
@@ -11286,7 +11307,7 @@ const PageCanvas = react.forwardRef(
|
|
|
11286
11307
|
if (m.__pixldocsOrigHasControls === void 0) m.__pixldocsOrigHasControls = m.hasControls;
|
|
11287
11308
|
m.hasBorders = false;
|
|
11288
11309
|
m.hasControls = false;
|
|
11289
|
-
if (m.__cropGroup || ((
|
|
11310
|
+
if (m.__cropGroup || ((_b2 = m._ct) == null ? void 0 : _b2.isCropGroup)) {
|
|
11290
11311
|
if (m.__pixldocsOrigLockScalingX === void 0) {
|
|
11291
11312
|
m.__pixldocsOrigLockScalingX = m.lockScalingX;
|
|
11292
11313
|
m.__pixldocsOrigLockScalingY = m.lockScalingY;
|
|
@@ -13869,6 +13890,12 @@ const PageCanvas = react.forwardRef(
|
|
|
13869
13890
|
if (didShift) didReflowTextChild = true;
|
|
13870
13891
|
}
|
|
13871
13892
|
if (isXSide && didReflowTextChild && typeof obj.triggerLayout === "function") {
|
|
13893
|
+
obj.setCoords();
|
|
13894
|
+
const cornersBefore = obj.aCoords;
|
|
13895
|
+
let fixedMidBefore = null;
|
|
13896
|
+
if (cornersBefore) {
|
|
13897
|
+
fixedMidBefore = corner === "ml" ? { x: (cornersBefore.tr.x + cornersBefore.br.x) / 2, y: (cornersBefore.tr.y + cornersBefore.br.y) / 2 } : { x: (cornersBefore.tl.x + cornersBefore.bl.x) / 2, y: (cornersBefore.tl.y + cornersBefore.bl.y) / 2 };
|
|
13898
|
+
}
|
|
13872
13899
|
try {
|
|
13873
13900
|
obj.triggerLayout();
|
|
13874
13901
|
} catch {
|
|
@@ -13877,11 +13904,22 @@ const PageCanvas = react.forwardRef(
|
|
|
13877
13904
|
obj._set("scaleX", asSx0);
|
|
13878
13905
|
obj._set("scaleY", asSy0);
|
|
13879
13906
|
obj.setCoords();
|
|
13880
|
-
const
|
|
13881
|
-
|
|
13882
|
-
|
|
13883
|
-
|
|
13884
|
-
|
|
13907
|
+
const cornersAfter = obj.aCoords;
|
|
13908
|
+
if (fixedMidBefore && cornersAfter) {
|
|
13909
|
+
const fixedMidAfter = corner === "ml" ? { x: (cornersAfter.tr.x + cornersAfter.br.x) / 2, y: (cornersAfter.tr.y + cornersAfter.br.y) / 2 } : { x: (cornersAfter.tl.x + cornersAfter.bl.x) / 2, y: (cornersAfter.tl.y + cornersAfter.bl.y) / 2 };
|
|
13910
|
+
const dx = fixedMidBefore.x - fixedMidAfter.x;
|
|
13911
|
+
const dy = fixedMidBefore.y - fixedMidAfter.y;
|
|
13912
|
+
if (Math.abs(dx) > 0.01 || Math.abs(dy) > 0.01) {
|
|
13913
|
+
obj._set("left", (obj.left ?? 0) + dx);
|
|
13914
|
+
obj._set("top", (obj.top ?? 0) + dy);
|
|
13915
|
+
}
|
|
13916
|
+
} else {
|
|
13917
|
+
const afterRect = obj.getBoundingRect();
|
|
13918
|
+
const fixedLeft = asRect0.left;
|
|
13919
|
+
const fixedRight = asRect0.left + asRect0.width;
|
|
13920
|
+
const nextLeft = corner === "ml" ? (obj.left ?? 0) + (fixedRight - (afterRect.left + afterRect.width)) : (obj.left ?? 0) + (fixedLeft - afterRect.left);
|
|
13921
|
+
obj._set("left", nextLeft);
|
|
13922
|
+
}
|
|
13885
13923
|
} else {
|
|
13886
13924
|
obj._set("height", asH0);
|
|
13887
13925
|
obj._set("left", asLeft0);
|
|
@@ -14626,6 +14664,47 @@ const PageCanvas = react.forwardRef(
|
|
|
14626
14664
|
unlockEditsSoon();
|
|
14627
14665
|
return;
|
|
14628
14666
|
}
|
|
14667
|
+
if (hadRotation && !hadScale && isActiveSelection && activeObj instanceof fabric__namespace.ActiveSelection && !isStackLayoutMode(groupToMove.layoutMode)) {
|
|
14668
|
+
const groupSelectionId = activeObj.__pixldocsGroupSelection ?? groupToMove.id;
|
|
14669
|
+
const newAngle = ((activeObj.angle ?? 0) % 360 + 360) % 360;
|
|
14670
|
+
const { updateNode: updateNodeStore, commitHistory: commitHistoryStore, getCurrentElements } = useEditorStore.getState();
|
|
14671
|
+
const rotPatch = { angle: newAngle === 0 ? void 0 : newAngle };
|
|
14672
|
+
if (Math.abs(deltaX) > 0.1) rotPatch.left = (groupToMove.left ?? 0) + deltaX;
|
|
14673
|
+
if (Math.abs(deltaY) > 0.1) rotPatch.top = (groupToMove.top ?? 0) + deltaY;
|
|
14674
|
+
updateNodeStore(groupToMove.id, rotPatch, { recordHistory: false, skipLayoutRecalc: true });
|
|
14675
|
+
commitHistoryStore();
|
|
14676
|
+
pendingGroupDrillInRef.current = null;
|
|
14677
|
+
fabricCanvas.__activeEditingGroupId = null;
|
|
14678
|
+
setDrilledGroupBounds(null);
|
|
14679
|
+
drilledGroupIdRef.current = null;
|
|
14680
|
+
if (groupSelectionId) {
|
|
14681
|
+
restoreGroupSelectionVisualState(activeObj, groupSelectionId);
|
|
14682
|
+
fabricCanvas.setActiveObject(activeObj);
|
|
14683
|
+
activeObj.setCoords();
|
|
14684
|
+
}
|
|
14685
|
+
selectElements([groupSelectionId], false, false);
|
|
14686
|
+
fabricCanvas.requestRenderAll();
|
|
14687
|
+
elementsRef.current = getCurrentElements();
|
|
14688
|
+
const rotTargets = activeObj.getObjects();
|
|
14689
|
+
for (const o of rotTargets) {
|
|
14690
|
+
const oid = getObjectId(o);
|
|
14691
|
+
if (oid && oid !== "__background__") {
|
|
14692
|
+
justModifiedIdsRef.current.add(oid);
|
|
14693
|
+
modifiedIdsThisRound.add(oid);
|
|
14694
|
+
}
|
|
14695
|
+
}
|
|
14696
|
+
setTimeout(() => modifiedIdsThisRound.forEach((id) => justModifiedIdsRef.current.delete(id)), 150);
|
|
14697
|
+
groupSelectionTransformStartRef.current = null;
|
|
14698
|
+
const rotSnapshot = {
|
|
14699
|
+
memberIds: rotTargets.map((o) => getObjectId(o)).filter((id) => !!id && id !== "__background__"),
|
|
14700
|
+
groupSelectionId,
|
|
14701
|
+
expiresAt: Date.now() + 1200
|
|
14702
|
+
};
|
|
14703
|
+
recentGroupSelectionRestoreRef.current = rotSnapshot;
|
|
14704
|
+
restorePreservedGroupSelectionSoon(rotSnapshot);
|
|
14705
|
+
unlockEditsSoon();
|
|
14706
|
+
return;
|
|
14707
|
+
}
|
|
14629
14708
|
}
|
|
14630
14709
|
}
|
|
14631
14710
|
const pendingCropGroupFrameBakes = [];
|
|
@@ -24211,9 +24290,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
24211
24290
|
}
|
|
24212
24291
|
return svgString;
|
|
24213
24292
|
}
|
|
24214
|
-
const resolvedPackageVersion = "0.5.
|
|
24293
|
+
const resolvedPackageVersion = "0.5.307";
|
|
24215
24294
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
24216
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
24295
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.307";
|
|
24217
24296
|
const roundParityValue = (value) => {
|
|
24218
24297
|
if (typeof value !== "number") return value;
|
|
24219
24298
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25027,7 +25106,7 @@ class PixldocsRenderer {
|
|
|
25027
25106
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25028
25107
|
}
|
|
25029
25108
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25030
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
25109
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-BLbk8p1V.cjs"));
|
|
25031
25110
|
const prepared = preparePagesForExport(
|
|
25032
25111
|
cloned.pages,
|
|
25033
25112
|
canvasWidth,
|
|
@@ -27347,7 +27426,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
27347
27426
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
27348
27427
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
27349
27428
|
try {
|
|
27350
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
27429
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-BLbk8p1V.cjs"));
|
|
27351
27430
|
try {
|
|
27352
27431
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
27353
27432
|
} catch {
|
|
@@ -27744,4 +27823,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
27744
27823
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
27745
27824
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
27746
27825
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
27747
|
-
//# sourceMappingURL=index-
|
|
27826
|
+
//# sourceMappingURL=index-DDubE6xA.cjs.map
|