@pixldocs/canvas-renderer 0.5.460 → 0.5.462
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-CtJvkbzV.cjs → index-DjoKgogq.cjs} +45 -15
- package/dist/index-DjoKgogq.cjs.map +1 -0
- package/dist/{index-B306IfvT.js → index-DzpYcUNd.js} +45 -15
- package/dist/index-DzpYcUNd.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-CWiNW81v.js → vectorPdfExport-CFxK100y.js} +30 -8
- package/dist/{vectorPdfExport-CWiNW81v.js.map → vectorPdfExport-CFxK100y.js.map} +1 -1
- package/dist/{vectorPdfExport-B5Xxp9RH.cjs → vectorPdfExport-IjuMSK-o.cjs} +30 -8
- package/dist/{vectorPdfExport-B5Xxp9RH.cjs.map → vectorPdfExport-IjuMSK-o.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/index-B306IfvT.js.map +0 -1
- package/dist/index-CtJvkbzV.cjs.map +0 -1
|
@@ -4431,8 +4431,12 @@ async function loadImageAsync(element, placeholder, fc, fabricRef, syncLockedRef
|
|
|
4431
4431
|
const elementHeight2 = Number(element.height) * (element.scaleY ?? 1);
|
|
4432
4432
|
const scaledImageWidth = imgNaturalWidth * baseScaleX;
|
|
4433
4433
|
const scaledImageHeight = imgNaturalHeight * baseScaleY;
|
|
4434
|
-
const
|
|
4435
|
-
const
|
|
4434
|
+
const alignH = element.imageAlignH ?? "center";
|
|
4435
|
+
const alignV = element.imageAlignV ?? "middle";
|
|
4436
|
+
const slackX = elementWidth2 - scaledImageWidth;
|
|
4437
|
+
const slackY = elementHeight2 - scaledImageHeight;
|
|
4438
|
+
const imageLeft = imageFit2 === "contain" ? alignH === "left" ? 0 : alignH === "right" ? slackX : slackX / 2 : slackX / 2;
|
|
4439
|
+
const imageTop = imageFit2 === "contain" ? alignV === "top" ? 0 : alignV === "bottom" ? slackY : slackY / 2 : slackY / 2;
|
|
4436
4440
|
img.set({
|
|
4437
4441
|
originX: "left",
|
|
4438
4442
|
originY: "top",
|
|
@@ -5231,8 +5235,19 @@ function updateCoverLayout(g) {
|
|
|
5231
5235
|
const overflowY = Math.max(0, dispH - frameH);
|
|
5232
5236
|
const panX = clamp$1(img._ct.panX ?? 0.5, 0, 1);
|
|
5233
5237
|
const panY = clamp$1(img._ct.panY ?? 0.5, 0, 1);
|
|
5234
|
-
|
|
5235
|
-
|
|
5238
|
+
let offsetX = 0;
|
|
5239
|
+
let offsetY = 0;
|
|
5240
|
+
if (fitContain) {
|
|
5241
|
+
const alignH = ct.alignH ?? "center";
|
|
5242
|
+
const alignV = ct.alignV ?? "middle";
|
|
5243
|
+
const slackX = Math.max(0, frameW - dispW);
|
|
5244
|
+
const slackY = Math.max(0, frameH - dispH);
|
|
5245
|
+
offsetX = alignH === "left" ? -slackX / 2 : alignH === "right" ? slackX / 2 : 0;
|
|
5246
|
+
offsetY = alignV === "top" ? -slackY / 2 : alignV === "bottom" ? slackY / 2 : 0;
|
|
5247
|
+
} else {
|
|
5248
|
+
offsetX = overflowX > 0 ? -overflowX * (panX - 0.5) : 0;
|
|
5249
|
+
offsetY = overflowY > 0 ? -overflowY * (panY - 0.5) : 0;
|
|
5250
|
+
}
|
|
5236
5251
|
img.set({ left: offsetX, top: offsetY });
|
|
5237
5252
|
g.dirty = true;
|
|
5238
5253
|
img.dirty = true;
|
|
@@ -5605,7 +5620,10 @@ async function createMaskedImageElement({
|
|
|
5605
5620
|
visible = true,
|
|
5606
5621
|
panX = 0.5,
|
|
5607
5622
|
panY = 0.5,
|
|
5608
|
-
zoom = 1
|
|
5623
|
+
zoom = 1,
|
|
5624
|
+
fit = "cover",
|
|
5625
|
+
alignH = "center",
|
|
5626
|
+
alignV = "middle"
|
|
5609
5627
|
}) {
|
|
5610
5628
|
const img = image || (url ? await fabric__namespace.FabricImage.fromURL(getProxiedImageUrl(url), { crossOrigin: "anonymous" }) : null);
|
|
5611
5629
|
if (!img) {
|
|
@@ -5724,8 +5742,12 @@ async function createMaskedImageElement({
|
|
|
5724
5742
|
rx,
|
|
5725
5743
|
frameW,
|
|
5726
5744
|
frameH,
|
|
5727
|
-
|
|
5728
|
-
//
|
|
5745
|
+
// Honor the element's authored imageFit. When 'contain', the image is
|
|
5746
|
+
// scaled to fit fully inside the frame (no clipping) and alignH/alignV
|
|
5747
|
+
// control where the letterboxed image sits.
|
|
5748
|
+
fit,
|
|
5749
|
+
alignH,
|
|
5750
|
+
alignV,
|
|
5729
5751
|
_img: img,
|
|
5730
5752
|
_border: border
|
|
5731
5753
|
};
|
|
@@ -17114,13 +17136,15 @@ const PageCanvas = react.forwardRef(
|
|
|
17114
17136
|
}
|
|
17115
17137
|
updateElement(elementId, {
|
|
17116
17138
|
text: newText,
|
|
17117
|
-
...typeof nextHeight === "number" && nextHeight > 0 && { height: nextHeight }
|
|
17139
|
+
...typeof nextHeight === "number" && nextHeight > 0 && { height: nextHeight },
|
|
17140
|
+
...target.styles && Object.keys(target.styles).length > 0 ? { styles: JSON.parse(JSON.stringify(target.styles)) } : {}
|
|
17118
17141
|
});
|
|
17119
17142
|
} else {
|
|
17120
17143
|
updateElement(elementId, {
|
|
17121
17144
|
text: newText,
|
|
17122
17145
|
...fabricHeight > 0 && { height: fabricHeight },
|
|
17123
|
-
...fabricWidth > 0 && { width: fabricWidth }
|
|
17146
|
+
...fabricWidth > 0 && { width: fabricWidth },
|
|
17147
|
+
...target.styles && Object.keys(target.styles).length > 0 ? { styles: JSON.parse(JSON.stringify(target.styles)) } : {}
|
|
17124
17148
|
});
|
|
17125
17149
|
}
|
|
17126
17150
|
commitHistory2();
|
|
@@ -19632,7 +19656,13 @@ const PageCanvas = react.forwardRef(
|
|
|
19632
19656
|
visible: !isHidden,
|
|
19633
19657
|
panX,
|
|
19634
19658
|
panY,
|
|
19635
|
-
zoom: zoom2
|
|
19659
|
+
zoom: zoom2,
|
|
19660
|
+
// Honor authored Object Fit + alignment so contain logos render
|
|
19661
|
+
// fully inside the frame, with letterbox aligned to the chosen
|
|
19662
|
+
// edge (instead of being silently cover-cropped).
|
|
19663
|
+
fit: imageFitFinal === "contain" ? "contain" : "cover",
|
|
19664
|
+
alignH: element.imageAlignH ?? "center",
|
|
19665
|
+
alignV: element.imageAlignV ?? "middle"
|
|
19636
19666
|
});
|
|
19637
19667
|
cropGroup.__maintainResolution = element.maintainResolution !== false;
|
|
19638
19668
|
cropGroup.set({
|
|
@@ -26239,9 +26269,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
26239
26269
|
}
|
|
26240
26270
|
return svgString;
|
|
26241
26271
|
}
|
|
26242
|
-
const resolvedPackageVersion = "0.5.
|
|
26272
|
+
const resolvedPackageVersion = "0.5.462";
|
|
26243
26273
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
26244
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
26274
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.462";
|
|
26245
26275
|
const roundParityValue = (value) => {
|
|
26246
26276
|
if (typeof value !== "number") return value;
|
|
26247
26277
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -27055,7 +27085,7 @@ class PixldocsRenderer {
|
|
|
27055
27085
|
await this.waitForCanvasScene(container, cloned, i);
|
|
27056
27086
|
}
|
|
27057
27087
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
27058
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
27088
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-IjuMSK-o.cjs"));
|
|
27059
27089
|
const prepared = preparePagesForExport(
|
|
27060
27090
|
cloned.pages,
|
|
27061
27091
|
canvasWidth,
|
|
@@ -29375,7 +29405,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
29375
29405
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
29376
29406
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
29377
29407
|
try {
|
|
29378
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
29408
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-IjuMSK-o.cjs"));
|
|
29379
29409
|
try {
|
|
29380
29410
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
29381
29411
|
} catch {
|
|
@@ -29689,4 +29719,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
29689
29719
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
29690
29720
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
29691
29721
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
29692
|
-
//# sourceMappingURL=index-
|
|
29722
|
+
//# sourceMappingURL=index-DjoKgogq.cjs.map
|