@pixldocs/canvas-renderer 0.5.186 → 0.5.187
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 +74 -0
- package/dist/{index-Xg0sHfrw.js → index-C9H38u7P.js} +242 -65
- package/dist/index-C9H38u7P.js.map +1 -0
- package/dist/{index-_ogxqALr.cjs → index-DgMi1JSR.cjs} +199 -22
- package/dist/index-DgMi1JSR.cjs.map +1 -0
- package/dist/index.cjs +4 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +47 -0
- package/dist/index.js +40 -37
- package/dist/{vectorPdfExport-v3mr9nks.js → vectorPdfExport-BkERGCkM.js} +4 -4
- package/dist/{vectorPdfExport-v3mr9nks.js.map → vectorPdfExport-BkERGCkM.js.map} +1 -1
- package/dist/{vectorPdfExport-Dh3el4F0.cjs → vectorPdfExport-BknzMTNP.cjs} +4 -4
- package/dist/{vectorPdfExport-Dh3el4F0.cjs.map → vectorPdfExport-BknzMTNP.cjs.map} +1 -1
- package/package.json +1 -1
- package/dist/index-Xg0sHfrw.js.map +0 -1
- package/dist/index-_ogxqALr.cjs.map +0 -1
- package/dist/previewBlur-CDBjIIjX.js +0 -104
- package/dist/previewBlur-CDBjIIjX.js.map +0 -1
- package/dist/previewBlur-D2aWUrre.cjs +0 -104
- package/dist/previewBlur-D2aWUrre.cjs.map +0 -1
|
@@ -16133,6 +16133,44 @@ async function getTemplateForm(options) {
|
|
|
16133
16133
|
initialSectionState
|
|
16134
16134
|
};
|
|
16135
16135
|
}
|
|
16136
|
+
function stripFieldPrefix(s) {
|
|
16137
|
+
return s.startsWith("field_") ? s.slice("field_".length) : s;
|
|
16138
|
+
}
|
|
16139
|
+
function addAll(val, out) {
|
|
16140
|
+
if (!val) return false;
|
|
16141
|
+
if (Array.isArray(val)) {
|
|
16142
|
+
for (const v of val) out.add(v);
|
|
16143
|
+
return val.length > 0;
|
|
16144
|
+
}
|
|
16145
|
+
out.add(val);
|
|
16146
|
+
return true;
|
|
16147
|
+
}
|
|
16148
|
+
function resolveBlurElementExactIdsFromFlatFormKeys(config, flatFormKeys, options) {
|
|
16149
|
+
const cloneIdMap = (config == null ? void 0 : config.__cloneIdMap) || {};
|
|
16150
|
+
if (!cloneIdMap || typeof cloneIdMap !== "object") return [];
|
|
16151
|
+
const bindings = (options == null ? void 0 : options.bindings) ?? "value";
|
|
16152
|
+
const out = /* @__PURE__ */ new Set();
|
|
16153
|
+
for (const rawId of flatFormKeys) {
|
|
16154
|
+
if (typeof rawId !== "string" || !rawId) continue;
|
|
16155
|
+
if (bindings === "value" && !rawId.endsWith("_value")) continue;
|
|
16156
|
+
const candidates = [rawId];
|
|
16157
|
+
if (rawId.startsWith("field_")) {
|
|
16158
|
+
const topStripped = stripFieldPrefix(rawId);
|
|
16159
|
+
candidates.push(topStripped);
|
|
16160
|
+
const nestedIdx = topStripped.indexOf("_field_");
|
|
16161
|
+
if (nestedIdx >= 0) {
|
|
16162
|
+
const nestedStripped = topStripped.slice(0, nestedIdx + 1) + topStripped.slice(nestedIdx + 1 + "field_".length);
|
|
16163
|
+
candidates.push(nestedStripped);
|
|
16164
|
+
}
|
|
16165
|
+
}
|
|
16166
|
+
for (const k of candidates) {
|
|
16167
|
+
if (k in cloneIdMap) {
|
|
16168
|
+
if (addAll(cloneIdMap[k], out)) break;
|
|
16169
|
+
}
|
|
16170
|
+
}
|
|
16171
|
+
}
|
|
16172
|
+
return Array.from(out);
|
|
16173
|
+
}
|
|
16136
16174
|
const PREVIEW_DEBUG_PREFIX = "[canvas-renderer][preview-debug]";
|
|
16137
16175
|
function computeFontSignature(config) {
|
|
16138
16176
|
var _a;
|
|
@@ -16226,7 +16264,9 @@ function PixldocsPreview(props) {
|
|
|
16226
16264
|
frostedBlur = true,
|
|
16227
16265
|
frostedBlurOptions,
|
|
16228
16266
|
blurFieldIds,
|
|
16229
|
-
blurElementExactIds
|
|
16267
|
+
blurElementExactIds,
|
|
16268
|
+
blurFlatFormKeys,
|
|
16269
|
+
blurFlatFormKeyOptions
|
|
16230
16270
|
} = props;
|
|
16231
16271
|
react.useEffect(() => {
|
|
16232
16272
|
setPackageApiUrl(imageProxyUrl);
|
|
@@ -16347,8 +16387,26 @@ function PixldocsPreview(props) {
|
|
|
16347
16387
|
[blurFieldIds ? blurFieldIds.join("|") : ""]
|
|
16348
16388
|
);
|
|
16349
16389
|
const blurExactSet = react.useMemo(
|
|
16350
|
-
() =>
|
|
16351
|
-
|
|
16390
|
+
() => {
|
|
16391
|
+
const merged = /* @__PURE__ */ new Set();
|
|
16392
|
+
if (blurElementExactIds) for (const id of blurElementExactIds) merged.add(id);
|
|
16393
|
+
if (config && blurFlatFormKeys && blurFlatFormKeys.length) {
|
|
16394
|
+
for (const id of resolveBlurElementExactIdsFromFlatFormKeys(
|
|
16395
|
+
config,
|
|
16396
|
+
blurFlatFormKeys,
|
|
16397
|
+
blurFlatFormKeyOptions
|
|
16398
|
+
)) {
|
|
16399
|
+
merged.add(id);
|
|
16400
|
+
}
|
|
16401
|
+
}
|
|
16402
|
+
return merged.size > 0 ? merged : void 0;
|
|
16403
|
+
},
|
|
16404
|
+
[
|
|
16405
|
+
blurElementExactIds ? blurElementExactIds.join("|") : "",
|
|
16406
|
+
blurFlatFormKeys ? blurFlatFormKeys.join("|") : "",
|
|
16407
|
+
blurFlatFormKeyOptions == null ? void 0 : blurFlatFormKeyOptions.bindings,
|
|
16408
|
+
config
|
|
16409
|
+
]
|
|
16352
16410
|
);
|
|
16353
16411
|
const frostedBounds = react.useMemo(
|
|
16354
16412
|
() => frostedBlur ? computeFrostedBoundsForPage(config, pageIndex, blurBaseSet, blurExactSet) : [],
|
|
@@ -16593,9 +16651,9 @@ function captureFabricCanvasSvgForPdf(fabricInstance, canvasWidth, canvasHeight)
|
|
|
16593
16651
|
}
|
|
16594
16652
|
return svgString;
|
|
16595
16653
|
}
|
|
16596
|
-
const resolvedPackageVersion = "0.5.
|
|
16654
|
+
const resolvedPackageVersion = "0.5.187";
|
|
16597
16655
|
const PACKAGE_VERSION = resolvedPackageVersion;
|
|
16598
|
-
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.
|
|
16656
|
+
const DEPLOYMENT_VERSION_MARKER = "__PIXLDOCS_CANVAS_RENDERER_VERSION__:0.5.187";
|
|
16599
16657
|
const roundParityValue = (value) => {
|
|
16600
16658
|
if (typeof value !== "number") return value;
|
|
16601
16659
|
return Number.isFinite(value) ? Number(value.toFixed(3)) : value;
|
|
@@ -16894,8 +16952,8 @@ class PixldocsRenderer {
|
|
|
16894
16952
|
if (shouldWatermark) {
|
|
16895
16953
|
const { injectWatermark } = await Promise.resolve().then(() => require("./canvasWatermark-B0ab38Ok.cjs"));
|
|
16896
16954
|
configToRender = injectWatermark(configToRender, watermarkOptions);
|
|
16897
|
-
const { injectPreviewBlur } = await Promise.resolve().then(() =>
|
|
16898
|
-
configToRender =
|
|
16955
|
+
const { injectPreviewBlur: injectPreviewBlur2 } = await Promise.resolve().then(() => previewBlur);
|
|
16956
|
+
configToRender = injectPreviewBlur2(configToRender);
|
|
16899
16957
|
}
|
|
16900
16958
|
return this.renderAllPages(configToRender, renderOpts);
|
|
16901
16959
|
}
|
|
@@ -16953,8 +17011,8 @@ class PixldocsRenderer {
|
|
|
16953
17011
|
if (shouldWatermark) {
|
|
16954
17012
|
const { injectWatermark } = await Promise.resolve().then(() => require("./canvasWatermark-B0ab38Ok.cjs"));
|
|
16955
17013
|
configToRender = injectWatermark(configToRender, watermarkOptions);
|
|
16956
|
-
const { injectPreviewBlur } = await Promise.resolve().then(() =>
|
|
16957
|
-
configToRender =
|
|
17014
|
+
const { injectPreviewBlur: injectPreviewBlur2 } = await Promise.resolve().then(() => previewBlur);
|
|
17015
|
+
configToRender = injectPreviewBlur2(configToRender);
|
|
16958
17016
|
}
|
|
16959
17017
|
return this.renderAllPageSvgs(configToRender);
|
|
16960
17018
|
}
|
|
@@ -16997,8 +17055,8 @@ class PixldocsRenderer {
|
|
|
16997
17055
|
if (shouldWatermark) {
|
|
16998
17056
|
const { injectWatermark } = await Promise.resolve().then(() => require("./canvasWatermark-B0ab38Ok.cjs"));
|
|
16999
17057
|
configToRender = injectWatermark(configToRender, watermarkOptions);
|
|
17000
|
-
const { injectPreviewBlur } = await Promise.resolve().then(() =>
|
|
17001
|
-
configToRender =
|
|
17058
|
+
const { injectPreviewBlur: injectPreviewBlur2 } = await Promise.resolve().then(() => previewBlur);
|
|
17059
|
+
configToRender = injectPreviewBlur2(configToRender);
|
|
17002
17060
|
}
|
|
17003
17061
|
return this.renderPdfViaClientExport(configToRender, {
|
|
17004
17062
|
title: title ?? resolved.config.name,
|
|
@@ -17103,7 +17161,7 @@ class PixldocsRenderer {
|
|
|
17103
17161
|
await this.waitForCanvasScene(container, cloned, i);
|
|
17104
17162
|
}
|
|
17105
17163
|
console.log(`[canvas-renderer][pdf-unified] mounted ${cloned.pages.length} page(s), handing off to client exportMultiPagePdf`);
|
|
17106
|
-
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
17164
|
+
const { exportMultiPagePdf, preparePagesForExport } = await Promise.resolve().then(() => require("./vectorPdfExport-BknzMTNP.cjs"));
|
|
17107
17165
|
const prepared = preparePagesForExport(
|
|
17108
17166
|
cloned.pages,
|
|
17109
17167
|
canvasWidth,
|
|
@@ -17945,7 +18003,7 @@ function collectFontSpecsFromMarkup(markup) {
|
|
|
17945
18003
|
}
|
|
17946
18004
|
return Array.from(specs);
|
|
17947
18005
|
}
|
|
17948
|
-
function parseColor(color) {
|
|
18006
|
+
function parseColor$1(color) {
|
|
17949
18007
|
if (!color) return null;
|
|
17950
18008
|
const raw = color.trim().toLowerCase();
|
|
17951
18009
|
if (!raw || raw === "transparent" || raw === "none") return null;
|
|
@@ -18498,7 +18556,7 @@ function stripSuspiciousFullPageOverlayNodes(svg) {
|
|
|
18498
18556
|
if (!(pageWidth > 0 && pageHeight > 0)) return;
|
|
18499
18557
|
const isNear = (a, b, tolerance = 0.75) => Math.abs(a - b) <= tolerance;
|
|
18500
18558
|
const isDarkPaint = (value) => {
|
|
18501
|
-
const rgb = value ? parseColor(value) : null;
|
|
18559
|
+
const rgb = value ? parseColor$1(value) : null;
|
|
18502
18560
|
return rgb ? rgb.r <= 32 && rgb.g <= 32 && rgb.b <= 32 : false;
|
|
18503
18561
|
};
|
|
18504
18562
|
const removeIfSuspicious = (el) => {
|
|
@@ -18611,13 +18669,13 @@ function inlineComputedStyles(svg) {
|
|
|
18611
18669
|
const fill = cs.fill;
|
|
18612
18670
|
const stroke = cs.stroke;
|
|
18613
18671
|
if (fill && fill !== "none" && fill !== "rgba(0, 0, 0, 0)") {
|
|
18614
|
-
const parsed = parseColor(fill);
|
|
18672
|
+
const parsed = parseColor$1(fill);
|
|
18615
18673
|
if (parsed) el.setAttribute("fill", rgbToHex(parsed.r, parsed.g, parsed.b));
|
|
18616
18674
|
} else if (fill === "rgba(0, 0, 0, 0)" || fill === "transparent") {
|
|
18617
18675
|
el.setAttribute("fill", "none");
|
|
18618
18676
|
}
|
|
18619
18677
|
if (stroke && stroke !== "none" && stroke !== "rgba(0, 0, 0, 0)") {
|
|
18620
|
-
const parsed = parseColor(stroke);
|
|
18678
|
+
const parsed = parseColor$1(stroke);
|
|
18621
18679
|
if (parsed) el.setAttribute("stroke", rgbToHex(parsed.r, parsed.g, parsed.b));
|
|
18622
18680
|
}
|
|
18623
18681
|
}
|
|
@@ -18765,7 +18823,7 @@ function setPdfColorFromSvg(pdf, svg, _elementId) {
|
|
|
18765
18823
|
const { fill, stroke } = getFirstExplicitColorFromSvg(svg);
|
|
18766
18824
|
const setColor = (hex, setter) => {
|
|
18767
18825
|
if (!hex) return;
|
|
18768
|
-
const c = parseColor(hex);
|
|
18826
|
+
const c = parseColor$1(hex);
|
|
18769
18827
|
if (c) pdf[setter](c.r, c.g, c.b);
|
|
18770
18828
|
};
|
|
18771
18829
|
setColor(fill, "setFillColor");
|
|
@@ -19248,7 +19306,7 @@ async function prepareLiveCanvasSvgForPdf(rawSvg, pageWidth, pageHeight, pageKey
|
|
|
19248
19306
|
if (options == null ? void 0 : options.stripPageBackground) stripRootPageBackgroundFromSvg(svgToDraw);
|
|
19249
19307
|
sanitizeSvgTreeForPdf(svgToDraw);
|
|
19250
19308
|
try {
|
|
19251
|
-
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-
|
|
19309
|
+
const { bakeTextAnchorPositionsFromLiveSvg, logTextMeasurementDiagnostic } = await Promise.resolve().then(() => require("./vectorPdfExport-BknzMTNP.cjs"));
|
|
19252
19310
|
try {
|
|
19253
19311
|
await logTextMeasurementDiagnostic(svgToDraw);
|
|
19254
19312
|
} catch {
|
|
@@ -19268,7 +19326,7 @@ function drawPageBackground(pdf, pageIndex, pageWidth, pageHeight, backgroundCol
|
|
|
19268
19326
|
if (backgroundGradient && ((_a = backgroundGradient.stops) == null ? void 0 : _a.length) >= 2) {
|
|
19269
19327
|
const grad = backgroundGradient;
|
|
19270
19328
|
const colorStops = grad.stops.map((s) => {
|
|
19271
|
-
const c = parseColor(s.color);
|
|
19329
|
+
const c = parseColor$1(s.color);
|
|
19272
19330
|
return {
|
|
19273
19331
|
offset: Math.max(0, Math.min(1, Number(s.offset))),
|
|
19274
19332
|
color: c ? [c.r, c.g, c.b] : [0, 0, 0]
|
|
@@ -19324,7 +19382,7 @@ function drawPageBackground(pdf, pageIndex, pageWidth, pageHeight, backgroundCol
|
|
|
19324
19382
|
pdf.rect(0, 0, pageWidth, pageHeight, "F");
|
|
19325
19383
|
}
|
|
19326
19384
|
} else {
|
|
19327
|
-
const bgColor = parseColor(backgroundColor && backgroundColor !== "transparent" ? backgroundColor : "#ffffff");
|
|
19385
|
+
const bgColor = parseColor$1(backgroundColor && backgroundColor !== "transparent" ? backgroundColor : "#ffffff");
|
|
19328
19386
|
if (bgColor) {
|
|
19329
19387
|
pdf.setFillColor(bgColor.r, bgColor.g, bgColor.b);
|
|
19330
19388
|
pdf.rect(0, 0, pageWidth, pageHeight, "F");
|
|
@@ -19447,6 +19505,123 @@ async function assemblePdfFromSvgs(svgResults, options = {}) {
|
|
|
19447
19505
|
pages: svgResults.map((p) => ({ width: p.width, height: p.height }))
|
|
19448
19506
|
};
|
|
19449
19507
|
}
|
|
19508
|
+
const OVERLAY_ID_PREFIX = "__pb_";
|
|
19509
|
+
function getNumber(v, fallback = 0) {
|
|
19510
|
+
return typeof v === "number" && Number.isFinite(v) ? v : fallback;
|
|
19511
|
+
}
|
|
19512
|
+
function resolveSize(node, key) {
|
|
19513
|
+
const v = node == null ? void 0 : node[key];
|
|
19514
|
+
if (typeof v === "number" && Number.isFinite(v)) return v;
|
|
19515
|
+
return 0;
|
|
19516
|
+
}
|
|
19517
|
+
function collectOverlays(node, parentLeft, parentTop, inheritedBlur, extraBaseIds, extraExactIds, out) {
|
|
19518
|
+
if (!node || typeof node !== "object") return;
|
|
19519
|
+
const matchesBase = !!(extraBaseIds && typeof node.id === "string" && extraBaseIds.has(baseId(node.id)));
|
|
19520
|
+
const matchesExact = !!(extraExactIds && typeof node.id === "string" && extraExactIds.has(node.id));
|
|
19521
|
+
const isBlurred = inheritedBlur || node.previewBlur === true || matchesBase || matchesExact;
|
|
19522
|
+
const absLeft = parentLeft + getNumber(node.left, 0);
|
|
19523
|
+
const absTop = parentTop + getNumber(node.top, 0);
|
|
19524
|
+
if (node.type === "group") {
|
|
19525
|
+
const children = node.children || node.elements;
|
|
19526
|
+
if (Array.isArray(children)) {
|
|
19527
|
+
for (const child of children) {
|
|
19528
|
+
collectOverlays(child, absLeft, absTop, isBlurred, extraBaseIds, extraExactIds, out);
|
|
19529
|
+
}
|
|
19530
|
+
}
|
|
19531
|
+
return;
|
|
19532
|
+
}
|
|
19533
|
+
if (!isBlurred) return;
|
|
19534
|
+
const scaleX = getNumber(node.scaleX, 1) || 1;
|
|
19535
|
+
const scaleY = getNumber(node.scaleY, 1) || 1;
|
|
19536
|
+
const w = Math.max(4, resolveSize(node, "width") * scaleX);
|
|
19537
|
+
const h = Math.max(4, resolveSize(node, "height") * scaleY);
|
|
19538
|
+
out.push({
|
|
19539
|
+
left: absLeft,
|
|
19540
|
+
top: absTop,
|
|
19541
|
+
width: w,
|
|
19542
|
+
height: h,
|
|
19543
|
+
hintFill: typeof node.fill === "string" ? node.fill : void 0
|
|
19544
|
+
});
|
|
19545
|
+
}
|
|
19546
|
+
function parseColor(c) {
|
|
19547
|
+
if (!c) return null;
|
|
19548
|
+
const s = c.trim();
|
|
19549
|
+
const hex = s.match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);
|
|
19550
|
+
if (hex) {
|
|
19551
|
+
let h = hex[1];
|
|
19552
|
+
if (h.length === 3) h = h.split("").map((x) => x + x).join("");
|
|
19553
|
+
return {
|
|
19554
|
+
r: parseInt(h.slice(0, 2), 16),
|
|
19555
|
+
g: parseInt(h.slice(2, 4), 16),
|
|
19556
|
+
b: parseInt(h.slice(4, 6), 16)
|
|
19557
|
+
};
|
|
19558
|
+
}
|
|
19559
|
+
const rgb = s.match(/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i);
|
|
19560
|
+
if (rgb) return { r: +rgb[1], g: +rgb[2], b: +rgb[3] };
|
|
19561
|
+
return null;
|
|
19562
|
+
}
|
|
19563
|
+
function buildOverlay(b, idx) {
|
|
19564
|
+
const c = parseColor(b.hintFill);
|
|
19565
|
+
const lum = c ? (0.299 * c.r + 0.587 * c.g + 0.114 * c.b) / 255 : 0.2;
|
|
19566
|
+
const isLightGlass = lum < 0.5;
|
|
19567
|
+
const baseFill = isLightGlass ? "rgba(245,245,245,0.68)" : "rgba(30,30,30,0.62)";
|
|
19568
|
+
return {
|
|
19569
|
+
id: `${OVERLAY_ID_PREFIX}${idx}`,
|
|
19570
|
+
type: "shape",
|
|
19571
|
+
shapeType: "rounded-rect",
|
|
19572
|
+
left: b.left,
|
|
19573
|
+
top: b.top,
|
|
19574
|
+
width: b.width,
|
|
19575
|
+
height: b.height,
|
|
19576
|
+
cornerRadius: 0,
|
|
19577
|
+
fill: baseFill,
|
|
19578
|
+
stroke: "transparent",
|
|
19579
|
+
strokeWidth: 0,
|
|
19580
|
+
opacity: 1,
|
|
19581
|
+
selectable: false,
|
|
19582
|
+
locked: true,
|
|
19583
|
+
visible: true,
|
|
19584
|
+
scaleX: 1,
|
|
19585
|
+
scaleY: 1
|
|
19586
|
+
};
|
|
19587
|
+
}
|
|
19588
|
+
function injectPreviewBlur(config, options) {
|
|
19589
|
+
const cloned = typeof structuredClone === "function" ? structuredClone(config) : JSON.parse(JSON.stringify(config));
|
|
19590
|
+
const extraBase = (options == null ? void 0 : options.extraElementBaseIds) && options.extraElementBaseIds.size > 0 ? options.extraElementBaseIds : void 0;
|
|
19591
|
+
const extraExact = (options == null ? void 0 : options.extraElementExactIds) && options.extraElementExactIds.size > 0 ? options.extraElementExactIds : void 0;
|
|
19592
|
+
let idx = 0;
|
|
19593
|
+
for (const page of cloned.pages || []) {
|
|
19594
|
+
const children = page.children || page.elements;
|
|
19595
|
+
if (!Array.isArray(children)) continue;
|
|
19596
|
+
const overlays = [];
|
|
19597
|
+
for (const child of children) {
|
|
19598
|
+
collectOverlays(child, 0, 0, false, extraBase, extraExact, overlays);
|
|
19599
|
+
}
|
|
19600
|
+
if (overlays.length === 0) continue;
|
|
19601
|
+
for (const b of overlays) {
|
|
19602
|
+
children.push(buildOverlay(b, idx++));
|
|
19603
|
+
}
|
|
19604
|
+
}
|
|
19605
|
+
return cloned;
|
|
19606
|
+
}
|
|
19607
|
+
function hasAnyPreviewBlur(config) {
|
|
19608
|
+
function walk(node) {
|
|
19609
|
+
if (!node || typeof node !== "object") return false;
|
|
19610
|
+
if (node.previewBlur === true) return true;
|
|
19611
|
+
const children = node.children || node.elements;
|
|
19612
|
+
if (Array.isArray(children)) {
|
|
19613
|
+
for (const c of children) if (walk(c)) return true;
|
|
19614
|
+
}
|
|
19615
|
+
return false;
|
|
19616
|
+
}
|
|
19617
|
+
for (const page of config.pages || []) if (walk(page)) return true;
|
|
19618
|
+
return false;
|
|
19619
|
+
}
|
|
19620
|
+
const previewBlur = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
19621
|
+
__proto__: null,
|
|
19622
|
+
hasAnyPreviewBlur,
|
|
19623
|
+
injectPreviewBlur
|
|
19624
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
19450
19625
|
const SELECT_COLUMNS = "id,name,description,category,thumbnail_url,preview_images,price,download_count,workspace_id,sort_order,created_at,updated_at";
|
|
19451
19626
|
async function listPublishedTemplates(options) {
|
|
19452
19627
|
const { workspaceId, supabaseUrl, supabaseAnonKey, category, limit = 200, offset = 0 } = options;
|
|
@@ -19598,7 +19773,6 @@ exports.applyThemeToConfig = applyThemeToConfig;
|
|
|
19598
19773
|
exports.assemblePdfFromSvgs = assemblePdfFromSvgs;
|
|
19599
19774
|
exports.awaitFontsForConfig = awaitFontsForConfig;
|
|
19600
19775
|
exports.bakeEdgeFade = bakeEdgeFade;
|
|
19601
|
-
exports.baseId = baseId;
|
|
19602
19776
|
exports.buildRoundedTrianglePath = buildRoundedTrianglePath;
|
|
19603
19777
|
exports.canvasImageLoader = canvasImageLoader;
|
|
19604
19778
|
exports.captureFabricCanvasSvgForPdf = captureFabricCanvasSvgForPdf;
|
|
@@ -19622,7 +19796,9 @@ exports.getPublishedTemplate = getPublishedTemplate;
|
|
|
19622
19796
|
exports.getRoundedRectRadii = getRoundedRectRadii;
|
|
19623
19797
|
exports.getTemplateForm = getTemplateForm;
|
|
19624
19798
|
exports.getTrianglePoints = getTrianglePoints;
|
|
19799
|
+
exports.hasAnyPreviewBlur = hasAnyPreviewBlur;
|
|
19625
19800
|
exports.hasEdgeFade = hasEdgeFade;
|
|
19801
|
+
exports.injectPreviewBlur = injectPreviewBlur;
|
|
19626
19802
|
exports.isBundledAssetUrl = isBundledAssetUrl;
|
|
19627
19803
|
exports.isElement = isElement;
|
|
19628
19804
|
exports.isFontAvailable = isFontAvailable;
|
|
@@ -19634,6 +19810,7 @@ exports.normalizeFontFamily = normalizeFontFamily;
|
|
|
19634
19810
|
exports.normalizeShapeType = normalizeShapeType;
|
|
19635
19811
|
exports.parseTextMarkdown = parseTextMarkdown;
|
|
19636
19812
|
exports.renderSmartElementToSvg = renderSmartElementToSvg;
|
|
19813
|
+
exports.resolveBlurElementExactIdsFromFlatFormKeys = resolveBlurElementExactIdsFromFlatFormKeys;
|
|
19637
19814
|
exports.resolveFontWeight = resolveFontWeight;
|
|
19638
19815
|
exports.resolveFromForm = resolveFromForm;
|
|
19639
19816
|
exports.resolveTemplateData = resolveTemplateData;
|
|
@@ -19642,4 +19819,4 @@ exports.setAutoShrinkDebug = setAutoShrinkDebug;
|
|
|
19642
19819
|
exports.setBundledAssetPrefixes = setBundledAssetPrefixes;
|
|
19643
19820
|
exports.warmResolvedTemplateForPreview = warmResolvedTemplateForPreview;
|
|
19644
19821
|
exports.warmTemplateFromForm = warmTemplateFromForm;
|
|
19645
|
-
//# sourceMappingURL=index-
|
|
19822
|
+
//# sourceMappingURL=index-DgMi1JSR.cjs.map
|