@pixldocs/canvas-renderer 0.5.180 → 0.5.182
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/README.md +36 -0
- package/dist/{index-B9NOXCTL.cjs → index-CUINpGhe.cjs} +12 -5
- package/dist/index-CUINpGhe.cjs.map +1 -0
- package/dist/{index-DdrxSxRr.js → index-CcCXKYy6.js} +55 -48
- package/dist/index-CcCXKYy6.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +37 -37
- package/dist/previewBlur-D1laq3kn.cjs +104 -0
- package/dist/previewBlur-D1laq3kn.cjs.map +1 -0
- package/dist/previewBlur-ceEQYSVv.js +104 -0
- package/dist/previewBlur-ceEQYSVv.js.map +1 -0
- package/dist/{vectorPdfExport-B8qiTpn8.cjs → vectorPdfExport-0dwbE8Kn.cjs} +4 -4
- package/dist/{vectorPdfExport-B8qiTpn8.cjs.map → vectorPdfExport-0dwbE8Kn.cjs.map} +1 -1
- package/dist/{vectorPdfExport-DCZJhOmn.js → vectorPdfExport-BpRBLtU-.js} +4 -4
- package/dist/{vectorPdfExport-DCZJhOmn.js.map → vectorPdfExport-BpRBLtU-.js.map} +1 -1
- package/package.json +1 -1
- package/dist/index-B9NOXCTL.cjs.map +0 -1
- package/dist/index-DdrxSxRr.js.map +0 -1
package/README.md
CHANGED
|
@@ -344,3 +344,39 @@ const { config } = await resolveTemplateData({
|
|
|
344
344
|
## License
|
|
345
345
|
|
|
346
346
|
UNLICENSED — Private package for Pixldocs ecosystem only.
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## Preview Blur (anti-screenshot)
|
|
351
|
+
|
|
352
|
+
Set `previewBlur: true` on any text or image element in your config to redact
|
|
353
|
+
it in watermarked previews — useful for protecting paid content (e.g. biodata
|
|
354
|
+
reference rows) from screenshot theft.
|
|
355
|
+
|
|
356
|
+
The element renders normally underneath, and a **translucent frosted-glass
|
|
357
|
+
overlay rectangle** is appended on top at the element's absolute bounds, so
|
|
358
|
+
layout/wrap stays identical but the content is visually obscured. The
|
|
359
|
+
overlay auto-tints (light glass on dark text, dark glass on light text) and
|
|
360
|
+
is rendered with no stroke, no shadow, and square corners so it sits flush
|
|
361
|
+
against neighboring content. In the live web preview the overlay is upgraded
|
|
362
|
+
to a CSS `backdrop-filter: blur()` rectangle for a real frosted-glass effect;
|
|
363
|
+
exported PNG/PDF use the translucent rect (the closest pure-vector
|
|
364
|
+
approximation).
|
|
365
|
+
|
|
366
|
+
Preview-blur is gated identically to the watermark: it only runs when
|
|
367
|
+
`watermark === true` (or, by default, when `template.price > 0` and the user
|
|
368
|
+
hasn't paid). Clean / paid downloads always render the original content.
|
|
369
|
+
|
|
370
|
+
```ts
|
|
371
|
+
// In your template config
|
|
372
|
+
{
|
|
373
|
+
id: 'reference-1-name',
|
|
374
|
+
type: 'text',
|
|
375
|
+
text: 'John Doe',
|
|
376
|
+
previewBlur: true, // ← redacted in preview, full in paid download
|
|
377
|
+
...
|
|
378
|
+
}
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
No API change is required on the consumer side — the same `renderFromForm`,
|
|
382
|
+
`renderPdfFromForm`, etc. respect the flag automatically.
|
|
@@ -16498,9 +16498,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
16498
16498
|
}
|
|
16499
16499
|
return svgString;
|
|
16500
16500
|
}
|
|
16501
|
-
const resolvedPackageVersion = "0.5.
|
|
16501
|
+
const resolvedPackageVersion = "0.5.182";
|
|
16502
16502
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
16503
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
16503
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.182";
|
|
16504
16504
|
const roundParityValue = (value) => {
|
|
16505
16505
|
if (typeof value !== "number") return value;
|
|
16506
16506
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -16799,6 +16799,8 @@ class PixldocsRenderer {
|
|
|
16799
16799
|
if (shouldWatermark) {
|
|
16800
16800
|
const { injectWatermark } = await Promise.resolve().then(() => require("./canvasWatermark-B0ab38Ok.cjs"));
|
|
16801
16801
|
configToRender = injectWatermark(configToRender, watermarkOptions);
|
|
16802
|
+
const { injectPreviewBlur } = await Promise.resolve().then(() => require("./previewBlur-D1laq3kn.cjs"));
|
|
16803
|
+
configToRender = injectPreviewBlur(configToRender);
|
|
16802
16804
|
}
|
|
16803
16805
|
return this.renderAllPages(configToRender, renderOpts);
|
|
16804
16806
|
}
|
|
@@ -16856,6 +16858,8 @@ class PixldocsRenderer {
|
|
|
16856
16858
|
if (shouldWatermark) {
|
|
16857
16859
|
const { injectWatermark } = await Promise.resolve().then(() => require("./canvasWatermark-B0ab38Ok.cjs"));
|
|
16858
16860
|
configToRender = injectWatermark(configToRender, watermarkOptions);
|
|
16861
|
+
const { injectPreviewBlur } = await Promise.resolve().then(() => require("./previewBlur-D1laq3kn.cjs"));
|
|
16862
|
+
configToRender = injectPreviewBlur(configToRender);
|
|
16859
16863
|
}
|
|
16860
16864
|
return this.renderAllPageSvgs(configToRender);
|
|
16861
16865
|
}
|
|
@@ -16898,6 +16902,8 @@ class PixldocsRenderer {
|
|
|
16898
16902
|
if (shouldWatermark) {
|
|
16899
16903
|
const { injectWatermark } = await Promise.resolve().then(() => require("./canvasWatermark-B0ab38Ok.cjs"));
|
|
16900
16904
|
configToRender = injectWatermark(configToRender, watermarkOptions);
|
|
16905
|
+
const { injectPreviewBlur } = await Promise.resolve().then(() => require("./previewBlur-D1laq3kn.cjs"));
|
|
16906
|
+
configToRender = injectPreviewBlur(configToRender);
|
|
16901
16907
|
}
|
|
16902
16908
|
return this.renderPdfViaClientExport(configToRender, {
|
|
16903
16909
|
title: title ?? resolved.config.name,
|
|
@@ -17002,7 +17008,7 @@ class PixldocsRenderer {
|
|
|
17002
17008
|
await this.waitForCanvasScene(container, cloned, i);
|
|
17003
17009
|
}
|
|
17004
17010
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
17005
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
17011
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-0dwbE8Kn.cjs"));
|
|
17006
17012
|
const prepared = preparePagesForExport(
|
|
17007
17013
|
cloned.pages,
|
|
17008
17014
|
canvasWidth,
|
|
@@ -19147,7 +19153,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
19147
19153
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
19148
19154
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
19149
19155
|
try {
|
|
19150
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
19156
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-0dwbE8Kn.cjs"));
|
|
19151
19157
|
try {
|
|
19152
19158
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
19153
19159
|
} catch {
|
|
@@ -19497,6 +19503,7 @@ exports.applyThemeToConfig = applyThemeToConfig;
|
|
|
19497
19503
|
exports.assemblePdfFromSvgs = assemblePdfFromSvgs;
|
|
19498
19504
|
exports.awaitFontsForConfig = awaitFontsForConfig;
|
|
19499
19505
|
exports.bakeEdgeFade = bakeEdgeFade;
|
|
19506
|
+
exports.baseId = baseId;
|
|
19500
19507
|
exports.buildRoundedTrianglePath = buildRoundedTrianglePath;
|
|
19501
19508
|
exports.canvasImageLoader = canvasImageLoader;
|
|
19502
19509
|
exports.captureFabricCanvasSvgForPdf = captureFabricCanvasSvgForPdf;
|
|
@@ -19540,4 +19547,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
19540
19547
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
19541
19548
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
19542
19549
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
19543
|
-
//# sourceMappingURL=index-
|
|
19550
|
+
//# sourceMappingURL=index-CUINpGhe.cjs.map
|