@paroicms/server 1.36.3 → 1.38.0
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/common/mail/sendMail.helpers.js +3 -3
- package/dist/common/mail/sendMail.helpers.js.map +1 -1
- package/dist/modules/app.controller.js +2 -2
- package/dist/modules/app.controller.js.map +1 -1
- package/dist/modules/core/document/document.resolver.js +2 -2
- package/dist/modules/core/document/document.resolver.js.map +1 -1
- package/dist/modules/core/fields/fields.resolver.d.ts +3 -3
- package/dist/modules/core/fields/fields.resolver.js +16 -16
- package/dist/modules/core/fields/fields.resolver.js.map +1 -1
- package/dist/modules/core/fields/preprocess-fields.d.ts +7 -0
- package/dist/modules/core/fields/preprocess-fields.js +48 -0
- package/dist/modules/core/fields/preprocess-fields.js.map +1 -0
- package/dist/modules/core/fields/save-fields.queries.d.ts +1 -1
- package/dist/modules/core/fields/save-fields.queries.js +18 -8
- package/dist/modules/core/fields/save-fields.queries.js.map +1 -1
- package/dist/modules/core/media/media-upload.controller.js +3 -3
- package/dist/modules/core/media/media-upload.controller.js.map +1 -1
- package/dist/modules/core/media/media.js +2 -2
- package/dist/modules/core/media/media.js.map +1 -1
- package/dist/modules/core/media/media.resolver.js +6 -7
- package/dist/modules/core/media/media.resolver.js.map +1 -1
- package/dist/modules/core/part/part.queries.d.ts +0 -1
- package/dist/modules/core/part/part.queries.js +0 -2
- package/dist/modules/core/part/part.queries.js.map +1 -1
- package/dist/modules/core/part/part.resolver.d.ts +0 -2
- package/dist/modules/core/part/part.resolver.js +0 -13
- package/dist/modules/core/part/part.resolver.js.map +1 -1
- package/dist/modules/core/part/part.schema.d.ts +0 -1
- package/dist/modules/core/part/part.schema.js +0 -5
- package/dist/modules/core/part/part.schema.js.map +1 -1
- package/dist/modules/core/unprotected/unprotected.resolver.js +2 -2
- package/dist/modules/core/unprotected/unprotected.resolver.js.map +1 -1
- package/dist/modules/public-api/mail/contact-form-mail.js +4 -4
- package/dist/modules/public-api/mail/contact-form-mail.js.map +1 -1
- package/dist/modules/public-site/feed/feed-generator.js +28 -14
- package/dist/modules/public-site/feed/feed-generator.js.map +1 -1
- package/dist/modules/public-site/feed/feed.middleware.js +3 -3
- package/dist/modules/public-site/feed/feed.middleware.js.map +1 -1
- package/dist/modules/public-site/liquidjs-filters/head-tags-filter.js +6 -7
- package/dist/modules/public-site/liquidjs-filters/head-tags-filter.js.map +1 -1
- package/dist/modules/public-site/liquidjs-filters/image-zoom-url.js +2 -2
- package/dist/modules/public-site/liquidjs-filters/image-zoom-url.js.map +1 -1
- package/dist/modules/public-site/liquidjs-filters/info-filter.js +4 -4
- package/dist/modules/public-site/liquidjs-filters/info-filter.js.map +1 -1
- package/dist/modules/public-site/liquidjs-filters/obfuscate.js +3 -3
- package/dist/modules/public-site/liquidjs-filters/obfuscate.js.map +1 -1
- package/dist/modules/public-site/liquidjs-filters/open-graph-filter.js +8 -9
- package/dist/modules/public-site/liquidjs-filters/open-graph-filter.js.map +1 -1
- package/dist/modules/public-site/liquidjs-tags/use-image-tag.js +3 -3
- package/dist/modules/public-site/liquidjs-tags/use-image-tag.js.map +1 -1
- package/dist/modules/public-site/media-serve/_media-serve-helpers.js +2 -2
- package/dist/modules/public-site/media-serve/_media-serve-helpers.js.map +1 -1
- package/dist/modules/public-site/media-serve/media-serve.controller.js +6 -7
- package/dist/modules/public-site/media-serve/media-serve.controller.js.map +1 -1
- package/dist/modules/public-site/oauth2-client.controller.js +9 -6
- package/dist/modules/public-site/oauth2-client.controller.js.map +1 -1
- package/dist/plugins/plugin-api.js +8 -0
- package/dist/plugins/plugin-api.js.map +1 -1
- package/dist/public-payload/create-doc-drop.js +2 -2
- package/dist/public-payload/create-doc-drop.js.map +1 -1
- package/dist/public-payload/create-doc-part-drop.js +0 -14
- package/dist/public-payload/create-doc-part-drop.js.map +1 -1
- package/dist/public-payload/field-values.js +9 -5
- package/dist/public-payload/field-values.js.map +1 -1
- package/dist/public-payload/make-image-available.js +3 -4
- package/dist/public-payload/make-image-available.js.map +1 -1
- package/dist/site-context/create-site-context.js +1 -0
- package/dist/site-context/create-site-context.js.map +1 -1
- package/dist/site-context/site-context.types.d.ts +2 -0
- package/dist/site-context/theme-conf-reader.js +3 -3
- package/dist/site-context/theme-conf-reader.js.map +1 -1
- package/package.json +4 -4
- package/schema.gql +3 -5
- package/site-schema-lib/field-lib.site-schema.json +10 -0
- package/site-schema-lib/field-lib.site-schema.l10n.en.json +3 -0
- package/site-schema-lib/field-lib.site-schema.l10n.fr.json +3 -0
- package/site-schema-lib/lowcost.site-schema.json +1 -0
- package/dist/common/mail/html-helpers.d.ts +0 -11
- package/dist/common/mail/html-helpers.js +0 -78
- package/dist/common/mail/html-helpers.js.map +0 -1
- package/dist/common/mail/html-helpers.test.d.ts +0 -1
- package/dist/common/mail/html-helpers.test.js +0 -46
- package/dist/common/mail/html-helpers.test.js.map +0 -1
- package/dist/helpers/url.helpers.d.ts +0 -35
- package/dist/helpers/url.helpers.js +0 -52
- package/dist/helpers/url.helpers.js.map +0 -1
- package/dist/modules/core/fields/quill-delta.d.ts +0 -7
- package/dist/modules/core/fields/quill-delta.js +0 -145
- package/dist/modules/core/fields/quill-delta.js.map +0 -1
- package/dist/modules/core/fields/render-delta-fields.d.ts +0 -6
- package/dist/modules/core/fields/render-delta-fields.js +0 -17
- package/dist/modules/core/fields/render-delta-fields.js.map +0 -1
- package/dist/modules/public-site/helpers/obfuscate.helper.d.ts +0 -2
- package/dist/modules/public-site/helpers/obfuscate.helper.js +0 -27
- package/dist/modules/public-site/helpers/obfuscate.helper.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-conf-reader.js","sourceRoot":"","sources":["../../src/site-context/theme-conf-reader.ts"],"names":[],"mappings":";;;AAAA,yDAAoG;AACpG,
|
|
1
|
+
{"version":3,"file":"theme-conf-reader.js","sourceRoot":"","sources":["../../src/site-context/theme-conf-reader.ts"],"names":[],"mappings":";;;AAAA,yDAAoG;AACpG,qDAA0E;AAC1E,+CAA4C;AAC5C,yCAAiC;AACjC,wCAA2C;AAGpC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACtD,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,uBAAa,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;QACxE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,MAAM,IAAA,wBAAS,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtF,CAAC;AACH,CAAC;AAZD,8CAYC;AAED,SAAgB,eAAe,CAAC,GAAoB;IAClD,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;IACvC,MAAM,WAAW,GAAiB,GAAG,CAAC,WAAW,CAAC,GAAG,CAAa,CAAC,KAAK,EAAE,EAAE;QAC1E,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO;YACL,WAAW,EAAE,KAAK;YAClB,QAAQ,EAAE,IAAA,kCAAqB,EAAC,KAAK,EAAE,UAAU,CAAC;SACnD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,WAAW;QACX,UAAU;KACX,CAAC;AACJ,CAAC;AAfD,0CAeC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,IAAI,CAAC,IAAA,wBAAW,EAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,GAAG,CAAC,CAAC;AACxE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paroicms/server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.38.0",
|
|
4
4
|
"description": "The ParoiCMS server",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cms",
|
|
@@ -49,10 +49,10 @@
|
|
|
49
49
|
"@paroi/data-formatters-lib": "~0.3.0",
|
|
50
50
|
"@paroi/quill-delta-to-html": "~0.12.2",
|
|
51
51
|
"@paroicms/anywhere-lib": "1.13.1",
|
|
52
|
-
"@paroicms/bo": "1.
|
|
53
|
-
"@paroicms/plugin-lib": "0.
|
|
52
|
+
"@paroicms/bo": "1.30.0",
|
|
53
|
+
"@paroicms/plugin-lib": "0.4.0",
|
|
54
54
|
"@paroicms/server-database-media-storage": "1.6.2",
|
|
55
|
-
"@paroicms/server-image-cache-engine": "1.
|
|
55
|
+
"@paroicms/server-image-cache-engine": "1.8.0",
|
|
56
56
|
"@paroicms/server-lib": "1.5.5",
|
|
57
57
|
"@paroicms/server-text-cache-system": "1.5.3",
|
|
58
58
|
"@paroicms/site-app": "1.7.0",
|
package/schema.gql
CHANGED
|
@@ -175,9 +175,7 @@ type PagedSectionWraps {
|
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
type Part {
|
|
178
|
-
|
|
179
|
-
featuredImageHandle: String!
|
|
180
|
-
fieldValues(fieldNames: [String!], quillDeltaToHtml: Boolean): String!
|
|
178
|
+
fieldValues(fieldNames: [String!], preprocess: Boolean): String!
|
|
181
179
|
language: String!
|
|
182
180
|
leafId: ID!
|
|
183
181
|
leafType: String!
|
|
@@ -211,7 +209,7 @@ type Query {
|
|
|
211
209
|
searchDocuments(language: String!, limit: Int!, orderBy: [OrderByItem!], queryString: String!, start: Int!): PagedSectionWraps!
|
|
212
210
|
sectionWrap(sectionId: ID!): SectionWrap!
|
|
213
211
|
sectionWraps(parentSectionId: ID!): [SectionWrap!]!
|
|
214
|
-
siteFieldValues(fieldNames: [String!], language: String,
|
|
212
|
+
siteFieldValues(fieldNames: [String!], language: String, preprocess: Boolean): String!
|
|
215
213
|
siteInfo: SiteInfo!
|
|
216
214
|
siteSchema: String!
|
|
217
215
|
thisSiteConstants: ThisSiteConstants!
|
|
@@ -238,7 +236,7 @@ type SectionTranslation {
|
|
|
238
236
|
type SectionWrap {
|
|
239
237
|
breadcrumb: [BreadcrumbItem!]!
|
|
240
238
|
document: Document
|
|
241
|
-
fieldValues(fieldNames: [String!],
|
|
239
|
+
fieldValues(fieldNames: [String!], preprocess: Boolean): String!
|
|
242
240
|
language: String!
|
|
243
241
|
leaf: Leaf!
|
|
244
242
|
leafId: String!
|
|
@@ -79,6 +79,16 @@
|
|
|
79
79
|
"useAsExcerpt": 2,
|
|
80
80
|
"useAsDefaultImage": 2,
|
|
81
81
|
"visibility": ["overview", "feed"]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "image",
|
|
85
|
+
"storedOn": "leaf",
|
|
86
|
+
"storedAs": "mediaHandle",
|
|
87
|
+
"dataType": "media",
|
|
88
|
+
"accept": "image/*",
|
|
89
|
+
"refuse": "image/svg+xml",
|
|
90
|
+
"useAsDefaultImage": 1,
|
|
91
|
+
"visibility": ["table", "overview", "feed"]
|
|
82
92
|
}
|
|
83
93
|
]
|
|
84
94
|
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare function escapeHtml(text: string, options?: {
|
|
2
|
-
newLinesToBr?: boolean;
|
|
3
|
-
}): string;
|
|
4
|
-
export declare function decodeHtmlEntities(str: string): string;
|
|
5
|
-
export declare function newLinesToBr(text: string): string;
|
|
6
|
-
export declare function htmlToText(html: string): string;
|
|
7
|
-
export declare function stripHtmlTags(html: string, { blockSeparator }?: {
|
|
8
|
-
blockSeparator?: string;
|
|
9
|
-
}): string;
|
|
10
|
-
export declare function insertBlockSeparators(html: string, sep: string): string;
|
|
11
|
-
export declare function replaceLinks(html: string): string;
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.replaceLinks = exports.insertBlockSeparators = exports.stripHtmlTags = exports.htmlToText = exports.newLinesToBr = exports.decodeHtmlEntities = exports.escapeHtml = void 0;
|
|
4
|
-
const htmlEntities = {
|
|
5
|
-
"&": "&",
|
|
6
|
-
"<": "<",
|
|
7
|
-
">": ">",
|
|
8
|
-
'"': """,
|
|
9
|
-
"'": "'",
|
|
10
|
-
};
|
|
11
|
-
function escapeHtml(text, options = {}) {
|
|
12
|
-
let val = text;
|
|
13
|
-
val = val.replace(/[&<>"']/g, (m) => htmlEntities[m]);
|
|
14
|
-
if (options.newLinesToBr) {
|
|
15
|
-
val = newLinesToBr(val);
|
|
16
|
-
}
|
|
17
|
-
return val;
|
|
18
|
-
}
|
|
19
|
-
exports.escapeHtml = escapeHtml;
|
|
20
|
-
function decodeHtmlEntities(str) {
|
|
21
|
-
const entities = {
|
|
22
|
-
"<": "<",
|
|
23
|
-
"<": "<",
|
|
24
|
-
"<": "<",
|
|
25
|
-
">": ">",
|
|
26
|
-
">": ">",
|
|
27
|
-
">": ">",
|
|
28
|
-
"/": "/",
|
|
29
|
-
"/": "/",
|
|
30
|
-
"'": "'",
|
|
31
|
-
"'": "'",
|
|
32
|
-
"'": "'",
|
|
33
|
-
""": '"',
|
|
34
|
-
""": '"',
|
|
35
|
-
""": '"',
|
|
36
|
-
"&": "&",
|
|
37
|
-
"&": "&",
|
|
38
|
-
"&": "&",
|
|
39
|
-
};
|
|
40
|
-
return str.replace(/<|<|<|>|>|>|/|/|'|'|'|"|"|"|&|&|&/g, (match) => entities[match]);
|
|
41
|
-
}
|
|
42
|
-
exports.decodeHtmlEntities = decodeHtmlEntities;
|
|
43
|
-
function newLinesToBr(text) {
|
|
44
|
-
return text.replace(/(?:\r\n|\r|\n)/g, "<br>\n");
|
|
45
|
-
}
|
|
46
|
-
exports.newLinesToBr = newLinesToBr;
|
|
47
|
-
function htmlToText(html) {
|
|
48
|
-
return stripHtmlTags(replaceLinks(html));
|
|
49
|
-
}
|
|
50
|
-
exports.htmlToText = htmlToText;
|
|
51
|
-
const tagBody = "(?:[^\"'>]|\"[^\"]*\"|'[^']*')*";
|
|
52
|
-
const tagOrComment = new RegExp(`<(?:!--(?:(?:-*[^->])*--+|-?)|script\\b${tagBody}>[\\s\\S]*?</script\\s*|style\\b${tagBody}>[\\s\\S]*?</style\\s*|/?[a-z]${tagBody})>`, "gi");
|
|
53
|
-
function stripHtmlTags(html, { blockSeparator } = {}) {
|
|
54
|
-
let val = blockSeparator ? insertBlockSeparators(html, blockSeparator) : html;
|
|
55
|
-
val = val.replace(/<br\s*\/?>/gi, "\n");
|
|
56
|
-
let prev;
|
|
57
|
-
do {
|
|
58
|
-
prev = val;
|
|
59
|
-
val = val.replace(tagOrComment, "");
|
|
60
|
-
} while (val !== prev);
|
|
61
|
-
if (blockSeparator && val.endsWith(blockSeparator)) {
|
|
62
|
-
val = val.slice(0, -blockSeparator.length);
|
|
63
|
-
}
|
|
64
|
-
return decodeHtmlEntities(val);
|
|
65
|
-
}
|
|
66
|
-
exports.stripHtmlTags = stripHtmlTags;
|
|
67
|
-
function insertBlockSeparators(html, sep) {
|
|
68
|
-
const regex = /(\w)(<\/(?:address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h[1-6]|header|hr|li|main|nav|noscript|ol|p|pre|section|table|tfoot|ul|video)>)/g;
|
|
69
|
-
return html.replace(regex, (_, p1, p2) => `${p1}${sep}${p2}`);
|
|
70
|
-
}
|
|
71
|
-
exports.insertBlockSeparators = insertBlockSeparators;
|
|
72
|
-
function replaceLinks(html) {
|
|
73
|
-
return html.replace(/<a\s+[^>]*href="([^"]*)"[^>]*>([^<]*)<\/a>/gi, (_, url, label) => {
|
|
74
|
-
return `${label.trim()} ( ${url} )`;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
exports.replaceLinks = replaceLinks;
|
|
78
|
-
//# sourceMappingURL=html-helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-helpers.js","sourceRoot":"","sources":["../../../src/common/mail/html-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const vitest_1 = require("vitest");
|
|
4
|
-
const html_helpers_1 = require("./html-helpers");
|
|
5
|
-
(0, vitest_1.describe)("escapeHtml", () => {
|
|
6
|
-
(0, vitest_1.it)("should escape HTML entities", () => {
|
|
7
|
-
(0, vitest_1.expect)((0, html_helpers_1.escapeHtml)("<script>alert('XSS')</script>")).toBe("&lt;script&gt;alert('XSS')&lt;/script&gt;");
|
|
8
|
-
(0, vitest_1.expect)((0, html_helpers_1.escapeHtml)("<div>Hello, world!</div>")).toBe("<div>Hello, world!</div>");
|
|
9
|
-
});
|
|
10
|
-
(0, vitest_1.it)("should convert new lines to <br> tags if specified", () => {
|
|
11
|
-
(0, vitest_1.expect)((0, html_helpers_1.escapeHtml)("Hello\nWorld", { newLinesToBr: true })).toBe("Hello<br>\nWorld");
|
|
12
|
-
(0, vitest_1.expect)((0, html_helpers_1.escapeHtml)("Hello\r\nWorld", { newLinesToBr: true })).toBe("Hello<br>\nWorld");
|
|
13
|
-
});
|
|
14
|
-
});
|
|
15
|
-
(0, vitest_1.describe)("newLinesToBr", () => {
|
|
16
|
-
(0, vitest_1.it)("should replace new lines with <br> tags", () => {
|
|
17
|
-
(0, vitest_1.expect)((0, html_helpers_1.newLinesToBr)("Hello\nWorld")).toBe("Hello<br>\nWorld");
|
|
18
|
-
(0, vitest_1.expect)((0, html_helpers_1.newLinesToBr)("Hello\r\nWorld")).toBe("Hello<br>\nWorld");
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
(0, vitest_1.describe)("htmlToText", () => {
|
|
22
|
-
(0, vitest_1.it)("should strip HTML tags and replace links", () => {
|
|
23
|
-
(0, vitest_1.expect)((0, html_helpers_1.htmlToText)(`<p>Hello, <a href="https://example.com">World</a>!</p>`)).toBe("Hello, World ( https://example.com )!");
|
|
24
|
-
(0, vitest_1.expect)((0, html_helpers_1.htmlToText)("<h1>Title</h1> <p>Content</p>")).toBe("Title Content");
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
(0, vitest_1.describe)("stripHtmlTags", () => {
|
|
28
|
-
(0, vitest_1.it)("should remove HTML tags", () => {
|
|
29
|
-
(0, vitest_1.expect)((0, html_helpers_1.stripHtmlTags)("<p>Hello, <strong>World</strong>!</p>")).toBe("Hello, World!");
|
|
30
|
-
(0, vitest_1.expect)((0, html_helpers_1.stripHtmlTags)("<h1>Title</h1><p>Content</p>")).toBe("TitleContent");
|
|
31
|
-
});
|
|
32
|
-
(0, vitest_1.it)("should insert block separators if specified", () => {
|
|
33
|
-
(0, vitest_1.expect)((0, html_helpers_1.stripHtmlTags)("<p>Paragraph 1</p><p>Paragraph 2</p>", { blockSeparator: "#" })).toBe("Paragraph 1#Paragraph 2");
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
(0, vitest_1.describe)("insertBlockSeparators", () => {
|
|
37
|
-
(0, vitest_1.it)("should insert block separators between specified HTML tags", () => {
|
|
38
|
-
(0, vitest_1.expect)((0, html_helpers_1.insertBlockSeparators)("<p>Paragraph 1</p><div>Block 1</div><p>Paragraph 2</p><div>Block 2</div>", "#")).toBe("<p>Paragraph 1#</p><div>Block 1#</div><p>Paragraph 2#</p><div>Block 2#</div>");
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
(0, vitest_1.describe)("replaceLinks", () => {
|
|
42
|
-
(0, vitest_1.it)("should replace anchor tags with their label and URL", () => {
|
|
43
|
-
(0, vitest_1.expect)((0, html_helpers_1.replaceLinks)(`<a href="https://example.com">Link 1</a><a href="https://example.org">Link 2</a>`)).toBe("Link 1 ( https://example.com )Link 2 ( https://example.org )");
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=html-helpers.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-helpers.test.js","sourceRoot":"","sources":["../../../src/common/mail/html-helpers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { VariantName } from "@paroicms/anywhere-lib";
|
|
2
|
-
import type { SiteConf } from "../site-context/site-conf";
|
|
3
|
-
import type { SiteContext } from "../site-context/site-context.types";
|
|
4
|
-
export declare function getBoUrl(siteConf: SiteConf, path?: string): string;
|
|
5
|
-
export interface UrlOfMediaFileValues {
|
|
6
|
-
mediaUid: string;
|
|
7
|
-
mediaType: string;
|
|
8
|
-
originalName: string | undefined;
|
|
9
|
-
absoluteUrl?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export declare function makeUrlOfMediaFile(siteContext: Pick<SiteContext, "siteUrl">, values: UrlOfMediaFileValues): string;
|
|
12
|
-
export declare function makeUrlOfMediaFile(siteContext: Pick<SiteContext, "siteUrl">, values: UrlOfMediaFileValues, options: {
|
|
13
|
-
returnObj: true;
|
|
14
|
-
}): {
|
|
15
|
-
url: string;
|
|
16
|
-
fileName: string;
|
|
17
|
-
};
|
|
18
|
-
export interface UrlOfImageVariantValues {
|
|
19
|
-
mediaUid: string;
|
|
20
|
-
mediaType: string;
|
|
21
|
-
variantName: VariantName;
|
|
22
|
-
resourceVersion: string | undefined;
|
|
23
|
-
slug: string | undefined;
|
|
24
|
-
absoluteUrl?: boolean;
|
|
25
|
-
}
|
|
26
|
-
export declare function makeUrlOfImageVariant(siteContext: Pick<SiteContext, "siteUrl">, values: UrlOfImageVariantValues): string;
|
|
27
|
-
export declare function makeUrlOfImageVariant(siteContext: Pick<SiteContext, "siteUrl">, values: UrlOfImageVariantValues, options: {
|
|
28
|
-
returnObj: true;
|
|
29
|
-
}): {
|
|
30
|
-
url: string;
|
|
31
|
-
fileName: string;
|
|
32
|
-
};
|
|
33
|
-
export declare function fileExtensionOf(mediaType: string): string;
|
|
34
|
-
export declare function toAbsoluteUrl(siteContext: Pick<SiteContext, "siteUrl">, url: string): string;
|
|
35
|
-
export declare function makeFeedUrl(siteContext: SiteContext, language?: string): string;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeFeedUrl = exports.toAbsoluteUrl = exports.fileExtensionOf = exports.makeUrlOfImageVariant = exports.makeUrlOfMediaFile = exports.getBoUrl = void 0;
|
|
4
|
-
const context_1 = require("../context");
|
|
5
|
-
function getBoUrl(siteConf, path) {
|
|
6
|
-
const { publicProtocol, boPort } = context_1.appConf;
|
|
7
|
-
const { fqdn } = siteConf;
|
|
8
|
-
return `${publicProtocol}://${fqdn}${boPort === 80 ? "" : `:${boPort}`}${path ?? ""}`;
|
|
9
|
-
}
|
|
10
|
-
exports.getBoUrl = getBoUrl;
|
|
11
|
-
function makeUrlOfMediaFile(siteContext, values, options) {
|
|
12
|
-
const { mediaUid, mediaType, originalName, absoluteUrl } = values;
|
|
13
|
-
const fileName = `${originalName ?? "unamed"}${fileExtensionOf(mediaType)}`;
|
|
14
|
-
const relUrl = `/medias/${encodeURIComponent(mediaUid)}/file/${encodeURIComponent(fileName)}`;
|
|
15
|
-
const url = absoluteUrl ? toAbsoluteUrl(siteContext, relUrl) : relUrl;
|
|
16
|
-
return options?.returnObj ? { url, fileName } : url;
|
|
17
|
-
}
|
|
18
|
-
exports.makeUrlOfMediaFile = makeUrlOfMediaFile;
|
|
19
|
-
function makeUrlOfImageVariant(siteContext, values, options) {
|
|
20
|
-
const { mediaUid, mediaType, variantName, slug, resourceVersion, absoluteUrl } = values;
|
|
21
|
-
const fileName = `${slug ?? "unamed"}-${variantName}${fileExtensionOf(mediaType)}`;
|
|
22
|
-
let relUrl;
|
|
23
|
-
if (resourceVersion) {
|
|
24
|
-
relUrl = `/medias/${encodeURIComponent(mediaUid)}/image/${encodeURIComponent(resourceVersion)}/${encodeURIComponent(fileName)}`;
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
relUrl = `/medias/${encodeURIComponent(mediaUid)}/image/${encodeURIComponent(fileName)}`;
|
|
28
|
-
}
|
|
29
|
-
const url = absoluteUrl ? toAbsoluteUrl(siteContext, relUrl) : relUrl;
|
|
30
|
-
return options?.returnObj ? { url, fileName } : url;
|
|
31
|
-
}
|
|
32
|
-
exports.makeUrlOfImageVariant = makeUrlOfImageVariant;
|
|
33
|
-
function fileExtensionOf(mediaType) {
|
|
34
|
-
const regexMatchArray = mediaType.match(/\w+\/([-+.\w]+)/);
|
|
35
|
-
if (!regexMatchArray) {
|
|
36
|
-
throw new Error("media extension is incorrect.");
|
|
37
|
-
}
|
|
38
|
-
return `.${regexMatchArray[1]}`;
|
|
39
|
-
}
|
|
40
|
-
exports.fileExtensionOf = fileExtensionOf;
|
|
41
|
-
function toAbsoluteUrl(siteContext, url) {
|
|
42
|
-
return url.startsWith("/") ? `${siteContext.siteUrl}${url}` : url;
|
|
43
|
-
}
|
|
44
|
-
exports.toAbsoluteUrl = toAbsoluteUrl;
|
|
45
|
-
function makeFeedUrl(siteContext, language) {
|
|
46
|
-
if (siteContext.multilingual && !language) {
|
|
47
|
-
throw new Error("language is required for multilingual site");
|
|
48
|
-
}
|
|
49
|
-
return toAbsoluteUrl(siteContext, siteContext.multilingual ? `/${language}/feed` : "/feed");
|
|
50
|
-
}
|
|
51
|
-
exports.makeFeedUrl = makeFeedUrl;
|
|
52
|
-
//# sourceMappingURL=url.helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.helpers.js","sourceRoot":"","sources":["../../src/helpers/url.helpers.ts"],"names":[],"mappings":";;;AACA,wCAAqC;AAIrC,SAAgB,QAAQ,CAAC,QAAkB,EAAE,IAAa;IACxD,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,iBAAO,CAAC;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IAC1B,OAAO,GAAG,cAAc,MAAM,IAAI,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;AACxF,CAAC;AAJD,4BAIC;AAkBD,SAAgB,kBAAkB,CAChC,WAAyC,EACzC,MAA4B,EAC5B,OAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAClE,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;IAE5E,MAAM,MAAM,GAAG,WAAW,kBAAkB,CAAC,QAAQ,CAAC,SAAS,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAE9F,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtE,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACtD,CAAC;AAZD,gDAYC;AAoBD,SAAgB,qBAAqB,CACnC,WAAyC,EACzC,MAA+B,EAC/B,OAAiC;IAEjC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAExF,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,QAAQ,IAAI,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;IACnF,IAAI,MAAc,CAAC;IACnB,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,GAAG,WAAW,kBAAkB,CAAC,QAAQ,CAAC,UAAU,kBAAkB,CAC1E,eAAe,CAChB,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,WAAW,kBAAkB,CAAC,QAAQ,CAAC,UAAU,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3F,CAAC;IAED,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtE,OAAO,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACtD,CAAC;AAnBD,sDAmBC;AAED,SAAgB,eAAe,CAAC,SAAiB;IAC/C,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE3D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;AAClC,CAAC;AARD,0CAQC;AAED,SAAgB,aAAa,CAAC,WAAyC,EAAE,GAAW;IAClF,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACpE,CAAC;AAFD,sCAEC;AAED,SAAgB,WAAW,CAAC,WAAwB,EAAE,QAAiB;IACrE,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,QAAQ,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAC9F,CAAC;AALD,kCAKC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { RenderingContext } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context";
|
|
2
|
-
import type { SiteContext } from "../../../site-context/site-context.types";
|
|
3
|
-
export interface QuillDeltaToHtmlOptions {
|
|
4
|
-
absoluteImageUrls?: boolean;
|
|
5
|
-
}
|
|
6
|
-
export declare function convertQuillDeltaToHtml(siteContext: SiteContext, renderingContext: RenderingContext, delta: any, options?: QuillDeltaToHtmlOptions): Promise<string>;
|
|
7
|
-
export declare function convertQuillDeltaToPlainText(delta: any): string;
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertQuillDeltaToPlainText = exports.convertQuillDeltaToHtml = void 0;
|
|
4
|
-
const data_formatters_lib_1 = require("@paroi/data-formatters-lib");
|
|
5
|
-
const quill_delta_to_html_1 = require("@paroi/quill-delta-to-html");
|
|
6
|
-
const server_image_cache_engine_1 = require("@paroicms/server-image-cache-engine");
|
|
7
|
-
const html_helpers_1 = require("../../../common/mail/html-helpers");
|
|
8
|
-
const context_1 = require("../../../context");
|
|
9
|
-
const url_helpers_1 = require("../../../helpers/url.helpers");
|
|
10
|
-
const make_image_available_1 = require("../../../public-payload/make-image-available");
|
|
11
|
-
const obfuscate_helper_1 = require("../../public-site/helpers/obfuscate.helper");
|
|
12
|
-
async function convertQuillDeltaToHtml(siteContext, renderingContext, delta, options) {
|
|
13
|
-
const ops = delta.ops;
|
|
14
|
-
preprocessDelta(ops);
|
|
15
|
-
const converter = new quill_delta_to_html_1.QuillDeltaToHtmlAsyncConverter(ops, {
|
|
16
|
-
multiLineParagraph: false,
|
|
17
|
-
});
|
|
18
|
-
converter.renderCustomWith((customOp) => {
|
|
19
|
-
const { type, value } = customOp.insert;
|
|
20
|
-
if (type === "html-snippet")
|
|
21
|
-
return value.html;
|
|
22
|
-
if (type === "img")
|
|
23
|
-
return imgBlotProcessing(siteContext, renderingContext, value, options);
|
|
24
|
-
if (type === "obfuscate")
|
|
25
|
-
return obfuscateBlotProcessing(value, customOp.attributes);
|
|
26
|
-
context_1.platformLog.warn(`Invalid blot '${type}'`);
|
|
27
|
-
return "";
|
|
28
|
-
});
|
|
29
|
-
return await converter.convert();
|
|
30
|
-
}
|
|
31
|
-
exports.convertQuillDeltaToHtml = convertQuillDeltaToHtml;
|
|
32
|
-
function convertQuillDeltaToPlainText(delta) {
|
|
33
|
-
const converter = new quill_delta_to_html_1.QuillDeltaToHtmlConverter(delta.ops);
|
|
34
|
-
converter.renderCustomWith((customOp) => {
|
|
35
|
-
const { type, value } = customOp.insert;
|
|
36
|
-
if (type === "html-snippet")
|
|
37
|
-
return value.html;
|
|
38
|
-
if (type === "img")
|
|
39
|
-
return "";
|
|
40
|
-
context_1.platformLog.warn(`Invalid blot '${type}'`);
|
|
41
|
-
return "";
|
|
42
|
-
});
|
|
43
|
-
const html = converter.convert();
|
|
44
|
-
return (0, html_helpers_1.stripHtmlTags)(html, { blockSeparator: " – " });
|
|
45
|
-
}
|
|
46
|
-
exports.convertQuillDeltaToPlainText = convertQuillDeltaToPlainText;
|
|
47
|
-
function preprocessDelta(ops) {
|
|
48
|
-
for (const op of ops) {
|
|
49
|
-
if (!op.insert || !op.attributes?.obfuscate)
|
|
50
|
-
continue;
|
|
51
|
-
op.insert = {
|
|
52
|
-
obfuscate: op.insert,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
function obfuscateBlotProcessing(value, inlineAttributes) {
|
|
57
|
-
const textVal = (0, data_formatters_lib_1.strValOrUndef)(value);
|
|
58
|
-
if (!textVal)
|
|
59
|
-
return "";
|
|
60
|
-
const asALink = formatObfuscateAsALink((0, data_formatters_lib_1.strVal)(inlineAttributes.obfuscate));
|
|
61
|
-
let obfuscatedVal;
|
|
62
|
-
if (asALink === "mailto" || asALink === "tel") {
|
|
63
|
-
obfuscatedVal = (0, obfuscate_helper_1.obfuscateAsHtmlLink)(textVal);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
obfuscatedVal = (0, obfuscate_helper_1.generateObfuscatedHtml)(textVal);
|
|
67
|
-
}
|
|
68
|
-
let result = obfuscatedVal;
|
|
69
|
-
if (inlineAttributes.strike) {
|
|
70
|
-
result = `<s>${result}</s>`;
|
|
71
|
-
}
|
|
72
|
-
if (inlineAttributes.italic) {
|
|
73
|
-
result = `<em>${result}</em>`;
|
|
74
|
-
}
|
|
75
|
-
if (inlineAttributes.bold) {
|
|
76
|
-
result = `<strong>${result}</strong>`;
|
|
77
|
-
}
|
|
78
|
-
return result;
|
|
79
|
-
}
|
|
80
|
-
function formatObfuscateAsALink(val) {
|
|
81
|
-
if (val === "raw")
|
|
82
|
-
return "raw";
|
|
83
|
-
if (val === "mailto")
|
|
84
|
-
return "mailto";
|
|
85
|
-
if (val === "tel")
|
|
86
|
-
return "tel";
|
|
87
|
-
throw new Error(`invalid link-type '${val}'`);
|
|
88
|
-
}
|
|
89
|
-
async function imgBlotProcessing(siteContext, renderingContext, value, options) {
|
|
90
|
-
const uid = (0, data_formatters_lib_1.strValOrUndef)(value.uid, { varName: "uid" });
|
|
91
|
-
const variant = (0, data_formatters_lib_1.strValOrUndef)(value.variant, { varName: "variant" });
|
|
92
|
-
const align = (0, data_formatters_lib_1.strValOrUndef)(value.align);
|
|
93
|
-
const zoom = (0, data_formatters_lib_1.strValOrUndef)(value.zoom);
|
|
94
|
-
const hasZoom = zoom !== "none";
|
|
95
|
-
let imgAttributes;
|
|
96
|
-
if (uid && variant && (0, server_image_cache_engine_1.isImageSize)(variant)) {
|
|
97
|
-
const realSize = (0, server_image_cache_engine_1.applyRatioToImageSize)(variant, siteContext.themeConf.pixelRatio);
|
|
98
|
-
const image = await (0, make_image_available_1.makeImageAvailable)(siteContext, renderingContext, {
|
|
99
|
-
imageSel: { uid },
|
|
100
|
-
size: realSize,
|
|
101
|
-
});
|
|
102
|
-
let dataZoomSrc;
|
|
103
|
-
if (hasZoom) {
|
|
104
|
-
const zoomImage = await (0, make_image_available_1.makeImageAvailable)(siteContext, renderingContext, {
|
|
105
|
-
imageSel: { uid },
|
|
106
|
-
size: (0, server_image_cache_engine_1.applyRatioToImageSize)("x1900x", siteContext.themeConf.pixelRatio),
|
|
107
|
-
});
|
|
108
|
-
dataZoomSrc = options?.absoluteImageUrls
|
|
109
|
-
? (0, url_helpers_1.toAbsoluteUrl)(siteContext, zoomImage.url)
|
|
110
|
-
: zoomImage.url;
|
|
111
|
-
}
|
|
112
|
-
imgAttributes = {
|
|
113
|
-
dataZoomSrc,
|
|
114
|
-
src: options?.absoluteImageUrls ? (0, url_helpers_1.toAbsoluteUrl)(siteContext, image.url) : image.url,
|
|
115
|
-
width: Math.round(image.width / siteContext.themeConf.pixelRatio),
|
|
116
|
-
height: Math.round(image.height / siteContext.themeConf.pixelRatio),
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
const src = (0, data_formatters_lib_1.strValOrUndef)(value.src, { varName: "src" });
|
|
121
|
-
if (!src) {
|
|
122
|
-
context_1.platformLog.warn("missing 'uid' and 'src' in 'img' blot");
|
|
123
|
-
return "";
|
|
124
|
-
}
|
|
125
|
-
imgAttributes = {
|
|
126
|
-
dataZoomSrc: hasZoom ? src : undefined,
|
|
127
|
-
src,
|
|
128
|
-
width: (0, data_formatters_lib_1.nbValOrUndef)(value.width),
|
|
129
|
-
height: (0, data_formatters_lib_1.nbValOrUndef)(value.height),
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
const attributes = [];
|
|
133
|
-
if (imgAttributes.dataZoomSrc) {
|
|
134
|
-
attributes.push(`data-zoom-src="${(0, html_helpers_1.escapeHtml)(imgAttributes.dataZoomSrc)}"`);
|
|
135
|
-
}
|
|
136
|
-
attributes.push(`src="${(0, html_helpers_1.escapeHtml)(imgAttributes.src)}"`);
|
|
137
|
-
attributes.push(`class="Img${align ? ` ${(0, html_helpers_1.escapeHtml)(align)}` : ""}"`);
|
|
138
|
-
attributes.push(`loading="lazy"`);
|
|
139
|
-
if (imgAttributes.width !== undefined)
|
|
140
|
-
attributes.push(`width="${imgAttributes.width}"`);
|
|
141
|
-
if (imgAttributes.height !== undefined)
|
|
142
|
-
attributes.push(`height="${imgAttributes.height}"`);
|
|
143
|
-
return `<img ${attributes.join(" ")}>`;
|
|
144
|
-
}
|
|
145
|
-
//# sourceMappingURL=quill-delta.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"quill-delta.js","sourceRoot":"","sources":["../../../../src/modules/core/fields/quill-delta.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { FieldType } from "@paroicms/anywhere-lib";
|
|
2
|
-
import type { RenderingContext } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context";
|
|
3
|
-
import type { SiteContext } from "../../../site-context/site-context.types";
|
|
4
|
-
import type { FieldValues } from "./load-fields.queries";
|
|
5
|
-
import { type QuillDeltaToHtmlOptions } from "./quill-delta";
|
|
6
|
-
export declare function renderQuillDeltaFields(siteContext: SiteContext, renderingContext: RenderingContext, values: FieldValues, fieldTypes: FieldType[], options?: QuillDeltaToHtmlOptions): Promise<void>;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderQuillDeltaFields = void 0;
|
|
4
|
-
const quill_delta_1 = require("./quill-delta");
|
|
5
|
-
async function renderQuillDeltaFields(siteContext, renderingContext, values, fieldTypes, options) {
|
|
6
|
-
for (const { name, dataType } of fieldTypes) {
|
|
7
|
-
if (dataType !== "quillDelta")
|
|
8
|
-
continue;
|
|
9
|
-
const val = values[name];
|
|
10
|
-
values[name] =
|
|
11
|
-
val !== undefined && val !== null && typeof val === "object" && "delta" in val && val.delta
|
|
12
|
-
? await (0, quill_delta_1.convertQuillDeltaToHtml)(siteContext, renderingContext, val.delta, options)
|
|
13
|
-
: undefined;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.renderQuillDeltaFields = renderQuillDeltaFields;
|
|
17
|
-
//# sourceMappingURL=render-delta-fields.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render-delta-fields.js","sourceRoot":"","sources":["../../../../src/modules/core/fields/render-delta-fields.ts"],"names":[],"mappings":";;;AAIA,+CAAsF;AAE/E,KAAK,UAAU,sBAAsB,CAC1C,WAAwB,EACxB,gBAAkC,EAClC,MAAmB,EACnB,UAAuB,EACvB,OAAiC;IAEjC,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5C,IAAI,QAAQ,KAAK,YAAY;YAAE,SAAS;QACxC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC;YACV,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK;gBACzF,CAAC,CAAC,MAAM,IAAA,qCAAuB,EAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;gBAClF,CAAC,CAAC,SAAS,CAAC;IAClB,CAAC;AACH,CAAC;AAfD,wDAeC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.obfuscateAsHtmlLink = exports.generateObfuscatedHtml = void 0;
|
|
4
|
-
const html_helpers_1 = require("../../../common/mail/html-helpers");
|
|
5
|
-
function generateObfuscatedHtml(inputString) {
|
|
6
|
-
const jsString = JSON.stringify(btoa(inputString));
|
|
7
|
-
return `<script>document.write(atob(${jsString}))</script>`;
|
|
8
|
-
}
|
|
9
|
-
exports.generateObfuscatedHtml = generateObfuscatedHtml;
|
|
10
|
-
function obfuscateAsHtmlLink(phoneOrEmail) {
|
|
11
|
-
return generateObfuscatedHtml(generateTargetHtml(phoneOrEmail));
|
|
12
|
-
}
|
|
13
|
-
exports.obfuscateAsHtmlLink = obfuscateAsHtmlLink;
|
|
14
|
-
function generateTargetHtml(str) {
|
|
15
|
-
const inputString = str.trim();
|
|
16
|
-
const linkString = generateLinkString(inputString);
|
|
17
|
-
return `<a href="${(0, html_helpers_1.escapeHtml)(linkString)}">${(0, html_helpers_1.escapeHtml)(inputString)}</a>`;
|
|
18
|
-
}
|
|
19
|
-
function generateLinkString(inputString) {
|
|
20
|
-
if (inputString.includes("@")) {
|
|
21
|
-
return `mailto:${inputString}`;
|
|
22
|
-
}
|
|
23
|
-
const plus = inputString.startsWith("+");
|
|
24
|
-
const allDigits = inputString.replaceAll(/[^0-9]/g, "");
|
|
25
|
-
return plus ? `tel:+${allDigits}` : `tel:${allDigits}`;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=obfuscate.helper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"obfuscate.helper.js","sourceRoot":"","sources":["../../../../src/modules/public-site/helpers/obfuscate.helper.ts"],"names":[],"mappings":";;;AAAA,oEAA+D;AAE/D,SAAgB,sBAAsB,CAAC,WAAmB;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACnD,OAAO,+BAA+B,QAAQ,aAAa,CAAC;AAC9D,CAAC;AAHD,wDAGC;AAED,SAAgB,mBAAmB,CAAC,YAAoB;IACtD,OAAO,sBAAsB,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;AAClE,CAAC;AAFD,kDAEC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACnD,OAAO,YAAY,IAAA,yBAAU,EAAC,UAAU,CAAC,KAAK,IAAA,yBAAU,EAAC,WAAW,CAAC,MAAM,CAAC;AAC9E,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAmB;IAC7C,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC;AACzD,CAAC"}
|