@dev.smartpricing/message-composer-utils 4.2.11 → 4.2.13-ux.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/types/brand.js +1 -0
- package/dist/types/brand.js.map +1 -1
- package/dist/types/emailblocks.v1.defaults.js +4 -0
- package/dist/types/emailblocks.v1.defaults.js.map +1 -1
- package/dist/types/emailblocks.v1.js +1 -0
- package/dist/types/emailblocks.v1.js.map +1 -1
- package/dist/utils/templates/brand-cascade.js +8 -3
- package/dist/utils/templates/brand-cascade.js.map +1 -1
- package/dist/utils/templates/email-mjml.js +17 -7
- package/dist/utils/templates/email-mjml.js.map +1 -1
- package/dist/utils/templates/tiptap.js +15 -1
- package/dist/utils/templates/tiptap.js.map +1 -1
- package/package.json +1 -1
- package/src/types/brand.ts +1 -0
- package/src/types/emailblocks.v1.defaults.ts +4 -0
- package/src/types/emailblocks.v1.ts +6 -0
- package/src/utils/templates/brand-cascade.test.ts +41 -0
- package/src/utils/templates/brand-cascade.ts +10 -4
- package/src/utils/templates/email-mjml.test.ts +53 -0
- package/src/utils/templates/email-mjml.ts +20 -7
- package/src/utils/templates/tiptap.test.ts +22 -0
- package/src/utils/templates/tiptap.ts +32 -0
package/dist/types/brand.js
CHANGED
|
@@ -7,6 +7,7 @@ export const brandDefaultEmailSettingsSchema = z.object({
|
|
|
7
7
|
backgroundColor: z.string().optional(),
|
|
8
8
|
contentBackgroundColor: z.string().optional(),
|
|
9
9
|
textColor: z.string().optional(),
|
|
10
|
+
linkColor: z.string().optional(),
|
|
10
11
|
fontFamily: z.enum(EMAIL_SAFE_FONTS).optional(),
|
|
11
12
|
});
|
|
12
13
|
export const brandDefaultButtonSettingsSchema = z.object({
|
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,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"}
|
|
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,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"}
|
|
@@ -19,6 +19,7 @@ export const DEFAULT_HEADING_SETTINGS = {
|
|
|
19
19
|
fontFamily: undefined,
|
|
20
20
|
fontSize: 24,
|
|
21
21
|
textColor: undefined,
|
|
22
|
+
linkColor: undefined,
|
|
22
23
|
backgroundColor: "transparent",
|
|
23
24
|
};
|
|
24
25
|
export const DEFAULT_PARAGRAPH_SETTINGS = {
|
|
@@ -26,6 +27,7 @@ export const DEFAULT_PARAGRAPH_SETTINGS = {
|
|
|
26
27
|
fontFamily: undefined,
|
|
27
28
|
fontSize: 16,
|
|
28
29
|
textColor: undefined,
|
|
30
|
+
linkColor: undefined,
|
|
29
31
|
backgroundColor: "transparent",
|
|
30
32
|
};
|
|
31
33
|
export const DEFAULT_BUTTON_SETTINGS = {
|
|
@@ -65,6 +67,7 @@ export const DEFAULT_FOOTER_SETTINGS = {
|
|
|
65
67
|
fontSize: 12,
|
|
66
68
|
fontFamily: undefined,
|
|
67
69
|
textColor: undefined,
|
|
70
|
+
linkColor: undefined,
|
|
68
71
|
backgroundColor: "transparent",
|
|
69
72
|
alignment: "center",
|
|
70
73
|
};
|
|
@@ -77,6 +80,7 @@ export const DEFAULT_UNSUBSCRIBE_LINK_SETTINGS = {
|
|
|
77
80
|
fontFamily: undefined,
|
|
78
81
|
fontSize: 12,
|
|
79
82
|
textColor: undefined,
|
|
83
|
+
linkColor: undefined,
|
|
80
84
|
backgroundColor: "transparent",
|
|
81
85
|
alignment: "center",
|
|
82
86
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emailblocks.v1.defaults.js","sourceRoot":"","sources":["../../src/types/emailblocks.v1.defaults.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6CAA6C;AAC7C,wDAAwD;AACxD,+EAA+E;AAgB/E,MAAM,CAAC,MAAM,uBAAuB,GAA4B;IAC9D,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,EAAE;IACV,eAAe,EAAE,aAAa;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,KAAK,EAAE,OAAgB;IACvB,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,SAAS;IAChB,eAAe,EAAE,aAAa;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAGjC;IACF,GAAG,EAAE,IAAI;IACT,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,aAAa;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAGnC;IACF,GAAG,EAAE,GAAY;IACjB,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,aAAa;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAClC;IACE,QAAQ,EAAE,KAAc;IACxB,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,SAAkB;IACzB,KAAK,EAAE,aAAsB;IAC7B,SAAS,EAAE,QAAiB;IAC5B,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,aAAa;CACtB,CAAC;AAEb,MAAM,CAAC,MAAM,qBAAqB,GAChC;IACE,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,aAAa;CACtB,CAAC;AAEb,MAAM,CAAC,MAAM,yBAAyB,GAGlC;IACF,GAAG,EAAE,IAAa;IAClB,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,QAAiB;IACxB,SAAS,EAAE,SAAS;IACpB,mBAAmB,EAAE,SAAS;IAC9B,eAAe,EAAE,aAAa;IAC9B,KAAK,EAAE,aAAsB;CACrB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAClC;IACE,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,QAAiB;IAC5B,eAAe,EAAE,aAAa;CACtB,CAAC;AAEb,MAAM,CAAC,MAAM,uBAAuB,GAClC;IACE,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,aAAa;IAC9B,SAAS,EAAE,QAAiB;CACpB,CAAC;AAEb,MAAM,CAAC,MAAM,6BAA6B,GAAiC;IACzE,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,CAAC;IACd,eAAe,EAAE,SAAS;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,iCAAiC,GAG1C;IACF,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,aAAa;IAC9B,SAAS,EAAE,QAAiB;CACpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"emailblocks.v1.defaults.js","sourceRoot":"","sources":["../../src/types/emailblocks.v1.defaults.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6CAA6C;AAC7C,wDAAwD;AACxD,+EAA+E;AAgB/E,MAAM,CAAC,MAAM,uBAAuB,GAA4B;IAC9D,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,EAAE;IACV,eAAe,EAAE,aAAa;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,KAAK,EAAE,OAAgB;IACvB,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,SAAS;IAChB,eAAe,EAAE,aAAa;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAGjC;IACF,GAAG,EAAE,IAAI;IACT,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,aAAa;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,0BAA0B,GAGnC;IACF,GAAG,EAAE,GAAY;IACjB,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,aAAa;CACtB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAClC;IACE,QAAQ,EAAE,KAAc;IACxB,GAAG,EAAE,EAAE;IACP,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,SAAkB;IACzB,KAAK,EAAE,aAAsB;IAC7B,SAAS,EAAE,QAAiB;IAC5B,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,aAAa;CACtB,CAAC;AAEb,MAAM,CAAC,MAAM,qBAAqB,GAChC;IACE,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,aAAa;CACtB,CAAC;AAEb,MAAM,CAAC,MAAM,yBAAyB,GAGlC;IACF,GAAG,EAAE,IAAa;IAClB,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,QAAiB;IACxB,SAAS,EAAE,SAAS;IACpB,mBAAmB,EAAE,SAAS;IAC9B,eAAe,EAAE,aAAa;IAC9B,KAAK,EAAE,aAAsB;CACrB,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAClC;IACE,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,QAAiB;IAC5B,eAAe,EAAE,aAAa;CACtB,CAAC;AAEb,MAAM,CAAC,MAAM,uBAAuB,GAClC;IACE,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,aAAa;IAC9B,SAAS,EAAE,QAAiB;CACpB,CAAC;AAEb,MAAM,CAAC,MAAM,6BAA6B,GAAiC;IACzE,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,CAAC;IACd,eAAe,EAAE,SAAS;CAClB,CAAC;AAEX,MAAM,CAAC,MAAM,iCAAiC,GAG1C;IACF,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,aAAa;IAC9B,SAAS,EAAE,QAAiB;CACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emailblocks.v1.js","sourceRoot":"","sources":["../../src/types/emailblocks.v1.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,8BAA8B,CAAC;AAGtC,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ;IACR,SAAS;IACT,SAAS;IACT,WAAW;IACX,OAAO;IACP,QAAQ;IACR,MAAM;IACN,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,kBAAkB;IAClB,SAAS;IACT,cAAc;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,SAAS;IACT,WAAW;IACX,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,kBAAkB;CACV,CAAC;AAKX,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,SAAS;AACT,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,EAAE;CACP,CAAC;AAEX,UAAU;AACV,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,cAAc;AACd,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO;IACP,WAAW;IACX,SAAS;IACT,iBAAiB;IACjB,cAAc;IACd,SAAS;IACT,aAAa;CACL,CAAC;AAGX,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,IAAI;CACZ,CAAC,CAAC,CAAC;AAEJ,UAAU;AACV,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAC1E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,YAAY,CAAU,CAAC;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAG/B;IACF,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,CAAC,EAAE,EAAE;CACN,CAAC;AAEF,OAAO;AACP,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AAErC,QAAQ;AACR,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC,gBAAgB;AAChB,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"emailblocks.v1.js","sourceRoot":"","sources":["../../src/types/emailblocks.v1.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,9 @@ import { DEFAULT_EMAIL_GLOBAL_SETTINGS, BRAND_DATA_TO_PROPERTY_MAP, } from "../.
|
|
|
6
6
|
export function resolveEmailSettings(settings, brand) {
|
|
7
7
|
const brandSettings = brand?.default_email_settings ?? {};
|
|
8
8
|
const brandButtons = brand?.default_button_settings ?? {};
|
|
9
|
+
const textColor = settings.textColor ??
|
|
10
|
+
brandSettings.textColor ??
|
|
11
|
+
DEFAULT_EMAIL_GLOBAL_SETTINGS.textColor;
|
|
9
12
|
return {
|
|
10
13
|
backgroundColor: settings.backgroundColor ??
|
|
11
14
|
brandSettings.backgroundColor ??
|
|
@@ -17,9 +20,11 @@ export function resolveEmailSettings(settings, brand) {
|
|
|
17
20
|
fontFamily: settings.fontFamily ??
|
|
18
21
|
brandSettings.fontFamily ??
|
|
19
22
|
DEFAULT_EMAIL_GLOBAL_SETTINGS.fontFamily,
|
|
20
|
-
textColor
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
textColor,
|
|
24
|
+
// No hardcoded blue: an unstyled link should just match the resolved
|
|
25
|
+
// text color (underline is what marks it as a link), not an arbitrary
|
|
26
|
+
// brand-less default.
|
|
27
|
+
linkColor: settings.linkColor ?? brandSettings.linkColor ?? textColor,
|
|
23
28
|
verticalSpacing: settings.verticalSpacing ?? DEFAULT_EMAIL_GLOBAL_SETTINGS.verticalSpacing,
|
|
24
29
|
horizontalSpacing: settings.horizontalSpacing ??
|
|
25
30
|
DEFAULT_EMAIL_GLOBAL_SETTINGS.horizontalSpacing,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand-cascade.js","sourceRoot":"","sources":["../../../src/utils/templates/brand-cascade.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAc9B;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAA6B,EAC7B,KAAmC;IAEnC,MAAM,aAAa,GAAG,KAAK,EAAE,sBAAsB,IAAI,EAAE,CAAC;IAC1D,MAAM,YAAY,GAAG,KAAK,EAAE,uBAAuB,IAAI,EAAE,CAAC;IAE1D,OAAO;QACL,eAAe,EACb,QAAQ,CAAC,eAAe;YACxB,aAAa,CAAC,eAAe;YAC7B,6BAA6B,CAAC,eAAe;QAC/C,sBAAsB,EACpB,QAAQ,CAAC,sBAAsB;YAC/B,aAAa,CAAC,sBAAsB;YACpC,6BAA6B,CAAC,sBAAsB;QACtD,YAAY,EACV,QAAQ,CAAC,YAAY,IAAI,6BAA6B,CAAC,YAAY;QACrE,UAAU,EACR,QAAQ,CAAC,UAAU;YAClB,aAAa,CAAC,UAA8D;YAC7E,6BAA6B,CAAC,UAAU;QAC1C,SAAS,
|
|
1
|
+
{"version":3,"file":"brand-cascade.js","sourceRoot":"","sources":["../../../src/utils/templates/brand-cascade.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,18 @@ import { generateHTML } from "@tiptap/html";
|
|
|
5
5
|
import { getTipTapExtensions, sanitizeContent } from "./tiptap.js";
|
|
6
6
|
import { generateText } from "./messages.js";
|
|
7
7
|
/**
|
|
8
|
-
* Converts TipTap JSONContent to HTML for email rendering
|
|
8
|
+
* Converts TipTap JSONContent to HTML for email rendering.
|
|
9
|
+
* `linkColor`, when given, is baked as a literal inline style onto `<a>`
|
|
10
|
+
* tags (not a CSS var) — see docs/adr/0004 for why this compile path can't
|
|
11
|
+
* reuse the live-editor CSS custom property approach.
|
|
9
12
|
*/
|
|
10
|
-
function generateEmailHtml(content) {
|
|
13
|
+
function generateEmailHtml(content, linkColor) {
|
|
11
14
|
if (!content)
|
|
12
15
|
return "";
|
|
13
|
-
const extensions = getTipTapExtensions({
|
|
16
|
+
const extensions = getTipTapExtensions({
|
|
17
|
+
preset: "email",
|
|
18
|
+
linkColor: linkColor ? { mode: "compile", color: linkColor } : undefined,
|
|
19
|
+
});
|
|
14
20
|
return generateHTML(sanitizeContent(content, extensions), extensions);
|
|
15
21
|
}
|
|
16
22
|
/**
|
|
@@ -56,7 +62,8 @@ function translateDividerBlock(block, settings) {
|
|
|
56
62
|
* Translates a heading block to MJML
|
|
57
63
|
*/
|
|
58
64
|
function translateHeadingBlock(block, settings) {
|
|
59
|
-
const
|
|
65
|
+
const linkColor = block.settings.linkColor ?? settings.linkColor;
|
|
66
|
+
const html = generateEmailHtml(block.settings.content, linkColor);
|
|
60
67
|
const bgColor = block.settings.backgroundColor === "#FFFFFF00"
|
|
61
68
|
? ""
|
|
62
69
|
: ` container-background-color="${escapeXmlAttribute(block.settings.backgroundColor)}"`;
|
|
@@ -75,7 +82,8 @@ function translateHeadingBlock(block, settings) {
|
|
|
75
82
|
* Translates a paragraph block to MJML
|
|
76
83
|
*/
|
|
77
84
|
function translateParagraphBlock(block, settings) {
|
|
78
|
-
const
|
|
85
|
+
const linkColor = block.settings.linkColor ?? settings.linkColor;
|
|
86
|
+
const html = generateEmailHtml(block.settings.content, linkColor);
|
|
79
87
|
const bgColor = block.settings.backgroundColor === "#FFFFFF00"
|
|
80
88
|
? ""
|
|
81
89
|
: ` container-background-color="${escapeXmlAttribute(block.settings.backgroundColor)}"`;
|
|
@@ -213,7 +221,8 @@ function translateHeaderBlock(block, settings) {
|
|
|
213
221
|
* Translates a footer block to MJML
|
|
214
222
|
*/
|
|
215
223
|
function translateFooterBlock(block, settings) {
|
|
216
|
-
const
|
|
224
|
+
const linkColor = block.settings.linkColor ?? settings.linkColor;
|
|
225
|
+
const html = generateEmailHtml(block.settings.content, linkColor);
|
|
217
226
|
const bgColor = block.settings.backgroundColor === "#FFFFFF00"
|
|
218
227
|
? ""
|
|
219
228
|
: ` container-background-color="${escapeXmlAttribute(block.settings.backgroundColor)}"`;
|
|
@@ -232,7 +241,8 @@ function translateFooterBlock(block, settings) {
|
|
|
232
241
|
* Translates an unsubscribe link block to MJML
|
|
233
242
|
*/
|
|
234
243
|
function translateUnsubscribeLinkBlock(block, settings) {
|
|
235
|
-
const
|
|
244
|
+
const linkColor = block.settings.linkColor ?? settings.linkColor;
|
|
245
|
+
const html = generateEmailHtml(block.settings.content, linkColor);
|
|
236
246
|
const bgColor = block.settings.backgroundColor === "#FFFFFF00"
|
|
237
247
|
? ""
|
|
238
248
|
: ` container-background-color="${escapeXmlAttribute(block.settings.backgroundColor)}"`;
|
|
@@ -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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"}
|
|
@@ -7,6 +7,17 @@ import { CharacterCount } from "@tiptap/extensions";
|
|
|
7
7
|
import TextAlign from "@tiptap/extension-text-align";
|
|
8
8
|
import { WA_BODY_MAX_LENGTH } from "../../types/index.js";
|
|
9
9
|
import { generateHtml, generateText } from "./messages.js";
|
|
10
|
+
/**
|
|
11
|
+
* Builds the `style` HTMLAttributes for the TipTap Link mark from a
|
|
12
|
+
* LinkColorOption. Returns undefined when no color option is given, so the
|
|
13
|
+
* Link mark renders with no color styling (unchanged default behavior).
|
|
14
|
+
*/
|
|
15
|
+
export function buildLinkHTMLAttributes(linkColor) {
|
|
16
|
+
if (!linkColor)
|
|
17
|
+
return undefined;
|
|
18
|
+
const color = linkColor.mode === "live" ? "var(--link-color)" : linkColor.color;
|
|
19
|
+
return { style: `color: ${color};` };
|
|
20
|
+
}
|
|
10
21
|
const PRESETS = {
|
|
11
22
|
whatsapp: {
|
|
12
23
|
bold: true,
|
|
@@ -34,7 +45,7 @@ const PRESETS = {
|
|
|
34
45
|
export function getTipTapExtensions(options = {}) {
|
|
35
46
|
const presetOptions = options.preset ? PRESETS[options.preset] : {};
|
|
36
47
|
const merged = { ...presetOptions, ...options };
|
|
37
|
-
const { bold = false, italic = false, emoji = false, underline = false, link = false, bulletList = false, orderedList = false, textAlign = false, dynamicValues = true, characterLimit, horizontalRule = false, hardBreak = false, } = merged;
|
|
48
|
+
const { bold = false, italic = false, emoji = false, underline = false, link = false, linkColor, bulletList = false, orderedList = false, textAlign = false, dynamicValues = true, characterLimit, horizontalRule = false, hardBreak = false, } = merged;
|
|
38
49
|
const extensions = [];
|
|
39
50
|
// Add character count if limit is set
|
|
40
51
|
if (characterLimit) {
|
|
@@ -84,6 +95,9 @@ export function getTipTapExtensions(options = {}) {
|
|
|
84
95
|
link: link
|
|
85
96
|
? {
|
|
86
97
|
openOnClick: false,
|
|
98
|
+
...(linkColor
|
|
99
|
+
? { HTMLAttributes: buildLinkHTMLAttributes(linkColor) }
|
|
100
|
+
: {}),
|
|
87
101
|
}
|
|
88
102
|
: false,
|
|
89
103
|
heading: false,
|
|
@@ -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;
|
|
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
|
@@ -11,6 +11,7 @@ export const brandDefaultEmailSettingsSchema = z.object({
|
|
|
11
11
|
backgroundColor: z.string().optional(),
|
|
12
12
|
contentBackgroundColor: z.string().optional(),
|
|
13
13
|
textColor: z.string().optional(),
|
|
14
|
+
linkColor: z.string().optional(),
|
|
14
15
|
fontFamily: z.enum(EMAIL_SAFE_FONTS).optional(),
|
|
15
16
|
});
|
|
16
17
|
|
|
@@ -39,6 +39,7 @@ export const DEFAULT_HEADING_SETTINGS: Omit<
|
|
|
39
39
|
fontFamily: undefined,
|
|
40
40
|
fontSize: 24,
|
|
41
41
|
textColor: undefined,
|
|
42
|
+
linkColor: undefined,
|
|
42
43
|
backgroundColor: "transparent",
|
|
43
44
|
} as const;
|
|
44
45
|
|
|
@@ -50,6 +51,7 @@ export const DEFAULT_PARAGRAPH_SETTINGS: Omit<
|
|
|
50
51
|
fontFamily: undefined,
|
|
51
52
|
fontSize: 16,
|
|
52
53
|
textColor: undefined,
|
|
54
|
+
linkColor: undefined,
|
|
53
55
|
backgroundColor: "transparent",
|
|
54
56
|
} as const;
|
|
55
57
|
|
|
@@ -101,6 +103,7 @@ export const DEFAULT_FOOTER_SETTINGS: Omit<FooterBlock["settings"], "content"> =
|
|
|
101
103
|
fontSize: 12,
|
|
102
104
|
fontFamily: undefined,
|
|
103
105
|
textColor: undefined,
|
|
106
|
+
linkColor: undefined,
|
|
104
107
|
backgroundColor: "transparent",
|
|
105
108
|
alignment: "center" as const,
|
|
106
109
|
} as const;
|
|
@@ -118,6 +121,7 @@ export const DEFAULT_UNSUBSCRIBE_LINK_SETTINGS: Omit<
|
|
|
118
121
|
fontFamily: undefined,
|
|
119
122
|
fontSize: 12,
|
|
120
123
|
textColor: undefined,
|
|
124
|
+
linkColor: undefined,
|
|
121
125
|
backgroundColor: "transparent",
|
|
122
126
|
alignment: "center" as const,
|
|
123
127
|
} as const;
|
|
@@ -156,6 +156,7 @@ export interface HeadingBlock extends EmailBlockBase {
|
|
|
156
156
|
fontFamily?: SafeFonts; // undefined = use global default
|
|
157
157
|
fontSize: number; // 16-48px
|
|
158
158
|
textColor?: string; // undefined = use global default
|
|
159
|
+
linkColor?: string; // undefined = use global default
|
|
159
160
|
backgroundColor: string;
|
|
160
161
|
};
|
|
161
162
|
}
|
|
@@ -168,6 +169,7 @@ export interface ParagraphBlock extends EmailBlockBase {
|
|
|
168
169
|
fontFamily?: SafeFonts; // undefined = use global default
|
|
169
170
|
fontSize: number; // 10-32px
|
|
170
171
|
textColor?: string; // undefined = use global default
|
|
172
|
+
linkColor?: string; // undefined = use global default
|
|
171
173
|
backgroundColor: string;
|
|
172
174
|
};
|
|
173
175
|
}
|
|
@@ -260,6 +262,7 @@ export interface FooterBlock extends EmailBlockBase {
|
|
|
260
262
|
fontSize: number; // 10-16px
|
|
261
263
|
fontFamily?: SafeFonts; // undefined = use global default
|
|
262
264
|
textColor?: string; // undefined = use global default
|
|
265
|
+
linkColor?: string; // undefined = use global default
|
|
263
266
|
backgroundColor: string;
|
|
264
267
|
alignment: "left" | "center" | "right";
|
|
265
268
|
};
|
|
@@ -272,6 +275,7 @@ export interface UnsubscribeLinkBlock extends EmailBlockBase {
|
|
|
272
275
|
fontFamily?: SafeFonts;
|
|
273
276
|
fontSize: number; // default 12px
|
|
274
277
|
textColor?: string; // default lower contrast
|
|
278
|
+
linkColor?: string; // undefined = use global default
|
|
275
279
|
backgroundColor: string;
|
|
276
280
|
alignment: "left" | "center" | "right";
|
|
277
281
|
};
|
|
@@ -368,6 +372,7 @@ export interface EmailGlobalSettings {
|
|
|
368
372
|
contentWidth?: number; // Default 600px (400-800)
|
|
369
373
|
fontFamily?: SafeFonts; // Default Arial
|
|
370
374
|
textColor?: string; // Default #1F2937
|
|
375
|
+
linkColor?: string; // Default #2563EB
|
|
371
376
|
verticalSpacing?: number; // Default 0px (0-50), gap between blocks
|
|
372
377
|
horizontalSpacing?: number; // Default 0px (0-50), left/right content inset
|
|
373
378
|
button?: BrandDefaultButtonSettings;
|
|
@@ -379,6 +384,7 @@ export const DEFAULT_EMAIL_GLOBAL_SETTINGS: Required<EmailGlobalSettings> = {
|
|
|
379
384
|
contentWidth: 600,
|
|
380
385
|
fontFamily: "Arial",
|
|
381
386
|
textColor: "#1F2937",
|
|
387
|
+
linkColor: "#2563EB",
|
|
382
388
|
verticalSpacing: 0,
|
|
383
389
|
horizontalSpacing: 0,
|
|
384
390
|
button: {
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import {
|
|
3
|
+
resolveEmailSettings,
|
|
4
|
+
type BrandCascadeData,
|
|
5
|
+
} from "./brand-cascade.js";
|
|
6
|
+
import { DEFAULT_EMAIL_GLOBAL_SETTINGS } from "../../types/index.js";
|
|
7
|
+
|
|
8
|
+
function brand(linkColor?: string): BrandCascadeData {
|
|
9
|
+
return {
|
|
10
|
+
default_email_settings: linkColor ? { linkColor } : {},
|
|
11
|
+
default_button_settings: {},
|
|
12
|
+
default_socials: null,
|
|
13
|
+
logo_url: null,
|
|
14
|
+
data: {},
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
describe("resolveEmailSettings - linkColor cascade", () => {
|
|
19
|
+
it("falls back to the resolved text color when neither message nor brand set a link color", () => {
|
|
20
|
+
const resolved = resolveEmailSettings({}, undefined);
|
|
21
|
+
expect(resolved.linkColor).toBe(DEFAULT_EMAIL_GLOBAL_SETTINGS.textColor);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it("falls back to a message-level text color override when no link color is set", () => {
|
|
25
|
+
const resolved = resolveEmailSettings({ textColor: "#334455" }, undefined);
|
|
26
|
+
expect(resolved.linkColor).toBe("#334455");
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it("falls back to the brand's default link color when the message doesn't set one", () => {
|
|
30
|
+
const resolved = resolveEmailSettings({}, brand("#112233"));
|
|
31
|
+
expect(resolved.linkColor).toBe("#112233");
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it("prefers the message-level link color over the brand default", () => {
|
|
35
|
+
const resolved = resolveEmailSettings(
|
|
36
|
+
{ linkColor: "#AABBCC" },
|
|
37
|
+
brand("#112233"),
|
|
38
|
+
);
|
|
39
|
+
expect(resolved.linkColor).toBe("#AABBCC");
|
|
40
|
+
});
|
|
41
|
+
});
|
|
@@ -36,6 +36,11 @@ export function resolveEmailSettings(
|
|
|
36
36
|
const brandSettings = brand?.default_email_settings ?? {};
|
|
37
37
|
const brandButtons = brand?.default_button_settings ?? {};
|
|
38
38
|
|
|
39
|
+
const textColor =
|
|
40
|
+
settings.textColor ??
|
|
41
|
+
brandSettings.textColor ??
|
|
42
|
+
DEFAULT_EMAIL_GLOBAL_SETTINGS.textColor;
|
|
43
|
+
|
|
39
44
|
return {
|
|
40
45
|
backgroundColor:
|
|
41
46
|
settings.backgroundColor ??
|
|
@@ -51,10 +56,11 @@ export function resolveEmailSettings(
|
|
|
51
56
|
settings.fontFamily ??
|
|
52
57
|
(brandSettings.fontFamily as typeof DEFAULT_EMAIL_GLOBAL_SETTINGS.fontFamily) ??
|
|
53
58
|
DEFAULT_EMAIL_GLOBAL_SETTINGS.fontFamily,
|
|
54
|
-
textColor
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
59
|
+
textColor,
|
|
60
|
+
// No hardcoded blue: an unstyled link should just match the resolved
|
|
61
|
+
// text color (underline is what marks it as a link), not an arbitrary
|
|
62
|
+
// brand-less default.
|
|
63
|
+
linkColor: settings.linkColor ?? brandSettings.linkColor ?? textColor,
|
|
58
64
|
verticalSpacing:
|
|
59
65
|
settings.verticalSpacing ?? DEFAULT_EMAIL_GLOBAL_SETTINGS.verticalSpacing,
|
|
60
66
|
horizontalSpacing:
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { translateEmailToMjml } from "./email-mjml.js";
|
|
3
|
+
import type { EmailMessage, ParagraphBlock } from "../../types/index.js";
|
|
4
|
+
import { emptyParagraphBlock } from "../../types/index.js";
|
|
5
|
+
|
|
6
|
+
function linkContent(text: string) {
|
|
7
|
+
return {
|
|
8
|
+
type: "doc",
|
|
9
|
+
content: [
|
|
10
|
+
{
|
|
11
|
+
type: "paragraph",
|
|
12
|
+
content: [
|
|
13
|
+
{
|
|
14
|
+
type: "text",
|
|
15
|
+
text,
|
|
16
|
+
marks: [{ type: "link", attrs: { href: "https://example.com" } }],
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function messageWithParagraph(block: ParagraphBlock): EmailMessage {
|
|
25
|
+
return {
|
|
26
|
+
body: { subject: "Subject", blocks: [block], settings: {} },
|
|
27
|
+
metadata: {},
|
|
28
|
+
} as EmailMessage;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
describe("translateEmailToMjml - link color", () => {
|
|
32
|
+
it("bakes the block's explicit linkColor as a literal inline style on <a>", () => {
|
|
33
|
+
const block = emptyParagraphBlock();
|
|
34
|
+
block.settings.content = linkContent("click here");
|
|
35
|
+
block.settings.linkColor = "#FF0000";
|
|
36
|
+
|
|
37
|
+
const mjml = translateEmailToMjml(messageWithParagraph(block));
|
|
38
|
+
|
|
39
|
+
expect(mjml).toContain('style="color: #FF0000;"');
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it("falls back to the resolved global/brand linkColor when the block has none", () => {
|
|
43
|
+
const block = emptyParagraphBlock();
|
|
44
|
+
block.settings.content = linkContent("click here");
|
|
45
|
+
|
|
46
|
+
const message = messageWithParagraph(block);
|
|
47
|
+
message.body.settings.linkColor = "#00FF00";
|
|
48
|
+
|
|
49
|
+
const mjml = translateEmailToMjml(message);
|
|
50
|
+
|
|
51
|
+
expect(mjml).toContain('style="color: #00FF00;"');
|
|
52
|
+
});
|
|
53
|
+
});
|
|
@@ -30,11 +30,20 @@ import { getTipTapExtensions, sanitizeContent } from "./tiptap.js";
|
|
|
30
30
|
import { generateText } from "./messages.js";
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
|
-
* Converts TipTap JSONContent to HTML for email rendering
|
|
33
|
+
* Converts TipTap JSONContent to HTML for email rendering.
|
|
34
|
+
* `linkColor`, when given, is baked as a literal inline style onto `<a>`
|
|
35
|
+
* tags (not a CSS var) — see docs/adr/0004 for why this compile path can't
|
|
36
|
+
* reuse the live-editor CSS custom property approach.
|
|
34
37
|
*/
|
|
35
|
-
function generateEmailHtml(
|
|
38
|
+
function generateEmailHtml(
|
|
39
|
+
content: JSONContent | undefined,
|
|
40
|
+
linkColor?: string,
|
|
41
|
+
): string {
|
|
36
42
|
if (!content) return "";
|
|
37
|
-
const extensions = getTipTapExtensions({
|
|
43
|
+
const extensions = getTipTapExtensions({
|
|
44
|
+
preset: "email",
|
|
45
|
+
linkColor: linkColor ? { mode: "compile", color: linkColor } : undefined,
|
|
46
|
+
});
|
|
38
47
|
return generateHTML(sanitizeContent(content, extensions), extensions);
|
|
39
48
|
}
|
|
40
49
|
|
|
@@ -97,7 +106,8 @@ function translateHeadingBlock(
|
|
|
97
106
|
block: HeadingBlock,
|
|
98
107
|
settings: EmailGlobalSettings,
|
|
99
108
|
): string {
|
|
100
|
-
const
|
|
109
|
+
const linkColor = block.settings.linkColor ?? settings.linkColor;
|
|
110
|
+
const html = generateEmailHtml(block.settings.content, linkColor);
|
|
101
111
|
const bgColor =
|
|
102
112
|
block.settings.backgroundColor === "#FFFFFF00"
|
|
103
113
|
? ""
|
|
@@ -123,7 +133,8 @@ function translateParagraphBlock(
|
|
|
123
133
|
block: ParagraphBlock,
|
|
124
134
|
settings: EmailGlobalSettings,
|
|
125
135
|
): string {
|
|
126
|
-
const
|
|
136
|
+
const linkColor = block.settings.linkColor ?? settings.linkColor;
|
|
137
|
+
const html = generateEmailHtml(block.settings.content, linkColor);
|
|
127
138
|
|
|
128
139
|
const bgColor =
|
|
129
140
|
block.settings.backgroundColor === "#FFFFFF00"
|
|
@@ -322,7 +333,8 @@ function translateFooterBlock(
|
|
|
322
333
|
block: FooterBlock,
|
|
323
334
|
settings: EmailGlobalSettings,
|
|
324
335
|
): string {
|
|
325
|
-
const
|
|
336
|
+
const linkColor = block.settings.linkColor ?? settings.linkColor;
|
|
337
|
+
const html = generateEmailHtml(block.settings.content, linkColor);
|
|
326
338
|
|
|
327
339
|
const bgColor =
|
|
328
340
|
block.settings.backgroundColor === "#FFFFFF00"
|
|
@@ -350,7 +362,8 @@ function translateUnsubscribeLinkBlock(
|
|
|
350
362
|
block: UnsubscribeLinkBlock,
|
|
351
363
|
settings: EmailGlobalSettings,
|
|
352
364
|
): string {
|
|
353
|
-
const
|
|
365
|
+
const linkColor = block.settings.linkColor ?? settings.linkColor;
|
|
366
|
+
const html = generateEmailHtml(block.settings.content, linkColor);
|
|
354
367
|
|
|
355
368
|
const bgColor =
|
|
356
369
|
block.settings.backgroundColor === "#FFFFFF00"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { buildLinkHTMLAttributes } from "./tiptap.js";
|
|
3
|
+
|
|
4
|
+
describe("buildLinkHTMLAttributes", () => {
|
|
5
|
+
it("returns undefined when no link color option is given", () => {
|
|
6
|
+
expect(buildLinkHTMLAttributes(undefined)).toBeUndefined();
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
it("renders a CSS custom property in live mode", () => {
|
|
10
|
+
expect(buildLinkHTMLAttributes({ mode: "live" })).toEqual({
|
|
11
|
+
style: "color: var(--link-color);",
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
it("renders a literal hex in compile mode", () => {
|
|
16
|
+
expect(
|
|
17
|
+
buildLinkHTMLAttributes({ mode: "compile", color: "#2563EB" }),
|
|
18
|
+
).toEqual({
|
|
19
|
+
style: "color: #2563EB;",
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
});
|
|
@@ -14,6 +14,19 @@ import type { JSONContent } from "@tiptap/core";
|
|
|
14
14
|
import { type RenderType, WA_BODY_MAX_LENGTH } from "../../types/index.js";
|
|
15
15
|
import { generateHtml, generateText } from "./messages.js";
|
|
16
16
|
|
|
17
|
+
/**
|
|
18
|
+
* How a link's color should be rendered:
|
|
19
|
+
* - "live": the color is driven by a `--link-color` CSS custom property set
|
|
20
|
+
* on a wrapping element, so it updates without recreating the editor
|
|
21
|
+
* instance. Used for the canvas preview and settings-panel editor.
|
|
22
|
+
* - "compile": a literal hex is baked into the inline style. Required for
|
|
23
|
+
* the final email HTML — Outlook and other strict clients don't support
|
|
24
|
+
* CSS custom properties. See docs/adr/0004.
|
|
25
|
+
*/
|
|
26
|
+
export type LinkColorOption =
|
|
27
|
+
| { mode: "live" }
|
|
28
|
+
| { mode: "compile"; color: string };
|
|
29
|
+
|
|
17
30
|
export interface TipTapExtensionOptions {
|
|
18
31
|
preset?: "whatsapp" | "whatsapp-header" | "email";
|
|
19
32
|
bold?: boolean;
|
|
@@ -21,6 +34,7 @@ export interface TipTapExtensionOptions {
|
|
|
21
34
|
emoji?: boolean;
|
|
22
35
|
underline?: boolean;
|
|
23
36
|
link?: boolean;
|
|
37
|
+
linkColor?: LinkColorOption;
|
|
24
38
|
bulletList?: boolean;
|
|
25
39
|
orderedList?: boolean;
|
|
26
40
|
textAlign?: boolean;
|
|
@@ -30,6 +44,20 @@ export interface TipTapExtensionOptions {
|
|
|
30
44
|
hardBreak?: boolean;
|
|
31
45
|
}
|
|
32
46
|
|
|
47
|
+
/**
|
|
48
|
+
* Builds the `style` HTMLAttributes for the TipTap Link mark from a
|
|
49
|
+
* LinkColorOption. Returns undefined when no color option is given, so the
|
|
50
|
+
* Link mark renders with no color styling (unchanged default behavior).
|
|
51
|
+
*/
|
|
52
|
+
export function buildLinkHTMLAttributes(
|
|
53
|
+
linkColor?: LinkColorOption,
|
|
54
|
+
): Record<string, string> | undefined {
|
|
55
|
+
if (!linkColor) return undefined;
|
|
56
|
+
const color =
|
|
57
|
+
linkColor.mode === "live" ? "var(--link-color)" : linkColor.color;
|
|
58
|
+
return { style: `color: ${color};` };
|
|
59
|
+
}
|
|
60
|
+
|
|
33
61
|
const PRESETS: Record<
|
|
34
62
|
NonNullable<TipTapExtensionOptions["preset"]>,
|
|
35
63
|
Omit<TipTapExtensionOptions, "preset" | "dynamicValues" | "characterLimit">
|
|
@@ -70,6 +98,7 @@ export function getTipTapExtensions(
|
|
|
70
98
|
emoji = false,
|
|
71
99
|
underline = false,
|
|
72
100
|
link = false,
|
|
101
|
+
linkColor,
|
|
73
102
|
bulletList = false,
|
|
74
103
|
orderedList = false,
|
|
75
104
|
textAlign = false,
|
|
@@ -144,6 +173,9 @@ export function getTipTapExtensions(
|
|
|
144
173
|
link: link
|
|
145
174
|
? {
|
|
146
175
|
openOnClick: false,
|
|
176
|
+
...(linkColor
|
|
177
|
+
? { HTMLAttributes: buildLinkHTMLAttributes(linkColor) }
|
|
178
|
+
: {}),
|
|
147
179
|
}
|
|
148
180
|
: false,
|
|
149
181
|
heading: false,
|