@dev.smartpricing/message-composer-utils 4.2.5 → 4.2.6-brands.1
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/types/api/apiTemplates.js +2 -0
- package/dist/types/api/apiTemplates.js.map +1 -0
- package/dist/types/brand.js +20 -0
- package/dist/types/brand.js.map +1 -1
- package/dist/types/emailblocks.v1.js +3 -3
- package/dist/types/emailblocks.v1.js.map +1 -1
- package/dist/types/message.js +2 -1
- package/dist/types/message.js.map +1 -1
- package/dist/types/template.js +2 -0
- package/dist/types/template.js.map +1 -0
- package/dist/utils/templates/brand-cascade.js +15 -1
- package/dist/utils/templates/brand-cascade.js.map +1 -1
- package/dist/utils/templates/email-maizzle.js +433 -0
- package/dist/utils/templates/email-maizzle.js.map +1 -0
- package/dist/utils/templates/email-mjml.js +12 -11
- package/dist/utils/templates/email-mjml.js.map +1 -1
- package/dist/utils/templates/tiptap.js +4 -0
- package/dist/utils/templates/tiptap.js.map +1 -1
- package/package.json +1 -1
- package/src/types/brand.ts +25 -0
- package/src/types/emailblocks.v1.ts +3 -3
- package/src/types/message.ts +4 -0
- package/src/utils/templates/brand-cascade.ts +28 -1
- package/src/utils/templates/email-mjml.ts +14 -12
- package/src/utils/templates/tiptap.ts +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiTemplates.js","sourceRoot":"","sources":["../../../src/types/api/apiTemplates.ts"],"names":[],"mappings":""}
|
package/dist/types/brand.js
CHANGED
|
@@ -18,6 +18,25 @@ export const brandSocialsSchema = z
|
|
|
18
18
|
.record(z.string(), z.string())
|
|
19
19
|
.nullable()
|
|
20
20
|
.optional();
|
|
21
|
+
/** Brand contact/footer data. All fields optional — only set fields are used. */
|
|
22
|
+
export const brandDataSchema = z.object({
|
|
23
|
+
name: z.string().optional(),
|
|
24
|
+
address: z.string().optional(),
|
|
25
|
+
telephone: z.string().optional(),
|
|
26
|
+
email: z.string().optional(),
|
|
27
|
+
website: z.string().optional(),
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Maps brand.data fields to the corresponding property_* variable names.
|
|
31
|
+
* Used at compile time to resolve brand_* fallbacks.
|
|
32
|
+
*/
|
|
33
|
+
export const BRAND_DATA_TO_PROPERTY_MAP = {
|
|
34
|
+
name: "property_name",
|
|
35
|
+
address: "property_address",
|
|
36
|
+
telephone: "property_telephone",
|
|
37
|
+
email: "property_email",
|
|
38
|
+
website: "property_website",
|
|
39
|
+
};
|
|
21
40
|
export const brandBodySchema = z.object({
|
|
22
41
|
name: z.string().min(1),
|
|
23
42
|
organization_id: z.uuid().nullable().optional(),
|
|
@@ -26,6 +45,7 @@ export const brandBodySchema = z.object({
|
|
|
26
45
|
default_email_settings: brandDefaultEmailSettingsSchema.optional(),
|
|
27
46
|
default_button_settings: brandDefaultButtonSettingsSchema.optional(),
|
|
28
47
|
default_socials: brandSocialsSchema,
|
|
48
|
+
data: brandDataSchema.optional(),
|
|
29
49
|
property_ids: z.array(z.uuid()).optional(),
|
|
30
50
|
});
|
|
31
51
|
export const brandUpdateSchema = brandBodySchema.partial();
|
package/dist/types/brand.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/types/brand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KAC9B,QAAQ,EAAE;KACV,QAAQ,EAAE,CAAC;AAId,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,sBAAsB,EAAE,+BAA+B,CAAC,QAAQ,EAAE;IAClE,uBAAuB,EAAE,gCAAgC,CAAC,QAAQ,EAAE;IACpE,eAAe,EAAE,kBAAkB;IACnC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/types/brand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KAC9B,QAAQ,EAAE;KACV,QAAQ,EAAE,CAAC;AAId,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAoC;IACzE,IAAI,EAAE,eAAe;IACrB,OAAO,EAAE,kBAAkB;IAC3B,SAAS,EAAE,oBAAoB;IAC/B,KAAK,EAAE,gBAAgB;IACvB,OAAO,EAAE,kBAAkB;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,eAAe,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,sBAAsB,EAAE,+BAA+B,CAAC,QAAQ,EAAE;IAClE,uBAAuB,EAAE,gCAAgC,CAAC,QAAQ,EAAE;IACpE,eAAe,EAAE,kBAAkB;IACnC,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE;IAChC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC"}
|
|
@@ -187,14 +187,14 @@ export function emptyFooterBlock() {
|
|
|
187
187
|
{
|
|
188
188
|
type: "text",
|
|
189
189
|
marks: [{ type: "bold" }],
|
|
190
|
-
text: "{{
|
|
190
|
+
text: "{{brand_name}}",
|
|
191
191
|
},
|
|
192
192
|
],
|
|
193
193
|
},
|
|
194
194
|
{
|
|
195
195
|
type: "paragraph",
|
|
196
196
|
attrs: { textAlign: null },
|
|
197
|
-
content: [{ type: "text", text: "{{
|
|
197
|
+
content: [{ type: "text", text: "{{brand_address}}" }],
|
|
198
198
|
},
|
|
199
199
|
{
|
|
200
200
|
type: "paragraph",
|
|
@@ -202,7 +202,7 @@ export function emptyFooterBlock() {
|
|
|
202
202
|
content: [
|
|
203
203
|
{
|
|
204
204
|
type: "text",
|
|
205
|
-
text: "{{
|
|
205
|
+
text: "{{brand_telephone}} / {{brand_email}} / {{brand_website}}",
|
|
206
206
|
},
|
|
207
207
|
],
|
|
208
208
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emailblocks.v1.js","sourceRoot":"","sources":["../../src/types/emailblocks.v1.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"emailblocks.v1.js","sourceRoot":"","sources":["../../src/types/emailblocks.v1.ts"],"names":[],"mappings":"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"}
|
package/dist/types/message.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { brandDefaultEmailSettingsSchema, brandDefaultButtonSettingsSchema, } from "./brand.js";
|
|
2
|
+
import { brandDefaultEmailSettingsSchema, brandDefaultButtonSettingsSchema, brandDataSchema, } from "./brand.js";
|
|
3
3
|
export const MESSAGE_RENDER_TYPES = ["whatsapp_v1", "email_v1"];
|
|
4
4
|
export const MESSAGE_STATUS = [
|
|
5
5
|
"pending",
|
|
@@ -18,6 +18,7 @@ export const brandCascadeDataSchema = z.object({
|
|
|
18
18
|
default_button_settings: brandDefaultButtonSettingsSchema,
|
|
19
19
|
default_socials: z.record(z.string(), z.string()).nullable(),
|
|
20
20
|
logo_url: z.string().nullable(),
|
|
21
|
+
data: brandDataSchema.optional().default({}),
|
|
21
22
|
});
|
|
22
23
|
/**
|
|
23
24
|
* Request body for previewing a message with inline data (no DB lookups).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/types/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,aAAa,EAAE,UAAU,CAAU,CAAC;AAGzE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS;IACT,OAAO;IACP,UAAU;IACV,UAAU;CACF,CAAC;AAmDX,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,WAAW,EAAE,SAAS,CAAU,CAAC;AAG1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAU,CAAC;AA8DxE;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,sBAAsB,EAAE,+BAA+B;IACvD,uBAAuB,EAAE,gCAAgC;IACzD,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC7C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5C,CAAC;QACF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;KACvD,CAAC;SACD,WAAW,EAAE;IAChB,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/types/template.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,cAAc,GAAG,QAAiB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_EMAIL_GLOBAL_SETTINGS } from "../../types/index.js";
|
|
1
|
+
import { DEFAULT_EMAIL_GLOBAL_SETTINGS, BRAND_DATA_TO_PROPERTY_MAP, } from "../../types/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* Resolves EmailGlobalSettings by cascading:
|
|
4
4
|
* generalSettings → brand → hardcoded defaults
|
|
@@ -113,4 +113,18 @@ export function resolveEmailBodyWithBrand(body, brand) {
|
|
|
113
113
|
settings: resolveEmailSettings(body.settings, brand),
|
|
114
114
|
};
|
|
115
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Merge brand_* variables into a parameters map.
|
|
118
|
+
* For each brand.data field, resolves brand_<field> as:
|
|
119
|
+
* brand.data[field] → corresponding property_* from params → ""
|
|
120
|
+
*/
|
|
121
|
+
export function mergeBrandDataParams(parameters, brand) {
|
|
122
|
+
const merged = { ...parameters };
|
|
123
|
+
for (const [field, propertyKey] of Object.entries(BRAND_DATA_TO_PROPERTY_MAP)) {
|
|
124
|
+
const brandKey = `brand_${field}`;
|
|
125
|
+
const brandValue = brand?.data?.[field];
|
|
126
|
+
merged[brandKey] = brandValue || merged[propertyKey] || "";
|
|
127
|
+
}
|
|
128
|
+
return merged;
|
|
129
|
+
}
|
|
116
130
|
//# sourceMappingURL=brand-cascade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand-cascade.js","sourceRoot":"","sources":["../../../src/utils/templates/brand-cascade.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"brand-cascade.js","sourceRoot":"","sources":["../../../src/utils/templates/brand-cascade.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
import { SOCIAL_ICONS, SOCIAL_PLATFORMS } from "../../types/index.js";
|
|
2
|
+
import { generateHTML } from "@tiptap/html";
|
|
3
|
+
import { getTipTapExtensions, sanitizeContent } from "./tiptap.js";
|
|
4
|
+
import { generateHtml } from "./messages.js";
|
|
5
|
+
// Default internal horizontal padding for text blocks (heading, paragraph, footer, unsubscribe_link)
|
|
6
|
+
const TEXT_HORIZONTAL_PADDING = 25;
|
|
7
|
+
/**
|
|
8
|
+
* Converts TipTap JSONContent to HTML for email rendering
|
|
9
|
+
*/
|
|
10
|
+
function generateEmailHtml(content) {
|
|
11
|
+
if (!content)
|
|
12
|
+
return "";
|
|
13
|
+
const extensions = getTipTapExtensions({ preset: "email" });
|
|
14
|
+
const html = generateHTML(sanitizeContent(content, extensions), extensions);
|
|
15
|
+
// Preserve empty paragraphs as spacing (TipTap outputs <p></p> which collapses)
|
|
16
|
+
return html.replace(/<p><\/p>/g, "<p><br></p>");
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Escapes special characters for HTML attributes
|
|
20
|
+
*/
|
|
21
|
+
function escapeHtmlAttribute(value) {
|
|
22
|
+
if (value === undefined || value === null) {
|
|
23
|
+
return "";
|
|
24
|
+
}
|
|
25
|
+
return value
|
|
26
|
+
.replace(/&/g, "&")
|
|
27
|
+
.replace(/</g, "<")
|
|
28
|
+
.replace(/>/g, ">")
|
|
29
|
+
.replace(/"/g, """)
|
|
30
|
+
.replace(/'/g, "'");
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Wraps HTML content in v-pre to prevent Vue from parsing {{ }} placeholders.
|
|
34
|
+
* Used for TipTap-generated HTML that may contain {{param}} template variables.
|
|
35
|
+
*/
|
|
36
|
+
function _wrapVPre(html) {
|
|
37
|
+
return `<div v-pre>${html}</div>`;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Build a bg class from a color, treating #FFFFFF00 as transparent (no class).
|
|
41
|
+
*/
|
|
42
|
+
function bgClass(color) {
|
|
43
|
+
if (!color || color === "#FFFFFF00" || color === "transparent")
|
|
44
|
+
return "";
|
|
45
|
+
return ` bg-[${color}]`;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Translates a spacer block to Maizzle
|
|
49
|
+
*/
|
|
50
|
+
function translateSpacerBlock(block, settings) {
|
|
51
|
+
const hPad = settings.horizontalSpacing ?? 0;
|
|
52
|
+
return `<Spacer class="h-[${block.settings.height}px] px-[${hPad}px]${bgClass(block.settings.backgroundColor)}" />`;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Translates a divider block to Maizzle.
|
|
56
|
+
* Maizzle's <Hr> is a <div role="separator"> styled with bg-* for color.
|
|
57
|
+
* For dotted/dashed styles we use a raw div with border-top.
|
|
58
|
+
*/
|
|
59
|
+
function translateDividerBlock(block, settings) {
|
|
60
|
+
const hPad = settings.horizontalSpacing ?? 0;
|
|
61
|
+
const bg = bgClass(block.settings.backgroundColor);
|
|
62
|
+
const color = escapeHtmlAttribute(block.settings.color);
|
|
63
|
+
if (block.settings.style === "solid") {
|
|
64
|
+
return `<Hr class="bg-[${color}] h-[${block.settings.thickness}px] my-0 mx-auto max-w-[${block.settings.width}%] px-[${hPad}px]${bg}" />`;
|
|
65
|
+
}
|
|
66
|
+
// dotted/dashed — Hr can't express border styles, use raw div
|
|
67
|
+
return `<div role="separator" class="my-0 mx-auto max-w-[${block.settings.width}%] px-[${hPad}px]${bg}" style="border-top: ${block.settings.thickness}px ${block.settings.style} ${color};"></div>`;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Translates a heading block to Maizzle.
|
|
71
|
+
*
|
|
72
|
+
* Uses <div> instead of Maizzle's <Text> (which renders <p>) because the inner
|
|
73
|
+
* content contains block-level elements (<h1>–<h6>, <div>, <ul>, etc.).
|
|
74
|
+
* Nesting block elements inside <p> is invalid HTML — browsers auto-close the
|
|
75
|
+
* <p>, orphaning all styles (background, color, font, padding).
|
|
76
|
+
* Maizzle's CSS pipeline (inlining, purging, shorthand) works on all elements,
|
|
77
|
+
* not just Maizzle components, so <div> gets identical treatment.
|
|
78
|
+
*/
|
|
79
|
+
function translateHeadingBlock(block, settings) {
|
|
80
|
+
const html = generateEmailHtml(block.settings.content);
|
|
81
|
+
const textColor = block.settings.textColor ?? settings.textColor ?? "#1F2937";
|
|
82
|
+
const fontFamily = block.settings.fontFamily ?? settings.fontFamily ?? "Arial";
|
|
83
|
+
const hPad = TEXT_HORIZONTAL_PADDING + (settings.horizontalSpacing ?? 0);
|
|
84
|
+
return `<div class="overflow-hidden font-[${escapeHtmlAttribute(fontFamily)}] text-[${block.settings.fontSize}px] text-[${escapeHtmlAttribute(textColor)}] px-[${hPad}px]${bgClass(block.settings.backgroundColor)}" v-pre>
|
|
85
|
+
<${block.settings.tag} style="margin: 0; font-size: ${block.settings.fontSize}px">${html}</${block.settings.tag}>
|
|
86
|
+
</div>`;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Translates a paragraph block to Maizzle
|
|
90
|
+
* See translateHeadingBlock for why <div> is used instead of <Text>.
|
|
91
|
+
*/
|
|
92
|
+
function translateParagraphBlock(block, settings) {
|
|
93
|
+
const html = generateEmailHtml(block.settings.content);
|
|
94
|
+
const textColor = block.settings.textColor ?? settings.textColor ?? "#1F2937";
|
|
95
|
+
const fontFamily = block.settings.fontFamily ?? settings.fontFamily ?? "Arial";
|
|
96
|
+
const hPad = TEXT_HORIZONTAL_PADDING + (settings.horizontalSpacing ?? 0);
|
|
97
|
+
return `<div class="overflow-hidden font-[${escapeHtmlAttribute(fontFamily)}] text-[${block.settings.fontSize}px] text-[${escapeHtmlAttribute(textColor)}] px-[${hPad}px]${bgClass(block.settings.backgroundColor)}" v-pre>
|
|
98
|
+
<${block.settings.tag} style="margin: 0; font-size: ${block.settings.fontSize}px">${html}</${block.settings.tag}>
|
|
99
|
+
</div>`;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Translates an image block to Maizzle
|
|
103
|
+
*/
|
|
104
|
+
function translateImageBlock(block, settings) {
|
|
105
|
+
const hPad = settings.horizontalSpacing ?? 0;
|
|
106
|
+
const src = escapeHtmlAttribute(block.settings.src);
|
|
107
|
+
const hrefAttr = block.settings.href
|
|
108
|
+
? ` href="${escapeHtmlAttribute(block.settings.href)}"`
|
|
109
|
+
: "";
|
|
110
|
+
return `<Img src="${src}" alt="" width="600"${hrefAttr} class="w-full px-[${hPad}px]" />`;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Translates a button block to Maizzle
|
|
114
|
+
*/
|
|
115
|
+
function translateButtonBlock(block, settings) {
|
|
116
|
+
const text = generateHtml(block.settings.content, "email_v1");
|
|
117
|
+
const borderRadius = block.settings.shape === "square"
|
|
118
|
+
? "0px"
|
|
119
|
+
: block.settings.shape === "rounded"
|
|
120
|
+
? "4px"
|
|
121
|
+
: "50px";
|
|
122
|
+
const widthClass = block.settings.width === "full_width" ? " w-full box-border" : "";
|
|
123
|
+
let href = block.settings.url;
|
|
124
|
+
if (block.settings.linkType === "email" && !href.startsWith("mailto:")) {
|
|
125
|
+
href = `mailto:${href}`;
|
|
126
|
+
}
|
|
127
|
+
else if (block.settings.linkType === "phone" && !href.startsWith("tel:")) {
|
|
128
|
+
href = `tel:${href}`;
|
|
129
|
+
}
|
|
130
|
+
const textColor = block.settings.textColor ?? settings.button?.textColor ?? "#FFFFFF";
|
|
131
|
+
const backgroundColor = block.settings.backgroundColor ??
|
|
132
|
+
settings.button?.backgroundColor ??
|
|
133
|
+
"#000000";
|
|
134
|
+
const fontFamily = block.settings.fontFamily ?? settings.fontFamily ?? "Arial";
|
|
135
|
+
const alignAttr = block.settings.width === "full_width" ? "center" : block.settings.alignment;
|
|
136
|
+
const btn = `<Button href="${escapeHtmlAttribute(href)}" align="${alignAttr}" class="no-underline bg-[${escapeHtmlAttribute(backgroundColor)}] text-[${escapeHtmlAttribute(textColor)}] rounded-[${borderRadius}] font-[${escapeHtmlAttribute(fontFamily)}] text-[${block.settings.fontSize}px]${widthClass}">
|
|
137
|
+
<span v-pre>${text}</span>
|
|
138
|
+
</Button>`;
|
|
139
|
+
const bg = bgClass(block.settings.backgroundBlock);
|
|
140
|
+
if (bg) {
|
|
141
|
+
return `<div class="${bg.trim()}">${btn}</div>`;
|
|
142
|
+
}
|
|
143
|
+
return btn;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Translates a content block inside a grid column to Maizzle
|
|
147
|
+
*/
|
|
148
|
+
function translateContentBlockToMaizzle(block, settings) {
|
|
149
|
+
switch (block.type) {
|
|
150
|
+
case "discount":
|
|
151
|
+
return translateDiscountBlock(block, settings);
|
|
152
|
+
case "heading":
|
|
153
|
+
return translateHeadingBlock(block, settings);
|
|
154
|
+
case "paragraph":
|
|
155
|
+
return translateParagraphBlock(block, settings);
|
|
156
|
+
case "image":
|
|
157
|
+
return translateImageBlock(block, settings);
|
|
158
|
+
case "button":
|
|
159
|
+
return translateButtonBlock(block, settings);
|
|
160
|
+
default:
|
|
161
|
+
return "";
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Extracts the "container background color" from a grid-allowed block.
|
|
166
|
+
* Mirrors MJML's container-background-color which fills the parent column cell.
|
|
167
|
+
*/
|
|
168
|
+
function getBlockContainerBg(block) {
|
|
169
|
+
switch (block.type) {
|
|
170
|
+
case "heading":
|
|
171
|
+
case "paragraph":
|
|
172
|
+
return block.settings.backgroundColor;
|
|
173
|
+
case "discount":
|
|
174
|
+
case "button":
|
|
175
|
+
return block.settings.backgroundBlock;
|
|
176
|
+
default:
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Translates a grid block to Maizzle (multi-column layout).
|
|
182
|
+
* Columns stack to full-width rows on mobile via max-sm:min-w-full.
|
|
183
|
+
* Lifts first block's container-bg to Column so it fills the full cell height.
|
|
184
|
+
*
|
|
185
|
+
* TODO: equal-height columns — add `table-cell` back on <Column> once we have
|
|
186
|
+
* a mobile-safe approach (table-cell prevents stacking on small viewports).
|
|
187
|
+
*/
|
|
188
|
+
function translateGridBlock(block, settings) {
|
|
189
|
+
const cols = block.settings.columns;
|
|
190
|
+
const widthClass = `w-${cols === 3 ? "1/3" : cols === 4 ? "1/4" : "1/2"}`;
|
|
191
|
+
const columns = block.settings.columnData
|
|
192
|
+
.map((col) => {
|
|
193
|
+
const content = col.blocks
|
|
194
|
+
.map((b) => translateContentBlockToMaizzle(b, settings))
|
|
195
|
+
.join("\n ");
|
|
196
|
+
const colBg = col.blocks.length > 0
|
|
197
|
+
? bgClass(getBlockContainerBg(col.blocks[0]))
|
|
198
|
+
: "";
|
|
199
|
+
return `
|
|
200
|
+
<Column class="${widthClass} max-sm:min-w-full${colBg}">
|
|
201
|
+
${content}
|
|
202
|
+
</Column>`;
|
|
203
|
+
})
|
|
204
|
+
.join("");
|
|
205
|
+
return `<Row class="${bgClass(block.settings.backgroundColor).trim()}">
|
|
206
|
+
${columns}
|
|
207
|
+
</Row>`;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Translates a raw HTML block to Maizzle
|
|
211
|
+
*/
|
|
212
|
+
function translateRawHtmlBlock(block) {
|
|
213
|
+
return `<Raw>${block.settings.html}</Raw>`;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Translates a discount block to Maizzle
|
|
217
|
+
*/
|
|
218
|
+
function translateDiscountBlock(block, settings) {
|
|
219
|
+
const html = generateEmailHtml(block.settings.content);
|
|
220
|
+
const borderRadius = block.settings.style === "square"
|
|
221
|
+
? "0px"
|
|
222
|
+
: block.settings.style === "rounded"
|
|
223
|
+
? "4px"
|
|
224
|
+
: "50px";
|
|
225
|
+
const widthClass = block.settings.width === "full_width" ? " w-full" : " inline-block";
|
|
226
|
+
const textColor = block.settings.textColor ?? settings.textColor ?? "#1F2937";
|
|
227
|
+
const fontFamily = block.settings.fontFamily ?? settings.fontFamily ?? "Arial";
|
|
228
|
+
const hPad = settings.horizontalSpacing ?? 0;
|
|
229
|
+
return `<div class="overflow-hidden font-[${escapeHtmlAttribute(fontFamily)}] text-[${block.settings.fontSize}px] text-[${escapeHtmlAttribute(textColor)}] text-center px-[${hPad}px]${bgClass(block.settings.backgroundBlock)}" v-pre>
|
|
230
|
+
<${block.settings.tag} class="rounded-[${borderRadius}] bg-[${escapeHtmlAttribute(block.settings.backgroundComponent)}] px-2 py-3 ${widthClass} box-border" style="margin: 0; font-size: ${block.settings.fontSize}px;">${html}</${block.settings.tag}>
|
|
231
|
+
</div>`;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Translates a header block to Maizzle.
|
|
235
|
+
* When a backgroundColor is set, wraps <Img> in a <div> so the bg fills the
|
|
236
|
+
* full container width (mimics MJML's container-background-color on the section cell).
|
|
237
|
+
*/
|
|
238
|
+
function translateHeaderBlock(block, settings) {
|
|
239
|
+
const hPad = settings.horizontalSpacing ?? 0;
|
|
240
|
+
const alignClass = block.settings.alignment === "center"
|
|
241
|
+
? " block mx-auto"
|
|
242
|
+
: block.settings.alignment === "right"
|
|
243
|
+
? " block ml-auto"
|
|
244
|
+
: "";
|
|
245
|
+
const bg = bgClass(block.settings.backgroundColor);
|
|
246
|
+
const img = `<Img src="${escapeHtmlAttribute(block.settings.src)}" alt="${escapeHtmlAttribute(block.settings.alt)}" width="${block.settings.width}" class="${alignClass.trim()}" />`;
|
|
247
|
+
if (bg) {
|
|
248
|
+
return `<div class="px-[${hPad}px]${bg}">${img}</div>`;
|
|
249
|
+
}
|
|
250
|
+
return `<Img src="${escapeHtmlAttribute(block.settings.src)}" alt="${escapeHtmlAttribute(block.settings.alt)}" width="${block.settings.width}" class="px-[${hPad}px]${alignClass}" />`;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Translates a footer block to Maizzle
|
|
254
|
+
*/
|
|
255
|
+
function translateFooterBlock(block, settings) {
|
|
256
|
+
const html = generateEmailHtml(block.settings.content);
|
|
257
|
+
const textColor = block.settings.textColor ?? settings.textColor ?? "#1F2937";
|
|
258
|
+
const fontFamily = block.settings.fontFamily ?? settings.fontFamily ?? "Arial";
|
|
259
|
+
const hPad = TEXT_HORIZONTAL_PADDING + (settings.horizontalSpacing ?? 0);
|
|
260
|
+
return `<div class="overflow-hidden font-[${escapeHtmlAttribute(fontFamily)}] text-[${block.settings.fontSize}px] text-[${escapeHtmlAttribute(textColor)}] px-[${hPad}px]${bgClass(block.settings.backgroundColor)} leading-lg" v-pre>
|
|
261
|
+
${html}
|
|
262
|
+
</div>`;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Translates an unsubscribe link block to Maizzle
|
|
266
|
+
* See translateHeadingBlock for why <div> is used instead of <Text>.
|
|
267
|
+
*/
|
|
268
|
+
function translateUnsubscribeLinkBlock(block, settings) {
|
|
269
|
+
const html = generateEmailHtml(block.settings.content);
|
|
270
|
+
const textColor = block.settings.textColor ?? settings.textColor ?? "#1F2937";
|
|
271
|
+
const fontFamily = block.settings.fontFamily ?? settings.fontFamily ?? "Arial";
|
|
272
|
+
const hPad = TEXT_HORIZONTAL_PADDING + (settings.horizontalSpacing ?? 0);
|
|
273
|
+
return `<div class="overflow-hidden font-[${escapeHtmlAttribute(fontFamily)}] text-[${block.settings.fontSize}px] text-[${escapeHtmlAttribute(textColor)}] text-${block.settings.alignment} px-[${hPad}px]${bgClass(block.settings.backgroundColor)}" v-pre>
|
|
274
|
+
${html}
|
|
275
|
+
</div>`;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Translates a socials block to Maizzle
|
|
279
|
+
*/
|
|
280
|
+
function translateSocialsBlock(block, settings) {
|
|
281
|
+
const hPad = settings.horizontalSpacing ?? 0;
|
|
282
|
+
const enabledSocials = SOCIAL_PLATFORMS.filter((platform) => block.settings.socials[platform].enabled);
|
|
283
|
+
const socialIconsHtml = enabledSocials
|
|
284
|
+
.filter((platform) => {
|
|
285
|
+
const url = block.settings.socials[platform].url;
|
|
286
|
+
return url && url.trim() !== "";
|
|
287
|
+
})
|
|
288
|
+
.map((platform) => {
|
|
289
|
+
const url = escapeHtmlAttribute(block.settings.socials[platform].url);
|
|
290
|
+
const icon = SOCIAL_ICONS[platform];
|
|
291
|
+
return `<a href="${url}" target="_blank" rel="noopener noreferrer" class="inline-block mx-1"><img src="${icon}" alt="${platform}" width="24" height="24" class="border-0 inline-block" /></a>`;
|
|
292
|
+
})
|
|
293
|
+
.join("");
|
|
294
|
+
return `<Text class="m-0 text-center px-[${hPad}px]${bgClass(block.settings.backgroundColor)}">
|
|
295
|
+
${socialIconsHtml}
|
|
296
|
+
</Text>`;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Translates a top products block to Maizzle
|
|
300
|
+
* Products are pre-fetched during compilation enrichment
|
|
301
|
+
*/
|
|
302
|
+
function translateTopProductsBlock(block, settings) {
|
|
303
|
+
const products = block._products;
|
|
304
|
+
if (!products || products.length === 0)
|
|
305
|
+
return "";
|
|
306
|
+
const fontFamily = settings.fontFamily || "Arial";
|
|
307
|
+
const displayProducts = products.slice(0, block.settings.maxProducts);
|
|
308
|
+
const productCards = displayProducts
|
|
309
|
+
.map((product) => {
|
|
310
|
+
const parsed = parseFloat(product.price);
|
|
311
|
+
const showPrice = product.price &&
|
|
312
|
+
product.price !== "0" &&
|
|
313
|
+
!isNaN(parsed) &&
|
|
314
|
+
parsed !== 0;
|
|
315
|
+
const priceHtml = showPrice
|
|
316
|
+
? `\n <Text class="text-[10px] leading-[16px] text-[#86837C] font-[${escapeHtmlAttribute(fontFamily)}]">${escapeHtmlAttribute(product.price)}</Text>`
|
|
317
|
+
: "";
|
|
318
|
+
return `<Row class="mb-2 bg-white rounded-xl border-2 border-[#F1F0EF]">
|
|
319
|
+
<Column class="w-1/4 table-cell p-1 align-top">
|
|
320
|
+
<Link href="${escapeHtmlAttribute(product.link)}">
|
|
321
|
+
<Img src="${escapeHtmlAttribute(product.image)}" alt="${escapeHtmlAttribute(product.name)}" class="rounded w-full" />
|
|
322
|
+
</Link>
|
|
323
|
+
</Column>
|
|
324
|
+
<Column class="w-3/4 table-cell px-2 py-3 align-top">
|
|
325
|
+
<Text class="text-xs leading-[18px] font-medium text-[#292826] font-[${escapeHtmlAttribute(fontFamily)}]">${escapeHtmlAttribute(product.name)}</Text>${priceHtml}
|
|
326
|
+
</Column>
|
|
327
|
+
</Row>`;
|
|
328
|
+
})
|
|
329
|
+
.join("\n ");
|
|
330
|
+
return `<div class="p-6 bg-[${escapeHtmlAttribute(block.settings.backgroundColor)}]">
|
|
331
|
+
${productCards}
|
|
332
|
+
</div>`;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Translates a block to a section fragment.
|
|
336
|
+
* Adds vertical spacing between blocks via a Spacer when not the first block.
|
|
337
|
+
*/
|
|
338
|
+
function translateBlockToSection(block, settings, isFirst) {
|
|
339
|
+
const { verticalSpacing = 0 } = settings;
|
|
340
|
+
const spacer = !isFirst && verticalSpacing > 0
|
|
341
|
+
? `<Spacer class="h-[${verticalSpacing}px]" />\n `
|
|
342
|
+
: "";
|
|
343
|
+
let content = "";
|
|
344
|
+
switch (block.type) {
|
|
345
|
+
case "spacer":
|
|
346
|
+
content = translateSpacerBlock(block, settings);
|
|
347
|
+
break;
|
|
348
|
+
case "divider":
|
|
349
|
+
content = translateDividerBlock(block, settings);
|
|
350
|
+
break;
|
|
351
|
+
case "heading":
|
|
352
|
+
content = translateHeadingBlock(block, settings);
|
|
353
|
+
break;
|
|
354
|
+
case "paragraph":
|
|
355
|
+
content = translateParagraphBlock(block, settings);
|
|
356
|
+
break;
|
|
357
|
+
case "image":
|
|
358
|
+
content = translateImageBlock(block, settings);
|
|
359
|
+
break;
|
|
360
|
+
case "button":
|
|
361
|
+
content = translateButtonBlock(block, settings);
|
|
362
|
+
break;
|
|
363
|
+
case "discount":
|
|
364
|
+
content = translateDiscountBlock(block, settings);
|
|
365
|
+
break;
|
|
366
|
+
case "header":
|
|
367
|
+
content = translateHeaderBlock(block, settings);
|
|
368
|
+
break;
|
|
369
|
+
case "raw_html":
|
|
370
|
+
return `${spacer}${translateRawHtmlBlock(block)}`;
|
|
371
|
+
case "grid":
|
|
372
|
+
return `${spacer}${translateGridBlock(block, settings)}`;
|
|
373
|
+
case "footer":
|
|
374
|
+
content = translateFooterBlock(block, settings);
|
|
375
|
+
break;
|
|
376
|
+
case "unsubscribe_link":
|
|
377
|
+
content = translateUnsubscribeLinkBlock(block, settings);
|
|
378
|
+
break;
|
|
379
|
+
case "socials":
|
|
380
|
+
content = translateSocialsBlock(block, settings);
|
|
381
|
+
break;
|
|
382
|
+
case "top_products":
|
|
383
|
+
return `${spacer}${translateTopProductsBlock(block, settings)}`;
|
|
384
|
+
default:
|
|
385
|
+
return "";
|
|
386
|
+
}
|
|
387
|
+
return `${spacer}${content}`;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Translates an EmailMessage to a Maizzle Vue SFC string.
|
|
391
|
+
*
|
|
392
|
+
* The output is a raw Vue Single File Component string ready to be
|
|
393
|
+
* compiled by Maizzle's render() API. User-generated content containing
|
|
394
|
+
* {{param}} placeholders is wrapped in v-pre to prevent Vue evaluation.
|
|
395
|
+
* Parameters are injected post-render via string replacement.
|
|
396
|
+
*
|
|
397
|
+
* @param message - The email message to translate
|
|
398
|
+
* @returns Vue SFC string ready for Maizzle render()
|
|
399
|
+
*/
|
|
400
|
+
export function translateEmailToMaizzle(message) {
|
|
401
|
+
const { blocks, settings } = message.body;
|
|
402
|
+
const sections = blocks
|
|
403
|
+
.map((block, index) => translateBlockToSection(block, settings, index === 0))
|
|
404
|
+
.join("\n ");
|
|
405
|
+
const contentBackgroundColor = settings.contentBackgroundColor || "#FFFFFF";
|
|
406
|
+
const backgroundColor = settings.backgroundColor || "#F3F4F6";
|
|
407
|
+
const contentWidth = settings.contentWidth || 600;
|
|
408
|
+
const preheader = message.metadata.preheader
|
|
409
|
+
? `\n <Preheader v-pre>${escapeHtmlAttribute(message.metadata.preheader)}</Preheader>`
|
|
410
|
+
: "";
|
|
411
|
+
const fontFamily = settings.fontFamily || "Arial";
|
|
412
|
+
const textColor = settings.textColor || "#1F2937";
|
|
413
|
+
return `<script setup>
|
|
414
|
+
usePlaintext()
|
|
415
|
+
</script>
|
|
416
|
+
|
|
417
|
+
<template>
|
|
418
|
+
<Layout body-class="font-[${escapeHtmlAttribute(fontFamily)}] text-[${escapeHtmlAttribute(textColor)}] bg-[${escapeHtmlAttribute(backgroundColor)}]">
|
|
419
|
+
<Head>
|
|
420
|
+
<style embed>
|
|
421
|
+
p { margin: 0; line-height: 1.5em }
|
|
422
|
+
h1, h2, h3, h4, h5, h6 { font-weight: normal; }
|
|
423
|
+
.tiptap-emoji img { height: 1em !important; width: 1em !important; vertical-align: middle !important; }
|
|
424
|
+
</style>
|
|
425
|
+
</Head>${preheader}
|
|
426
|
+
<Container class="max-w-[${contentWidth}px] bg-[${escapeHtmlAttribute(contentBackgroundColor)}]">
|
|
427
|
+
${sections}
|
|
428
|
+
</Container>
|
|
429
|
+
</Layout>
|
|
430
|
+
</template>
|
|
431
|
+
`;
|
|
432
|
+
}
|
|
433
|
+
//# sourceMappingURL=email-maizzle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-maizzle.js","sourceRoot":"","sources":["../../../src/utils/templates/email-maizzle.ts"],"names":[],"mappings":"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"}
|
|
@@ -145,10 +145,12 @@ function translateButtonBlock(block, settings) {
|
|
|
145
145
|
*/
|
|
146
146
|
function translateGridBlock(block, settings, sectionPadding) {
|
|
147
147
|
const columnWidth = `${100 / block.settings.columns}%`;
|
|
148
|
+
// Inside grid columns, horizontal spacing is handled by the outer wrapper, not individual blocks
|
|
149
|
+
const gridSettings = { ...settings, horizontalSpacing: 0 };
|
|
148
150
|
const columns = block.settings.columnData
|
|
149
151
|
.map((col) => `
|
|
150
|
-
<mj-column width="${columnWidth}">
|
|
151
|
-
${col.blocks.map((b) => translateContentBlockToMjml(b,
|
|
152
|
+
<mj-column width="${columnWidth}" vertical-align="middle">
|
|
153
|
+
${col.blocks.map((b) => translateContentBlockToMjml(b, gridSettings)).join("\n ")}
|
|
152
154
|
</mj-column>`)
|
|
153
155
|
.join("");
|
|
154
156
|
const bgColor = block.settings.backgroundColor === "#FFFFFF00"
|
|
@@ -174,7 +176,9 @@ function translateDiscountBlock(block, settings) {
|
|
|
174
176
|
: block.settings.style === "rounded"
|
|
175
177
|
? "4px"
|
|
176
178
|
: "50px";
|
|
177
|
-
const
|
|
179
|
+
const widthStyle = block.settings.width === "full_width"
|
|
180
|
+
? "width: 100%; box-sizing: border-box;"
|
|
181
|
+
: "display: inline-block;";
|
|
178
182
|
const bgBlock = block.settings.backgroundBlock === "#FFFFFF00"
|
|
179
183
|
? ""
|
|
180
184
|
: ` container-background-color="${escapeXmlAttribute(block.settings.backgroundBlock)}"`;
|
|
@@ -187,14 +191,7 @@ function translateDiscountBlock(block, settings) {
|
|
|
187
191
|
color="${escapeXmlAttribute(textColor)}"
|
|
188
192
|
align="center"
|
|
189
193
|
padding="0px ${hPad}px"${bgBlock}>
|
|
190
|
-
<${block.settings.tag}
|
|
191
|
-
style="
|
|
192
|
-
font-size: ${block.settings.fontSize}px;
|
|
193
|
-
border-radius: ${borderRadius};
|
|
194
|
-
padding: 12px 0px;
|
|
195
|
-
background-color: ${escapeXmlAttribute(block.settings.backgroundComponent)};
|
|
196
|
-
text-align: center; ${widthAttr}"
|
|
197
|
-
>${html}</${block.settings.tag}>
|
|
194
|
+
<${block.settings.tag} style="margin: 0; font-size: ${block.settings.fontSize}px; border-radius: ${borderRadius}; padding: 12px 8px; background-color: ${escapeXmlAttribute(block.settings.backgroundComponent)}; text-align: center; ${widthStyle}">${html}</${block.settings.tag}>
|
|
198
195
|
</mj-text>`;
|
|
199
196
|
}
|
|
200
197
|
/**
|
|
@@ -414,6 +411,10 @@ function generateMjmlHead(settings) {
|
|
|
414
411
|
<mj-style>
|
|
415
412
|
h1, h2, h3, h4, h5, h6 {
|
|
416
413
|
font-weight: normal;
|
|
414
|
+
margin: 0;
|
|
415
|
+
}
|
|
416
|
+
h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
|
|
417
|
+
margin: 0;
|
|
417
418
|
}
|
|
418
419
|
.tiptap-emoji img {
|
|
419
420
|
height: 1em !important;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-mjml.js","sourceRoot":"","sources":["../../../src/utils/templates/email-mjml.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"email-mjml.js","sourceRoot":"","sources":["../../../src/utils/templates/email-mjml.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,10 @@ export function getTipTapExtensions(options = {}) {
|
|
|
46
46
|
if (dynamicValues) {
|
|
47
47
|
extensions.push(Mention.configure({
|
|
48
48
|
renderText: (mention) => `{{${mention.node.attrs.label}}}`,
|
|
49
|
+
// prosemirror-model ≥1.25 narrowed DOMOutputSpec to exclude `string`,
|
|
50
|
+
// but the serializer still renders a returned string as a bare text
|
|
51
|
+
// node. Emit the bare `{{placeholder}}` (no wrapper element) to keep
|
|
52
|
+
// compiled email/WhatsApp output unchanged. Cast is type-only.
|
|
49
53
|
renderHTML: (mention) => `{{${mention.node.attrs.label || mention.node.attrs.id}}}`,
|
|
50
54
|
HTMLAttributes: {
|
|
51
55
|
class: "dynamic-data",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiptap.js","sourceRoot":"","sources":["../../../src/utils/templates/tiptap.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAErD,OAAO,EAAmB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAkB3D,MAAM,OAAO,GAGT;IACF,QAAQ,EAAE;QACR,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;KACZ;IACD,iBAAiB,EAAE;QACjB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;KACZ;IACD,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,IAAI;QACf,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;KAChB;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB,CACjC,UAAkC,EAAE;IAEpC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC;IAEhD,MAAM,EACJ,IAAI,GAAG,KAAK,EACZ,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,KAAK,EACb,SAAS,GAAG,KAAK,EACjB,IAAI,GAAG,KAAK,EACZ,UAAU,GAAG,KAAK,EAClB,WAAW,GAAG,KAAK,EACnB,SAAS,GAAG,KAAK,EACjB,aAAa,GAAG,IAAI,EACpB,cAAc,EACd,cAAc,GAAG,KAAK,EACtB,SAAS,GAAG,KAAK,GAClB,GAAG,MAAM,CAAC;IAEX,MAAM,UAAU,GAAe,EAAE,CAAC;IAElC,sCAAsC;IACtC,IAAI,cAAc,EAAE,CAAC;QACnB,UAAU,CAAC,IAAI,CACb,cAAc,CAAC,SAAS,CAAC;YACvB,KAAK,EAAE,cAAc;SACtB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,IAAI,aAAa,EAAE,CAAC;QAClB,UAAU,CAAC,IAAI,CACb,OAAO,CAAC,SAAS,CAAC;YAChB,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI;YAC1D,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CACtB,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"tiptap.js","sourceRoot":"","sources":["../../../src/utils/templates/tiptap.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/types/brand.ts
CHANGED
|
@@ -27,6 +27,29 @@ export const brandSocialsSchema = z
|
|
|
27
27
|
|
|
28
28
|
export type BrandSocials = Partial<Record<SocialPlatform, string>>;
|
|
29
29
|
|
|
30
|
+
/** Brand contact/footer data. All fields optional — only set fields are used. */
|
|
31
|
+
export const brandDataSchema = z.object({
|
|
32
|
+
name: z.string().optional(),
|
|
33
|
+
address: z.string().optional(),
|
|
34
|
+
telephone: z.string().optional(),
|
|
35
|
+
email: z.string().optional(),
|
|
36
|
+
website: z.string().optional(),
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
export type BrandData = z.infer<typeof brandDataSchema>;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Maps brand.data fields to the corresponding property_* variable names.
|
|
43
|
+
* Used at compile time to resolve brand_* fallbacks.
|
|
44
|
+
*/
|
|
45
|
+
export const BRAND_DATA_TO_PROPERTY_MAP: Record<keyof BrandData, string> = {
|
|
46
|
+
name: "property_name",
|
|
47
|
+
address: "property_address",
|
|
48
|
+
telephone: "property_telephone",
|
|
49
|
+
email: "property_email",
|
|
50
|
+
website: "property_website",
|
|
51
|
+
};
|
|
52
|
+
|
|
30
53
|
export const brandBodySchema = z.object({
|
|
31
54
|
name: z.string().min(1),
|
|
32
55
|
organization_id: z.uuid().nullable().optional(),
|
|
@@ -35,6 +58,7 @@ export const brandBodySchema = z.object({
|
|
|
35
58
|
default_email_settings: brandDefaultEmailSettingsSchema.optional(),
|
|
36
59
|
default_button_settings: brandDefaultButtonSettingsSchema.optional(),
|
|
37
60
|
default_socials: brandSocialsSchema,
|
|
61
|
+
data: brandDataSchema.optional(),
|
|
38
62
|
property_ids: z.array(z.uuid()).optional(),
|
|
39
63
|
});
|
|
40
64
|
|
|
@@ -63,6 +87,7 @@ export interface Brand extends DbEntity {
|
|
|
63
87
|
default_email_settings: BrandDefaultEmailSettings;
|
|
64
88
|
default_button_settings: BrandDefaultButtonSettings;
|
|
65
89
|
default_socials: BrandSocials | null;
|
|
90
|
+
data: BrandData;
|
|
66
91
|
}
|
|
67
92
|
|
|
68
93
|
export type BrandFromDb = WithDbTimestamps<Brand> & {
|
|
@@ -483,14 +483,14 @@ export function emptyFooterBlock(): FooterBlock {
|
|
|
483
483
|
{
|
|
484
484
|
type: "text",
|
|
485
485
|
marks: [{ type: "bold" }],
|
|
486
|
-
text: "{{
|
|
486
|
+
text: "{{brand_name}}",
|
|
487
487
|
},
|
|
488
488
|
],
|
|
489
489
|
},
|
|
490
490
|
{
|
|
491
491
|
type: "paragraph",
|
|
492
492
|
attrs: { textAlign: null },
|
|
493
|
-
content: [{ type: "text", text: "{{
|
|
493
|
+
content: [{ type: "text", text: "{{brand_address}}" }],
|
|
494
494
|
},
|
|
495
495
|
{
|
|
496
496
|
type: "paragraph",
|
|
@@ -498,7 +498,7 @@ export function emptyFooterBlock(): FooterBlock {
|
|
|
498
498
|
content: [
|
|
499
499
|
{
|
|
500
500
|
type: "text",
|
|
501
|
-
text: "{{
|
|
501
|
+
text: "{{brand_telephone}} / {{brand_email}} / {{brand_website}}",
|
|
502
502
|
},
|
|
503
503
|
],
|
|
504
504
|
},
|
package/src/types/message.ts
CHANGED
|
@@ -11,10 +11,12 @@ import type { EmailBlock, EmailGlobalSettings } from "./emailblocks.v1.js";
|
|
|
11
11
|
import {
|
|
12
12
|
brandDefaultEmailSettingsSchema,
|
|
13
13
|
brandDefaultButtonSettingsSchema,
|
|
14
|
+
brandDataSchema,
|
|
14
15
|
} from "./brand.js";
|
|
15
16
|
|
|
16
17
|
export const MESSAGE_RENDER_TYPES = ["whatsapp_v1", "email_v1"] as const;
|
|
17
18
|
export type RenderType = (typeof MESSAGE_RENDER_TYPES)[number];
|
|
19
|
+
|
|
18
20
|
export const MESSAGE_STATUS = [
|
|
19
21
|
"pending",
|
|
20
22
|
"draft",
|
|
@@ -145,6 +147,7 @@ export const brandCascadeDataSchema = z.object({
|
|
|
145
147
|
default_button_settings: brandDefaultButtonSettingsSchema,
|
|
146
148
|
default_socials: z.record(z.string(), z.string()).nullable(),
|
|
147
149
|
logo_url: z.string().nullable(),
|
|
150
|
+
data: brandDataSchema.optional().default({}),
|
|
148
151
|
});
|
|
149
152
|
|
|
150
153
|
/**
|
|
@@ -328,6 +331,7 @@ export interface CompileEmailResponse {
|
|
|
328
331
|
language: string;
|
|
329
332
|
subject: string;
|
|
330
333
|
html: string;
|
|
334
|
+
plaintext?: string;
|
|
331
335
|
parameters_used: string[];
|
|
332
336
|
missingParameters?: string[];
|
|
333
337
|
}
|
|
@@ -5,9 +5,13 @@ import type {
|
|
|
5
5
|
BrandDefaultEmailSettings,
|
|
6
6
|
BrandDefaultButtonSettings,
|
|
7
7
|
BrandSocials,
|
|
8
|
+
BrandData,
|
|
8
9
|
SocialPlatform,
|
|
9
10
|
} from "../../types/index.js";
|
|
10
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
DEFAULT_EMAIL_GLOBAL_SETTINGS,
|
|
13
|
+
BRAND_DATA_TO_PROPERTY_MAP,
|
|
14
|
+
} from "../../types/index.js";
|
|
11
15
|
|
|
12
16
|
/**
|
|
13
17
|
* Brand data needed for cascade resolution.
|
|
@@ -18,6 +22,7 @@ export interface BrandCascadeData {
|
|
|
18
22
|
default_button_settings: BrandDefaultButtonSettings;
|
|
19
23
|
default_socials: BrandSocials | null;
|
|
20
24
|
logo_url: string | null;
|
|
25
|
+
data: BrandData;
|
|
21
26
|
}
|
|
22
27
|
|
|
23
28
|
/**
|
|
@@ -154,3 +159,25 @@ export function resolveEmailBodyWithBrand(
|
|
|
154
159
|
settings: resolveEmailSettings(body.settings, brand),
|
|
155
160
|
};
|
|
156
161
|
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Merge brand_* variables into a parameters map.
|
|
165
|
+
* For each brand.data field, resolves brand_<field> as:
|
|
166
|
+
* brand.data[field] → corresponding property_* from params → ""
|
|
167
|
+
*/
|
|
168
|
+
export function mergeBrandDataParams(
|
|
169
|
+
parameters: Record<string, unknown>,
|
|
170
|
+
brand: BrandCascadeData | undefined,
|
|
171
|
+
): Record<string, unknown> {
|
|
172
|
+
const merged = { ...parameters };
|
|
173
|
+
|
|
174
|
+
for (const [field, propertyKey] of Object.entries(
|
|
175
|
+
BRAND_DATA_TO_PROPERTY_MAP,
|
|
176
|
+
)) {
|
|
177
|
+
const brandKey = `brand_${field}`;
|
|
178
|
+
const brandValue = brand?.data?.[field as keyof BrandData];
|
|
179
|
+
merged[brandKey] = brandValue || merged[propertyKey] || "";
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return merged;
|
|
183
|
+
}
|
|
@@ -224,11 +224,14 @@ function translateGridBlock(
|
|
|
224
224
|
): string {
|
|
225
225
|
const columnWidth = `${100 / block.settings.columns}%`;
|
|
226
226
|
|
|
227
|
+
// Inside grid columns, horizontal spacing is handled by the outer wrapper, not individual blocks
|
|
228
|
+
const gridSettings = { ...settings, horizontalSpacing: 0 };
|
|
229
|
+
|
|
227
230
|
const columns = block.settings.columnData
|
|
228
231
|
.map(
|
|
229
232
|
(col) => `
|
|
230
|
-
<mj-column width="${columnWidth}">
|
|
231
|
-
${col.blocks.map((b) => translateContentBlockToMjml(b,
|
|
233
|
+
<mj-column width="${columnWidth}" vertical-align="middle">
|
|
234
|
+
${col.blocks.map((b) => translateContentBlockToMjml(b, gridSettings)).join("\n ")}
|
|
232
235
|
</mj-column>`,
|
|
233
236
|
)
|
|
234
237
|
.join("");
|
|
@@ -266,8 +269,10 @@ function translateDiscountBlock(
|
|
|
266
269
|
? "4px"
|
|
267
270
|
: "50px";
|
|
268
271
|
|
|
269
|
-
const
|
|
270
|
-
block.settings.width === "full_width"
|
|
272
|
+
const widthStyle =
|
|
273
|
+
block.settings.width === "full_width"
|
|
274
|
+
? "width: 100%; box-sizing: border-box;"
|
|
275
|
+
: "display: inline-block;";
|
|
271
276
|
|
|
272
277
|
const bgBlock =
|
|
273
278
|
block.settings.backgroundBlock === "#FFFFFF00"
|
|
@@ -285,14 +290,7 @@ function translateDiscountBlock(
|
|
|
285
290
|
color="${escapeXmlAttribute(textColor)}"
|
|
286
291
|
align="center"
|
|
287
292
|
padding="0px ${hPad}px"${bgBlock}>
|
|
288
|
-
<${block.settings.tag}
|
|
289
|
-
style="
|
|
290
|
-
font-size: ${block.settings.fontSize}px;
|
|
291
|
-
border-radius: ${borderRadius};
|
|
292
|
-
padding: 12px 0px;
|
|
293
|
-
background-color: ${escapeXmlAttribute(block.settings.backgroundComponent)};
|
|
294
|
-
text-align: center; ${widthAttr}"
|
|
295
|
-
>${html}</${block.settings.tag}>
|
|
293
|
+
<${block.settings.tag} style="margin: 0; font-size: ${block.settings.fontSize}px; border-radius: ${borderRadius}; padding: 12px 8px; background-color: ${escapeXmlAttribute(block.settings.backgroundComponent)}; text-align: center; ${widthStyle}">${html}</${block.settings.tag}>
|
|
296
294
|
</mj-text>`;
|
|
297
295
|
}
|
|
298
296
|
|
|
@@ -568,6 +566,10 @@ function generateMjmlHead(settings: EmailGlobalSettings): string {
|
|
|
568
566
|
<mj-style>
|
|
569
567
|
h1, h2, h3, h4, h5, h6 {
|
|
570
568
|
font-weight: normal;
|
|
569
|
+
margin: 0;
|
|
570
|
+
}
|
|
571
|
+
h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
|
|
572
|
+
margin: 0;
|
|
571
573
|
}
|
|
572
574
|
.tiptap-emoji img {
|
|
573
575
|
height: 1em !important;
|
|
@@ -95,8 +95,12 @@ export function getTipTapExtensions(
|
|
|
95
95
|
extensions.push(
|
|
96
96
|
Mention.configure({
|
|
97
97
|
renderText: (mention) => `{{${mention.node.attrs.label}}}`,
|
|
98
|
+
// prosemirror-model ≥1.25 narrowed DOMOutputSpec to exclude `string`,
|
|
99
|
+
// but the serializer still renders a returned string as a bare text
|
|
100
|
+
// node. Emit the bare `{{placeholder}}` (no wrapper element) to keep
|
|
101
|
+
// compiled email/WhatsApp output unchanged. Cast is type-only.
|
|
98
102
|
renderHTML: (mention) =>
|
|
99
|
-
`{{${mention.node.attrs.label || mention.node.attrs.id}}}
|
|
103
|
+
`{{${mention.node.attrs.label || mention.node.attrs.id}}}` as unknown as never,
|
|
100
104
|
HTMLAttributes: {
|
|
101
105
|
class: "dynamic-data",
|
|
102
106
|
},
|