@pixldocs/canvas-renderer 0.5.213 → 0.5.214
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-XZf4TDQ-.js → index-CDdfs3IB.js} +30 -83
- package/dist/index-CDdfs3IB.js.map +1 -0
- package/dist/{index-zkVpb-YL.cjs → index-Cy2_ElDZ.cjs} +30 -83
- package/dist/index-Cy2_ElDZ.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{vectorPdfExport-krI8SwbX.cjs → vectorPdfExport-BBG0QRse.cjs} +9 -21
- package/dist/vectorPdfExport-BBG0QRse.cjs.map +1 -0
- package/dist/{vectorPdfExport-ox1nl4G9.js → vectorPdfExport-CjIUU8on.js} +9 -21
- package/dist/vectorPdfExport-CjIUU8on.js.map +1 -0
- package/package.json +1 -1
- package/dist/index-XZf4TDQ-.js.map +0 -1
- package/dist/index-zkVpb-YL.cjs.map +0 -1
- package/dist/vectorPdfExport-krI8SwbX.cjs.map +0 -1
- package/dist/vectorPdfExport-ox1nl4G9.js.map +0 -1
|
@@ -6902,9 +6902,9 @@ function buildTextShadow(element) {
|
|
|
6902
6902
|
if (!color || color === "transparent") return null;
|
|
6903
6903
|
const type = element.textShadowType;
|
|
6904
6904
|
if (type && type !== "drop") return null;
|
|
6905
|
-
const
|
|
6906
|
-
|
|
6907
|
-
const finalColor = applyAlphaMultiplier(String(color),
|
|
6905
|
+
const alpha = resolveShadowAlpha(element);
|
|
6906
|
+
if (alpha <= 0) return null;
|
|
6907
|
+
const finalColor = applyAlphaMultiplier(String(color), alpha);
|
|
6908
6908
|
return new fabric__namespace.Shadow({
|
|
6909
6909
|
color: finalColor,
|
|
6910
6910
|
blur: blur || 0,
|
|
@@ -6914,67 +6914,27 @@ function buildTextShadow(element) {
|
|
|
6914
6914
|
nonScaling: false
|
|
6915
6915
|
});
|
|
6916
6916
|
}
|
|
6917
|
-
function
|
|
6917
|
+
function resolveShadowAlpha(element) {
|
|
6918
6918
|
const raw = element.textShadowStrength;
|
|
6919
|
-
const s = typeof raw === "number" && Number.isFinite(raw) ? Math.max(0, Math.min(100, raw)) :
|
|
6920
|
-
|
|
6921
|
-
const intensity = Math.min(3, s / 33.34);
|
|
6922
|
-
if (intensity <= 1) return { passAlphas: [intensity] };
|
|
6923
|
-
const full = Math.floor(intensity);
|
|
6924
|
-
const frac = intensity - full;
|
|
6925
|
-
const arr = new Array(full).fill(1);
|
|
6926
|
-
if (frac > 0.01) arr.push(frac);
|
|
6927
|
-
return { passAlphas: arr };
|
|
6919
|
+
const s = typeof raw === "number" && Number.isFinite(raw) ? Math.max(0, Math.min(100, raw)) : 100;
|
|
6920
|
+
return s / 100;
|
|
6928
6921
|
}
|
|
6929
6922
|
function applyTextShadow(textbox, element) {
|
|
6930
6923
|
const canonicalShadow = buildTextShadow(element);
|
|
6931
|
-
const { passAlphas } = resolveShadowStrength(element);
|
|
6932
|
-
const baseColor = element.textShadowColor;
|
|
6933
|
-
const blur = Number(element.textShadowBlur ?? 0) || 0;
|
|
6934
|
-
const ox = Number(element.textShadowOffsetX ?? 0) || 0;
|
|
6935
|
-
const oy = Number(element.textShadowOffsetY ?? 0) || 0;
|
|
6936
|
-
const hasShadow = !!canonicalShadow && passAlphas.length > 0;
|
|
6937
6924
|
const obj = textbox;
|
|
6938
|
-
if (
|
|
6939
|
-
|
|
6940
|
-
|
|
6941
|
-
|
|
6942
|
-
|
|
6943
|
-
|
|
6944
|
-
return;
|
|
6945
|
-
}
|
|
6946
|
-
const orig = obj.shadow;
|
|
6947
|
-
const baseC = obj.__pdShadowBaseColor || "#000";
|
|
6948
|
-
const b = obj.__pdShadowBlur || 0;
|
|
6949
|
-
const x = obj.__pdShadowOX || 0;
|
|
6950
|
-
const y = obj.__pdShadowOY || 0;
|
|
6951
|
-
for (let i = 0; i < alphas.length; i++) {
|
|
6952
|
-
obj.shadow = new fabric__namespace.Shadow({
|
|
6953
|
-
color: applyAlphaMultiplier(String(baseC), alphas[i]),
|
|
6954
|
-
blur: b,
|
|
6955
|
-
offsetX: x,
|
|
6956
|
-
offsetY: y,
|
|
6957
|
-
affectStroke: false,
|
|
6958
|
-
nonScaling: false
|
|
6959
|
-
});
|
|
6960
|
-
obj.__pdShadowOrigRender(ctx);
|
|
6961
|
-
}
|
|
6962
|
-
obj.shadow = orig;
|
|
6963
|
-
};
|
|
6964
|
-
}
|
|
6965
|
-
if (hasShadow) {
|
|
6966
|
-
obj.__pdShadowPassAlphas = passAlphas;
|
|
6967
|
-
obj.__pdShadowBaseColor = baseColor;
|
|
6968
|
-
obj.__pdShadowBlur = blur;
|
|
6969
|
-
obj.__pdShadowOX = ox;
|
|
6970
|
-
obj.__pdShadowOY = oy;
|
|
6971
|
-
obj.__pdShadowPasses = passAlphas.length;
|
|
6972
|
-
obj.__pdShadowLastAlpha = passAlphas[passAlphas.length - 1];
|
|
6973
|
-
} else {
|
|
6925
|
+
if (obj.__pdShadowOrigRender) {
|
|
6926
|
+
try {
|
|
6927
|
+
obj.render = obj.__pdShadowOrigRender;
|
|
6928
|
+
} catch {
|
|
6929
|
+
}
|
|
6930
|
+
obj.__pdShadowOrigRender = void 0;
|
|
6974
6931
|
obj.__pdShadowPassAlphas = void 0;
|
|
6975
|
-
obj.
|
|
6976
|
-
obj.
|
|
6932
|
+
obj.__pdShadowBaseColor = void 0;
|
|
6933
|
+
obj.__pdShadowBlur = void 0;
|
|
6934
|
+
obj.__pdShadowOX = void 0;
|
|
6935
|
+
obj.__pdShadowOY = void 0;
|
|
6977
6936
|
}
|
|
6937
|
+
obj.__pdShadowAlpha = canonicalShadow ? resolveShadowAlpha(element) : 1;
|
|
6978
6938
|
textbox.set("shadow", canonicalShadow ?? null);
|
|
6979
6939
|
}
|
|
6980
6940
|
function applyAlphaMultiplier(c, mult) {
|
|
@@ -7356,10 +7316,9 @@ function applyTextBackground(obj, cfg) {
|
|
|
7356
7316
|
const by = shadowBounds.y - pad;
|
|
7357
7317
|
const bw = shadowBounds.w + pad * 2;
|
|
7358
7318
|
const bh = shadowBounds.h + pad * 2;
|
|
7359
|
-
const
|
|
7360
|
-
const
|
|
7361
|
-
const
|
|
7362
|
-
const dataAttrs = `data-blur="${blur.toFixed(3)}" data-ox="${ox.toFixed(3)}" data-oy="${oy.toFixed(3)}" data-bx="${bx.toFixed(3)}" data-by="${by.toFixed(3)}" data-bw="${bw.toFixed(3)}" data-bh="${bh.toFixed(3)}" data-color="${escapeXmlAttr(shadowColor)}" data-passes="${passes}" data-last-alpha="${lastAlpha.toFixed(3)}"`;
|
|
7319
|
+
const alphaRaw = Number(this.__pdShadowAlpha);
|
|
7320
|
+
const shadowAlpha = Number.isFinite(alphaRaw) ? Math.max(0, Math.min(1, alphaRaw)) : 1;
|
|
7321
|
+
const dataAttrs = `data-blur="${blur.toFixed(3)}" data-ox="${ox.toFixed(3)}" data-oy="${oy.toFixed(3)}" data-bx="${bx.toFixed(3)}" data-by="${by.toFixed(3)}" data-bw="${bw.toFixed(3)}" data-bh="${bh.toFixed(3)}" data-color="${escapeXmlAttr(shadowColor)}" data-alpha="${shadowAlpha.toFixed(3)}"`;
|
|
7363
7322
|
const wrapShadow = (markup) => blur <= 0 ? `<g transform="translate(${ox.toFixed(3)} ${oy.toFixed(3)})">${markup}</g>` : `<g class="__pdShadowRaster" ${dataAttrs}>${markup}</g>`;
|
|
7364
7323
|
if (hasBg && (bg == null ? void 0 : bg.shadowAffectsBg) !== false) {
|
|
7365
7324
|
const shadowOpacityAttr = bgOpacity < 1 ? ` fill-opacity="${bgOpacity}"` : "";
|
|
@@ -19075,9 +19034,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
19075
19034
|
}
|
|
19076
19035
|
return svgString;
|
|
19077
19036
|
}
|
|
19078
|
-
const resolvedPackageVersion = "0.5.
|
|
19037
|
+
const resolvedPackageVersion = "0.5.214";
|
|
19079
19038
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
19080
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
19039
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.214";
|
|
19081
19040
|
const roundParityValue = (value) => {
|
|
19082
19041
|
if (typeof value !== "number") return value;
|
|
19083
19042
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -19769,7 +19728,7 @@ class PixldocsRenderer {
|
|
|
19769
19728
|
await this.waitForCanvasScene(container, cloned, i);
|
|
19770
19729
|
}
|
|
19771
19730
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
19772
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
19731
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-BBG0QRse.cjs"));
|
|
19773
19732
|
const prepared = preparePagesForExport(
|
|
19774
19733
|
cloned.pages,
|
|
19775
19734
|
canvasWidth,
|
|
@@ -21691,7 +21650,7 @@ async function convertSvgTextDecorationsToLinesString(svgStr) {
|
|
|
21691
21650
|
}
|
|
21692
21651
|
}
|
|
21693
21652
|
async function rasterizeShadowMarkers(svg) {
|
|
21694
|
-
var _a, _b, _c, _d, _e, _f
|
|
21653
|
+
var _a, _b, _c, _d, _e, _f;
|
|
21695
21654
|
if (typeof window === "undefined" || typeof document === "undefined") return;
|
|
21696
21655
|
const markers = Array.from(svg.querySelectorAll("g.__pdShadowRaster"));
|
|
21697
21656
|
if (markers.length === 0) return;
|
|
@@ -21746,29 +21705,17 @@ async function rasterizeShadowMarkers(svg) {
|
|
|
21746
21705
|
img.setAttribute("y", String(by));
|
|
21747
21706
|
img.setAttribute("width", String(bw));
|
|
21748
21707
|
img.setAttribute("height", String(bh));
|
|
21749
|
-
img.setAttribute("opacity", String(SHADOW_RASTER_ALPHA_COMPENSATION));
|
|
21750
21708
|
img.setAttribute("preserveAspectRatio", "none");
|
|
21751
21709
|
img.setAttributeNS(XLINK_NS, "xlink:href", dataUrl);
|
|
21752
21710
|
img.setAttribute("href", dataUrl);
|
|
21753
|
-
const
|
|
21754
|
-
const
|
|
21755
|
-
|
|
21756
|
-
const baseOpacity = Number(img.getAttribute("opacity") || "1") || 1;
|
|
21711
|
+
const alphaRaw = parseFloat(marker.getAttribute("data-alpha") || "1");
|
|
21712
|
+
const shadowAlpha = Number.isFinite(alphaRaw) ? Math.max(0, Math.min(1, alphaRaw)) : 1;
|
|
21713
|
+
img.setAttribute("opacity", String(SHADOW_RASTER_ALPHA_COMPENSATION * shadowAlpha));
|
|
21757
21714
|
(_e = marker.parentNode) == null ? void 0 : _e.replaceChild(img, marker);
|
|
21758
|
-
for (let i = 1; i < passes; i++) {
|
|
21759
|
-
const extra = img.cloneNode(true);
|
|
21760
|
-
if (i === passes - 1 && lastAlpha < 1) {
|
|
21761
|
-
extra.setAttribute("opacity", String(baseOpacity * lastAlpha));
|
|
21762
|
-
}
|
|
21763
|
-
(_f = img.parentNode) == null ? void 0 : _f.insertBefore(extra, img.nextSibling);
|
|
21764
|
-
}
|
|
21765
|
-
if (passes === 1 && lastAlpha < 1) {
|
|
21766
|
-
img.setAttribute("opacity", String(baseOpacity * lastAlpha));
|
|
21767
|
-
}
|
|
21768
21715
|
} catch (e) {
|
|
21769
21716
|
console.warn("[pdf-export] rasterizeShadowMarkers failed for one marker:", e);
|
|
21770
21717
|
try {
|
|
21771
|
-
(
|
|
21718
|
+
(_f = marker.parentNode) == null ? void 0 : _f.removeChild(marker);
|
|
21772
21719
|
} catch {
|
|
21773
21720
|
}
|
|
21774
21721
|
}
|
|
@@ -21969,7 +21916,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
21969
21916
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
21970
21917
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
21971
21918
|
try {
|
|
21972
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
21919
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-BBG0QRse.cjs"));
|
|
21973
21920
|
try {
|
|
21974
21921
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
21975
21922
|
} catch {
|
|
@@ -22366,4 +22313,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
22366
22313
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
22367
22314
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
22368
22315
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
22369
|
-
//# sourceMappingURL=index-
|
|
22316
|
+
//# sourceMappingURL=index-Cy2_ElDZ.cjs.map
|