@seliseblocks/mailcraft 0.1.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.
Files changed (89) hide show
  1. package/DOCS.md +557 -0
  2. package/LICENSE +21 -0
  3. package/README.md +126 -0
  4. package/dist/mailcraft-editor.bundle.js +519 -0
  5. package/dist/mailcraft-editor.bundle.js.map +7 -0
  6. package/examples/templates/activate-your-account.html +54 -0
  7. package/examples/templates/back-in-stock.html +63 -0
  8. package/examples/templates/cart-left-behind.html +74 -0
  9. package/examples/templates/community-giveaway.html +81 -0
  10. package/examples/templates/frontend-futures-invite.html +69 -0
  11. package/examples/templates/give-25-get-25.html +69 -0
  12. package/examples/templates/invoice-paid.html +77 -0
  13. package/examples/templates/meet-nova-launch.html +69 -0
  14. package/examples/templates/mega-weekend-sale.html +57 -0
  15. package/examples/templates/order-confirmed.html +80 -0
  16. package/examples/templates/rate-your-headphones.html +71 -0
  17. package/examples/templates/reset-your-password.html +54 -0
  18. package/examples/templates/thankyou-promo-code.html +68 -0
  19. package/examples/templates/the-sunday-brief.html +47 -0
  20. package/examples/templates/welcome-to-your-workspace.html +62 -0
  21. package/examples/templates/your-order-shipped.html +74 -0
  22. package/examples/templates/your-password-was-changed.html +58 -0
  23. package/examples/templates/your-signin-code.html +58 -0
  24. package/examples/vanilla.html +1574 -0
  25. package/package.json +66 -0
  26. package/src/core/accent.js +194 -0
  27. package/src/core/assets.js +15 -0
  28. package/src/core/binder.js +119 -0
  29. package/src/core/blocks.js +256 -0
  30. package/src/core/css-cascade.js +117 -0
  31. package/src/core/editor-core.js +1492 -0
  32. package/src/core/export.js +58 -0
  33. package/src/core/footer.js +73 -0
  34. package/src/core/i18n/ar.js +177 -0
  35. package/src/core/i18n/bg.js +152 -0
  36. package/src/core/i18n/bn.js +176 -0
  37. package/src/core/i18n/ca.js +152 -0
  38. package/src/core/i18n/cs.js +152 -0
  39. package/src/core/i18n/da.js +152 -0
  40. package/src/core/i18n/de-CH.js +152 -0
  41. package/src/core/i18n/de.js +152 -0
  42. package/src/core/i18n/dz.js +179 -0
  43. package/src/core/i18n/el.js +152 -0
  44. package/src/core/i18n/en.js +269 -0
  45. package/src/core/i18n/es.js +152 -0
  46. package/src/core/i18n/et.js +152 -0
  47. package/src/core/i18n/fi.js +152 -0
  48. package/src/core/i18n/fr.js +152 -0
  49. package/src/core/i18n/hr.js +152 -0
  50. package/src/core/i18n/hu.js +152 -0
  51. package/src/core/i18n/index.js +83 -0
  52. package/src/core/i18n/it.js +152 -0
  53. package/src/core/i18n/lt.js +152 -0
  54. package/src/core/i18n/lv.js +152 -0
  55. package/src/core/i18n/nb.js +152 -0
  56. package/src/core/i18n/nl.js +152 -0
  57. package/src/core/i18n/pl.js +152 -0
  58. package/src/core/i18n/pt.js +152 -0
  59. package/src/core/i18n/ro.js +152 -0
  60. package/src/core/i18n/ru.js +152 -0
  61. package/src/core/i18n/sk.js +152 -0
  62. package/src/core/i18n/sl.js +152 -0
  63. package/src/core/i18n/sv.js +152 -0
  64. package/src/core/i18n/tables.js +50 -0
  65. package/src/core/i18n/tr.js +152 -0
  66. package/src/core/i18n/uk.js +152 -0
  67. package/src/core/icons.js +235 -0
  68. package/src/core/ids.js +1 -0
  69. package/src/core/import-html.js +959 -0
  70. package/src/core/layout-style.js +115 -0
  71. package/src/core/parse.js +10 -0
  72. package/src/core/placeholder.js +15 -0
  73. package/src/core/sanitize.js +141 -0
  74. package/src/core/storage-limits.js +184 -0
  75. package/src/core/storage.js +85 -0
  76. package/src/core/theme.js +1 -0
  77. package/src/core/toolbar.js +67 -0
  78. package/src/core/variables.js +11 -0
  79. package/src/create-editor.js +109 -0
  80. package/src/index.js +9 -0
  81. package/src/mailcraft-editor.js +1862 -0
  82. package/src/render/block-body.js +295 -0
  83. package/src/render/canvas.js +284 -0
  84. package/src/render/fields.js +609 -0
  85. package/src/render/focus-preserve.js +158 -0
  86. package/src/render/rte.js +212 -0
  87. package/src/render/screenshot.js +132 -0
  88. package/src/render/story.js +415 -0
  89. package/src/render/style.js +452 -0
