@jhits/plugin-newsletter 0.0.16 → 0.0.17
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/api/email-utils.d.ts.map +1 -1
- package/dist/api/email-utils.js +45 -4
- package/dist/api/handlers/send-newsletter.d.ts.map +1 -1
- package/dist/api/handlers/send-newsletter.js +54 -6
- package/dist/api/handlers/settings.d.ts.map +1 -1
- package/dist/api/handlers/settings.js +51 -1
- package/dist/index.d.ts +27 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -122
- package/dist/lib/blocks/BlockRenderer.d.ts.map +1 -1
- package/dist/lib/blocks/BlockRenderer.js +14 -2
- package/dist/lib/email/EmailRenderer.d.ts +1 -0
- package/dist/lib/email/EmailRenderer.d.ts.map +1 -1
- package/dist/lib/email/EmailRenderer.js +31 -19
- package/dist/lib/utils/config-resolver.d.ts +33 -0
- package/dist/lib/utils/config-resolver.d.ts.map +1 -0
- package/dist/lib/utils/config-resolver.js +47 -0
- package/dist/registry/BlockRegistry.d.ts +9 -1
- package/dist/registry/BlockRegistry.d.ts.map +1 -1
- package/dist/registry/BlockRegistry.js +126 -8
- package/dist/state/EditorContext.d.ts +11 -1
- package/dist/state/EditorContext.d.ts.map +1 -1
- package/dist/state/EditorContext.js +23 -5
- package/dist/state/types.d.ts +12 -0
- package/dist/state/types.d.ts.map +1 -1
- package/dist/types/block.d.ts +9 -0
- package/dist/types/block.d.ts.map +1 -1
- package/dist/types/newsletter.d.ts +2 -0
- package/dist/types/newsletter.d.ts.map +1 -1
- package/dist/views/CanvasEditor/BlockWrapper.d.ts.map +1 -1
- package/dist/views/CanvasEditor/BlockWrapper.js +24 -3
- package/dist/views/CanvasEditor/CanvasEditorView.d.ts.map +1 -1
- package/dist/views/CanvasEditor/CanvasEditorView.js +77 -17
- package/dist/views/CanvasEditor/EditorBody.d.ts.map +1 -1
- package/dist/views/CanvasEditor/EditorBody.js +1 -1
- package/dist/views/CanvasEditor/components/EditorCanvas.d.ts.map +1 -1
- package/dist/views/CanvasEditor/components/EditorCanvas.js +158 -100
- package/dist/views/CanvasEditor/components/EditorSidebar.d.ts +3 -1
- package/dist/views/CanvasEditor/components/EditorSidebar.d.ts.map +1 -1
- package/dist/views/CanvasEditor/components/EditorSidebar.js +3 -3
- package/dist/views/CanvasEditor/hooks/useRegisteredBlocks.d.ts +1 -1
- package/dist/views/CanvasEditor/hooks/useRegisteredBlocks.d.ts.map +1 -1
- package/dist/views/CanvasEditor/hooks/useRegisteredBlocks.js +6 -40
- package/dist/views/components/DomainPromptModal.d.ts +13 -0
- package/dist/views/components/DomainPromptModal.d.ts.map +1 -0
- package/dist/views/components/DomainPromptModal.js +58 -0
- package/dist/views/components/SendNewsletterModal.d.ts.map +1 -1
- package/dist/views/components/SendNewsletterModal.js +91 -22
- package/dist/views/components/SmtpSettingsModal.d.ts.map +1 -1
- package/dist/views/components/SmtpSettingsModal.js +10 -0
- package/dist/views/components/TestEmailModal.d.ts.map +1 -1
- package/dist/views/components/TestEmailModal.js +86 -17
- package/package.json +53 -9
- package/src/api/email-utils.ts +53 -4
- package/src/api/handlers/send-newsletter.ts +65 -6
- package/src/api/handlers/settings.ts +60 -2
- package/src/index.tsx +49 -155
- package/src/lib/blocks/BlockRenderer.tsx +16 -2
- package/src/lib/email/EmailRenderer.tsx +31 -20
- package/src/lib/utils/config-resolver.ts +71 -0
- package/src/registry/BlockRegistry.tsx +255 -0
- package/src/state/EditorContext.tsx +43 -8
- package/src/state/types.ts +16 -0
- package/src/types/block.ts +10 -0
- package/src/types/newsletter.ts +3 -0
- package/src/views/CanvasEditor/BlockWrapper.tsx +27 -2
- package/src/views/CanvasEditor/CanvasEditorView.tsx +142 -61
- package/src/views/CanvasEditor/EditorBody.tsx +17 -13
- package/src/views/CanvasEditor/components/EditorCanvas.tsx +178 -115
- package/src/views/CanvasEditor/components/EditorSidebar.tsx +57 -2
- package/src/views/CanvasEditor/hooks/useRegisteredBlocks.ts +6 -45
- package/src/views/components/DomainPromptModal.tsx +160 -0
- package/src/views/components/SendNewsletterModal.tsx +270 -184
- package/src/views/components/SmtpSettingsModal.tsx +11 -0
- package/src/views/components/TestEmailModal.tsx +235 -149
- package/src/registry/BlockRegistry.ts +0 -53
|
@@ -41,14 +41,25 @@ function renderBlockByType(block, context) {
|
|
|
41
41
|
const level = block.data.level || 1;
|
|
42
42
|
const text = block.data.text || '';
|
|
43
43
|
const tag = `h${Math.min(Math.max(level, 1), 6)}`;
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
// Aligned with BotanicsAndYou heading sizes
|
|
45
|
+
let fontSize = '30px';
|
|
46
|
+
if (level === 1)
|
|
47
|
+
fontSize = '48px';
|
|
48
|
+
if (level === 2)
|
|
49
|
+
fontSize = '36px';
|
|
50
|
+
if (level === 3)
|
|
51
|
+
fontSize = '30px';
|
|
52
|
+
if (level >= 4)
|
|
53
|
+
fontSize = '20px';
|
|
54
|
+
const fontWeight = level >= 4 ? '500' : 'bold';
|
|
55
|
+
return `<${tag} style="font-family: 'Georgia', serif; font-size: ${fontSize}; font-weight: ${fontWeight}; color: #1a2e26; margin: 40px 0 15px 0; line-height: 1.2;">${escapeHtml(text)}</${tag}>`;
|
|
46
56
|
}
|
|
47
57
|
case 'paragraph': {
|
|
48
58
|
const html = block.data.html || block.data.text || '';
|
|
49
59
|
// Convert basic HTML tags to email-safe inline styles
|
|
50
60
|
const emailHtml = convertHtmlToEmailSafe(html);
|
|
51
|
-
|
|
61
|
+
// Aligned with BotanicsAndYou paragraph style (text-lg = 18px)
|
|
62
|
+
return `<p style="font-family: 'Georgia', serif; font-size: 18px; line-height: 1.625; color: #1a2e26; margin: 0 0 24px 0;">${emailHtml}</p>`;
|
|
52
63
|
}
|
|
53
64
|
case 'image': {
|
|
54
65
|
const imageId = block.data.imageId;
|
|
@@ -114,7 +125,7 @@ function renderBlockByType(block, context) {
|
|
|
114
125
|
imageStyles.push(`border-radius: ${borderRadiusValue}`);
|
|
115
126
|
}
|
|
116
127
|
const imageStyleString = imageStyles.join('; ');
|
|
117
|
-
let html = `<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:
|
|
128
|
+
let html = `<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 30px 0;">
|
|
118
129
|
<tr>
|
|
119
130
|
<td align="center">
|
|
120
131
|
<img src="${imageUrl}" alt="${escapeHtml(alt)}" style="${imageStyleString}" />
|
|
@@ -122,7 +133,7 @@ function renderBlockByType(block, context) {
|
|
|
122
133
|
</tr>`;
|
|
123
134
|
if (caption) {
|
|
124
135
|
html += `<tr>
|
|
125
|
-
<td align="center" style="padding-top: 10px; font-size:
|
|
136
|
+
<td align="center" style="padding-top: 10px; font-size: 14px; color: #666; font-style: italic; font-family: 'Georgia', serif;">
|
|
126
137
|
${escapeHtml(caption)}
|
|
127
138
|
</td>
|
|
128
139
|
</tr>`;
|
|
@@ -138,9 +149,9 @@ function renderBlockByType(block, context) {
|
|
|
138
149
|
const itemsHtml = items.map((item, idx) => {
|
|
139
150
|
const text = typeof item === 'string' ? item : (item.html || item.text || '');
|
|
140
151
|
const emailHtml = convertHtmlToEmailSafe(text);
|
|
141
|
-
return `<li style="margin:
|
|
152
|
+
return `<li style="margin: 12px 0; padding-left: 5px; line-height: 1.625; color: #1a2e26;">${emailHtml}</li>`;
|
|
142
153
|
}).join('');
|
|
143
|
-
return `<${tag} style="margin:
|
|
154
|
+
return `<${tag} style="font-family: 'Georgia', serif; margin: 24px 0; padding-left: 24px; color: #1a2e26; font-size: 18px; line-height: 1.625;">${itemsHtml}</${tag}>`;
|
|
144
155
|
}
|
|
145
156
|
case 'table': {
|
|
146
157
|
const rows = (Array.isArray(block.data?.rows) ? block.data.rows : []);
|
|
@@ -149,7 +160,7 @@ function renderBlockByType(block, context) {
|
|
|
149
160
|
return '';
|
|
150
161
|
}
|
|
151
162
|
// Build table HTML using email-safe table structure
|
|
152
|
-
let tableHtml = `<table width="100%" cellpadding="12" cellspacing="0" border="0" style="margin:
|
|
163
|
+
let tableHtml = `<table width="100%" cellpadding="12" cellspacing="0" border="0" style="margin: 30px 0; border-collapse: collapse; width: 100%; font-family: 'Georgia', serif;">`;
|
|
153
164
|
rows.forEach((row, rIdx) => {
|
|
154
165
|
const isHeaderRow = rIdx === 0 && useHeader;
|
|
155
166
|
const tag = isHeaderRow ? 'th' : 'td';
|
|
@@ -159,7 +170,7 @@ function renderBlockByType(block, context) {
|
|
|
159
170
|
tableHtml += `<tr>`;
|
|
160
171
|
row.forEach((cell) => {
|
|
161
172
|
const cellHtml = convertHtmlToEmailSafe(cell.html || cell.text || '');
|
|
162
|
-
tableHtml += `<${tag} style="padding:
|
|
173
|
+
tableHtml += `<${tag} style="padding: 15px; border: 1px solid #e5e7eb; text-align: left; color: ${textColor}; font-size: 16px; line-height: 1.6; background-color: ${bgColor}; font-weight: ${fontWeight};">${cellHtml}</${tag}>`;
|
|
163
174
|
});
|
|
164
175
|
tableHtml += `</tr>`;
|
|
165
176
|
});
|
|
@@ -167,7 +178,7 @@ function renderBlockByType(block, context) {
|
|
|
167
178
|
return tableHtml;
|
|
168
179
|
}
|
|
169
180
|
case 'divider': {
|
|
170
|
-
return `<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin:
|
|
181
|
+
return `<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 40px 0;">
|
|
171
182
|
<tr>
|
|
172
183
|
<td align="center">
|
|
173
184
|
<table width="40" cellpadding="0" cellspacing="0" border="0">
|
|
@@ -183,7 +194,7 @@ function renderBlockByType(block, context) {
|
|
|
183
194
|
// Generic fallback - try to extract text content
|
|
184
195
|
const text = extractTextFromBlock(block);
|
|
185
196
|
if (text) {
|
|
186
|
-
return `<p style="font-size:
|
|
197
|
+
return `<p style="font-family: 'Georgia', serif; font-size: 18px; line-height: 1.625; color: #1a2e26; margin: 0 0 24px 0;">${escapeHtml(text)}</p>`;
|
|
187
198
|
}
|
|
188
199
|
return '';
|
|
189
200
|
}
|
|
@@ -246,11 +257,12 @@ export function renderBlocksToEmail(blocks, context = {}) {
|
|
|
246
257
|
* Uses the same styling as the welcome email template
|
|
247
258
|
*/
|
|
248
259
|
export function generateNewsletterEmailHtml(blocks, metadata, context) {
|
|
249
|
-
const { baseUrl = '', unsubscribeUrl, footerText, logoUrl, logoAlt = 'Logo', locale = 'en' } = context;
|
|
260
|
+
const { baseUrl = '', unsubscribeUrl, unsubscribeText: propsUnsubscribeText, footerText, logoUrl, logoAlt = 'Logo', locale = 'en' } = context;
|
|
250
261
|
const contentHtml = renderBlocksToEmail(blocks, context);
|
|
251
262
|
// Get unsubscribe text based on locale (matching welcome email)
|
|
252
263
|
const isDutch = locale === 'nl';
|
|
253
|
-
const
|
|
264
|
+
const defaultText = isDutch ? 'Afmelden' : 'Unsubscribe';
|
|
265
|
+
const unsubscribeText = propsUnsubscribeText || defaultText;
|
|
254
266
|
// Build header HTML if logo is provided
|
|
255
267
|
const headerHtml = logoUrl ? `
|
|
256
268
|
<div class="header">
|
|
@@ -290,8 +302,8 @@ export function generateNewsletterEmailHtml(blocks, metadata, context) {
|
|
|
290
302
|
.content {
|
|
291
303
|
padding: 0 50px 40px 50px;
|
|
292
304
|
color: #1a2e26;
|
|
293
|
-
line-height: 1.
|
|
294
|
-
font-size:
|
|
305
|
+
line-height: 1.625;
|
|
306
|
+
font-size: 18px;
|
|
295
307
|
}
|
|
296
308
|
.footer {
|
|
297
309
|
padding: 40px 50px;
|
|
@@ -303,12 +315,12 @@ export function generateNewsletterEmailHtml(blocks, metadata, context) {
|
|
|
303
315
|
border-top: 1px solid #faf9f6;
|
|
304
316
|
}
|
|
305
317
|
h1 {
|
|
306
|
-
font-weight:
|
|
307
|
-
font-
|
|
308
|
-
font-size: 30px;
|
|
318
|
+
font-weight: bold;
|
|
319
|
+
font-size: 48px;
|
|
309
320
|
margin-bottom: 30px;
|
|
310
321
|
color: #1a2e26;
|
|
311
|
-
text-align:
|
|
322
|
+
text-align: left;
|
|
323
|
+
line-height: 1.2;
|
|
312
324
|
}
|
|
313
325
|
.divider {
|
|
314
326
|
height: 1px;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Newsletter Plugin Configuration Resolver
|
|
3
|
+
* Centralizes the logic for resolving plugin settings from multiple sources
|
|
4
|
+
*/
|
|
5
|
+
import { ClientBlockDefinition } from '../../types/block';
|
|
6
|
+
export interface ResolvedConfig {
|
|
7
|
+
customBlocks: ClientBlockDefinition[];
|
|
8
|
+
darkMode: boolean;
|
|
9
|
+
backgroundColors?: {
|
|
10
|
+
light: string;
|
|
11
|
+
dark?: string;
|
|
12
|
+
};
|
|
13
|
+
translations?: Record<string, any>;
|
|
14
|
+
unsubscribeTranslations?: Record<string, string>;
|
|
15
|
+
emailConfig?: {
|
|
16
|
+
logoUrl?: string;
|
|
17
|
+
logoAlt?: string;
|
|
18
|
+
footerText?: string;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolves a specific configuration value from priority sources:
|
|
23
|
+
* 1. LocalStorage (Dev overrides)
|
|
24
|
+
* 2. Component Props
|
|
25
|
+
* 3. Window Global (__JHITS_PLUGIN_PROPS__)
|
|
26
|
+
* 4. Default Value
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveConfigValue<T>(key: string, propValue: T | undefined, defaultValue: T, pluginKey?: string): T;
|
|
29
|
+
/**
|
|
30
|
+
* Resolves all plugin configuration
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolvePluginConfig(props: any): ResolvedConfig;
|
|
33
|
+
//# sourceMappingURL=config-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/config-resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC3B,YAAY,EAAE,qBAAqB,EAAE,CAAC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACL;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,GAAG,SAAS,EACxB,YAAY,EAAE,CAAC,EACf,SAAS,GAAE,MAA4B,GACxC,CAAC,CAqBH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,cAAc,CAS9D"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Newsletter Plugin Configuration Resolver
|
|
3
|
+
* Centralizes the logic for resolving plugin settings from multiple sources
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Resolves a specific configuration value from priority sources:
|
|
7
|
+
* 1. LocalStorage (Dev overrides)
|
|
8
|
+
* 2. Component Props
|
|
9
|
+
* 3. Window Global (__JHITS_PLUGIN_PROPS__)
|
|
10
|
+
* 4. Default Value
|
|
11
|
+
*/
|
|
12
|
+
export function resolveConfigValue(key, propValue, defaultValue, pluginKey = 'plugin-newsletter') {
|
|
13
|
+
if (typeof window === 'undefined')
|
|
14
|
+
return propValue ?? defaultValue;
|
|
15
|
+
// 1. Check LocalStorage (Dev priority)
|
|
16
|
+
try {
|
|
17
|
+
const saved = localStorage.getItem(`__JHITS_PLUGIN_NEWSLETTER_CONFIG__`);
|
|
18
|
+
if (saved) {
|
|
19
|
+
const config = JSON.parse(saved);
|
|
20
|
+
if (config[key] !== undefined)
|
|
21
|
+
return config[key];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch (e) { }
|
|
25
|
+
// 2. Check Props
|
|
26
|
+
if (propValue !== undefined)
|
|
27
|
+
return propValue;
|
|
28
|
+
// 3. Check Window Global
|
|
29
|
+
const globalProps = window.__JHITS_PLUGIN_PROPS__?.[pluginKey] || window.__JHITS_PLUGIN_PROPS__?.['newsletter'];
|
|
30
|
+
if (globalProps && globalProps[key] !== undefined)
|
|
31
|
+
return globalProps[key];
|
|
32
|
+
// 4. Default
|
|
33
|
+
return defaultValue;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Resolves all plugin configuration
|
|
37
|
+
*/
|
|
38
|
+
export function resolvePluginConfig(props) {
|
|
39
|
+
return {
|
|
40
|
+
customBlocks: resolveConfigValue('customBlocks', props.customBlocks, []),
|
|
41
|
+
darkMode: resolveConfigValue('darkMode', props.darkMode, true),
|
|
42
|
+
backgroundColors: resolveConfigValue('backgroundColors', props.backgroundColors, undefined),
|
|
43
|
+
translations: resolveConfigValue('translations', props.translations, undefined),
|
|
44
|
+
unsubscribeTranslations: resolveConfigValue('unsubscribeTranslations', props.unsubscribeTranslations, undefined),
|
|
45
|
+
emailConfig: resolveConfigValue('emailConfig', props.emailConfig, undefined),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
*
|
|
6
6
|
* The registry is a singleton that starts empty and is populated by client apps
|
|
7
7
|
*/
|
|
8
|
-
import { BlockTypeDefinition } from '../types/block';
|
|
8
|
+
import { BlockTypeDefinition, ClientBlockDefinition } from '../types/block';
|
|
9
9
|
interface IBlockRegistry {
|
|
10
10
|
register(definition: BlockTypeDefinition): void;
|
|
11
|
+
registerClientBlocks(definitions: ClientBlockDefinition[]): void;
|
|
11
12
|
get(type: string): BlockTypeDefinition | undefined;
|
|
12
13
|
getAll(): BlockTypeDefinition[];
|
|
13
14
|
has(type: string): boolean;
|
|
@@ -19,7 +20,14 @@ interface IBlockRegistry {
|
|
|
19
20
|
*/
|
|
20
21
|
declare class BlockRegistryImpl implements IBlockRegistry {
|
|
21
22
|
private blocks;
|
|
23
|
+
constructor();
|
|
24
|
+
private registerDefaultBlocks;
|
|
22
25
|
register(definition: BlockTypeDefinition): void;
|
|
26
|
+
/**
|
|
27
|
+
* Register multiple client blocks at once
|
|
28
|
+
* This is the primary method for client applications to register their blocks
|
|
29
|
+
*/
|
|
30
|
+
registerClientBlocks(definitions: ClientBlockDefinition[]): void;
|
|
23
31
|
get(type: string): BlockTypeDefinition | undefined;
|
|
24
32
|
getAll(): BlockTypeDefinition[];
|
|
25
33
|
has(type: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/BlockRegistry.
|
|
1
|
+
{"version":3,"file":"BlockRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/BlockRegistry.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACH,mBAAmB,EACnB,qBAAqB,EAGxB,MAAM,gBAAgB,CAAC;AAwGxB,UAAU,cAAc;IACpB,QAAQ,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAChD,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;IACjE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC;IACnD,MAAM,IAAI,mBAAmB,EAAE,CAAC;IAChC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,KAAK,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,cAAM,iBAAkB,YAAW,cAAc;IAC7C,OAAO,CAAC,MAAM,CAA+C;;IAO7D,OAAO,CAAC,qBAAqB;IAkD7B,QAAQ,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI;IAY/C;;;OAGG;IACH,oBAAoB,CAAC,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAI;IAsBhE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAWlD,MAAM,IAAI,mBAAmB,EAAE;IAI/B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,KAAK,IAAI,IAAI;CAIhB;AAGD,eAAO,MAAM,aAAa,mBAA0B,CAAC;AACrD,eAAO,MAAM,aAAa,mBAAgB,CAAC"}
|
|
@@ -1,10 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Type, Heading as HeadingIcon, List, Minus } from 'lucide-react';
|
|
3
|
+
// --- Default Block Components ---
|
|
4
|
+
// Paragraph
|
|
5
|
+
const DefaultParagraphEdit = ({ block, onUpdate }) => (_jsx("textarea", { value: block.data.text || '', onChange: (e) => onUpdate({ text: e.target.value }), onInput: (e) => {
|
|
6
|
+
const target = e.target;
|
|
7
|
+
target.style.height = 'auto';
|
|
8
|
+
target.style.height = `${target.scrollHeight}px`;
|
|
9
|
+
}, placeholder: "Type your text...", className: "w-full bg-transparent border-none outline-none focus:ring-0 p-0 resize-none min-h-[1.5em] font-serif text-[18px] leading-[1.625] text-[#1a2e26] overflow-hidden" }));
|
|
10
|
+
const DefaultParagraphPreview = ({ block }) => (_jsx("p", { className: "font-serif text-[18px] leading-[1.625] text-[#1a2e26]", dangerouslySetInnerHTML: { __html: block.data.html || block.data.text || '' } }));
|
|
11
|
+
// Heading
|
|
12
|
+
const DefaultHeadingEdit = ({ block, onUpdate }) => {
|
|
13
|
+
const level = block.data.level || 2;
|
|
14
|
+
const fontSize = level === 1 ? '48px' : level === 2 ? '36px' : level === 3 ? '30px' : '20px';
|
|
15
|
+
return (_jsx("input", { type: "text", value: block.data.text || '', onChange: (e) => onUpdate({ text: e.target.value }), placeholder: "Heading...", style: { fontSize, lineHeight: '1.2' }, className: "w-full bg-transparent border-none outline-none focus:ring-0 p-0 font-serif font-bold text-[#1a2e26]" }));
|
|
16
|
+
};
|
|
17
|
+
const DefaultHeadingPreview = ({ block }) => {
|
|
18
|
+
const level = block.data.level || 2;
|
|
19
|
+
const fontSize = level === 1 ? '48px' : level === 2 ? '36px' : level === 3 ? '30px' : '20px';
|
|
20
|
+
const Tag = `h${level}`;
|
|
21
|
+
return (_jsx(Tag, { style: { fontSize, lineHeight: '1.2' }, className: "font-serif font-bold text-[#1a2e26]", dangerouslySetInnerHTML: { __html: block.data.text || '' } }));
|
|
22
|
+
};
|
|
23
|
+
// List
|
|
24
|
+
const DefaultListEdit = ({ block, onUpdate }) => {
|
|
25
|
+
const items = Array.isArray(block.data.items) ? block.data.items : [''];
|
|
26
|
+
return (_jsxs("div", { className: "space-y-2", children: [items.map((item, i) => (_jsxs("div", { className: "flex gap-2", children: [_jsx("span", { className: "text-neutral-400", children: "\u2022" }), _jsx("input", { type: "text", value: typeof item === 'string' ? item : item.text || '', onChange: (e) => {
|
|
27
|
+
const newItems = [...items];
|
|
28
|
+
newItems[i] = e.target.value;
|
|
29
|
+
onUpdate({ items: newItems });
|
|
30
|
+
}, className: "flex-1 bg-transparent border-none outline-none focus:ring-0 p-0 text-[18px] leading-[1.625] font-serif" })] }, i))), _jsx("button", { type: "button", onClick: () => onUpdate({ items: [...items, ''] }), className: "text-xs text-primary font-bold hover:underline", children: "+ Add Item" })] }));
|
|
31
|
+
};
|
|
32
|
+
const DefaultListPreview = ({ block }) => {
|
|
33
|
+
const items = Array.isArray(block.data.items) ? block.data.items : [];
|
|
34
|
+
const Tag = block.data.type === 'ol' ? 'ol' : 'ul';
|
|
35
|
+
return (_jsx(Tag, { className: "list-disc pl-5 space-y-1 font-serif text-[18px] leading-[1.625] text-[#1a2e26]", children: items.map((item, i) => (_jsx("li", { children: typeof item === 'string' ? item : item.text || '' }, i))) }));
|
|
36
|
+
};
|
|
8
37
|
/**
|
|
9
38
|
* Block Registry Implementation
|
|
10
39
|
* Singleton that manages all block types in the system
|
|
@@ -12,12 +41,100 @@
|
|
|
12
41
|
class BlockRegistryImpl {
|
|
13
42
|
constructor() {
|
|
14
43
|
this.blocks = new Map();
|
|
44
|
+
// Register default blocks on instantiation (server & client)
|
|
45
|
+
this.registerDefaultBlocks();
|
|
46
|
+
}
|
|
47
|
+
registerDefaultBlocks() {
|
|
48
|
+
const defaults = [
|
|
49
|
+
{
|
|
50
|
+
type: 'paragraph',
|
|
51
|
+
name: 'Paragraph',
|
|
52
|
+
description: 'Simple text paragraph',
|
|
53
|
+
icon: Type,
|
|
54
|
+
category: 'text',
|
|
55
|
+
defaultData: { text: '' },
|
|
56
|
+
components: { Edit: DefaultParagraphEdit, Preview: DefaultParagraphPreview, Icon: Type }
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: 'heading',
|
|
60
|
+
name: 'Heading',
|
|
61
|
+
description: 'Section heading',
|
|
62
|
+
icon: HeadingIcon,
|
|
63
|
+
category: 'text',
|
|
64
|
+
defaultData: { text: '', level: 2 },
|
|
65
|
+
components: { Edit: DefaultHeadingEdit, Preview: DefaultHeadingPreview, Icon: HeadingIcon }
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
type: 'list',
|
|
69
|
+
name: 'List',
|
|
70
|
+
description: 'Bullet or numbered list',
|
|
71
|
+
icon: List,
|
|
72
|
+
category: 'text',
|
|
73
|
+
defaultData: { items: [''], type: 'ul' },
|
|
74
|
+
components: { Edit: DefaultListEdit, Preview: DefaultListPreview, Icon: List }
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
type: 'divider',
|
|
78
|
+
name: 'Divider',
|
|
79
|
+
description: 'Horizontal separator',
|
|
80
|
+
icon: Minus,
|
|
81
|
+
category: 'layout',
|
|
82
|
+
defaultData: {},
|
|
83
|
+
components: {
|
|
84
|
+
Edit: () => _jsx("hr", { className: "my-4 border-t border-neutral-200" }),
|
|
85
|
+
Preview: () => _jsx("hr", { className: "my-4 border-t border-neutral-200" }),
|
|
86
|
+
Icon: Minus
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
];
|
|
90
|
+
for (const def of defaults) {
|
|
91
|
+
// Use register to ensure it's also added to window
|
|
92
|
+
this.register(def);
|
|
93
|
+
}
|
|
15
94
|
}
|
|
16
95
|
register(definition) {
|
|
17
96
|
this.blocks.set(definition.type, definition);
|
|
97
|
+
// Also attach to window for cross-context access
|
|
98
|
+
if (typeof window !== 'undefined') {
|
|
99
|
+
if (!window.__JHITS_NEWSLETTER_REGISTRY__) {
|
|
100
|
+
window.__JHITS_NEWSLETTER_REGISTRY__ = new Map();
|
|
101
|
+
}
|
|
102
|
+
window.__JHITS_NEWSLETTER_REGISTRY__.set(definition.type, definition);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Register multiple client blocks at once
|
|
107
|
+
* This is the primary method for client applications to register their blocks
|
|
108
|
+
*/
|
|
109
|
+
registerClientBlocks(definitions) {
|
|
110
|
+
for (const def of definitions) {
|
|
111
|
+
if (!def.type || !def.name || !def.components)
|
|
112
|
+
continue;
|
|
113
|
+
if (!def.components.Edit || !def.components.Preview)
|
|
114
|
+
continue;
|
|
115
|
+
const blockDefinition = {
|
|
116
|
+
type: def.type,
|
|
117
|
+
name: def.name,
|
|
118
|
+
description: def.description,
|
|
119
|
+
icon: def.icon || def.components.Icon,
|
|
120
|
+
defaultData: def.defaultData,
|
|
121
|
+
validate: def.validate,
|
|
122
|
+
isContainer: def.isContainer,
|
|
123
|
+
allowedChildren: def.allowedChildren,
|
|
124
|
+
category: def.category || 'custom',
|
|
125
|
+
components: def.components,
|
|
126
|
+
};
|
|
127
|
+
this.register(blockDefinition);
|
|
128
|
+
}
|
|
18
129
|
}
|
|
19
130
|
get(type) {
|
|
20
|
-
|
|
131
|
+
const block = this.blocks.get(type);
|
|
132
|
+
if (block)
|
|
133
|
+
return block;
|
|
134
|
+
if (typeof window !== 'undefined' && window.__JHITS_NEWSLETTER_REGISTRY__) {
|
|
135
|
+
return window.__JHITS_NEWSLETTER_REGISTRY__.get(type);
|
|
136
|
+
}
|
|
137
|
+
return undefined;
|
|
21
138
|
}
|
|
22
139
|
getAll() {
|
|
23
140
|
return Array.from(this.blocks.values());
|
|
@@ -27,6 +144,7 @@ class BlockRegistryImpl {
|
|
|
27
144
|
}
|
|
28
145
|
clear() {
|
|
29
146
|
this.blocks.clear();
|
|
147
|
+
this.registerDefaultBlocks(); // Re-add defaults after clear
|
|
30
148
|
}
|
|
31
149
|
}
|
|
32
150
|
// Export singleton instance
|
|
@@ -31,15 +31,25 @@ export interface EditorProviderProps {
|
|
|
31
31
|
/** Background color for dark mode (optional) */
|
|
32
32
|
dark?: string;
|
|
33
33
|
};
|
|
34
|
+
/** Localized strings for modular blocks in the editor */
|
|
35
|
+
translations?: Record<string, any>;
|
|
34
36
|
/** If true, this editor is for the welcome email */
|
|
35
37
|
isWelcomeEmail?: boolean;
|
|
38
|
+
/** Email configuration (logo, footer, etc.) */
|
|
39
|
+
emailConfig?: {
|
|
40
|
+
logoUrl?: string;
|
|
41
|
+
logoAlt?: string;
|
|
42
|
+
footerText?: string;
|
|
43
|
+
};
|
|
44
|
+
/** Global translations for unsubscribe text */
|
|
45
|
+
unsubscribeTranslations?: Record<string, string>;
|
|
36
46
|
}
|
|
37
47
|
/**
|
|
38
48
|
* Editor Provider
|
|
39
49
|
* Provides editor state and actions to child components
|
|
40
50
|
* Automatically registers client-provided blocks on mount
|
|
41
51
|
*/
|
|
42
|
-
export declare function EditorProvider({ children, initialState, onSave, customBlocks, darkMode, backgroundColors, isWelcomeEmail }: EditorProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
export declare function EditorProvider({ children, initialState, onSave, customBlocks, darkMode, backgroundColors, translations, isWelcomeEmail, emailConfig, unsubscribeTranslations }: EditorProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
43
53
|
/**
|
|
44
54
|
* Hook to access editor context
|
|
45
55
|
* @throws Error if used outside EditorProvider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorContext.d.ts","sourceRoot":"","sources":["../../src/state/EditorContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAmG,MAAM,OAAO,CAAC;AAExH,OAAO,EAAE,WAAW,EAAoC,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAMvD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,sCAAsC;IACtC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF;;;OAGG;IACH,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACvC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE;QACf,iDAAiD;QACjD,KAAK,EAAE,MAAM,CAAC;QACd,gDAAgD;QAChD,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,oDAAoD;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"EditorContext.d.ts","sourceRoot":"","sources":["../../src/state/EditorContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAmG,MAAM,OAAO,CAAC;AAExH,OAAO,EAAE,WAAW,EAAoC,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAMvD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,sCAAsC;IACtC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF;;;OAGG;IACH,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACvC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE;QACf,iDAAiD;QACjD,KAAK,EAAE,MAAM,CAAC;QACd,gDAAgD;QAChD,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,oDAAoD;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+CAA+C;IAC/C,WAAW,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,+CAA+C;IAC/C,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC3B,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,YAAiB,EACjB,QAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,WAAW,EACX,uBAAuB,EAC1B,EAAE,mBAAmB,2CAoOrB;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C"}
|
|
@@ -16,19 +16,33 @@ const EditorContext = createContext(null);
|
|
|
16
16
|
* Provides editor state and actions to child components
|
|
17
17
|
* Automatically registers client-provided blocks on mount
|
|
18
18
|
*/
|
|
19
|
-
export function EditorProvider({ children, initialState, onSave, customBlocks = [], darkMode = true, backgroundColors, isWelcomeEmail }) {
|
|
20
|
-
|
|
19
|
+
export function EditorProvider({ children, initialState, onSave, customBlocks = [], darkMode = true, backgroundColors, translations, isWelcomeEmail, emailConfig, unsubscribeTranslations }) {
|
|
20
|
+
const [state, dispatch] = useReducer(editorReducer, { ...initialEditorState, ...initialState });
|
|
21
|
+
// Track registered blocks in state to trigger re-renders
|
|
22
|
+
const [registeredBlockTypes, setRegisteredBlockBlocks] = useState(() => BlockRegistry.getAll().map(b => b.type));
|
|
23
|
+
// Register client blocks on mount or when they change
|
|
21
24
|
useEffect(() => {
|
|
22
25
|
if (customBlocks && customBlocks.length > 0) {
|
|
23
26
|
try {
|
|
24
|
-
|
|
27
|
+
BlockRegistry.registerClientBlocks(customBlocks);
|
|
28
|
+
// Update state to trigger re-render
|
|
29
|
+
setRegisteredBlockBlocks(BlockRegistry.getAll().map(b => b.type));
|
|
25
30
|
}
|
|
26
31
|
catch (error) {
|
|
27
32
|
console.error('[NewsletterEditorContext] Failed to register custom blocks:', error);
|
|
28
33
|
}
|
|
29
34
|
}
|
|
30
35
|
}, [customBlocks]);
|
|
31
|
-
|
|
36
|
+
// Periodically check for new blocks in global registry (fallback for late loads)
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
const interval = setInterval(() => {
|
|
39
|
+
const currentTypes = BlockRegistry.getAll().map(b => b.type);
|
|
40
|
+
if (currentTypes.length !== registeredBlockTypes.length) {
|
|
41
|
+
setRegisteredBlockBlocks(currentTypes);
|
|
42
|
+
}
|
|
43
|
+
}, 1000);
|
|
44
|
+
return () => clearInterval(interval);
|
|
45
|
+
}, [registeredBlockTypes.length]);
|
|
32
46
|
// Use a ref to always have access to the latest state in callbacks
|
|
33
47
|
const stateRef = useRef(state);
|
|
34
48
|
stateRef.current = state;
|
|
@@ -178,6 +192,10 @@ export function EditorProvider({ children, initialState, onSave, customBlocks =
|
|
|
178
192
|
dispatch,
|
|
179
193
|
darkMode,
|
|
180
194
|
backgroundColors,
|
|
195
|
+
translations,
|
|
196
|
+
emailConfig,
|
|
197
|
+
unsubscribeTranslations,
|
|
198
|
+
registeredBlockTypes,
|
|
181
199
|
helpers: {
|
|
182
200
|
addBlock,
|
|
183
201
|
updateBlock,
|
|
@@ -192,7 +210,7 @@ export function EditorProvider({ children, initialState, onSave, customBlocks =
|
|
|
192
210
|
},
|
|
193
211
|
canUndo: historyIndex > 0 && history.length > 0,
|
|
194
212
|
canRedo: historyIndex < history.length - 1,
|
|
195
|
-
}), [state, dispatch, darkMode, backgroundColors, addBlock, updateBlock, deleteBlock, duplicateBlock, moveBlock, loadNewsletter, resetEditor, save, undo, redo, historyIndex, history.length]);
|
|
213
|
+
}), [state, dispatch, darkMode, backgroundColors, translations, emailConfig, unsubscribeTranslations, registeredBlockTypes, addBlock, updateBlock, deleteBlock, duplicateBlock, moveBlock, loadNewsletter, resetEditor, save, undo, redo, historyIndex, history.length]);
|
|
196
214
|
return _jsx(EditorContext.Provider, { value: value, children: children });
|
|
197
215
|
}
|
|
198
216
|
/**
|
package/dist/state/types.d.ts
CHANGED
|
@@ -122,6 +122,18 @@ export interface EditorContextValue {
|
|
|
122
122
|
/** Background color for dark mode (optional) */
|
|
123
123
|
dark?: string;
|
|
124
124
|
};
|
|
125
|
+
/** Localized strings for modular blocks in the editor */
|
|
126
|
+
translations?: Record<string, any>;
|
|
127
|
+
/** Email configuration (logo, footer, etc.) */
|
|
128
|
+
emailConfig?: {
|
|
129
|
+
logoUrl?: string;
|
|
130
|
+
logoAlt?: string;
|
|
131
|
+
footerText?: string;
|
|
132
|
+
};
|
|
133
|
+
/** Global translations for unsubscribe text */
|
|
134
|
+
unsubscribeTranslations?: Record<string, string>;
|
|
135
|
+
/** List of registered block types (used to trigger re-renders) */
|
|
136
|
+
registeredBlockTypes: string[];
|
|
125
137
|
/** Helper functions for common operations */
|
|
126
138
|
helpers: {
|
|
127
139
|
/** Add a new block (supports nested containers via containerId) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types/block.d.ts
CHANGED
|
@@ -57,6 +57,15 @@ export interface BlockEditProps {
|
|
|
57
57
|
isDragging?: boolean;
|
|
58
58
|
/** Focus mode state */
|
|
59
59
|
focusMode?: boolean;
|
|
60
|
+
/** Additional rendering context */
|
|
61
|
+
context?: {
|
|
62
|
+
/** Site ID */
|
|
63
|
+
siteId?: string;
|
|
64
|
+
/** Locale */
|
|
65
|
+
locale?: string;
|
|
66
|
+
/** Custom render props (e.g. translations) */
|
|
67
|
+
[key: string]: unknown;
|
|
68
|
+
};
|
|
60
69
|
/** Child blocks (for container blocks like Section, Columns) */
|
|
61
70
|
childBlocks?: Block[];
|
|
62
71
|
/** Add a child block (for container blocks) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/types/block.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/types/block.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,8 @@ export interface NewsletterMetadata {
|
|
|
62
62
|
subject: string;
|
|
63
63
|
/** Preview text */
|
|
64
64
|
previewText?: string;
|
|
65
|
+
/** Unsubscribe text (localized) */
|
|
66
|
+
unsubscribeText?: string;
|
|
65
67
|
/** Language code */
|
|
66
68
|
lang?: string;
|
|
67
69
|
/** Recipient filter (all, specific language, etc.) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"newsletter.d.ts","sourceRoot":"","sources":["../../src/types/newsletter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"newsletter.d.ts","sourceRoot":"","sources":["../../src/types/newsletter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockWrapper.d.ts","sourceRoot":"","sources":["../../../src/views/CanvasEditor/BlockWrapper.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IACjD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;IACpB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAClD,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,YAAY,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAc,EACd,YAAY,EACZ,UAAU,EACV,eAAe,GAClB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"BlockWrapper.d.ts","sourceRoot":"","sources":["../../../src/views/CanvasEditor/BlockWrapper.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IACjD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;IACpB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAClD,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,YAAY,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAc,EACd,YAAY,EACZ,UAAU,EACV,eAAe,GAClB,EAAE,iBAAiB,2CA6HnB"}
|