@pixldocs/canvas-renderer 0.5.461 → 0.5.463
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-COG7WTYO.js → index-CJ3vY_6d.js} +47 -15
- package/dist/index-CJ3vY_6d.js.map +1 -0
- package/dist/{index-D1sMo2it.cjs → index-kf9OkhGi.cjs} +47 -15
- package/dist/index-kf9OkhGi.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-Bn1wgD8Q.js → vectorPdfExport-BlCi6g1y.js} +34 -10
- package/dist/{vectorPdfExport-Bn1wgD8Q.js.map → vectorPdfExport-BlCi6g1y.js.map} +1 -1
- package/dist/{vectorPdfExport-C7mmAR68.cjs → vectorPdfExport-DFhh1h5p.cjs} +34 -10
- package/dist/{vectorPdfExport-C7mmAR68.cjs.map → vectorPdfExport-DFhh1h5p.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/index-COG7WTYO.js.map +0 -1
- package/dist/index-D1sMo2it.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const index = require("./index-
|
|
3
|
+
const index = require("./index-kf9OkhGi.cjs");
|
|
4
4
|
exports.DEPLOYMENT_VERSION_MARKER = index.DEPLOYMENT_VERSION_MARKER;
|
|
5
5
|
exports.FONT_FALLBACK_DEVANAGARI = index.FONT_FALLBACK_DEVANAGARI;
|
|
6
6
|
exports.FONT_FALLBACK_MATH = index.FONT_FALLBACK_MATH;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D, F, o, q, s, P, t, u, v, w, x, y, z, B, C, E, G, H, I, J, K, L, M, b, N, O, Q, R, S, U, V, W, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6 } from "./index-
|
|
1
|
+
import { D, F, o, q, s, P, t, u, v, w, x, y, z, B, C, E, G, H, I, J, K, L, M, b, N, O, Q, R, S, U, V, W, X, Y, Z, _, $, a0, a1, a2, a3, a4, a5, a6 } from "./index-CJ3vY_6d.js";
|
|
2
2
|
export {
|
|
3
3
|
D as DEPLOYMENT_VERSION_MARKER,
|
|
4
4
|
F as FONT_FALLBACK_DEVANAGARI,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsPDF, ShadingPattern } from "jspdf";
|
|
2
2
|
import { svg2pdf } from "svg2pdf.js";
|
|
3
3
|
import * as fabric from "fabric";
|
|
4
|
-
import { p as parseTextMarkdown, r as renderSmartElementToSvg, g as getCanvasForPage, c as captureFabricCanvasSvgForPdf, f as findNodeById, a as getAbsoluteBounds, b as getProxiedImageUrl, d as getImageProxyFetchOptions, A as API_URL, n as normalizeShapeType, i as isElement, e as isGroup, h as buildRoundedTrianglePath, j as hasEdgeFade, k as bakeEdgeFade, l as getRoundedRectRadii, T as TRIANGLE_STROKE_MITER_LIMIT, m as getTrianglePoints } from "./index-
|
|
4
|
+
import { p as parseTextMarkdown, r as renderSmartElementToSvg, g as getCanvasForPage, c as captureFabricCanvasSvgForPdf, f as findNodeById, a as getAbsoluteBounds, b as getProxiedImageUrl, d as getImageProxyFetchOptions, A as API_URL, n as normalizeShapeType, i as isElement, e as isGroup, h as buildRoundedTrianglePath, j as hasEdgeFade, k as bakeEdgeFade, l as getRoundedRectRadii, T as TRIANGLE_STROKE_MITER_LIMIT, m as getTrianglePoints } from "./index-CJ3vY_6d.js";
|
|
5
5
|
import { resetPdfFontRegistry, FONT_FALLBACK_SYMBOLS, FONT_FALLBACK_MATH, FONT_FALLBACK_DEVANAGARI, embedFontWithGoogleFallback, getEmbeddedVariantsList, isFontAvailable, isFamilyEmbedded, resolveBestRegisteredVariant, getEmbeddedJsPDFFontName, resolveFontWeight, doesVariantSupportChar } from "./pdfFonts-DhEaMTZl.js";
|
|
6
6
|
async function embedFontsForSvg(pdf, svgStr) {
|
|
7
7
|
var _a;
|
|
@@ -3252,7 +3252,7 @@ async function fetchSvgAsElement(imageUrl, colorMap) {
|
|
|
3252
3252
|
async function getRecoloredSvgDataUrl(imageUrl, colorMap) {
|
|
3253
3253
|
if (!colorMap || Object.keys(colorMap).length === 0) return null;
|
|
3254
3254
|
try {
|
|
3255
|
-
const { getNormalizedSvgUrl } = await import("./index-
|
|
3255
|
+
const { getNormalizedSvgUrl } = await import("./index-CJ3vY_6d.js").then((n) => n.a7);
|
|
3256
3256
|
return await getNormalizedSvgUrl(imageUrl, colorMap);
|
|
3257
3257
|
} catch {
|
|
3258
3258
|
return null;
|
|
@@ -4061,7 +4061,7 @@ async function fetchImageAsBase64(imageUrl, opts = {}) {
|
|
|
4061
4061
|
}
|
|
4062
4062
|
let fetchUrl = imageUrl;
|
|
4063
4063
|
if (imageUrl.startsWith("http://") || imageUrl.startsWith("https://")) {
|
|
4064
|
-
const { isPrivateUrl } = await import("./index-
|
|
4064
|
+
const { isPrivateUrl } = await import("./index-CJ3vY_6d.js").then((n) => n.a7);
|
|
4065
4065
|
if (isPrivateUrl(imageUrl)) return null;
|
|
4066
4066
|
const proxyUrl = new URL(`${API_URL}/image-proxy`);
|
|
4067
4067
|
proxyUrl.searchParams.set("url", imageUrl);
|
|
@@ -4771,15 +4771,27 @@ async function drawElement(pdf, element, embeddedFonts, canvasWidth, canvasHeigh
|
|
|
4771
4771
|
const naturalW = Math.max(1, Number(element.imageNaturalWidth ?? 0) || Number(((_g = cropData == null ? void 0 : cropData._img) == null ? void 0 : _g.width) ?? 0) || frameW);
|
|
4772
4772
|
const naturalH = Math.max(1, Number(element.imageNaturalHeight ?? 0) || Number(((_h = cropData == null ? void 0 : cropData._img) == null ? void 0 : _h.height) ?? 0) || frameH);
|
|
4773
4773
|
const fitContain = ((cropData == null ? void 0 : cropData.fit) ?? element.imageFit ?? "cover") === "contain";
|
|
4774
|
+
const alignH = element.imageAlignH ?? "center";
|
|
4775
|
+
const alignV = element.imageAlignV ?? "middle";
|
|
4776
|
+
const containScaleVal = Math.max(1, Math.min(3, Number(element.containScale ?? 1)));
|
|
4774
4777
|
const cropSvgRect = (clipX, clipY, clipW, clipH) => {
|
|
4775
4778
|
const baseScale = fitContain ? Math.min(clipW / naturalW, clipH / naturalH) : Math.max(clipW / naturalW, clipH / naturalH);
|
|
4776
|
-
const finalScale = baseScale * (fitContain ?
|
|
4779
|
+
const finalScale = baseScale * (fitContain ? containScaleVal : cropZoomVal);
|
|
4777
4780
|
const drawW = naturalW * finalScale;
|
|
4778
4781
|
const drawH = naturalH * finalScale;
|
|
4779
4782
|
const overflowX = Math.max(0, drawW - clipW);
|
|
4780
4783
|
const overflowY = Math.max(0, drawH - clipH);
|
|
4781
|
-
|
|
4782
|
-
|
|
4784
|
+
let offX = 0;
|
|
4785
|
+
let offY = 0;
|
|
4786
|
+
if (fitContain) {
|
|
4787
|
+
const slackX = clipW - drawW;
|
|
4788
|
+
const slackY = clipH - drawH;
|
|
4789
|
+
offX = alignH === "left" ? -slackX / 2 : alignH === "right" ? slackX / 2 : 0;
|
|
4790
|
+
offY = alignV === "top" ? -slackY / 2 : alignV === "bottom" ? slackY / 2 : 0;
|
|
4791
|
+
} else {
|
|
4792
|
+
offX = overflowX > 0 ? -overflowX * (cropPanXVal - 0.5) : 0;
|
|
4793
|
+
offY = overflowY > 0 ? -overflowY * (cropPanYVal - 0.5) : 0;
|
|
4794
|
+
}
|
|
4783
4795
|
return {
|
|
4784
4796
|
x: clipX + clipW / 2 + offX - drawW / 2,
|
|
4785
4797
|
y: clipY + clipH / 2 + offY - drawH / 2,
|
|
@@ -5445,14 +5457,26 @@ async function drawElementContentCore(pdf, element, norm, x, y, w, h, embeddedFo
|
|
|
5445
5457
|
const naturalW = Math.max(1, Number(element.imageNaturalWidth ?? 0) || w);
|
|
5446
5458
|
const naturalH = Math.max(1, Number(element.imageNaturalHeight ?? 0) || h);
|
|
5447
5459
|
const fitContain = (element.imageFit ?? "cover") === "contain";
|
|
5460
|
+
const containScaleVal = Math.max(1, Math.min(3, Number(element.containScale ?? 1)));
|
|
5448
5461
|
const baseScale = fitContain ? Math.min(w / naturalW, h / naturalH) : Math.max(w / naturalW, h / naturalH);
|
|
5449
|
-
const finalScale = baseScale * (fitContain ?
|
|
5462
|
+
const finalScale = baseScale * (fitContain ? containScaleVal : cropZoom);
|
|
5450
5463
|
const drawW = naturalW * finalScale;
|
|
5451
5464
|
const drawH = naturalH * finalScale;
|
|
5452
5465
|
const overflowX = Math.max(0, drawW - w);
|
|
5453
5466
|
const overflowY = Math.max(0, drawH - h);
|
|
5454
|
-
const
|
|
5455
|
-
const
|
|
5467
|
+
const alignH = element.imageAlignH ?? "center";
|
|
5468
|
+
const alignV = element.imageAlignV ?? "middle";
|
|
5469
|
+
let offsetX = 0;
|
|
5470
|
+
let offsetY = 0;
|
|
5471
|
+
if (fitContain) {
|
|
5472
|
+
const slackX = w - drawW;
|
|
5473
|
+
const slackY = h - drawH;
|
|
5474
|
+
offsetX = alignH === "left" ? -slackX / 2 : alignH === "right" ? slackX / 2 : 0;
|
|
5475
|
+
offsetY = alignV === "top" ? -slackY / 2 : alignV === "bottom" ? slackY / 2 : 0;
|
|
5476
|
+
} else {
|
|
5477
|
+
offsetX = overflowX > 0 ? -overflowX * (cropPanX - 0.5) : 0;
|
|
5478
|
+
offsetY = overflowY > 0 ? -overflowY * (cropPanY - 0.5) : 0;
|
|
5479
|
+
}
|
|
5456
5480
|
const svgX = x + w / 2 + offsetX - drawW / 2;
|
|
5457
5481
|
const svgY = y + h / 2 + offsetY - drawH / 2;
|
|
5458
5482
|
try {
|
|
@@ -6175,4 +6199,4 @@ export {
|
|
|
6175
6199
|
preparePagesForExport,
|
|
6176
6200
|
rewriteSvgFontsForJsPDFWithSourceMeta
|
|
6177
6201
|
};
|
|
6178
|
-
//# sourceMappingURL=vectorPdfExport-
|
|
6202
|
+
//# sourceMappingURL=vectorPdfExport-BlCi6g1y.js.map
|