@nauth-toolkit/email-nodemailer 0.1.95 → 0.1.97

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.
@@ -0,0 +1,607 @@
1
+ ---
2
+ subject: Your sign-in code - {{appName}}
3
+ ---
4
+ <!doctype html>
5
+ <html lang="und" dir="auto" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
6
+ <head>
7
+ <title>{{ subject }}</title>
8
+ <!--[if !mso]><!-->
9
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
10
+ <!--<![endif]-->
11
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
12
+ <meta name="viewport" content="width=device-width, initial-scale=1">
13
+ <style type="text/css">
14
+ #outlook a { padding:0; }
15
+ body { margin:0;padding:0;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%; }
16
+ table, td { border-collapse:collapse;mso-table-lspace:0pt;mso-table-rspace:0pt; }
17
+ img { border:0;height:auto;line-height:100%; outline:none;text-decoration:none;-ms-interpolation-mode:bicubic; }
18
+ p { display:block;margin:13px 0; }
19
+ </style>
20
+ <!--[if mso]>
21
+ <noscript>
22
+ <xml>
23
+ <o:OfficeDocumentSettings>
24
+ <o:AllowPNG/>
25
+ <o:PixelsPerInch>96</o:PixelsPerInch>
26
+ </o:OfficeDocumentSettings>
27
+ </xml>
28
+ </noscript>
29
+ <![endif]-->
30
+ <!--[if lte mso 11]>
31
+ <style type="text/css">
32
+ .mj-outlook-group-fix { width:100% !important; }
33
+ </style>
34
+ <![endif]-->
35
+
36
+ <!--[if !mso]><!-->
37
+ <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet" type="text/css">
38
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" type="text/css">
39
+ <style type="text/css">
40
+ @import url(https://fonts.googleapis.com/css?family=Roboto:300,400,500,700);
41
+ @import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);
42
+ </style>
43
+ <!--<![endif]-->
44
+
45
+
46
+
47
+ <style type="text/css">
48
+ @media only screen and (min-width:480px) {
49
+ .mj-column-per-100 { width:100% !important; max-width: 100%; }
50
+ }
51
+ </style>
52
+ <style media="screen and (min-width:480px)">
53
+ .moz-text-html .mj-column-per-100 { width:100% !important; max-width: 100%; }
54
+ </style>
55
+
56
+
57
+
58
+
59
+ <style type="text/css">
60
+
61
+ @media only screen and (max-width:479px) {
62
+ table.mj-full-width-mobile { width: 100% !important; }
63
+ td.mj-full-width-mobile { width: auto !important; }
64
+ }
65
+
66
+ </style>
67
+
68
+ <style type="text/css">
69
+ /* Global CSS classes for reusable styles */
70
+ .text-primary {
71
+ color: #111827;
72
+ }
73
+ .text-secondary {
74
+ color: #374151;
75
+ }
76
+ .text-muted {
77
+ color: #6b7280;
78
+ }
79
+ .text-small {
80
+ color: #9ca3af;
81
+ }
82
+ .text-success {
83
+ color: #166534;
84
+ }
85
+ .text-danger {
86
+ color: #dc2626;
87
+ }
88
+ .text-info {
89
+ color: #0c4a6e;
90
+ }
91
+
92
+ .bg-success {
93
+ background-color: #f0fdf4;
94
+ }
95
+ .bg-danger {
96
+ background-color: #fef2f2;
97
+ }
98
+ .bg-info {
99
+ background-color: #f0f9ff;
100
+ }
101
+ .bg-muted {
102
+ background-color: #f9fafb;
103
+ }
104
+
105
+ .font-bold {
106
+ font-weight: 600;
107
+ }
108
+ .font-semibold {
109
+ font-weight: 500;
110
+ }
111
+
112
+ .heading {
113
+ font-size: 18px;
114
+ font-weight: 600;
115
+ color: #111827;
116
+ }
117
+ .heading-large {
118
+ font-size: 20px;
119
+ font-weight: 600;
120
+ color: #111827;
121
+ }
122
+ .text-small {
123
+ font-size: 14px;
124
+ }
125
+ .text-xs {
126
+ font-size: 12px;
127
+ }
128
+
129
+ .code-block {
130
+ font-size: 48px !important;
131
+ font-weight: 700 !important;
132
+ letter-spacing: 12px !important;
133
+ color: #111827 !important;
134
+ background-color: #f9fafb !important;
135
+ padding: 20px !important;
136
+ text-align: center !important;
137
+ }
138
+ .code-block div {
139
+ font-size: 48px !important;
140
+ font-weight: 700 !important;
141
+ letter-spacing: 12px !important;
142
+ color: #111827 !important;
143
+ background-color: #f9fafb !important;
144
+ padding: 20px !important;
145
+ text-align: center !important;
146
+ }
147
+
148
+ .alert-box {
149
+ padding: 16px 24px;
150
+ border-left: 4px solid;
151
+ }
152
+ .alert-success {
153
+ background-color: #f0fdf4;
154
+ border-left-color: #22c55e;
155
+ color: #166534;
156
+ }
157
+ .alert-danger {
158
+ background-color: #fef2f2;
159
+ border-left-color: #ef4444;
160
+ color: #991b1b;
161
+ }
162
+ .alert-info {
163
+ background-color: #f0f9ff;
164
+ border-left-color: #0ea5e9;
165
+ color: #0c4a6e;
166
+ }
167
+
168
+ a {
169
+ color: #4f46e5;
170
+ text-decoration: none;
171
+ }
172
+ a:hover {
173
+ text-decoration: underline;
174
+ }
175
+
176
+ ul {
177
+ margin: 0;
178
+ padding-left: 20px;
179
+ color: #374151;
180
+ }
181
+ li {
182
+ margin-bottom: 8px;
183
+ }
184
+ </style>
185
+
186
+ </head>
187
+ <body style="word-spacing:normal;background-color:#f3f4f6;">
188
+
189
+ <div style="display:none;font-size:1px;color:#ffffff;line-height:1px;max-height:0px;max-width:0px;opacity:0;overflow:hidden;">{{ previewText }}</div>
190
+
191
+
192
+ <div
193
+ aria-label="{{ subject }}" aria-roledescription="email" style="background-color:#f3f4f6;" role="article" lang="und" dir="auto"
194
+ >
195
+
196
+
197
+ <!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" bgcolor="#f3f4f6" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
198
+
199
+
200
+ <div style="background:#f3f4f6;background-color:#f3f4f6;margin:0px auto;max-width:600px;">
201
+
202
+ <table
203
+ align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#f3f4f6;background-color:#f3f4f6;width:100%;"
204
+ >
205
+ <tbody>
206
+ <tr>
207
+ <td
208
+ style="direction:ltr;font-size:0px;padding:0;text-align:center;"
209
+ >
210
+ <!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><![endif]-->
211
+
212
+ <!-- Header -->
213
+ <!--[if mso | IE]><tr><td class="" width="600px" ><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" bgcolor="#ffffff" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
214
+
215
+
216
+ <div style="background:#ffffff;background-color:#ffffff;margin:0px auto;max-width:600px;">
217
+
218
+ <table
219
+ align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#ffffff;background-color:#ffffff;width:100%;"
220
+ >
221
+ <tbody>
222
+ <tr>
223
+ <td
224
+ style="direction:ltr;font-size:0px;padding:0;text-align:center;"
225
+ >
226
+ <!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:600px;" ><![endif]-->
227
+
228
+ <div
229
+ class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;"
230
+ >
231
+
232
+ <table
233
+ border="0" cellpadding="0" cellspacing="0" role="presentation" style="background-color:#ffffff;vertical-align:top;" width="100%"
234
+ >
235
+ <tbody>
236
+
237
+ <tr>
238
+ <td
239
+ align="center" style="font-size:0px;padding:0;word-break:break-word;"
240
+ >
241
+
242
+ <p
243
+ style="border-top:solid 1px #e5e7eb;font-size:1px;margin:0px auto;width:100%;"
244
+ >
245
+ </p>
246
+
247
+ <!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 1px #e5e7eb;font-size:1px;margin:0px auto;width:600px;" role="presentation" width="600px" ><tr><td style="height:0;line-height:0;"> &nbsp;
248
+ </td></tr></table><![endif]-->
249
+
250
+
251
+ </td>
252
+ </tr>
253
+
254
+ </tbody>
255
+ </table>
256
+
257
+ </div>
258
+
259
+ <!--[if mso | IE]></td></tr></table><![endif]-->
260
+ </td>
261
+ </tr>
262
+ </tbody>
263
+ </table>
264
+
265
+ </div>
266
+
267
+
268
+ <!--[if mso | IE]></td></tr></table></td></tr><![endif]-->
269
+ <!-- Logo/Header Section (Optional) -->{{#if logoUrl}}
270
+ <!--[if mso | IE]><tr><td class="" width="600px" ><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" bgcolor="#ffffff" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
271
+
272
+
273
+ <div style="background:#ffffff;background-color:#ffffff;margin:0px auto;max-width:600px;">
274
+
275
+ <table
276
+ align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#ffffff;background-color:#ffffff;width:100%;"
277
+ >
278
+ <tbody>
279
+ <tr>
280
+ <td
281
+ style="direction:ltr;font-size:0px;padding:32px 24px;text-align:center;"
282
+ >
283
+ <!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:552px;" ><![endif]-->
284
+
285
+ <div
286
+ class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;"
287
+ >
288
+
289
+ <table
290
+ border="0" cellpadding="0" cellspacing="0" role="presentation" style="background-color:#ffffff;vertical-align:top;" width="100%"
291
+ >
292
+ <tbody>
293
+
294
+ <tr>
295
+ <td
296
+ align="center" style="font-size:0px;padding:0;word-break:break-word;"
297
+ >
298
+
299
+ <table
300
+ border="0" cellpadding="0" cellspacing="0" role="presentation" style="border-collapse:collapse;border-spacing:0px;"
301
+ >
302
+ <tbody>
303
+ <tr>
304
+ <td style="width:200px;">
305
+
306
+ <img
307
+ alt="{{appName}}" src="{{logoUrl}}" style="border:0;display:block;outline:none;text-decoration:none;height:auto;width:100%;font-size:13px;" width="200" height="auto"
308
+ />
309
+
310
+ </td>
311
+ </tr>
312
+ </tbody>
313
+ </table>
314
+
315
+ </td>
316
+ </tr>
317
+
318
+ </tbody>
319
+ </table>
320
+
321
+ </div>
322
+
323
+ <!--[if mso | IE]></td></tr></table><![endif]-->
324
+ </td>
325
+ </tr>
326
+ </tbody>
327
+ </table>
328
+
329
+ </div>
330
+
331
+
332
+ <!--[if mso | IE]></td></tr></table></td></tr><![endif]-->
333
+ {{/if}}<!-- Main Content Card -->
334
+ <!--[if mso | IE]><tr><td class="" width="600px" ><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" bgcolor="#ffffff" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
335
+
336
+
337
+ <div style="background:#ffffff;background-color:#ffffff;margin:0px auto;max-width:600px;">
338
+
339
+ <table
340
+ align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#ffffff;background-color:#ffffff;width:100%;"
341
+ >
342
+ <tbody>
343
+ <tr>
344
+ <td
345
+ style="direction:ltr;font-size:0px;padding:0 24px;text-align:center;"
346
+ >
347
+ <!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:552px;" ><![endif]-->
348
+
349
+ <div
350
+ class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;"
351
+ >
352
+
353
+ <table
354
+ border="0" cellpadding="0" cellspacing="0" role="presentation" style="background-color:#ffffff;vertical-align:top;" width="100%"
355
+ >
356
+ <tbody>
357
+ <!-- Greeting (render if any name field is provided) -->{{#if fullName}}
358
+ <tr>
359
+ <td
360
+ align="left" class="heading" style="font-size:0px;padding:32px 24px 16px 24px;word-break:break-word;"
361
+ >
362
+
363
+ <div
364
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:16px;line-height:24px;text-align:left;color:#374151;"
365
+ >Hi {{ fullName }},</div>
366
+
367
+ </td>
368
+ </tr>
369
+ {{/if}}
370
+ {{#if firstName}}
371
+ <tr>
372
+ <td
373
+ align="left" class="heading" style="font-size:0px;padding:32px 24px 16px 24px;word-break:break-word;"
374
+ >
375
+
376
+ <div
377
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:16px;line-height:24px;text-align:left;color:#374151;"
378
+ >Hi {{ firstName }},</div>
379
+
380
+ </td>
381
+ </tr>
382
+ {{/if}}
383
+ {{#if lastName}}
384
+ <tr>
385
+ <td
386
+ align="left" class="heading" style="font-size:0px;padding:32px 24px 16px 24px;word-break:break-word;"
387
+ >
388
+
389
+ <div
390
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:16px;line-height:24px;text-align:left;color:#374151;"
391
+ >Hi {{ lastName }},</div>
392
+
393
+ </td>
394
+ </tr>
395
+ {{/if}}
396
+ {{#if userName}}
397
+ <tr>
398
+ <td
399
+ align="left" class="heading" style="font-size:0px;padding:32px 24px 16px 24px;word-break:break-word;"
400
+ >
401
+
402
+ <div
403
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:16px;line-height:24px;text-align:left;color:#374151;"
404
+ >Hi {{ userName }},</div>
405
+
406
+ </td>
407
+ </tr>
408
+ {{/if}}<!-- Content Slot - Child template injected here --><!-- MFA Email Code Content (Email MFA challenge; separate from signup verification) -->
409
+ <tr>
410
+ <td
411
+ align="left" style="font-size:0px;padding:0 24px 16px 24px;word-break:break-word;"
412
+ >
413
+
414
+ <div
415
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:16px;line-height:24px;text-align:left;color:#374151;"
416
+ >You're signing in to your account. Use the code below to complete two-factor authentication.</div>
417
+
418
+ </td>
419
+ </tr>
420
+ {{#if code}}
421
+ <tr>
422
+ <td
423
+ align="center" style="font-size:0px;padding:16px 24px 8px 24px;word-break:break-word;"
424
+ >
425
+
426
+ <div
427
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:14px;line-height:24px;text-align:center;color:#6b7280;"
428
+ >Your verification code:</div>
429
+
430
+ </td>
431
+ </tr>
432
+
433
+ <tr>
434
+ <td
435
+ align="center" class="code-block" style="font-size:0px;padding:20px 24px;word-break:break-word;"
436
+ >
437
+
438
+ <div
439
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:16px;line-height:24px;text-align:center;color:#374151;"
440
+ >{{ code }}</div>
441
+
442
+ </td>
443
+ </tr>
444
+ {{/if}}{{#if expiryMinutes}}
445
+ <tr>
446
+ <td
447
+ align="left" style="font-size:0px;padding:24px 24px 16px 24px;word-break:break-word;"
448
+ >
449
+
450
+ <div
451
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:14px;line-height:24px;text-align:left;color:#6b7280;"
452
+ >This code expires in {{ expiryMinutes }} minutes.</div>
453
+
454
+ </td>
455
+ </tr>
456
+ {{/if}}
457
+ <tr>
458
+ <td
459
+ align="left" style="font-size:0px;padding:0 24px 24px 24px;word-break:break-word;"
460
+ >
461
+
462
+ <div
463
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:14px;line-height:24px;text-align:left;color:#6b7280;"
464
+ >If you didn't request this code, please ignore this email and secure your account. {{#if supportEmail}}Contact support at {{supportEmail}}.{{/if}}</div>
465
+
466
+ </td>
467
+ </tr>
468
+
469
+ </tbody>
470
+ </table>
471
+
472
+ </div>
473
+
474
+ <!--[if mso | IE]></td></tr></table><![endif]-->
475
+ </td>
476
+ </tr>
477
+ </tbody>
478
+ </table>
479
+
480
+ </div>
481
+
482
+
483
+ <!--[if mso | IE]></td></tr></table></td></tr><![endif]-->
484
+ <!-- Footer -->
485
+ <!--[if mso | IE]><tr><td class="" width="600px" ><table align="center" border="0" cellpadding="0" cellspacing="0" class="" role="presentation" style="width:600px;" width="600" bgcolor="#ffffff" ><tr><td style="line-height:0px;font-size:0px;mso-line-height-rule:exactly;"><![endif]-->
486
+
487
+
488
+ <div style="background:#ffffff;background-color:#ffffff;margin:0px auto;max-width:600px;">
489
+
490
+ <table
491
+ align="center" border="0" cellpadding="0" cellspacing="0" role="presentation" style="background:#ffffff;background-color:#ffffff;width:100%;"
492
+ >
493
+ <tbody>
494
+ <tr>
495
+ <td
496
+ style="direction:ltr;font-size:0px;padding:24px;text-align:center;"
497
+ >
498
+ <!--[if mso | IE]><table role="presentation" border="0" cellpadding="0" cellspacing="0"><tr><td class="" style="vertical-align:top;width:552px;" ><![endif]-->
499
+
500
+ <div
501
+ class="mj-column-per-100 mj-outlook-group-fix" style="font-size:0px;text-align:left;direction:ltr;display:inline-block;vertical-align:top;width:100%;"
502
+ >
503
+
504
+ <table
505
+ border="0" cellpadding="0" cellspacing="0" role="presentation" style="background-color:#ffffff;vertical-align:top;" width="100%"
506
+ >
507
+ <tbody>
508
+
509
+ <tr>
510
+ <td
511
+ align="center" style="font-size:0px;padding:16px 0;word-break:break-word;"
512
+ >
513
+
514
+ <p
515
+ style="border-top:solid 1px #e5e7eb;font-size:1px;margin:0px auto;width:100%;"
516
+ >
517
+ </p>
518
+
519
+ <!--[if mso | IE]><table align="center" border="0" cellpadding="0" cellspacing="0" style="border-top:solid 1px #e5e7eb;font-size:1px;margin:0px auto;width:552px;" role="presentation" width="552px" ><tr><td style="height:0;line-height:0;"> &nbsp;
520
+ </td></tr></table><![endif]-->
521
+
522
+
523
+ </td>
524
+ </tr>
525
+
526
+ <tr>
527
+ <td
528
+ align="center" style="font-size:0px;padding:8px 0;word-break:break-word;"
529
+ >
530
+
531
+ <div
532
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:14px;line-height:24px;text-align:center;color:#6b7280;"
533
+ >&copy; {{ currentYear }} {{ companyName }}. All rights reserved.</div>
534
+
535
+ </td>
536
+ </tr>
537
+ {{#if supportEmail}}
538
+ <tr>
539
+ <td
540
+ align="center" style="font-size:0px;padding:8px 0;word-break:break-word;"
541
+ >
542
+
543
+ <div
544
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:14px;line-height:24px;text-align:center;color:#6b7280;"
545
+ >Need help? <a href="mailto:{{supportEmail}}">Contact Support</a></div>
546
+
547
+ </td>
548
+ </tr>
549
+ {{/if}}<!-- Footer Disclaimer (custom or default) -->{{#if footerDisclaimer}}
550
+ <tr>
551
+ <td
552
+ align="center" style="font-size:0px;padding:16px 24px 8px 24px;word-break:break-word;"
553
+ >
554
+
555
+ <div
556
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:12px;line-height:18px;text-align:center;color:#6b7280;"
557
+ >{{ footerDisclaimer }}</div>
558
+
559
+ </td>
560
+ </tr>
561
+ {{else}}
562
+ <tr>
563
+ <td
564
+ align="center" style="font-size:0px;padding:16px 24px 8px 24px;word-break:break-word;"
565
+ >
566
+
567
+ <div
568
+ style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:12px;line-height:18px;text-align:center;color:#6b7280;"
569
+ >This email and any attachments are confidential and intended solely for the use of the individual or entity
570
+ to whom they are addressed. If you have received this email in error, please notify the sender immediately
571
+ and delete it from your system. Any unauthorized use, disclosure, copying, or distribution of this email is
572
+ strictly prohibited.</div>
573
+
574
+ </td>
575
+ </tr>
576
+ {{/if}}
577
+ </tbody>
578
+ </table>
579
+
580
+ </div>
581
+
582
+ <!--[if mso | IE]></td></tr></table><![endif]-->
583
+ </td>
584
+ </tr>
585
+ </tbody>
586
+ </table>
587
+
588
+ </div>
589
+
590
+
591
+ <!--[if mso | IE]></td></tr></table></td></tr></table><![endif]-->
592
+ </td>
593
+ </tr>
594
+ </tbody>
595
+ </table>
596
+
597
+ </div>
598
+
599
+
600
+ <!--[if mso | IE]></td></tr></table><![endif]-->
601
+
602
+
603
+ </div>
604
+
605
+ </body>
606
+ </html>
607
+
@@ -0,0 +1,14 @@
1
+ Your sign-in code
2
+
3
+ {{#if fullName}}Hi {{fullName}},{{/if}}
4
+ {{#if firstName}}Hi {{firstName}},{{/if}}
5
+ {{#if lastName}}Hi {{lastName}},{{/if}}
6
+ {{#if userName}}Hi {{userName}},{{/if}}
7
+
8
+ You're signing in to your account. Use the code below to complete two-factor authentication.
9
+
10
+ {{#if code}}Your verification code: {{code}}{{/if}}
11
+
12
+ {{#if expiryMinutes}}This code expires in {{expiryMinutes}} minutes.{{/if}}
13
+
14
+ If you didn't request this code, please ignore this email and secure your account. {{#if supportEmail}}Contact support at {{supportEmail}}.{{/if}}
@@ -405,7 +405,7 @@ subject: Email Verification - {{appName}}
405
405
 
406
406
  </td>
407
407
  </tr>
408
- {{/if}}<!-- Content Slot - Child template injected here --><!-- Verification Email Content -->
408
+ {{/if}}<!-- Content Slot - Child template injected here --><!-- Verification Email Content (signup; for MFA code use mfa-email-code template) -->
409
409
  <tr>
410
410
  <td
411
411
  align="left" style="font-size:0px;padding:0 24px 16px 24px;word-break:break-word;"
@@ -413,7 +413,7 @@ subject: Email Verification - {{appName}}
413
413
 
414
414
  <div
415
415
  style="font-family:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;font-size:16px;line-height:24px;text-align:left;color:#374151;"
416
- >You were sent this email because you requested a verification code to access your account.</div>
416
+ >Thank you for signing up! Please verify your email address to activate your account.</div>
417
417
 
418
418
  </td>
419
419
  </tr>
@@ -1 +1 @@
1
- {"version":3,"file":"handlebars-template.engine.d.ts","sourceRoot":"","sources":["../../src/templates/handlebars-template.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,aAAa,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AAIzC;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAEpD;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,wBAAyB,YAAW,cAAc;IAC7D;;;OAGG;IACH,OAAO,CAAC,SAAS,CAOH;IAEd;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAE/C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC;;;;OAIG;gBACS,OAAO,GAAE,+BAAoC;IA4BzD;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqC/F;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQ5E;;;;;;;;;;;;;;;OAeG;IACG,wBAAwB,CAC5B,IAAI,EAAE,YAAY,GAAG,MAAM,EAC3B,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;OAKG;IACG,2BAA2B,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,eAAe,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7G;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO;IAIjD;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;;;;OAMG;YACW,kBAAkB;IAwBhC;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;CA8CjC"}
1
+ {"version":3,"file":"handlebars-template.engine.d.ts","sourceRoot":"","sources":["../../src/templates/handlebars-template.engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,aAAa,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AAIzC;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC;IAExB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAEpD;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,wBAAyB,YAAW,cAAc;IAC7D;;;OAGG;IACH,OAAO,CAAC,SAAS,CAOH;IAEd;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAE/C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC;;;;OAIG;gBACS,OAAO,GAAE,+BAAoC;IA4BzD;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqC/F;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQ5E;;;;;;;;;;;;;;;OAeG;IACG,wBAAwB,CAC5B,IAAI,EAAE,YAAY,GAAG,MAAM,EAC3B,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;OAKG;IACG,2BAA2B,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,eAAe,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7G;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,OAAO;IAIjD;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;;;;OAMG;YACW,kBAAkB;IAwBhC;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IA2C9B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;CA+CjC"}
@@ -414,6 +414,7 @@ class HandlebarsTemplateEngine {
414
414
  [core_1.TemplateType.EMAIL_CHANGED_OLD]: 'email-changed-old',
415
415
  [core_1.TemplateType.EMAIL_CHANGED_NEW]: 'email-changed-new',
416
416
  [core_1.TemplateType.SESSIONS_REVOKED]: 'sessions-revoked',
417
+ [core_1.TemplateType.MFA_EMAIL_CODE]: 'mfa-email-code',
417
418
  };
418
419
  // Register all default templates
419
420
  Object.entries(templateFileMapping).forEach(([templateType, fileName]) => {