@pixldocs/canvas-renderer 0.5.408 → 0.5.409
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-D_anatnh.js → index-DAOxGNQt.js} +79 -36
- package/dist/index-DAOxGNQt.js.map +1 -0
- package/dist/{index-vGjobYro.cjs → index-DaL8UMXJ.cjs} +79 -36
- package/dist/index-DaL8UMXJ.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-PXI2Nd-d.js → vectorPdfExport-BZbppXw8.js} +4 -4
- package/dist/{vectorPdfExport-PXI2Nd-d.js.map → vectorPdfExport-BZbppXw8.js.map} +1 -1
- package/dist/{vectorPdfExport-DSZH7267.cjs → vectorPdfExport-CI2YBgI3.cjs} +4 -4
- package/dist/{vectorPdfExport-DSZH7267.cjs.map → vectorPdfExport-CI2YBgI3.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/index-D_anatnh.js.map +0 -1
- package/dist/index-vGjobYro.cjs.map +0 -1
|
@@ -4965,7 +4965,7 @@ function getLocalDeltaStable(target, eventData) {
|
|
|
4965
4965
|
target.__lastPointerForCrop = p;
|
|
4966
4966
|
const dx = p.x - last.x;
|
|
4967
4967
|
const dy = p.y - last.y;
|
|
4968
|
-
const angle = fabric__namespace.util.degreesToRadians(target
|
|
4968
|
+
const angle = fabric__namespace.util.degreesToRadians(getWorldAngleDeg(target));
|
|
4969
4969
|
const cos = Math.cos(-angle);
|
|
4970
4970
|
const sin = Math.sin(-angle);
|
|
4971
4971
|
return {
|
|
@@ -4991,8 +4991,40 @@ function localDeltaToWorld(dx, dy, angleDeg) {
|
|
|
4991
4991
|
y: dx * sin + dy * cos
|
|
4992
4992
|
};
|
|
4993
4993
|
}
|
|
4994
|
-
function
|
|
4995
|
-
|
|
4994
|
+
function getWorldAngleDeg(obj) {
|
|
4995
|
+
var _a2;
|
|
4996
|
+
try {
|
|
4997
|
+
if (typeof obj.getTotalAngle === "function") return obj.getTotalAngle() || 0;
|
|
4998
|
+
const matrix = (_a2 = obj.calcTransformMatrix) == null ? void 0 : _a2.call(obj);
|
|
4999
|
+
return matrix ? fabric__namespace.util.qrDecompose(matrix).angle || 0 : obj.angle || 0;
|
|
5000
|
+
} catch {
|
|
5001
|
+
return obj.angle || 0;
|
|
5002
|
+
}
|
|
5003
|
+
}
|
|
5004
|
+
function getWorldCenter(obj) {
|
|
5005
|
+
var _a2;
|
|
5006
|
+
try {
|
|
5007
|
+
const matrix = (_a2 = obj.calcTransformMatrix) == null ? void 0 : _a2.call(obj);
|
|
5008
|
+
if (matrix) {
|
|
5009
|
+
const decomposed = fabric__namespace.util.qrDecompose(matrix);
|
|
5010
|
+
return { x: decomposed.translateX || 0, y: decomposed.translateY || 0 };
|
|
5011
|
+
}
|
|
5012
|
+
} catch {
|
|
5013
|
+
}
|
|
5014
|
+
return { x: obj.left || 0, y: obj.top || 0 };
|
|
5015
|
+
}
|
|
5016
|
+
function setCenterFromWorld(obj, worldX, worldY) {
|
|
5017
|
+
const parent = obj.group;
|
|
5018
|
+
if (parent && typeof parent.calcTransformMatrix === "function") {
|
|
5019
|
+
try {
|
|
5020
|
+
const invParent = fabric__namespace.util.invertTransform(parent.calcTransformMatrix());
|
|
5021
|
+
const parentPoint = fabric__namespace.util.transformPoint({ x: worldX, y: worldY }, invParent);
|
|
5022
|
+
obj.set({ left: parentPoint.x, top: parentPoint.y, originX: "center", originY: "center" });
|
|
5023
|
+
return;
|
|
5024
|
+
} catch {
|
|
5025
|
+
}
|
|
5026
|
+
}
|
|
5027
|
+
obj.set({ left: worldX, top: worldY, originX: "center", originY: "center" });
|
|
4996
5028
|
}
|
|
4997
5029
|
function getCornerDefaultSigns(corner) {
|
|
4998
5030
|
switch (corner) {
|
|
@@ -5036,44 +5068,50 @@ function resizeFrameFromCornerUniform(eventData, transform, _x, _y) {
|
|
|
5036
5068
|
if (!canvas) return false;
|
|
5037
5069
|
const e = getDomEvent(eventData);
|
|
5038
5070
|
if (!e) return false;
|
|
5039
|
-
const pointer = canvas.getPointer(e);
|
|
5040
|
-
g.setCoords();
|
|
5041
|
-
const a = g.aCoords;
|
|
5042
|
-
if (!a) return false;
|
|
5043
5071
|
const corner = transform.corner;
|
|
5044
|
-
const anchor = getOppositeAnchor(a, corner);
|
|
5045
5072
|
const defaultSigns = getCornerDefaultSigns(corner);
|
|
5046
5073
|
const MIN_SIZE = 20;
|
|
5047
|
-
const
|
|
5048
|
-
const
|
|
5049
|
-
const
|
|
5050
|
-
|
|
5051
|
-
|
|
5052
|
-
|
|
5053
|
-
|
|
5054
|
-
|
|
5074
|
+
const pointer = canvas.getPointer(e);
|
|
5075
|
+
const angle = getWorldAngleDeg(g);
|
|
5076
|
+
const snapshot = g.__cornerResizeStart && g.__cornerResizeStart.corner === corner && g.__cornerResizeStart.transform === transform ? g.__cornerResizeStart : (() => {
|
|
5077
|
+
const center = getWorldCenter(g);
|
|
5078
|
+
const baseW = Math.max(MIN_SIZE, ct.frameW || g.width || 1);
|
|
5079
|
+
const baseH = Math.max(MIN_SIZE, ct.frameH || g.height || 1);
|
|
5080
|
+
const anchorLocal = { x: -defaultSigns.x * baseW / 2, y: -defaultSigns.y * baseH / 2 };
|
|
5081
|
+
const anchorWorld = localDeltaToWorld(anchorLocal.x, anchorLocal.y, angle);
|
|
5082
|
+
const snap = {
|
|
5083
|
+
corner,
|
|
5084
|
+
transform,
|
|
5085
|
+
angle,
|
|
5086
|
+
baseW,
|
|
5087
|
+
baseH,
|
|
5088
|
+
anchorX: center.x + anchorWorld.x,
|
|
5089
|
+
anchorY: center.y + anchorWorld.y,
|
|
5090
|
+
signX: defaultSigns.x,
|
|
5091
|
+
signY: defaultSigns.y
|
|
5092
|
+
};
|
|
5093
|
+
g.__cornerResizeStart = snap;
|
|
5094
|
+
return snap;
|
|
5095
|
+
})();
|
|
5096
|
+
const localDelta = worldDeltaToLocal(pointer.x - snapshot.anchorX, pointer.y - snapshot.anchorY, snapshot.angle);
|
|
5097
|
+
const signX = snapshot.signX;
|
|
5098
|
+
const signY = snapshot.signY;
|
|
5055
5099
|
const rawW = Math.max(MIN_SIZE, Math.abs(localDelta.x));
|
|
5056
5100
|
const rawH = Math.max(MIN_SIZE, Math.abs(localDelta.y));
|
|
5057
|
-
const scaleFromW = rawW / baseW;
|
|
5058
|
-
const scaleFromH = rawH / baseH;
|
|
5101
|
+
const scaleFromW = rawW / snapshot.baseW;
|
|
5102
|
+
const scaleFromH = rawH / snapshot.baseH;
|
|
5059
5103
|
const s = Math.min(scaleFromW, scaleFromH);
|
|
5060
|
-
const newW = Math.max(MIN_SIZE, baseW * s);
|
|
5061
|
-
const newH = Math.max(MIN_SIZE, baseH * s);
|
|
5104
|
+
const newW = Math.max(MIN_SIZE, snapshot.baseW * s);
|
|
5105
|
+
const newH = Math.max(MIN_SIZE, snapshot.baseH * s);
|
|
5062
5106
|
ct.frameW = newW;
|
|
5063
5107
|
ct.frameH = newH;
|
|
5064
5108
|
const centerLocal = {
|
|
5065
5109
|
x: signX * (newW / 2),
|
|
5066
5110
|
y: signY * (newH / 2)
|
|
5067
5111
|
};
|
|
5068
|
-
const centerWorld = localDeltaToWorld(centerLocal.x, centerLocal.y, angle);
|
|
5069
|
-
g.
|
|
5070
|
-
|
|
5071
|
-
top: anchor.y + centerWorld.y,
|
|
5072
|
-
originX: "center",
|
|
5073
|
-
originY: "center",
|
|
5074
|
-
width: newW,
|
|
5075
|
-
height: newH
|
|
5076
|
-
});
|
|
5112
|
+
const centerWorld = localDeltaToWorld(centerLocal.x, centerLocal.y, snapshot.angle);
|
|
5113
|
+
setCenterFromWorld(g, snapshot.anchorX + centerWorld.x, snapshot.anchorY + centerWorld.y);
|
|
5114
|
+
g.set({ width: newW, height: newH });
|
|
5077
5115
|
updateCoverLayout(g);
|
|
5078
5116
|
canvas.requestRenderAll();
|
|
5079
5117
|
return true;
|
|
@@ -5083,8 +5121,9 @@ function resizeFrameFromSide(g, side, localDx, localDy) {
|
|
|
5083
5121
|
if (!ct) return;
|
|
5084
5122
|
const minSize = 30;
|
|
5085
5123
|
const moveCenterAlongLocalAxis = (obj, localX, localY) => {
|
|
5086
|
-
const
|
|
5087
|
-
|
|
5124
|
+
const center = getWorldCenter(obj);
|
|
5125
|
+
const worldDelta = localDeltaToWorld(localX, localY, getWorldAngleDeg(obj));
|
|
5126
|
+
setCenterFromWorld(obj, center.x + worldDelta.x, center.y + worldDelta.y);
|
|
5088
5127
|
};
|
|
5089
5128
|
if (side === "mr") {
|
|
5090
5129
|
ct.frameW = Math.max(minSize, ct.frameW + localDx);
|
|
@@ -5119,6 +5158,7 @@ function installCanvaMaskControls(g) {
|
|
|
5119
5158
|
};
|
|
5120
5159
|
g.set(controlStyle);
|
|
5121
5160
|
const notifyResizeSnap = (target, corner) => {
|
|
5161
|
+
if (target.group instanceof fabric__namespace.ActiveSelection) return;
|
|
5122
5162
|
const handler = target.__resizeSnapHandler;
|
|
5123
5163
|
if (typeof handler === "function") handler(target, corner);
|
|
5124
5164
|
};
|
|
@@ -14121,6 +14161,9 @@ const PageCanvas = react.forwardRef(
|
|
|
14121
14161
|
if (activeObj.__lastPointerForCrop) {
|
|
14122
14162
|
delete activeObj.__lastPointerForCrop;
|
|
14123
14163
|
}
|
|
14164
|
+
if (activeObj.__cornerResizeStart) {
|
|
14165
|
+
delete activeObj.__cornerResizeStart;
|
|
14166
|
+
}
|
|
14124
14167
|
}
|
|
14125
14168
|
if (!didTransformRef.current) {
|
|
14126
14169
|
editLockRef.current = false;
|
|
@@ -25179,9 +25222,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
25179
25222
|
}
|
|
25180
25223
|
return svgString;
|
|
25181
25224
|
}
|
|
25182
|
-
const resolvedPackageVersion = "0.5.
|
|
25225
|
+
const resolvedPackageVersion = "0.5.409";
|
|
25183
25226
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
25184
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
25227
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.409";
|
|
25185
25228
|
const roundParityValue = (value) => {
|
|
25186
25229
|
if (typeof value !== "number") return value;
|
|
25187
25230
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -25995,7 +26038,7 @@ class PixldocsRenderer {
|
|
|
25995
26038
|
await this.waitForCanvasScene(container, cloned, i);
|
|
25996
26039
|
}
|
|
25997
26040
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
25998
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
26041
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-CI2YBgI3.cjs"));
|
|
25999
26042
|
const prepared = preparePagesForExport(
|
|
26000
26043
|
cloned.pages,
|
|
26001
26044
|
canvasWidth,
|
|
@@ -28315,7 +28358,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
28315
28358
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
28316
28359
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
28317
28360
|
try {
|
|
28318
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
28361
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-CI2YBgI3.cjs"));
|
|
28319
28362
|
try {
|
|
28320
28363
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
28321
28364
|
} catch {
|
|
@@ -28712,4 +28755,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
28712
28755
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
28713
28756
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
28714
28757
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
28715
|
-
//# sourceMappingURL=index-
|
|
28758
|
+
//# sourceMappingURL=index-DaL8UMXJ.cjs.map
|