@pixldocs/canvas-renderer 0.5.465 → 0.5.466
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-DmkAdvKz.js → index-B_lTeUY-.js} +55 -5
- package/dist/index-B_lTeUY-.js.map +1 -0
- package/dist/{index-Co301SkV.cjs → index-CJitUO8J.cjs} +55 -5
- package/dist/index-CJitUO8J.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-CVeVbCo7.js → vectorPdfExport-CYNj9Z_A.js} +4 -4
- package/dist/{vectorPdfExport-CVeVbCo7.js.map → vectorPdfExport-CYNj9Z_A.js.map} +1 -1
- package/dist/{vectorPdfExport-Bsd1V19b.cjs → vectorPdfExport-DldoIDUl.cjs} +4 -4
- package/dist/{vectorPdfExport-Bsd1V19b.cjs.map → vectorPdfExport-DldoIDUl.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/index-Co301SkV.cjs.map +0 -1
- package/dist/index-DmkAdvKz.js.map +0 -1
|
@@ -5261,6 +5261,53 @@ function updateCoverLayout(g) {
|
|
|
5261
5261
|
g.canvas.requestRenderAll();
|
|
5262
5262
|
}
|
|
5263
5263
|
}
|
|
5264
|
+
function shrinkContainGroupToImageBounds(g) {
|
|
5265
|
+
const ct = g.__cropData;
|
|
5266
|
+
if (!ct || ct.fit !== "contain") return;
|
|
5267
|
+
const img = ct._img;
|
|
5268
|
+
if (!img) return;
|
|
5269
|
+
const clip = g.clipPath;
|
|
5270
|
+
if (clip && (isSvgMaskClipPath(clip) || isLuminanceMaskClipPath(clip) || clip.__svgMask || clip.__edgeFadeMask)) return;
|
|
5271
|
+
const iw = img.width || 0;
|
|
5272
|
+
const ih = img.height || 0;
|
|
5273
|
+
const sx = Math.abs(img.scaleX || 1);
|
|
5274
|
+
const sy = Math.abs(img.scaleY || 1);
|
|
5275
|
+
const dispW = iw * sx;
|
|
5276
|
+
const dispH = ih * sy;
|
|
5277
|
+
if (dispW <= 0 || dispH <= 0) return;
|
|
5278
|
+
const frameW = Number(ct.frameW) || g.width || dispW;
|
|
5279
|
+
const frameH = Number(ct.frameH) || g.height || dispH;
|
|
5280
|
+
const alignH = ct.alignH ?? "center";
|
|
5281
|
+
const alignV = ct.alignV ?? "middle";
|
|
5282
|
+
const slackX = frameW - dispW;
|
|
5283
|
+
const slackY = frameH - dispH;
|
|
5284
|
+
const offsetX = alignH === "left" ? -slackX / 2 : alignH === "right" ? slackX / 2 : 0;
|
|
5285
|
+
const offsetY = alignV === "top" ? -slackY / 2 : alignV === "bottom" ? slackY / 2 : 0;
|
|
5286
|
+
const angleRad = fabric__namespace.util.degreesToRadians(g.angle || 0);
|
|
5287
|
+
const cos = Math.cos(angleRad);
|
|
5288
|
+
const sin = Math.sin(angleRad);
|
|
5289
|
+
const worldDx = offsetX * cos - offsetY * sin;
|
|
5290
|
+
const worldDy = offsetX * sin + offsetY * cos;
|
|
5291
|
+
g.set({
|
|
5292
|
+
left: (g.left || 0) + worldDx,
|
|
5293
|
+
top: (g.top || 0) + worldDy,
|
|
5294
|
+
width: dispW,
|
|
5295
|
+
height: dispH
|
|
5296
|
+
});
|
|
5297
|
+
img.set({ left: 0, top: 0 });
|
|
5298
|
+
if (clip) {
|
|
5299
|
+
if (clip instanceof fabric__namespace.Rect) {
|
|
5300
|
+
const rxRatio = Number(ct.rx) || 0;
|
|
5301
|
+
const rxPx = rxRatio > 0.5 ? Math.min(rxRatio, dispW / 2, dispH / 2) : Math.max(0, Math.min(rxRatio * Math.min(dispW, dispH), dispW / 2, dispH / 2));
|
|
5302
|
+
clip.set({ width: dispW, height: dispH, rx: rxPx, ry: rxPx });
|
|
5303
|
+
} else if (clip instanceof fabric__namespace.Ellipse) {
|
|
5304
|
+
clip.set({ rx: dispW / 2, ry: dispH / 2 });
|
|
5305
|
+
}
|
|
5306
|
+
clip.dirty = true;
|
|
5307
|
+
}
|
|
5308
|
+
g.dirty = true;
|
|
5309
|
+
g.setCoords();
|
|
5310
|
+
}
|
|
5264
5311
|
function getDomEvent(eventData) {
|
|
5265
5312
|
return (eventData == null ? void 0 : eventData.e) ?? eventData ?? null;
|
|
5266
5313
|
}
|
|
@@ -17652,6 +17699,7 @@ const PageCanvas = react.forwardRef(
|
|
|
17652
17699
|
ct.fit = elFit;
|
|
17653
17700
|
}
|
|
17654
17701
|
updateCoverLayout(existingObj);
|
|
17702
|
+
shrinkContainGroupToImageBounds(existingObj);
|
|
17655
17703
|
applyEdgeFadeFrameClipPath(existingObj, element, ct.frameW, ct.frameH, ct.shape || "rect", ct.rx || 0);
|
|
17656
17704
|
if (allowEditing) {
|
|
17657
17705
|
installImageResizeControlsWithSnap(existingObj);
|
|
@@ -17759,6 +17807,7 @@ const PageCanvas = react.forwardRef(
|
|
|
17759
17807
|
ctSync.alignV = element.imageAlignV ?? "middle";
|
|
17760
17808
|
ctSync.containScale = Math.max(1, Math.min(3, Number(element.containScale ?? 1)));
|
|
17761
17809
|
updateCoverLayout(existingObj);
|
|
17810
|
+
shrinkContainGroupToImageBounds(existingObj);
|
|
17762
17811
|
existingObj.dirty = true;
|
|
17763
17812
|
}
|
|
17764
17813
|
}
|
|
@@ -19725,6 +19774,7 @@ const PageCanvas = react.forwardRef(
|
|
|
19725
19774
|
updateCoverLayout(cropGroup);
|
|
19726
19775
|
}
|
|
19727
19776
|
applyEdgeFadeFrameClipPath(cropGroup, element, frameW, frameH, shape, rxRatio);
|
|
19777
|
+
shrinkContainGroupToImageBounds(cropGroup);
|
|
19728
19778
|
setObjectData(cropGroup, element.id);
|
|
19729
19779
|
cropGroup.__imageElement = cropImg;
|
|
19730
19780
|
cropGroup.__imageSrc = imageUrl;
|
|
@@ -26308,9 +26358,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
26308
26358
|
}
|
|
26309
26359
|
return svgString;
|
|
26310
26360
|
}
|
|
26311
|
-
const resolvedPackageVersion = "0.5.
|
|
26361
|
+
const resolvedPackageVersion = "0.5.466";
|
|
26312
26362
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
26313
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
26363
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.466";
|
|
26314
26364
|
const roundParityValue = (value) => {
|
|
26315
26365
|
if (typeof value !== "number") return value;
|
|
26316
26366
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -27124,7 +27174,7 @@ class PixldocsRenderer {
|
|
|
27124
27174
|
await this.waitForCanvasScene(container, cloned, i);
|
|
27125
27175
|
}
|
|
27126
27176
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
27127
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
27177
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-DldoIDUl.cjs"));
|
|
27128
27178
|
const prepared = preparePagesForExport(
|
|
27129
27179
|
cloned.pages,
|
|
27130
27180
|
canvasWidth,
|
|
@@ -29444,7 +29494,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
29444
29494
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
29445
29495
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
29446
29496
|
try {
|
|
29447
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
29497
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-DldoIDUl.cjs"));
|
|
29448
29498
|
try {
|
|
29449
29499
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
29450
29500
|
} catch {
|
|
@@ -29758,4 +29808,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
29758
29808
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
29759
29809
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
29760
29810
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
29761
|
-
//# sourceMappingURL=index-
|
|
29811
|
+
//# sourceMappingURL=index-CJitUO8J.cjs.map
|