@@ -0,0 +1,54 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Activate your account</title>
6
+ </head>
7
+ <body style="margin:0; padding:0; background-color:#eef2f6;">
8
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#eef2f6;">
9
+ <tr>
10
+ <td align="center" style="padding:24px 12px;">
11
+ <table role="presentation" width="600" cellpadding="0" cellspacing="0" style="width:600px; max-width:100%; background-color:#ffffff; overflow:hidden;">
12
+ <tr>
13
+ <td align="center" style="background-color:#0065b3; padding:22px 36px;">
14
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:17px; font-weight:bold; letter-spacing:0.08em; color:#ffffff;">{{ company }}</p>
15
+ </td>
16
+ </tr>
17
+ <tr>
18
+ <td align="center" style="padding:34px 36px 8px;">
19
+ <p style="margin:0 0 12px; font-family:Arial, Helvetica, sans-serif; font-size:11px; font-weight:bold; letter-spacing:0.2em; text-transform:uppercase; color:#0065b3;">Account activation</p>
20
+ <h1 style="margin:0 0 12px; font-family:Arial, Helvetica, sans-serif; font-size:26px; line-height:1.25; color:#10243c;">One last step, {{ first_name }}</h1>
21
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:15px; line-height:1.65; color:#3f5063;">Welcome to {{ company }}. Tap the button below to activate your account &mdash; it takes less than ten seconds.</p>
22
+ </td>
23
+ </tr>
24
+ <tr>
25
+ <td align="center" style="padding:26px 36px 8px;">
26
+ <a href="https://example.com/activate" style="display:inline-block; background-color:#0065b3; color:#ffffff; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:bold; text-decoration:none; padding:14px 38px; ">Activate my account</a>
27
+ </td>
28
+ </tr>
29
+ <tr>
30
+ <td align="center" style="padding:10px 36px 4px;">
31
+ <p style="margin:0 0 6px; font-family:Arial, Helvetica, sans-serif; font-size:13px; color:#8194a7;">Button not working? Paste this into your browser:</p>
32
+ <p style="margin:0; font-family:'Courier New', Courier, monospace; font-size:12px; line-height:1.6; color:#3f5063;"><a href="https://example.com/activate" style="color:#0065b3;">https://example.com/activate</a></p>
33
+ </td>
34
+ </tr>
35
+ <tr>
36
+ <td style="padding:28px 36px 8px;">
37
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#f4f8fc; ">
38
+ <tr>
39
+ <td style="padding:16px 20px; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; line-height:1.65; color:#5b6d80;">This link is personal to <strong>{{ email }}</strong> and expires in 24 hours. If you didn&rsquo;t create an account with {{ company }}, you can safely ignore this email.</td>
40
+ </tr>
41
+ </table>
42
+ </td>
43
+ </tr>
44
+ <tr>
45
+ <td style="padding:24px 36px 30px;">
46
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11.5px; line-height:1.6; color:#8194a7;"><a href="{{ unsubscribe_url }}" style="color:#8194a7;">Unsubscribe</a> &middot; <a href="https://example.com/preferences" style="color:#8194a7;">Notification settings</a></p>
47
+ </td>
48
+ </tr>
49
+ </table>
50
+ </td>
51
+ </tr>
52
+ </table>
53
+ </body>
54
+ </html>
@@ -0,0 +1,63 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Back in stock — the one you wanted</title>
6
+ </head>
7
+ <body style="margin:0; padding:0; background-color:#faf7f2;">
8
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#faf7f2;">
9
+ <tr>
10
+ <td align="center" style="padding:24px 12px;">
11
+ <table role="presentation" width="600" cellpadding="0" cellspacing="0" style="width:600px; max-width:100%; background-color:#ffffff; ">
12
+ <tr>
13
+ <td align="center" style="padding:36px 36px 8px;">
14
+ <p style="margin:0 0 10px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; letter-spacing:0.2em; text-transform:uppercase; color:#b85c38;">Back in stock</p>
15
+ <h1 style="margin:0 0 10px; font-family:Georgia, 'Times New Roman', serif; font-size:28px; line-height:1.25; color:#29241d;">Good news, {{ first_name }}</h1>
16
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; line-height:1.65; color:#5d574c;">The Terracotta Trainer in your size is back &mdash; and your watchlist held your place in line.</p>
17
+ </td>
18
+ </tr>
19
+ <tr>
20
+ <td style="padding:24px 36px 4px;">
21
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#f6f1e9; ">
22
+ <tr>
23
+ <td width="38%" valign="middle" align="center" style="padding:22px 18px;">
24
+ <table role="presentation" cellpadding="0" cellspacing="0" style="background-color:#b85c38; ">
25
+ <tr>
26
+ <td align="center" style="padding:30px 24px;">
27
+ <p style="margin:0 0 4px; font-family:Georgia, serif; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:#f3dcc9;">Terracotta</p>
28
+ <p style="margin:0; font-family:Georgia, serif; font-size:22px; color:#ffffff;">Trainer</p>
29
+ </td>
30
+ </tr>
31
+ </table>
32
+ </td>
33
+ <td width="62%" valign="middle" style="padding:18px 18px 18px 6px;">
34
+ <h2 style="margin:0 0 6px; font-family:Georgia, serif; font-size:19px; color:#29241d;">Terracotta Trainer</h2>
35
+ <p style="margin:0 0 12px; font-family:Arial, Helvetica, sans-serif; font-size:13.5px; line-height:1.55; color:#5d574c;">Suede and canvas, hand-finished. Your size (42) is one of 60 pairs back from restock.</p>
36
+ <p style="margin:0 0 14px; font-family:Arial, Helvetica, sans-serif; font-size:15px; color:#29241d;"><span style="text-decoration:line-through; color:#a3988a;">$129</span> &nbsp;<strong>$99</strong> &nbsp;<span style="font-size:12px; color:#b85c38;">restock price</span></p>
37
+ <a href="https://example.com/product/terracotta-trainer" style="display:inline-block; background-color:#b85c38; color:#ffffff; font-family:Arial, Helvetica, sans-serif; font-size:13.5px; font-weight:bold; text-decoration:none; padding:11px 26px; ">Grab my pair</a>
38
+ </td>
39
+ </tr>
40
+ </table>
41
+ </td>
42
+ </tr>
43
+ <tr>
44
+ <td align="center" style="padding:20px 36px 8px;">
45
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:13px; color:#8b8271;">Last restock sold out in 4 days &mdash; sizes go first, pairs follow.</p>
46
+ </td>
47
+ </tr>
48
+ <tr>
49
+ <td style="padding:20px 36px 8px;">
50
+ <hr style="border:none; border-top:1px solid #eee7db; margin:0;" />
51
+ </td>
52
+ </tr>
53
+ <tr>
54
+ <td align="center" style="padding:12px 36px 32px;">
55
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11.5px; line-height:1.6; color:#a3988a;">You asked us to write when this returned, {{ email }}.<br /><a href="{{ unsubscribe_url }}" style="color:#a3988a;">Unsubscribe</a> &middot; <a href="https://example.com/preferences" style="color:#a3988a;">Preferences</a></p>
56
+ </td>
57
+ </tr>
58
+ </table>
59
+ </td>
60
+ </tr>
61
+ </table>
62
+ </body>
63
+ </html>
@@ -0,0 +1,74 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>You left something behind</title>
6
+ </head>
7
+ <body style="margin:0; padding:0; background-color:#f6f6f8;">
8
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#f6f6f8;">
9
+ <tr>
10
+ <td align="center" style="padding:24px 12px;">
11
+ <table role="presentation" width="600" cellpadding="0" cellspacing="0" style="width:600px; max-width:100%; background-color:#ffffff; ">
12
+ <tr>
13
+ <td align="center" style="padding:34px 36px 8px;">
14
+ <table role="presentation" cellpadding="0" cellspacing="0" style="background-color:#f0ecfa; ">
15
+ <tr>
16
+ <td align="center" style="padding:12px 20px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; letter-spacing:0.16em; text-transform:uppercase; color:#7048b8;">Your bag is waiting</td>
17
+ </tr>
18
+ </table>
19
+ </td>
20
+ </tr>
21
+ <tr>
22
+ <td align="center" style="padding:16px 36px 6px;">
23
+ <h1 style="margin:0 0 10px; font-family:Arial, Helvetica, sans-serif; font-size:25px; line-height:1.3; color:#241b3a;">Still thinking it over, {{ first_name }}?</h1>
24
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; line-height:1.65; color:#574d70;">Your bag is being held for the next 48 hours &mdash; with a little thank-you for coming back.</p>
25
+ </td>
26
+ </tr>
27
+ <tr>
28
+ <td style="padding:22px 36px 4px;">
29
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="border:1px solid #e7e3f2; ">
30
+ <tr>
31
+ <td width="30%" valign="middle" align="center" style="padding:22px 16px;">
32
+ <table role="presentation" cellpadding="0" cellspacing="0" style="background-color:#7048b8; ">
33
+ <tr>
34
+ <td align="center" style="padding:26px 22px;">
35
+ <p style="margin:0 0 4px; font-family:Georgia, serif; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:#dddcf3;">Chestnut</p>
36
+ <p style="margin:0; font-family:Georgia, serif; font-size:19px; color:#ffffff;">Weekend bag</p>
37
+ </td>
38
+ </tr>
39
+ </table>
40
+ </td>
41
+ <td width="70%" valign="middle" style="padding:16px 16px 16px 4px;">
42
+ <h2 style="margin:0 0 4px; font-family:Arial, Helvetica, sans-serif; font-size:16px; color:#241b3a;">Leather weekend bag</h2>
43
+ <p style="margin:0 0 10px; font-family:Arial, Helvetica, sans-serif; font-size:13px; color:#574d70;">Chestnut &middot; one size</p>
44
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#241b3a;"><span style="text-decoration:line-through; color:#9c92b8;">$210.00</span> &nbsp;<strong>$178.50</strong></p>
45
+ </td>
46
+ </tr>
47
+ <tr>
48
+ <td colspan="2" style="padding:14px 16px; background-color:#faf8fd; border-top:1px solid #e7e3f2; font-family:Arial, Helvetica, sans-serif; font-size:13px; color:#574d70;">Come-back code <strong style="font-family:'Courier New', Courier, monospace; color:#7048b8;">COMEBACK15</strong> applied at checkout &mdash; 15% off this bag.</td>
49
+ </tr>
50
+ </table>
51
+ </td>
52
+ </tr>
53
+ <tr>
54
+ <td align="center" style="padding:22px 36px 6px;">
55
+ <a href="https://example.com/cart" style="display:inline-block; background-color:#7048b8; color:#ffffff; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:bold; text-decoration:none; padding:14px 40px; ">Finish my order</a>
56
+ <p style="margin:12px 0 0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; color:#9c92b8;">Held until Friday, 18:00 &mdash; after that the bag returns to the shelf.</p>
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td style="padding:22px 36px 8px;">
61
+ <hr style="border:none; border-top:1px solid #eceaf3; margin:0;" />
62
+ </td>
63
+ </tr>
64
+ <tr>
65
+ <td align="center" style="padding:12px 36px 32px;">
66
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11.5px; line-height:1.6; color:#9c92b8;">Sent to {{ email }}.<br /><a href="{{ unsubscribe_url }}" style="color:#9c92b8;">Unsubscribe</a> &middot; <a href="https://example.com/preferences" style="color:#9c92b8;">Preferences</a></p>
67
+ </td>
68
+ </tr>
69
+ </table>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ </body>
74
+ </html>
@@ -0,0 +1,81 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>You&rsquo;re in — the community giveaway</title>
6
+ </head>
7
+ <body style="margin:0; padding:0; background-color:#0c1226;">
8
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#0c1226;">
9
+ <tr>
10
+ <td align="center" style="padding:24px 12px;">
11
+ <table role="presentation" width="600" cellpadding="0" cellspacing="0" style="width:600px; max-width:100%; background-color:#131b36; ">
12
+ <tr>
13
+ <td align="center" style="height:10px; line-height:10px; font-size:0; padding:0;">
14
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="table-layout:fixed;">
15
+ <tr>
16
+ <td width="20%" style="height:10px; background-color:#f59e0b; font-size:0; line-height:10px; ">&nbsp;</td>
17
+ <td width="20%" style="height:10px; background-color:#ef4444; font-size:0; line-height:10px;">&nbsp;</td>
18
+ <td width="20%" style="height:10px; background-color:#ec4899; font-size:0; line-height:10px;">&nbsp;</td>
19
+ <td width="20%" style="height:10px; background-color:#8b5cf6; font-size:0; line-height:10px;">&nbsp;</td>
20
+ <td width="20%" style="height:10px; background-color:#38bdf8; font-size:0; line-height:10px; ">&nbsp;</td>
21
+ </tr>
22
+ </table>
23
+ </td>
24
+ </tr>
25
+ <tr>
26
+ <td align="center" style="padding:36px 36px 8px;">
27
+ <p style="margin:0 0 12px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; letter-spacing:0.22em; text-transform:uppercase; color:#38bdf8;">The community giveaway</p>
28
+ <h1 style="margin:0 0 12px; font-family:Arial, Helvetica, sans-serif; font-size:34px; line-height:1.15; color:#ffffff;">One year free &mdash;<br />for you and a friend</h1>
29
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:15px; line-height:1.65; color:#aeb8d8;">We turned five this month. To celebrate, five lucky members win a free year &mdash; and each brings a friend along. Entry takes one click, {{ first_name }}.</p>
30
+ </td>
31
+ </tr>
32
+ <tr>
33
+ <td style="padding:26px 40px 4px;">
34
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0">
35
+ <tr>
36
+ <td width="50%" valign="top" style="padding:0 8px 0 0;">
37
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#0c1226; ">
38
+ <tr>
39
+ <td style="padding:16px 18px;">
40
+ <p style="margin:0 0 6px; font-family:Arial, Helvetica, sans-serif; font-size:26px; font-weight:bold; color:#f59e0b;">5</p>
41
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; line-height:1.5; color:#aeb8d8;">free yearly plans up for grabs</p>
42
+ </td>
43
+ </tr>
44
+ </table>
45
+ </td>
46
+ <td width="50%" valign="top" style="padding:0 0 0 8px;">
47
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#0c1226; ">
48
+ <tr>
49
+ <td style="padding:16px 18px;">
50
+ <p style="margin:0 0 6px; font-family:Arial, Helvetica, sans-serif; font-size:26px; font-weight:bold; color:#38bdf8;">+5</p>
51
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; line-height:1.5; color:#aeb8d8;">friend passes each winner can gift</p>
52
+ </td>
53
+ </tr>
54
+ </table>
55
+ </td>
56
+ </tr>
57
+ </table>
58
+ </td>
59
+ </tr>
60
+ <tr>
61
+ <td align="center" style="padding:24px 36px 8px;">
62
+ <a href="https://example.com/giveaway" style="display:inline-block; background-color:#f59e0b; color:#0c1226; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:bold; text-decoration:none; padding:14px 44px; ">Enter the giveaway</a>
63
+ <p style="margin:12px 0 0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; color:#8a94b8;">Drawn live on stream, Friday 18 September &middot; no purchase needed.</p>
64
+ </td>
65
+ </tr>
66
+ <tr>
67
+ <td style="padding:26px 36px 8px;">
68
+ <hr style="border:none; border-top:1px solid #232e58; margin:0;" />
69
+ </td>
70
+ </tr>
71
+ <tr>
72
+ <td align="center" style="padding:12px 36px 32px;">
73
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11.5px; line-height:1.6; color:#5d6788;">Sent to {{ email }} &middot; Winners notified by reply, never by DM.<br /><a href="{{ unsubscribe_url }}" style="color:#5d6788;">Unsubscribe</a> &middot; <a href="https://example.com/preferences" style="color:#5d6788;">Preferences</a></p>
74
+ </td>
75
+ </tr>
76
+ </table>
77
+ </td>
78
+ </tr>
79
+ </table>
80
+ </body>
81
+ </html>
@@ -0,0 +1,69 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>You&rsquo;re invited — Frontend Futures, 24 Sept</title>
6
+ </head>
7
+ <body style="margin:0; padding:0; background-color:#0e0c1a;">
8
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#0e0c1a;">
9
+ <tr>
10
+ <td align="center" style="padding:24px 12px;">
11
+ <table role="presentation" width="600" cellpadding="0" cellspacing="0" style="width:600px; max-width:100%; background-color:#171332; ">
12
+ <tr>
13
+ <td align="center" style="padding:12px 36px 0;">
14
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11px; font-weight:bold; letter-spacing:0.24em; text-transform:uppercase; color:#8f7bd8;">{{ company }} presents</p>
15
+ </td>
16
+ </tr>
17
+ <tr>
18
+ <td align="center" style="padding:20px 36px 6px;">
19
+ <h1 style="margin:0 0 8px; font-family:Georgia, 'Times New Roman', serif; font-size:42px; line-height:1.05; color:#ffffff;">Frontend<br />Futures</h1>
20
+ <p style="margin:0; font-family:Georgia, serif; font-size:15px; font-style:italic; color:#c3b6f2;">A one-evening conference on what the web becomes next.</p>
21
+ </td>
22
+ </tr>
23
+ <tr>
24
+ <td align="center" style="padding:22px 36px 6px;">
25
+ <table role="presentation" cellpadding="0" cellspacing="0">
26
+ <tr>
27
+ <td align="center" valign="top" style="padding:0 18px;">
28
+ <p style="margin:0 0 4px; font-family:Arial, Helvetica, sans-serif; font-size:22px; font-weight:bold; color:#a48ef0;">24</p>
29
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:#8f83b8;">September</p>
30
+ </td>
31
+ <td align="center" valign="top" style="padding:0 18px; border-left:1px solid #332a5e;">
32
+ <p style="margin:0 0 4px; font-family:Arial, Helvetica, sans-serif; font-size:22px; font-weight:bold; color:#a48ef0;">18:30</p>
33
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:#8f83b8;">Doors</p>
34
+ </td>
35
+ <td align="center" valign="top" style="padding:0 18px; border-left:1px solid #332a5e;">
36
+ <p style="margin:0 0 4px; font-family:Arial, Helvetica, sans-serif; font-size:22px; font-weight:bold; color:#a48ef0;">7</p>
37
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:#8f83b8;">Talks</p>
38
+ </td>
39
+ </tr>
40
+ </table>
41
+ </td>
42
+ </tr>
43
+ <tr>
44
+ <td style="padding:26px 44px 6px;">
45
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; line-height:1.7; color:#b3a9d6;">{{ first_name }}, one evening, seven short talks, zero sales pitches &mdash; view transitions, state machines, and what accessibility looks like from the inside. Followed by drinks and argumentative dessert.</p>
46
+ </td>
47
+ </tr>
48
+ <tr>
49
+ <td align="center" style="padding:24px 36px 8px;">
50
+ <a href="https://example.com/events/frontend-futures" style="display:inline-block; background-color:#a48ef0; color:#171332; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:bold; text-decoration:none; padding:14px 44px; ">Reserve a seat &mdash; free</a>
51
+ <p style="margin:12px 0 0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; color:#8f83b8;">The Atrium, 4 Harbour Lane &middot; seats are first come, first served</p>
52
+ </td>
53
+ </tr>
54
+ <tr>
55
+ <td style="padding:26px 36px 8px;">
56
+ <hr style="border:none; border-top:1px solid #2c2454; margin:0;" />
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td align="center" style="padding:12px 36px 32px;">
61
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11.5px; line-height:1.6; color:#6d6494;">Can&rsquo;t make it in person? The talks are streamed and archived.<br />Sent to {{ email }} &middot; <a href="{{ unsubscribe_url }}" style="color:#6d6494;">Unsubscribe</a> &middot; <a href="https://example.com/preferences" style="color:#6d6494;">Preferences</a></p>
62
+ </td>
63
+ </tr>
64
+ </table>
65
+ </td>
66
+ </tr>
67
+ </table>
68
+ </body>
69
+ </html>
@@ -0,0 +1,69 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Give $25, get $25</title>
6
+ </head>
7
+ <body style="margin:0; padding:0; background-color:#0f1c17;">
8
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#0f1c17;">
9
+ <tr>
10
+ <td align="center" style="padding:24px 12px;">
11
+ <table role="presentation" width="600" cellpadding="0" cellspacing="0" style="width:600px; max-width:100%; background-color:#16352a; ">
12
+ <tr>
13
+ <td align="center" style="background-color:#1e7a4f; padding:30px 32px 26px; ">
14
+ <p style="margin:0 0 10px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; letter-spacing:0.22em; text-transform:uppercase; color:#cdeeda;">The {{ company }} referral programme</p>
15
+ <h1 style="margin:0 0 8px; font-family:Arial, Helvetica, sans-serif; font-size:36px; line-height:1.1; color:#ffffff;">Give $25 &middot; Get $25</h1>
16
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; line-height:1.5; color:#d9efe2;">You both win &mdash; they save on their first order, you get credit when it ships.</p>
17
+ </td>
18
+ </tr>
19
+ <tr>
20
+ <td align="center" style="padding:28px 36px 8px;">
21
+ <p style="margin:0 0 8px; font-family:Arial, Helvetica, sans-serif; font-size:13px; color:#9dc3ad;">Your personal link</p>
22
+ <table role="presentation" cellpadding="0" cellspacing="0" style="background-color:#0f1c17; ">
23
+ <tr>
24
+ <td style="padding:12px 22px; font-family:'Courier New', Courier, monospace; font-size:13px; color:#e9f5ee;">example.com/r/{{ first_name }}-8f2</td>
25
+ </tr>
26
+ </table>
27
+ </td>
28
+ </tr>
29
+ <tr>
30
+ <td align="center" style="padding:18px 36px 8px;">
31
+ <a href="https://example.com/r/share" style="display:inline-block; background-color:#ffd166; color:#16352a; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:bold; text-decoration:none; padding:14px 42px; ">Share my link</a>
32
+ </td>
33
+ </tr>
34
+ <tr>
35
+ <td style="padding:26px 36px 4px;">
36
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0">
37
+ <tr>
38
+ <td width="33%" valign="top" align="center" style="padding:0 8px;">
39
+ <h3 style="margin:0 0 6px; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; color:#ffffff;">1. Share</h3>
40
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; line-height:1.55; color:#9dc3ad;">Send your link to a friend who&rsquo;d like this as much as you do.</p>
41
+ </td>
42
+ <td width="34%" valign="top" align="center" style="padding:0 8px;">
43
+ <h3 style="margin:0 0 6px; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; color:#ffffff;">2. They save $25</h3>
44
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; line-height:1.55; color:#9dc3ad;">Their first order over $75 comes $25 off, automatically.</p>
45
+ </td>
46
+ <td width="33%" valign="top" align="center" style="padding:0 8px;">
47
+ <h3 style="margin:0 0 6px; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; color:#ffffff;">3. You get $25</h3>
48
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; line-height:1.55; color:#9dc3ad;">Credit lands in your account the day their order ships.</p>
49
+ </td>
50
+ </tr>
51
+ </table>
52
+ </td>
53
+ </tr>
54
+ <tr>
55
+ <td style="padding:28px 36px 8px;">
56
+ <hr style="border:none; border-top:1px solid #24503d; margin:0;" />
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td align="center" style="padding:12px 36px 32px;">
61
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11.5px; line-height:1.6; color:#6f9784;">No cap on rewards &mdash; refer three friends, get $75. Sent to {{ email }}.<br /><a href="{{ unsubscribe_url }}" style="color:#6f9784;">Unsubscribe</a> &middot; <a href="https://example.com/preferences" style="color:#6f9784;">Preferences</a></p>
62
+ </td>
63
+ </tr>
64
+ </table>
65
+ </td>
66
+ </tr>
67
+ </table>
68
+ </body>
69
+ </html>
@@ -0,0 +1,77 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Invoice paid — #INV-2051</title>
6
+ </head>
7
+ <body style="margin:0; padding:0; background-color:#f4f6f9;">
8
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#f4f6f9;">
9
+ <tr>
10
+ <td align="center" style="padding:24px 12px;">
11
+ <table role="presentation" width="600" cellpadding="0" cellspacing="0" style="width:600px; max-width:100%; background-color:#ffffff; ">
12
+ <tr>
13
+ <td style="padding:30px 36px 10px;">
14
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0">
15
+ <tr>
16
+ <td style="font-family:Arial, Helvetica, sans-serif; font-size:19px; font-weight:bold; color:#14324f;">{{ company }}</td>
17
+ <td align="right" style="font-family:Arial, Helvetica, sans-serif; font-size:12px; line-height:1.5; color:#6b7c8f;">Invoice <strong style="color:#14324f;">#INV-2051</strong><br />Issued 26 August 2026</td>
18
+ </tr>
19
+ </table>
20
+ </td>
21
+ </tr>
22
+ <tr>
23
+ <td style="padding:18px 36px 8px;">
24
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#e9f7ee; ">
25
+ <tr>
26
+ <td style="padding:14px 18px; font-family:Arial, Helvetica, sans-serif; font-size:14px; font-weight:bold; color:#1e7a3c;">&#10004; &nbsp;Paid in full &mdash; thank you, {{ first_name }}</td>
27
+ </tr>
28
+ </table>
29
+ </td>
30
+ </tr>
31
+ <tr>
32
+ <td style="padding:22px 36px 4px;">
33
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="border:1px solid #e2e8f0; ">
34
+ <tr>
35
+ <td style="padding:12px 18px; border-bottom:1px solid #e2e8f0; font-family:Arial, Helvetica, sans-serif; font-size:11px; font-weight:bold; letter-spacing:0.12em; text-transform:uppercase; color:#8194a7;">Description</td>
36
+ <td align="right" style="padding:12px 18px; border-bottom:1px solid #e2e8f0; font-family:Arial, Helvetica, sans-serif; font-size:11px; font-weight:bold; letter-spacing:0.12em; text-transform:uppercase; color:#8194a7;">Amount</td>
37
+ </tr>
38
+ <tr>
39
+ <td style="padding:14px 18px; border-bottom:1px solid #e2e8f0; font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#14324f;">Pro plan &mdash; monthly</td>
40
+ <td align="right" style="padding:14px 18px; border-bottom:1px solid #e2e8f0; font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#14324f;">$49.00</td>
41
+ </tr>
42
+ <tr>
43
+ <td style="padding:14px 18px; border-bottom:1px solid #e2e8f0; font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#14324f;">Extra seats &times; 2</td>
44
+ <td align="right" style="padding:14px 18px; border-bottom:1px solid #e2e8f0; font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#14324f;">$24.00</td>
45
+ </tr>
46
+ <tr>
47
+ <td style="padding:14px 18px; background-color:#f7fafc; font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#6b7c8f;">Tax</td>
48
+ <td align="right" style="padding:14px 18px; background-color:#f7fafc; font-family:Arial, Helvetica, sans-serif; font-size:14px; color:#6b7c8f;">$6.16</td>
49
+ </tr>
50
+ <tr>
51
+ <td style="padding:14px 18px; background-color:#f7fafc; font-family:Arial, Helvetica, sans-serif; font-size:16px; font-weight:bold; color:#14324f;">Total paid</td>
52
+ <td align="right" style="padding:14px 18px; background-color:#f7fafc; font-family:Arial, Helvetica, sans-serif; font-size:16px; font-weight:bold; color:#14324f;">$79.16</td>
53
+ </tr>
54
+ </table>
55
+ </td>
56
+ </tr>
57
+ <tr>
58
+ <td align="center" style="padding:22px 36px 6px;">
59
+ <a href="https://example.com/invoices/2051" style="display:inline-block; background-color:#14324f; color:#ffffff; font-family:Arial, Helvetica, sans-serif; font-size:14px; font-weight:bold; text-decoration:none; padding:12px 30px; ">Download receipt (PDF)</a>
60
+ </td>
61
+ </tr>
62
+ <tr>
63
+ <td style="padding:22px 36px 8px;">
64
+ <hr style="border:none; border-top:1px solid #e2e8f0; margin:0;" />
65
+ </td>
66
+ </tr>
67
+ <tr>
68
+ <td style="padding:10px 36px 30px;">
69
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11.5px; line-height:1.6; color:#8194a7;">Charged to Visa &bull;&bull;&bull;&bull; 4242. Questions about this invoice? Just reply to this email.<br /><a href="{{ unsubscribe_url }}" style="color:#8194a7;">Unsubscribe</a> &middot; <a href="https://example.com/preferences" style="color:#8194a7;">Notification settings</a></p>
70
+ </td>
71
+ </tr>
72
+ </table>
73
+ </td>
74
+ </tr>
75
+ </table>
76
+ </body>
77
+ </html>
@@ -0,0 +1,69 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>Meet Nova — our biggest release yet</title>
6
+ </head>
7
+ <body style="margin:0; padding:0; background-color:#0b1020;">
8
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" style="background-color:#0b1020;">
9
+ <tr>
10
+ <td align="center" style="padding:24px 12px;">
11
+ <table role="presentation" width="600" cellpadding="0" cellspacing="0" style="width:600px; max-width:100%; background-color:#111832; ">
12
+ <tr>
13
+ <td align="center" style="background-color:#0065b3; padding:34px 32px 30px; ">
14
+ <p style="margin:0 0 12px; font-family:Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; letter-spacing:0.22em; text-transform:uppercase; color:#bfdbfe;">New from {{ company }}</p>
15
+ <h1 style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:38px; line-height:1.1; color:#ffffff;">Meet Nova</h1>
16
+ <p style="margin:10px 0 0; font-family:Arial, Helvetica, sans-serif; font-size:15px; line-height:1.5; color:#dbeafe;">Our biggest release yet &mdash; and it&rsquo;s already in your account.</p>
17
+ </td>
18
+ </tr>
19
+ <tr>
20
+ <td align="center" style="padding:32px 36px 6px;">
21
+ <h2 style="margin:0 0 12px; font-family:Arial, Helvetica, sans-serif; font-size:21px; line-height:1.3; color:#ffffff;">Everything you asked for, in one update</h2>
22
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; line-height:1.7; color:#aebad6;">Hi {{ first_name }} &mdash; over 4,000 of you shaped this release. Nova rebuilds the parts that slowed you down and adds the three things you asked for most.</p>
23
+ </td>
24
+ </tr>
25
+ <tr>
26
+ <td style="padding:24px 36px 4px;">
27
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0">
28
+ <tr>
29
+ <td width="33%" valign="top" align="center" style="padding:0 8px;">
30
+ <table role="presentation" cellpadding="0" cellspacing="0" style="background-color:#1c2848; "><tr><td align="center" style="padding:12px 16px; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:bold; color:#58a8e3;">2&times;</td></tr></table>
31
+ <h3 style="margin:10px 0 6px; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; color:#ffffff;">Faster</h3>
32
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; line-height:1.55; color:#8f9cbd;">A new engine under the hood &mdash; big projects open instantly.</p>
33
+ </td>
34
+ <td width="34%" valign="top" align="center" style="padding:0 8px;">
35
+ <table role="presentation" cellpadding="0" cellspacing="0" style="background-color:#1c2848; "><tr><td align="center" style="padding:12px 16px; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:bold; color:#58a8e3;">Smart</td></tr></table>
36
+ <h3 style="margin:10px 0 6px; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; color:#ffffff;">Assist</h3>
37
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; line-height:1.55; color:#8f9cbd;">Drafts, summaries and clean-ups, one keystroke away.</p>
38
+ </td>
39
+ <td width="33%" valign="top" align="center" style="padding:0 8px;">
40
+ <table role="presentation" cellpadding="0" cellspacing="0" style="background-color:#1c2848; "><tr><td align="center" style="padding:12px 16px; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:bold; color:#58a8e3;">100%</td></tr></table>
41
+ <h3 style="margin:10px 0 6px; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; color:#ffffff;">Private</h3>
42
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; line-height:1.55; color:#8f9cbd;">Your data stays yours &mdash; encrypted, never trained on.</p>
43
+ </td>
44
+ </tr>
45
+ </table>
46
+ </td>
47
+ </tr>
48
+ <tr>
49
+ <td align="center" style="padding:28px 36px 8px;">
50
+ <a href="https://example.com/nova" style="display:inline-block; background-color:#58a8e3; color:#0b1020; font-family:Arial, Helvetica, sans-serif; font-size:15px; font-weight:bold; text-decoration:none; padding:14px 40px; ">Try Nova today</a>
51
+ <p style="margin:12px 0 0; font-family:Arial, Helvetica, sans-serif; font-size:12.5px; color:#8f9cbd;">Free for every current customer &mdash; nothing to buy, nothing to migrate.</p>
52
+ </td>
53
+ </tr>
54
+ <tr>
55
+ <td style="padding:26px 36px 8px;">
56
+ <hr style="border:none; border-top:1px solid #232e52; margin:0;" />
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td align="center" style="padding:14px 36px 32px;">
61
+ <p style="margin:0; font-family:Arial, Helvetica, sans-serif; font-size:11.5px; line-height:1.6; color:#68738f;">Sent to {{ email }}.<br /><a href="{{ unsubscribe_url }}" style="color:#68738f;">Unsubscribe</a> &middot; <a href="https://example.com/preferences" style="color:#68738f;">Preferences</a></p>
62
+ </td>
63
+ </tr>
64
+ </table>
65
+ </td>
66
+ </tr>
67
+ </table>
68
+ </body>
69
+ </html>