@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
|
@@ -13754,24 +13754,6 @@ const PageCanvas = react.forwardRef(
|
|
|
13754
13754
|
const isXSide = corner === "ml" || corner === "mr";
|
|
13755
13755
|
const sAxis = isXSide ? Math.abs(obj.scaleX ?? 1) : Math.abs(obj.scaleY ?? 1);
|
|
13756
13756
|
if (sAxis > 1e-3) {
|
|
13757
|
-
const childAnglesNorm = obj.getObjects().map((c) => {
|
|
13758
|
-
const a = (c.angle ?? 0) % 360;
|
|
13759
|
-
return a < 0 ? a + 360 : a;
|
|
13760
|
-
});
|
|
13761
|
-
const baseAngle = childAnglesNorm[0] ?? 0;
|
|
13762
|
-
const hasMixedRotation = childAnglesNorm.some(
|
|
13763
|
-
(a) => Math.abs(a - baseAngle) > 0.5 && Math.abs(Math.abs(a - baseAngle) - 360) > 0.5
|
|
13764
|
-
);
|
|
13765
|
-
if (hasMixedRotation) {
|
|
13766
|
-
if (isXSide) {
|
|
13767
|
-
obj._set("scaleY", obj.scaleX ?? 1);
|
|
13768
|
-
} else {
|
|
13769
|
-
obj._set("scaleX", obj.scaleY ?? 1);
|
|
13770
|
-
}
|
|
13771
|
-
obj.setCoords();
|
|
13772
|
-
obj.dirty = true;
|
|
13773
|
-
return;
|
|
13774
|
-
}
|
|
13775
13757
|
if (isXSide && ((_b2 = groupShiftReflowSnapshotRef.current) == null ? void 0 : _b2.selection) !== obj) {
|
|
13776
13758
|
groupShiftReflowSnapshotRef.current = null;
|
|
13777
13759
|
const logicalGroupId = obj.__pixldocsGroupSelection;
|
|
@@ -14796,6 +14778,9 @@ const PageCanvas = react.forwardRef(
|
|
|
14796
14778
|
let finalScaleX = decomposed.scaleX;
|
|
14797
14779
|
let finalScaleY = decomposed.scaleY;
|
|
14798
14780
|
let finalAbsoluteMatrix = absoluteMatrix;
|
|
14781
|
+
let finalAngle = decomposed.angle;
|
|
14782
|
+
let finalSkewX = decomposed.skewX;
|
|
14783
|
+
let finalSkewY = decomposed.skewY;
|
|
14799
14784
|
if (obj instanceof fabric__namespace.Group && obj.__cropGroup) {
|
|
14800
14785
|
const ct = obj.__cropData;
|
|
14801
14786
|
if (ct) {
|
|
@@ -14852,6 +14837,11 @@ const PageCanvas = react.forwardRef(
|
|
|
14852
14837
|
finalHeight = bakedH;
|
|
14853
14838
|
finalScaleX = 1;
|
|
14854
14839
|
finalScaleY = 1;
|
|
14840
|
+
if (activeSelectionResizeHandle === "ml" || activeSelectionResizeHandle === "mr" || activeSelectionResizeHandle === "mt" || activeSelectionResizeHandle === "mb") {
|
|
14841
|
+
finalAngle = (sourceElement == null ? void 0 : sourceElement.angle) ?? obj.angle ?? decomposed.angle;
|
|
14842
|
+
finalSkewX = (sourceElement == null ? void 0 : sourceElement.skewX) ?? obj.skewX ?? 0;
|
|
14843
|
+
finalSkewY = (sourceElement == null ? void 0 : sourceElement.skewY) ?? obj.skewY ?? 0;
|
|
14844
|
+
}
|
|
14855
14845
|
obj.set({ scaleX: 1, scaleY: 1 });
|
|
14856
14846
|
const newSrc = renderSmartElementToDataUri(sourceElement.smartElementType, sourceElement.smartProps, bakedW, bakedH);
|
|
14857
14847
|
if (newSrc) {
|
|
@@ -14902,20 +14892,7 @@ const PageCanvas = react.forwardRef(
|
|
|
14902
14892
|
obj.set({ scaleX: localScaleX, scaleY: localScaleY });
|
|
14903
14893
|
const selectionMatrix = (_g = activeObj == null ? void 0 : activeObj.calcTransformMatrix) == null ? void 0 : _g.call(activeObj);
|
|
14904
14894
|
const localCenter = selectionMatrix ? fabric__namespace.util.transformPoint(preBakeCenter, fabric__namespace.util.invertTransform(selectionMatrix)) : preBakeCenter;
|
|
14905
|
-
|
|
14906
|
-
const localHeight = bakedH * localScaleY;
|
|
14907
|
-
const isCenterOrigin = obj.originX === "center" || obj.originY === "center";
|
|
14908
|
-
if (isCenterOrigin) {
|
|
14909
|
-
obj.set({
|
|
14910
|
-
left: localCenter.x,
|
|
14911
|
-
top: localCenter.y
|
|
14912
|
-
});
|
|
14913
|
-
} else {
|
|
14914
|
-
obj.set({
|
|
14915
|
-
left: localCenter.x - localWidth / 2,
|
|
14916
|
-
top: localCenter.y - localHeight / 2
|
|
14917
|
-
});
|
|
14918
|
-
}
|
|
14895
|
+
obj.setPositionByOrigin(localCenter, "center", "center");
|
|
14919
14896
|
}
|
|
14920
14897
|
obj.dirty = true;
|
|
14921
14898
|
if (activeObj) activeObj.dirty = true;
|
|
@@ -14926,33 +14903,29 @@ const PageCanvas = react.forwardRef(
|
|
|
14926
14903
|
finalHeight = bakedH;
|
|
14927
14904
|
finalScaleX = 1;
|
|
14928
14905
|
finalScaleY = 1;
|
|
14906
|
+
if (activeSelectionResizeHandle === "ml" || activeSelectionResizeHandle === "mr" || activeSelectionResizeHandle === "mt" || activeSelectionResizeHandle === "mb") {
|
|
14907
|
+
finalAngle = (sourceElement == null ? void 0 : sourceElement.angle) ?? obj.angle ?? decomposed.angle;
|
|
14908
|
+
finalSkewX = (sourceElement == null ? void 0 : sourceElement.skewX) ?? obj.skewX ?? 0;
|
|
14909
|
+
finalSkewY = (sourceElement == null ? void 0 : sourceElement.skewY) ?? obj.skewY ?? 0;
|
|
14910
|
+
}
|
|
14929
14911
|
try {
|
|
14930
|
-
const angleRad = (
|
|
14912
|
+
const angleRad = (finalAngle ?? 0) * Math.PI / 180;
|
|
14931
14913
|
const cos = Math.cos(angleRad);
|
|
14932
14914
|
const sin = Math.sin(angleRad);
|
|
14933
14915
|
const hw = finalWidth / 2;
|
|
14934
14916
|
const hh = finalHeight / 2;
|
|
14935
|
-
|
|
14936
|
-
|
|
14937
|
-
{ x: hw, y: -hh },
|
|
14938
|
-
{ x: hw, y: hh },
|
|
14939
|
-
{ x: -hw, y: hh }
|
|
14940
|
-
].map((p) => ({
|
|
14941
|
-
x: decomposed.translateX + p.x * cos - p.y * sin,
|
|
14942
|
-
y: decomposed.translateY + p.x * sin + p.y * cos
|
|
14943
|
-
}));
|
|
14944
|
-
absoluteLeft = Math.min(...corners.map((p) => p.x));
|
|
14945
|
-
absoluteTop = Math.min(...corners.map((p) => p.y));
|
|
14917
|
+
absoluteLeft = decomposed.translateX - hw * cos + hh * sin;
|
|
14918
|
+
absoluteTop = decomposed.translateY - hw * sin - hh * cos;
|
|
14946
14919
|
} catch {
|
|
14947
14920
|
}
|
|
14948
14921
|
finalAbsoluteMatrix = fabric__namespace.util.composeMatrix({
|
|
14949
14922
|
translateX: decomposed.translateX,
|
|
14950
14923
|
translateY: decomposed.translateY,
|
|
14951
|
-
angle:
|
|
14924
|
+
angle: finalAngle ?? 0,
|
|
14952
14925
|
scaleX: 1,
|
|
14953
14926
|
scaleY: 1,
|
|
14954
|
-
skewX: 0,
|
|
14955
|
-
skewY: 0
|
|
14927
|
+
skewX: finalSkewX ?? 0,
|
|
14928
|
+
skewY: finalSkewY ?? 0
|
|
14956
14929
|
});
|
|
14957
14930
|
} else {
|
|
14958
14931
|
finalWidth = intrinsicWidth;
|
|
@@ -14963,6 +14936,11 @@ const PageCanvas = react.forwardRef(
|
|
|
14963
14936
|
finalHeight = 0;
|
|
14964
14937
|
finalScaleX = 1;
|
|
14965
14938
|
finalScaleY = 1;
|
|
14939
|
+
if (activeSelectionResizeHandle === "ml" || activeSelectionResizeHandle === "mr" || activeSelectionResizeHandle === "mt" || activeSelectionResizeHandle === "mb") {
|
|
14940
|
+
finalAngle = (sourceElement == null ? void 0 : sourceElement.angle) ?? obj.angle ?? decomposed.angle;
|
|
14941
|
+
finalSkewX = (sourceElement == null ? void 0 : sourceElement.skewX) ?? obj.skewX ?? 0;
|
|
14942
|
+
finalSkewY = (sourceElement == null ? void 0 : sourceElement.skewY) ?? obj.skewY ?? 0;
|
|
14943
|
+
}
|
|
14966
14944
|
} else if (obj instanceof fabric__namespace.Textbox && isActiveSelection && (Math.abs((decomposed.scaleX ?? 1) - 1) > 1e-3 || Math.abs((decomposed.scaleY ?? 1) - 1) > 1e-3)) {
|
|
14967
14945
|
const sx = Math.abs(decomposed.scaleX || 1);
|
|
14968
14946
|
const sy = Math.abs(decomposed.scaleY || 1);
|
|
@@ -15033,12 +15011,7 @@ const PageCanvas = react.forwardRef(
|
|
|
15033
15011
|
obj.set({ scaleX: localScaleX, scaleY: localScaleY });
|
|
15034
15012
|
const selectionMatrix = (_h = activeObj == null ? void 0 : activeObj.calcTransformMatrix) == null ? void 0 : _h.call(activeObj);
|
|
15035
15013
|
const localCenter = selectionMatrix ? fabric__namespace.util.transformPoint(preBakeCenter, fabric__namespace.util.invertTransform(selectionMatrix)) : preBakeCenter;
|
|
15036
|
-
|
|
15037
|
-
const localHeight = (obj.height ?? intrinsicHeight) * localScaleY;
|
|
15038
|
-
obj.set({
|
|
15039
|
-
left: localCenter.x - localWidth / 2,
|
|
15040
|
-
top: localCenter.y - localHeight / 2
|
|
15041
|
-
});
|
|
15014
|
+
obj.setPositionByOrigin(localCenter, "center", "center");
|
|
15042
15015
|
} else {
|
|
15043
15016
|
obj.setPositionByOrigin(preBakeCenter, "center", "center");
|
|
15044
15017
|
}
|
|
@@ -15051,32 +15024,23 @@ const PageCanvas = react.forwardRef(
|
|
|
15051
15024
|
} catch {
|
|
15052
15025
|
}
|
|
15053
15026
|
try {
|
|
15054
|
-
const angleRad = (
|
|
15027
|
+
const angleRad = (finalAngle ?? 0) * Math.PI / 180;
|
|
15055
15028
|
const cos = Math.cos(angleRad);
|
|
15056
15029
|
const sin = Math.sin(angleRad);
|
|
15057
15030
|
const hw = finalWidth / 2;
|
|
15058
15031
|
const hh = finalHeight / 2;
|
|
15059
|
-
|
|
15060
|
-
|
|
15061
|
-
{ x: hw, y: -hh },
|
|
15062
|
-
{ x: hw, y: hh },
|
|
15063
|
-
{ x: -hw, y: hh }
|
|
15064
|
-
].map((p) => ({
|
|
15065
|
-
x: decomposed.translateX + p.x * cos - p.y * sin,
|
|
15066
|
-
y: decomposed.translateY + p.x * sin + p.y * cos
|
|
15067
|
-
}));
|
|
15068
|
-
absoluteLeft = Math.min(...corners.map((p) => p.x));
|
|
15069
|
-
absoluteTop = Math.min(...corners.map((p) => p.y));
|
|
15032
|
+
absoluteLeft = decomposed.translateX - hw * cos + hh * sin;
|
|
15033
|
+
absoluteTop = decomposed.translateY - hw * sin - hh * cos;
|
|
15070
15034
|
} catch {
|
|
15071
15035
|
}
|
|
15072
15036
|
finalAbsoluteMatrix = fabric__namespace.util.composeMatrix({
|
|
15073
15037
|
translateX: decomposed.translateX,
|
|
15074
15038
|
translateY: decomposed.translateY,
|
|
15075
|
-
angle:
|
|
15039
|
+
angle: finalAngle ?? 0,
|
|
15076
15040
|
scaleX: 1,
|
|
15077
15041
|
scaleY: 1,
|
|
15078
|
-
skewX: 0,
|
|
15079
|
-
skewY: 0
|
|
15042
|
+
skewX: finalSkewX ?? 0,
|
|
15043
|
+
skewY: finalSkewY ?? 0
|
|
15080
15044
|
});
|
|
15081
15045
|
if (debugGroupTextCornerResize) {
|
|
15082
15046
|
logGroupTextResizeDebug("text-bake", {
|
|
@@ -15143,9 +15107,9 @@ const PageCanvas = react.forwardRef(
|
|
|
15143
15107
|
// so finalWidth already reflects the new width chosen by the user.
|
|
15144
15108
|
width: finalWidth,
|
|
15145
15109
|
height: isLineObj ? 0 : isAutoShrinkText ? typeof autoShrinkStoredHeight === "number" ? autoShrinkStoredHeight : finalHeight : finalHeight,
|
|
15146
|
-
angle:
|
|
15147
|
-
skewX: isLineObj ? 0 :
|
|
15148
|
-
skewY: isLineObj ? 0 :
|
|
15110
|
+
angle: finalAngle,
|
|
15111
|
+
skewX: isLineObj ? 0 : finalSkewX,
|
|
15112
|
+
skewY: isLineObj ? 0 : finalSkewY,
|
|
15149
15113
|
scaleX: finalScaleX,
|
|
15150
15114
|
scaleY: finalScaleY,
|
|
15151
15115
|
transformMatrix: finalAbsoluteMatrix
|
|
@@ -24299,9 +24263,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
24299
24263
|
}
|
|
24300
24264
|
return svgString;
|
|
24301
24265
|
}
|
|
24302
|
-
const resolvedPackageVersion = "0.5.
|
|
24266
|
+
const resolvedPackageVersion = "0.5.326";
|
|
24303
24267
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
24304
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
24268
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.326";
|
|
24305
24269
|
const roundParityValue = (value) => {
|
|
24306
24270
|
if (typeof value !== "number") return value;
|
|
24307
24271
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25115,7 +25079,7 @@ class PixldocsRenderer {
|
|
|
25115
25079
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25116
25080
|
}
|
|
25117
25081
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25118
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
25082
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-CtjZ9wQ_.cjs"));
|
|
25119
25083
|
const prepared = preparePagesForExport(
|
|
25120
25084
|
cloned.pages,
|
|
25121
25085
|
canvasWidth,
|
|
@@ -27435,7 +27399,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
27435
27399
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
27436
27400
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
27437
27401
|
try {
|
|
27438
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
27402
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-CtjZ9wQ_.cjs"));
|
|
27439
27403
|
try {
|
|
27440
27404
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
27441
27405
|
} catch {
|
|
@@ -27832,4 +27796,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
27832
27796
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
27833
27797
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
27834
27798
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
27835
|
-
//# sourceMappingURL=index-
|
|
27799
|
+
//# sourceMappingURL=index-MMaqERXX.cjs.map
|