@pixldocs/canvas-renderer 0.5.325 → 0.5.326
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-CYpr1MY-.js → index-CXrA6xYG.js} +40 -76
- package/dist/index-CXrA6xYG.js.map +1 -0
- package/dist/{index-BeSkXpzz.cjs → index-MMaqERXX.cjs} +40 -76
- package/dist/index-MMaqERXX.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-DHtj2TRz.cjs → vectorPdfExport-CtjZ9wQ_.cjs} +4 -4
- package/dist/{vectorPdfExport-DHtj2TRz.cjs.map → vectorPdfExport-CtjZ9wQ_.cjs.map} +1 -1
- package/dist/{vectorPdfExport-Mq6tcwR7.js → vectorPdfExport-N0-ZYAKl.js} +4 -4
- package/dist/{vectorPdfExport-Mq6tcwR7.js.map → vectorPdfExport-N0-ZYAKl.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-BeSkXpzz.cjs.map +0 -1
- package/dist/index-CYpr1MY-.js.map +0 -1
|
@@ -13736,24 +13736,6 @@ const PageCanvas = forwardRef(
|
|
|
13736
13736
|
const isXSide = corner === "ml" || corner === "mr";
|
|
13737
13737
|
const sAxis = isXSide ? Math.abs(obj.scaleX ?? 1) : Math.abs(obj.scaleY ?? 1);
|
|
13738
13738
|
if (sAxis > 1e-3) {
|
|
13739
|
-
const childAnglesNorm = obj.getObjects().map((c) => {
|
|
13740
|
-
const a = (c.angle ?? 0) % 360;
|
|
13741
|
-
return a < 0 ? a + 360 : a;
|
|
13742
|
-
});
|
|
13743
|
-
const baseAngle = childAnglesNorm[0] ?? 0;
|
|
13744
|
-
const hasMixedRotation = childAnglesNorm.some(
|
|
13745
|
-
(a) => Math.abs(a - baseAngle) > 0.5 && Math.abs(Math.abs(a - baseAngle) - 360) > 0.5
|
|
13746
|
-
);
|
|
13747
|
-
if (hasMixedRotation) {
|
|
13748
|
-
if (isXSide) {
|
|
13749
|
-
obj._set("scaleY", obj.scaleX ?? 1);
|
|
13750
|
-
} else {
|
|
13751
|
-
obj._set("scaleX", obj.scaleY ?? 1);
|
|
13752
|
-
}
|
|
13753
|
-
obj.setCoords();
|
|
13754
|
-
obj.dirty = true;
|
|
13755
|
-
return;
|
|
13756
|
-
}
|
|
13757
13739
|
if (isXSide && ((_b2 = groupShiftReflowSnapshotRef.current) == null ? void 0 : _b2.selection) !== obj) {
|
|
13758
13740
|
groupShiftReflowSnapshotRef.current = null;
|
|
13759
13741
|
const logicalGroupId = obj.__pixldocsGroupSelection;
|
|
@@ -14778,6 +14760,9 @@ const PageCanvas = forwardRef(
|
|
|
14778
14760
|
let finalScaleX = decomposed.scaleX;
|
|
14779
14761
|
let finalScaleY = decomposed.scaleY;
|
|
14780
14762
|
let finalAbsoluteMatrix = absoluteMatrix;
|
|
14763
|
+
let finalAngle = decomposed.angle;
|
|
14764
|
+
let finalSkewX = decomposed.skewX;
|
|
14765
|
+
let finalSkewY = decomposed.skewY;
|
|
14781
14766
|
if (obj instanceof fabric.Group && obj.__cropGroup) {
|
|
14782
14767
|
const ct = obj.__cropData;
|
|
14783
14768
|
if (ct) {
|
|
@@ -14834,6 +14819,11 @@ const PageCanvas = forwardRef(
|
|
|
14834
14819
|
finalHeight = bakedH;
|
|
14835
14820
|
finalScaleX = 1;
|
|
14836
14821
|
finalScaleY = 1;
|
|
14822
|
+
if (activeSelectionResizeHandle === "ml" || activeSelectionResizeHandle === "mr" || activeSelectionResizeHandle === "mt" || activeSelectionResizeHandle === "mb") {
|
|
14823
|
+
finalAngle = (sourceElement == null ? void 0 : sourceElement.angle) ?? obj.angle ?? decomposed.angle;
|
|
14824
|
+
finalSkewX = (sourceElement == null ? void 0 : sourceElement.skewX) ?? obj.skewX ?? 0;
|
|
14825
|
+
finalSkewY = (sourceElement == null ? void 0 : sourceElement.skewY) ?? obj.skewY ?? 0;
|
|
14826
|
+
}
|
|
14837
14827
|
obj.set({ scaleX: 1, scaleY: 1 });
|
|
14838
14828
|
const newSrc = renderSmartElementToDataUri(sourceElement.smartElementType, sourceElement.smartProps, bakedW, bakedH);
|
|
14839
14829
|
if (newSrc) {
|
|
@@ -14884,20 +14874,7 @@ const PageCanvas = forwardRef(
|
|
|
14884
14874
|
obj.set({ scaleX: localScaleX, scaleY: localScaleY });
|
|
14885
14875
|
const selectionMatrix = (_g = activeObj == null ? void 0 : activeObj.calcTransformMatrix) == null ? void 0 : _g.call(activeObj);
|
|
14886
14876
|
const localCenter = selectionMatrix ? fabric.util.transformPoint(preBakeCenter, fabric.util.invertTransform(selectionMatrix)) : preBakeCenter;
|
|
14887
|
-
|
|
14888
|
-
const localHeight = bakedH * localScaleY;
|
|
14889
|
-
const isCenterOrigin = obj.originX === "center" || obj.originY === "center";
|
|
14890
|
-
if (isCenterOrigin) {
|
|
14891
|
-
obj.set({
|
|
14892
|
-
left: localCenter.x,
|
|
14893
|
-
top: localCenter.y
|
|
14894
|
-
});
|
|
14895
|
-
} else {
|
|
14896
|
-
obj.set({
|
|
14897
|
-
left: localCenter.x - localWidth / 2,
|
|
14898
|
-
top: localCenter.y - localHeight / 2
|
|
14899
|
-
});
|
|
14900
|
-
}
|
|
14877
|
+
obj.setPositionByOrigin(localCenter, "center", "center");
|
|
14901
14878
|
}
|
|
14902
14879
|
obj.dirty = true;
|
|
14903
14880
|
if (activeObj) activeObj.dirty = true;
|
|
@@ -14908,33 +14885,29 @@ const PageCanvas = forwardRef(
|
|
|
14908
14885
|
finalHeight = bakedH;
|
|
14909
14886
|
finalScaleX = 1;
|
|
14910
14887
|
finalScaleY = 1;
|
|
14888
|
+
if (activeSelectionResizeHandle === "ml" || activeSelectionResizeHandle === "mr" || activeSelectionResizeHandle === "mt" || activeSelectionResizeHandle === "mb") {
|
|
14889
|
+
finalAngle = (sourceElement == null ? void 0 : sourceElement.angle) ?? obj.angle ?? decomposed.angle;
|
|
14890
|
+
finalSkewX = (sourceElement == null ? void 0 : sourceElement.skewX) ?? obj.skewX ?? 0;
|
|
14891
|
+
finalSkewY = (sourceElement == null ? void 0 : sourceElement.skewY) ?? obj.skewY ?? 0;
|
|
14892
|
+
}
|
|
14911
14893
|
try {
|
|
14912
|
-
const angleRad = (
|
|
14894
|
+
const angleRad = (finalAngle ?? 0) * Math.PI / 180;
|
|
14913
14895
|
const cos = Math.cos(angleRad);
|
|
14914
14896
|
const sin = Math.sin(angleRad);
|
|
14915
14897
|
const hw = finalWidth / 2;
|
|
14916
14898
|
const hh = finalHeight / 2;
|
|
14917
|
-
|
|
14918
|
-
|
|
14919
|
-
{ x: hw, y: -hh },
|
|
14920
|
-
{ x: hw, y: hh },
|
|
14921
|
-
{ x: -hw, y: hh }
|
|
14922
|
-
].map((p) => ({
|
|
14923
|
-
x: decomposed.translateX + p.x * cos - p.y * sin,
|
|
14924
|
-
y: decomposed.translateY + p.x * sin + p.y * cos
|
|
14925
|
-
}));
|
|
14926
|
-
absoluteLeft = Math.min(...corners.map((p) => p.x));
|
|
14927
|
-
absoluteTop = Math.min(...corners.map((p) => p.y));
|
|
14899
|
+
absoluteLeft = decomposed.translateX - hw * cos + hh * sin;
|
|
14900
|
+
absoluteTop = decomposed.translateY - hw * sin - hh * cos;
|
|
14928
14901
|
} catch {
|
|
14929
14902
|
}
|
|
14930
14903
|
finalAbsoluteMatrix = fabric.util.composeMatrix({
|
|
14931
14904
|
translateX: decomposed.translateX,
|
|
14932
14905
|
translateY: decomposed.translateY,
|
|
14933
|
-
angle:
|
|
14906
|
+
angle: finalAngle ?? 0,
|
|
14934
14907
|
scaleX: 1,
|
|
14935
14908
|
scaleY: 1,
|
|
14936
|
-
skewX: 0,
|
|
14937
|
-
skewY: 0
|
|
14909
|
+
skewX: finalSkewX ?? 0,
|
|
14910
|
+
skewY: finalSkewY ?? 0
|
|
14938
14911
|
});
|
|
14939
14912
|
} else {
|
|
14940
14913
|
finalWidth = intrinsicWidth;
|
|
@@ -14945,6 +14918,11 @@ const PageCanvas = forwardRef(
|
|
|
14945
14918
|
finalHeight = 0;
|
|
14946
14919
|
finalScaleX = 1;
|
|
14947
14920
|
finalScaleY = 1;
|
|
14921
|
+
if (activeSelectionResizeHandle === "ml" || activeSelectionResizeHandle === "mr" || activeSelectionResizeHandle === "mt" || activeSelectionResizeHandle === "mb") {
|
|
14922
|
+
finalAngle = (sourceElement == null ? void 0 : sourceElement.angle) ?? obj.angle ?? decomposed.angle;
|
|
14923
|
+
finalSkewX = (sourceElement == null ? void 0 : sourceElement.skewX) ?? obj.skewX ?? 0;
|
|
14924
|
+
finalSkewY = (sourceElement == null ? void 0 : sourceElement.skewY) ?? obj.skewY ?? 0;
|
|
14925
|
+
}
|
|
14948
14926
|
} else if (obj instanceof fabric.Textbox && isActiveSelection && (Math.abs((decomposed.scaleX ?? 1) - 1) > 1e-3 || Math.abs((decomposed.scaleY ?? 1) - 1) > 1e-3)) {
|
|
14949
14927
|
const sx = Math.abs(decomposed.scaleX || 1);
|
|
14950
14928
|
const sy = Math.abs(decomposed.scaleY || 1);
|
|
@@ -15015,12 +14993,7 @@ const PageCanvas = forwardRef(
|
|
|
15015
14993
|
obj.set({ scaleX: localScaleX, scaleY: localScaleY });
|
|
15016
14994
|
const selectionMatrix = (_h = activeObj == null ? void 0 : activeObj.calcTransformMatrix) == null ? void 0 : _h.call(activeObj);
|
|
15017
14995
|
const localCenter = selectionMatrix ? fabric.util.transformPoint(preBakeCenter, fabric.util.invertTransform(selectionMatrix)) : preBakeCenter;
|
|
15018
|
-
|
|
15019
|
-
const localHeight = (obj.height ?? intrinsicHeight) * localScaleY;
|
|
15020
|
-
obj.set({
|
|
15021
|
-
left: localCenter.x - localWidth / 2,
|
|
15022
|
-
top: localCenter.y - localHeight / 2
|
|
15023
|
-
});
|
|
14996
|
+
obj.setPositionByOrigin(localCenter, "center", "center");
|
|
15024
14997
|
} else {
|
|
15025
14998
|
obj.setPositionByOrigin(preBakeCenter, "center", "center");
|
|
15026
14999
|
}
|
|
@@ -15033,32 +15006,23 @@ const PageCanvas = forwardRef(
|
|
|
15033
15006
|
} catch {
|
|
15034
15007
|
}
|
|
15035
15008
|
try {
|
|
15036
|
-
const angleRad = (
|
|
15009
|
+
const angleRad = (finalAngle ?? 0) * Math.PI / 180;
|
|
15037
15010
|
const cos = Math.cos(angleRad);
|
|
15038
15011
|
const sin = Math.sin(angleRad);
|
|
15039
15012
|
const hw = finalWidth / 2;
|
|
15040
15013
|
const hh = finalHeight / 2;
|
|
15041
|
-
|
|
15042
|
-
|
|
15043
|
-
{ x: hw, y: -hh },
|
|
15044
|
-
{ x: hw, y: hh },
|
|
15045
|
-
{ x: -hw, y: hh }
|
|
15046
|
-
].map((p) => ({
|
|
15047
|
-
x: decomposed.translateX + p.x * cos - p.y * sin,
|
|
15048
|
-
y: decomposed.translateY + p.x * sin + p.y * cos
|
|
15049
|
-
}));
|
|
15050
|
-
absoluteLeft = Math.min(...corners.map((p) => p.x));
|
|
15051
|
-
absoluteTop = Math.min(...corners.map((p) => p.y));
|
|
15014
|
+
absoluteLeft = decomposed.translateX - hw * cos + hh * sin;
|
|
15015
|
+
absoluteTop = decomposed.translateY - hw * sin - hh * cos;
|
|
15052
15016
|
} catch {
|
|
15053
15017
|
}
|
|
15054
15018
|
finalAbsoluteMatrix = fabric.util.composeMatrix({
|
|
15055
15019
|
translateX: decomposed.translateX,
|
|
15056
15020
|
translateY: decomposed.translateY,
|
|
15057
|
-
angle:
|
|
15021
|
+
angle: finalAngle ?? 0,
|
|
15058
15022
|
scaleX: 1,
|
|
15059
15023
|
scaleY: 1,
|
|
15060
|
-
skewX: 0,
|
|
15061
|
-
skewY: 0
|
|
15024
|
+
skewX: finalSkewX ?? 0,
|
|
15025
|
+
skewY: finalSkewY ?? 0
|
|
15062
15026
|
});
|
|
15063
15027
|
if (debugGroupTextCornerResize) {
|
|
15064
15028
|
logGroupTextResizeDebug("text-bake", {
|
|
@@ -15125,9 +15089,9 @@ const PageCanvas = forwardRef(
|
|
|
15125
15089
|
// so finalWidth already reflects the new width chosen by the user.
|
|
15126
15090
|
width: finalWidth,
|
|
15127
15091
|
height: isLineObj ? 0 : isAutoShrinkText ? typeof autoShrinkStoredHeight === "number" ? autoShrinkStoredHeight : finalHeight : finalHeight,
|
|
15128
|
-
angle:
|
|
15129
|
-
skewX: isLineObj ? 0 :
|
|
15130
|
-
skewY: isLineObj ? 0 :
|
|
15092
|
+
angle: finalAngle,
|
|
15093
|
+
skewX: isLineObj ? 0 : finalSkewX,
|
|
15094
|
+
skewY: isLineObj ? 0 : finalSkewY,
|
|
15131
15095
|
scaleX: finalScaleX,
|
|
15132
15096
|
scaleY: finalScaleY,
|
|
15133
15097
|
transformMatrix: finalAbsoluteMatrix
|
|
@@ -24281,9 +24245,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
24281
24245
|
}
|
|
24282
24246
|
return svgString;
|
|
24283
24247
|
}
|
|
24284
|
-
const resolvedPackageVersion = "0.5.
|
|
24248
|
+
const resolvedPackageVersion = "0.5.326";
|
|
24285
24249
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
24286
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
24250
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.326";
|
|
24287
24251
|
const roundParityValue = (value) => {
|
|
24288
24252
|
if (typeof value !== "number") return value;
|
|
24289
24253
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25097,7 +25061,7 @@ class PixldocsRenderer {
|
|
|
25097
25061
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25098
25062
|
}
|
|
25099
25063
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25100
|
-
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-
|
|
25064
|
+
const { exportMultiPagePdf, preparePagesForExport } = await import("./vectorPdfExport-N0-ZYAKl.js");
|
|
25101
25065
|
const prepared = preparePagesForExport(
|
|
25102
25066
|
cloned.pages,
|
|
25103
25067
|
canvasWidth,
|
|
@@ -27417,7 +27381,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
27417
27381
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
27418
27382
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
27419
27383
|
try {
|
|
27420
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-
|
|
27384
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await import("./vectorPdfExport-N0-ZYAKl.js");
|
|
27421
27385
|
try {
|
|
27422
27386
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
27423
27387
|
} catch {
|
|
@@ -27817,4 +27781,4 @@ export {
|
|
|
27817
27781
|
buildTeaserBlurFlatKeys as y,
|
|
27818
27782
|
collectFontDescriptorsFromConfig as z
|
|
27819
27783
|
};
|
|
27820
|
-
//# sourceMappingURL=index-
|
|
27784
|
+
//# sourceMappingURL=index-CXrA6xYG.js.map
|