@hintoric/email 0.0.0-stage → 0.1.2

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 (48) hide show
  1. package/README.md +53 -2
  2. package/dist/components/Avatar.d.ts +37 -0
  3. package/dist/components/Avatar.d.ts.map +1 -0
  4. package/dist/components/Button.d.ts +39 -0
  5. package/dist/components/Button.d.ts.map +1 -0
  6. package/dist/components/Card.d.ts +17 -0
  7. package/dist/components/Card.d.ts.map +1 -0
  8. package/dist/components/Chip.d.ts +34 -0
  9. package/dist/components/Chip.d.ts.map +1 -0
  10. package/dist/components/Divider.d.ts +13 -0
  11. package/dist/components/Divider.d.ts.map +1 -0
  12. package/dist/components/HintoricLogo.d.ts +6 -0
  13. package/dist/components/HintoricLogo.d.ts.map +1 -0
  14. package/dist/components/Layout.d.ts +28 -0
  15. package/dist/components/Layout.d.ts.map +1 -0
  16. package/dist/components/Link.d.ts +18 -0
  17. package/dist/components/Link.d.ts.map +1 -0
  18. package/dist/components/Typography.d.ts +19 -0
  19. package/dist/components/Typography.d.ts.map +1 -0
  20. package/dist/index.d.ts +25 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +908 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/render.d.ts +9 -0
  25. package/dist/render.d.ts.map +1 -0
  26. package/dist/safeUrl.d.ts +4 -0
  27. package/dist/safeUrl.d.ts.map +1 -0
  28. package/dist/styles.d.ts +18 -0
  29. package/dist/styles.d.ts.map +1 -0
  30. package/dist/templates/SecurityActivityAlert/SecurityActivityAlertEmail.d.ts +18 -0
  31. package/dist/templates/SecurityActivityAlert/SecurityActivityAlertEmail.d.ts.map +1 -0
  32. package/dist/templates/SecurityActivityAlert/index.d.ts +5 -0
  33. package/dist/templates/SecurityActivityAlert/index.d.ts.map +1 -0
  34. package/dist/templates/SecurityActivityAlert/messages.d.ts +4 -0
  35. package/dist/templates/SecurityActivityAlert/messages.d.ts.map +1 -0
  36. package/dist/templates/SecurityActivityAlert/types.d.ts +78 -0
  37. package/dist/templates/SecurityActivityAlert/types.d.ts.map +1 -0
  38. package/dist/templates/WaitlistWelcome/WaitlistWelcomeEmail.d.ts +20 -0
  39. package/dist/templates/WaitlistWelcome/WaitlistWelcomeEmail.d.ts.map +1 -0
  40. package/dist/templates/WaitlistWelcome/index.d.ts +5 -0
  41. package/dist/templates/WaitlistWelcome/index.d.ts.map +1 -0
  42. package/dist/templates/WaitlistWelcome/messages.d.ts +6 -0
  43. package/dist/templates/WaitlistWelcome/messages.d.ts.map +1 -0
  44. package/dist/templates/WaitlistWelcome/types.d.ts +32 -0
  45. package/dist/templates/WaitlistWelcome/types.d.ts.map +1 -0
  46. package/dist/tokens.d.ts +50 -0
  47. package/dist/tokens.d.ts.map +1 -0
  48. package/package.json +59 -3
package/dist/index.js ADDED
@@ -0,0 +1,908 @@
1
+ import { render as e } from "@react-email/render";
2
+ import "react";
3
+ import { Body as t, Button as n, Container as r, Head as i, Html as a, Img as o, Link as s, Preview as c } from "react-email";
4
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
5
+ //#region src/render.ts
6
+ async function f(t) {
7
+ let [n, r] = await Promise.all([e(t), e(t, { plainText: !0 })]);
8
+ return {
9
+ html: n,
10
+ text: r
11
+ };
12
+ }
13
+ //#endregion
14
+ //#region src/tokens.ts
15
+ var p = {
16
+ neutral: {
17
+ 50: "#FBFCFE",
18
+ 100: "#F0F4F8",
19
+ 200: "#DDE7EE",
20
+ 300: "#CDD7E1",
21
+ 400: "#9FA6AD",
22
+ 500: "#636B74",
23
+ 600: "#555E68",
24
+ 700: "#32383E",
25
+ 800: "#171A1C",
26
+ 900: "#0B0D0E"
27
+ },
28
+ primary: {
29
+ 50: "#EDF5FD",
30
+ 100: "#E3EFFB",
31
+ 200: "#C7DFF7",
32
+ 300: "#97C3F0",
33
+ 400: "#4393E4",
34
+ 500: "#0B6BCB",
35
+ 600: "#185EA5",
36
+ 700: "#12467B",
37
+ 800: "#0A2744",
38
+ 900: "#051423"
39
+ },
40
+ warning: {
41
+ 50: "#FEFAF6",
42
+ 100: "#FDF0E1",
43
+ 200: "#FCE1C2",
44
+ 300: "#F3C896",
45
+ 400: "#EA9A3E",
46
+ 500: "#9A5B13",
47
+ 600: "#72430D",
48
+ 700: "#492B08",
49
+ 800: "#2E1B05",
50
+ 900: "#1D1002"
51
+ },
52
+ danger: {
53
+ 50: "#FEF6F6",
54
+ 100: "#FCE4E4",
55
+ 200: "#F7C5C5",
56
+ 300: "#F09898",
57
+ 400: "#E47474",
58
+ 500: "#C41C1C",
59
+ 600: "#A51818",
60
+ 700: "#7D1212",
61
+ 800: "#430A0A",
62
+ 900: "#240505"
63
+ },
64
+ success: {
65
+ 50: "#F6FEF6",
66
+ 100: "#E3FBE3",
67
+ 200: "#C7F7C7",
68
+ 300: "#A1E8A1",
69
+ 400: "#51BC51",
70
+ 500: "#1F7A1F",
71
+ 600: "#136C13",
72
+ 700: "#0A470A",
73
+ 800: "#042F04",
74
+ 900: "#021D02"
75
+ }
76
+ }, m = [
77
+ "primary",
78
+ "neutral",
79
+ "danger",
80
+ "success",
81
+ "warning"
82
+ ], h = [
83
+ "solid",
84
+ "soft",
85
+ "outlined",
86
+ "plain"
87
+ ];
88
+ function g(e, t, n) {
89
+ let r = p[n], i = e === "dark";
90
+ switch (t) {
91
+ case "solid": return {
92
+ color: "#FFFFFF",
93
+ backgroundColor: r[500]
94
+ };
95
+ case "soft": return i ? {
96
+ color: r[200],
97
+ backgroundColor: r[800]
98
+ } : {
99
+ color: r[700],
100
+ backgroundColor: r[100]
101
+ };
102
+ case "outlined": return i ? {
103
+ color: r[200],
104
+ borderColor: r[700]
105
+ } : {
106
+ color: n === "neutral" ? r[700] : r[500],
107
+ borderColor: r[300]
108
+ };
109
+ case "plain": return { color: i ? r[300] : n === "neutral" ? r[700] : r[500] };
110
+ }
111
+ }
112
+ function _(e, t) {
113
+ return p[t][e === "dark" ? 400 : 500];
114
+ }
115
+ var v = {
116
+ light: {
117
+ inkPrimary: p.neutral[800],
118
+ inkSecondary: p.neutral[700],
119
+ inkTertiary: p.neutral[600],
120
+ inkIcon: p.neutral[500],
121
+ surface: p.neutral[50],
122
+ surface1: p.neutral[100],
123
+ divider: "rgba(99, 107, 116, 0.2)",
124
+ dividerFallback: "#DCDFE2"
125
+ },
126
+ dark: {
127
+ inkPrimary: p.neutral[100],
128
+ inkSecondary: p.neutral[300],
129
+ inkTertiary: p.neutral[400],
130
+ inkIcon: p.neutral[400],
131
+ surface: p.neutral[900],
132
+ surface1: p.neutral[800],
133
+ divider: "rgba(159, 166, 173, 0.16)",
134
+ dividerFallback: "#232628"
135
+ }
136
+ }, y = {
137
+ body: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",
138
+ heading: "Montserrat, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif"
139
+ }, b = {
140
+ xs: "2px",
141
+ sm: "6px",
142
+ md: "8px",
143
+ lg: "12px",
144
+ xl: "16px"
145
+ }, x = /* @__PURE__ */ new Set([
146
+ "https:",
147
+ "http:",
148
+ "mailto:"
149
+ ]);
150
+ function S(e) {
151
+ if (e) try {
152
+ let t = new URL(e);
153
+ return x.has(t.protocol) ? t.href : void 0;
154
+ } catch {
155
+ return;
156
+ }
157
+ }
158
+ function C(e) {
159
+ if (e) try {
160
+ let t = new URL(e);
161
+ return t.protocol === "https:" ? t.href : void 0;
162
+ } catch {
163
+ return;
164
+ }
165
+ }
166
+ //#endregion
167
+ //#region src/styles.ts
168
+ var w = {
169
+ variant: (e, t) => `hx-${e}-${t}`,
170
+ main: (e) => `hx-main-${e}`,
171
+ inkPrimary: "hx-ink-1",
172
+ inkSecondary: "hx-ink-2",
173
+ inkTertiary: "hx-ink-3",
174
+ inkIcon: "hx-ink-icon",
175
+ surface: "hx-surface",
176
+ divider: "hx-divider",
177
+ layoutCanvas: "hx-layout-canvas",
178
+ layoutCard: "hx-layout-card",
179
+ layoutCardBody: "hx-layout-card-body",
180
+ logoLight: "hx-logo-light",
181
+ logoDark: "hx-logo-dark"
182
+ };
183
+ function T(e) {
184
+ let t = v.dark, n = (t, n) => `${e} .${t}{${n}}`, r = [
185
+ n(w.inkPrimary, `color:${t.inkPrimary}!important;`),
186
+ n(w.inkSecondary, `color:${t.inkSecondary}!important;`),
187
+ n(w.inkTertiary, `color:${t.inkTertiary}!important;`),
188
+ n(w.inkIcon, `color:${t.inkIcon}!important;`),
189
+ n(w.surface, `background-color:${t.surface}!important;`),
190
+ n(w.divider, `background-color:${t.divider}!important;`),
191
+ n(w.layoutCanvas, `background-color:${t.surface}!important;`),
192
+ n(`${w.layoutCanvas}>table>tbody>tr>td`, `background-color:${t.surface}!important;`),
193
+ n(w.logoLight, "display:none!important;"),
194
+ n(w.logoDark, "display:inline-block!important;"),
195
+ n(w.layoutCard, `background-color:${t.surface1}!important;border-color:${g("dark", "outlined", "neutral").borderColor}!important;`)
196
+ ];
197
+ for (let e of m) {
198
+ r.push(n(w.main(e), `color:${_("dark", e)}!important;`));
199
+ for (let t of h) {
200
+ let i = g("dark", t, e);
201
+ r.push(n(w.variant(t, e), [
202
+ `color:${i.color}!important;`,
203
+ i.backgroundColor && `background-color:${i.backgroundColor}!important;`,
204
+ i.borderColor && `border-color:${i.borderColor}!important;`
205
+ ].filter(Boolean).join("")));
206
+ }
207
+ }
208
+ return r.join("");
209
+ }
210
+ function E() {
211
+ let e = (e) => `${e}.${w.layoutCanvas},${e}.${w.layoutCanvas}>table>tbody>tr>td`, t = (t) => `${e(t)}{background-color:${v.dark.surface1}!important;}`;
212
+ return [
213
+ "@media only screen and (max-width:600px){",
214
+ `.${w.layoutCard}{max-width:100%!important;border:0!important;border-radius:0!important;}`,
215
+ `.${w.layoutCardBody}{padding:32px 24px!important;}`,
216
+ `${e("")}{padding:0!important;background-color:${v.light.surface}!important;}`,
217
+ t("[data-color-scheme=\"dark\"] "),
218
+ "}",
219
+ `@media only screen and (max-width:600px) and (prefers-color-scheme:dark){${t(":root:not([data-color-scheme=\"light\"]) ")}}`
220
+ ].join("");
221
+ }
222
+ var D = [
223
+ "a[x-apple-data-detectors]{color:inherit!important;text-decoration:none!important;}",
224
+ `@media (prefers-color-scheme:dark){${T(":root:not([data-color-scheme=\"light\"])")}}`,
225
+ T("[data-color-scheme=\"dark\"]"),
226
+ E()
227
+ ].join("\n");
228
+ //#endregion
229
+ //#region src/components/Layout.tsx
230
+ function O({ lang: e, preview: n, footer: o, colorScheme: s, children: l }) {
231
+ let f = v.light;
232
+ return /* @__PURE__ */ d(a, {
233
+ lang: e,
234
+ "data-color-scheme": s,
235
+ children: [
236
+ /* @__PURE__ */ d(i, { children: [
237
+ /* @__PURE__ */ u("meta", {
238
+ name: "color-scheme",
239
+ content: "light dark"
240
+ }),
241
+ /* @__PURE__ */ u("meta", {
242
+ name: "supported-color-schemes",
243
+ content: "light dark"
244
+ }),
245
+ /* @__PURE__ */ u(k, {})
246
+ ] }),
247
+ /* @__PURE__ */ u(c, { children: n }),
248
+ /* @__PURE__ */ d(t, {
249
+ className: w.layoutCanvas,
250
+ style: {
251
+ margin: 0,
252
+ padding: "40px 0",
253
+ backgroundColor: f.surface1,
254
+ fontFamily: y.body
255
+ },
256
+ children: [/* @__PURE__ */ u(r, {
257
+ className: w.layoutCard,
258
+ style: {
259
+ width: "100%",
260
+ maxWidth: "440px",
261
+ boxSizing: "border-box",
262
+ backgroundColor: f.surface,
263
+ border: `1px solid ${g("light", "outlined", "neutral").borderColor}`,
264
+ borderRadius: "20px"
265
+ },
266
+ children: /* @__PURE__ */ u("div", {
267
+ className: w.layoutCardBody,
268
+ style: { padding: "48px" },
269
+ children: l
270
+ })
271
+ }), o && /* @__PURE__ */ u(r, {
272
+ style: {
273
+ maxWidth: "440px",
274
+ padding: "24px 24px 0",
275
+ textAlign: "center"
276
+ },
277
+ children: o
278
+ })]
279
+ })
280
+ ]
281
+ });
282
+ }
283
+ function k() {
284
+ return /* @__PURE__ */ u("style", { dangerouslySetInnerHTML: { __html: D } });
285
+ }
286
+ //#endregion
287
+ //#region src/components/Typography.tsx
288
+ var A = {
289
+ h1: {
290
+ fontSize: "36px",
291
+ fontWeight: 700,
292
+ lineHeight: 1.33334,
293
+ letterSpacing: "-0.025em",
294
+ ink: "inkPrimary"
295
+ },
296
+ h2: {
297
+ fontSize: "30px",
298
+ fontWeight: 700,
299
+ lineHeight: 1.33334,
300
+ letterSpacing: "-0.025em",
301
+ ink: "inkPrimary"
302
+ },
303
+ h3: {
304
+ fontSize: "24px",
305
+ fontWeight: 600,
306
+ lineHeight: 1.33334,
307
+ letterSpacing: "-0.025em",
308
+ ink: "inkPrimary"
309
+ },
310
+ h4: {
311
+ fontSize: "20px",
312
+ fontWeight: 600,
313
+ lineHeight: 1.5,
314
+ letterSpacing: "-0.025em",
315
+ ink: "inkPrimary"
316
+ },
317
+ "title-lg": {
318
+ fontSize: "18px",
319
+ fontWeight: 600,
320
+ lineHeight: 1.33334,
321
+ ink: "inkPrimary"
322
+ },
323
+ "title-md": {
324
+ fontSize: "16px",
325
+ fontWeight: 500,
326
+ lineHeight: 1.5,
327
+ ink: "inkPrimary"
328
+ },
329
+ "title-sm": {
330
+ fontSize: "14px",
331
+ fontWeight: 500,
332
+ lineHeight: 1.42858,
333
+ ink: "inkPrimary"
334
+ },
335
+ "body-lg": {
336
+ fontSize: "18px",
337
+ fontWeight: 400,
338
+ lineHeight: 1.5,
339
+ ink: "inkSecondary"
340
+ },
341
+ "body-md": {
342
+ fontSize: "16px",
343
+ fontWeight: 400,
344
+ lineHeight: 1.5,
345
+ ink: "inkSecondary"
346
+ },
347
+ "body-sm": {
348
+ fontSize: "14px",
349
+ fontWeight: 400,
350
+ lineHeight: 1.5,
351
+ ink: "inkTertiary"
352
+ },
353
+ "body-xs": {
354
+ fontSize: "12px",
355
+ fontWeight: 500,
356
+ lineHeight: 1.5,
357
+ ink: "inkTertiary"
358
+ }
359
+ }, j = {
360
+ h1: "h1",
361
+ h2: "h2",
362
+ h3: "h3",
363
+ h4: "h4",
364
+ "title-lg": "p",
365
+ "title-md": "p",
366
+ "title-sm": "p",
367
+ "body-lg": "p",
368
+ "body-md": "p",
369
+ "body-sm": "p",
370
+ "body-xs": "span"
371
+ }, ee = {
372
+ primary: "inkPrimary",
373
+ secondary: "inkSecondary",
374
+ tertiary: "inkTertiary",
375
+ icon: "inkIcon"
376
+ };
377
+ function M({ level: e = "body-md", component: t, textAlign: n, textColor: r, style: i, children: a }) {
378
+ let o = A[e], s = r ? ee[r] : o.ink, c = t ?? j[e];
379
+ return /* @__PURE__ */ u(c, {
380
+ className: w[s],
381
+ style: {
382
+ margin: 0,
383
+ fontFamily: y.body,
384
+ fontSize: o.fontSize,
385
+ fontWeight: o.fontWeight,
386
+ lineHeight: o.lineHeight,
387
+ letterSpacing: o.letterSpacing,
388
+ color: v.light[s],
389
+ textAlign: n,
390
+ ...i
391
+ },
392
+ children: a
393
+ });
394
+ }
395
+ //#endregion
396
+ //#region src/components/Button.tsx
397
+ var N = {
398
+ sm: {
399
+ minHeight: 32,
400
+ paddingInline: 12,
401
+ fontSize: 14,
402
+ lineHeight: 21
403
+ },
404
+ md: {
405
+ minHeight: 36,
406
+ paddingInline: 16,
407
+ fontSize: 14,
408
+ lineHeight: 21
409
+ },
410
+ lg: {
411
+ minHeight: 44,
412
+ paddingInline: 24,
413
+ fontSize: 16,
414
+ lineHeight: 24
415
+ }
416
+ };
417
+ function P({ href: e, variant: t = "solid", color: r = "primary", size: i = "md", pill: a = !1, fullWidth: o = !1, style: s, children: c }) {
418
+ let l = S(e);
419
+ if (!l || l.startsWith("mailto:")) return null;
420
+ let d = N[i], f = g("light", t, r), p = +(t === "outlined"), m = (d.minHeight - d.lineHeight) / 2 - p;
421
+ return /* @__PURE__ */ u(n, {
422
+ href: l,
423
+ className: w.variant(t, r),
424
+ style: {
425
+ display: o ? "block" : "inline-block",
426
+ boxSizing: "border-box",
427
+ width: o ? "100%" : void 0,
428
+ textAlign: "center",
429
+ paddingTop: `${m}px`,
430
+ paddingBottom: `${m}px`,
431
+ paddingLeft: `${d.paddingInline}px`,
432
+ paddingRight: `${d.paddingInline}px`,
433
+ fontFamily: y.body,
434
+ fontSize: `${d.fontSize}px`,
435
+ fontWeight: 600,
436
+ lineHeight: `${d.lineHeight}px`,
437
+ textDecoration: "none",
438
+ borderRadius: a ? "9999px" : b.sm,
439
+ color: f.color,
440
+ backgroundColor: f.backgroundColor ?? "transparent",
441
+ border: f.borderColor ? `1px solid ${f.borderColor}` : void 0,
442
+ ...s
443
+ },
444
+ children: /* @__PURE__ */ u("span", {
445
+ style: {
446
+ display: "inline-block",
447
+ lineHeight: `${d.lineHeight}px`
448
+ },
449
+ children: c
450
+ })
451
+ });
452
+ }
453
+ //#endregion
454
+ //#region src/components/Link.tsx
455
+ function F({ href: e, color: t = "primary", underline: n = "always", style: r, children: i }) {
456
+ let a = S(e);
457
+ return a ? /* @__PURE__ */ u(s, {
458
+ href: a,
459
+ className: w.main(t),
460
+ style: {
461
+ fontFamily: y.body,
462
+ color: _("light", t),
463
+ textDecoration: n === "always" ? "underline" : "none",
464
+ wordBreak: "break-word",
465
+ ...r
466
+ },
467
+ children: i
468
+ }) : /* @__PURE__ */ u(l, { children: i });
469
+ }
470
+ //#endregion
471
+ //#region src/components/Divider.tsx
472
+ function I({ style: e }) {
473
+ let t = v.light;
474
+ return /* @__PURE__ */ u("div", {
475
+ role: "separator",
476
+ className: w.divider,
477
+ style: {
478
+ height: "1px",
479
+ lineHeight: "1px",
480
+ fontSize: "1px",
481
+ background: t.dividerFallback,
482
+ backgroundColor: t.divider,
483
+ border: "none",
484
+ margin: 0,
485
+ ...e
486
+ },
487
+ children: "\xA0"
488
+ });
489
+ }
490
+ //#endregion
491
+ //#region src/components/Card.tsx
492
+ function L({ variant: e = "outlined", color: t = "neutral", style: n, children: r }) {
493
+ let i = g("light", e, t), a = i.backgroundColor !== void 0;
494
+ return /* @__PURE__ */ u("table", {
495
+ role: "presentation",
496
+ width: "100%",
497
+ cellPadding: 0,
498
+ cellSpacing: 0,
499
+ border: 0,
500
+ className: [w.variant(e, t), a ? "" : w.surface].filter(Boolean).join(" "),
501
+ style: {
502
+ borderCollapse: "separate",
503
+ borderRadius: b.md,
504
+ backgroundColor: i.backgroundColor ?? v.light.surface,
505
+ color: i.color,
506
+ border: i.borderColor ? `1px solid ${i.borderColor}` : void 0,
507
+ fontFamily: y.body,
508
+ ...n
509
+ },
510
+ children: /* @__PURE__ */ u("tbody", { children: /* @__PURE__ */ u("tr", { children: /* @__PURE__ */ u("td", {
511
+ style: { padding: "16px" },
512
+ children: r
513
+ }) }) })
514
+ });
515
+ }
516
+ //#endregion
517
+ //#region src/components/Avatar.tsx
518
+ var te = {
519
+ sm: {
520
+ box: 32,
521
+ fontSize: "14px",
522
+ fontWeight: 500
523
+ },
524
+ md: {
525
+ box: 40,
526
+ fontSize: "16px",
527
+ fontWeight: 500
528
+ },
529
+ lg: {
530
+ box: 48,
531
+ fontSize: "18px",
532
+ fontWeight: 600
533
+ }
534
+ };
535
+ function R({ variant: e = "soft", color: t = "neutral", size: n = "md", src: r, alt: i = "", children: a }) {
536
+ let s = te[n], c = C(r);
537
+ if (c) return /* @__PURE__ */ u(o, {
538
+ src: c,
539
+ width: s.box,
540
+ height: s.box,
541
+ alt: i,
542
+ style: {
543
+ display: "inline-block",
544
+ borderRadius: "50%",
545
+ objectFit: "cover"
546
+ }
547
+ });
548
+ let l = g("light", e, t);
549
+ return /* @__PURE__ */ u("table", {
550
+ role: "presentation",
551
+ cellPadding: 0,
552
+ cellSpacing: 0,
553
+ border: 0,
554
+ className: w.variant(e, t),
555
+ style: {
556
+ display: "inline-table",
557
+ boxSizing: "border-box",
558
+ width: `${s.box}px`,
559
+ height: `${s.box}px`,
560
+ borderCollapse: "separate",
561
+ borderRadius: "50%",
562
+ backgroundColor: l.backgroundColor ?? "transparent",
563
+ color: l.color,
564
+ border: l.borderColor ? `1px solid ${l.borderColor}` : void 0,
565
+ fontFamily: y.body,
566
+ fontSize: s.fontSize,
567
+ fontWeight: s.fontWeight,
568
+ lineHeight: 1,
569
+ verticalAlign: "middle"
570
+ },
571
+ children: /* @__PURE__ */ u("tbody", { children: /* @__PURE__ */ u("tr", { children: /* @__PURE__ */ u("td", {
572
+ align: "center",
573
+ style: {
574
+ padding: 0,
575
+ verticalAlign: "middle",
576
+ textAlign: "center"
577
+ },
578
+ children: a
579
+ }) }) })
580
+ });
581
+ }
582
+ //#endregion
583
+ //#region src/components/Chip.tsx
584
+ var z = {
585
+ sm: {
586
+ minHeight: 20,
587
+ paddingInline: 6,
588
+ fontSize: 12
589
+ },
590
+ md: {
591
+ minHeight: 24,
592
+ paddingInline: 8,
593
+ fontSize: 14
594
+ },
595
+ lg: {
596
+ minHeight: 28,
597
+ paddingInline: 12,
598
+ fontSize: 16
599
+ }
600
+ };
601
+ function B({ variant: e = "soft", color: t = "neutral", size: n = "md", style: r, children: i }) {
602
+ let a = z[n], o = g("light", e, t), s = o.backgroundColor !== void 0, c = +!!o.borderColor, l = a.fontSize * 1.5, d = (a.minHeight - l) / 2 - c;
603
+ return /* @__PURE__ */ u("span", {
604
+ className: [w.variant(e, t), s ? "" : w.surface].filter(Boolean).join(" "),
605
+ style: {
606
+ display: "inline-block",
607
+ boxSizing: "border-box",
608
+ whiteSpace: "nowrap",
609
+ verticalAlign: "middle",
610
+ padding: `${d}px ${a.paddingInline}px`,
611
+ borderRadius: "1.5rem",
612
+ fontFamily: y.body,
613
+ fontSize: `${a.fontSize}px`,
614
+ fontWeight: 500,
615
+ lineHeight: 1.5,
616
+ color: o.color,
617
+ backgroundColor: o.backgroundColor ?? v.light.surface,
618
+ border: o.borderColor ? `1px solid ${o.borderColor}` : void 0,
619
+ ...r
620
+ },
621
+ children: i
622
+ });
623
+ }
624
+ //#endregion
625
+ //#region src/components/HintoricLogo.tsx
626
+ var V = {
627
+ light: "https://cdn.hintoric.com/assets/logo/black.png",
628
+ dark: "https://cdn.hintoric.com/assets/logo/white.png",
629
+ width: 104,
630
+ height: 32
631
+ };
632
+ function H() {
633
+ return /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(o, {
634
+ src: V.light,
635
+ width: V.width,
636
+ height: V.height,
637
+ alt: "hintoric",
638
+ className: w.logoLight,
639
+ style: {
640
+ display: "inline-block",
641
+ margin: "0 auto"
642
+ }
643
+ }), /* @__PURE__ */ u(o, {
644
+ src: V.dark,
645
+ width: V.width,
646
+ height: V.height,
647
+ alt: "hintoric",
648
+ className: w.logoDark,
649
+ style: {
650
+ display: "none",
651
+ margin: "0 auto"
652
+ }
653
+ })] });
654
+ }
655
+ //#endregion
656
+ //#region src/templates/SecurityActivityAlert/SecurityActivityAlertEmail.tsx
657
+ function U(e) {
658
+ return {
659
+ activity: e.activity,
660
+ target: e.target,
661
+ targetName: W(e),
662
+ occurredAt: e.messages.formatDateTime(e.activity.occurredAt, e.timeZone)
663
+ };
664
+ }
665
+ function W({ target: e }) {
666
+ return e.type === "workspace" ? e.workspaceName : e.email;
667
+ }
668
+ function G(e) {
669
+ return e.split(/\s+/).map((e) => e.match(/\p{L}/u)?.[0]).filter((e) => e !== void 0).slice(0, 2).map((e) => e.toUpperCase()).join("");
670
+ }
671
+ function K(e) {
672
+ let { messages: t } = e, n = U(e);
673
+ return /* @__PURE__ */ u(O, {
674
+ lang: t.lang,
675
+ preview: t.preview(n),
676
+ colorScheme: e.colorScheme,
677
+ footer: /* @__PURE__ */ d(M, {
678
+ level: "body-xs",
679
+ component: "p",
680
+ textAlign: "center",
681
+ textColor: "icon",
682
+ style: { fontWeight: 400 },
683
+ children: [t.footer(n), e.legalNotice && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("br", {}), e.legalNotice] })]
684
+ }),
685
+ children: /* @__PURE__ */ u(q, { ...e })
686
+ });
687
+ }
688
+ function q(e) {
689
+ let { messages: t, activityLogUrl: n } = e, r = U(e);
690
+ return /* @__PURE__ */ d(l, { children: [
691
+ /* @__PURE__ */ d("div", {
692
+ style: { textAlign: "center" },
693
+ children: [
694
+ /* @__PURE__ */ u(H, {}),
695
+ /* @__PURE__ */ u(M, {
696
+ level: "h3",
697
+ component: "h1",
698
+ style: {
699
+ margin: "16px 0 12px",
700
+ fontFamily: y.heading
701
+ },
702
+ children: e.activity.title
703
+ }),
704
+ /* @__PURE__ */ u(R, {
705
+ size: "sm",
706
+ color: "primary",
707
+ children: G(r.targetName)
708
+ }),
709
+ /* @__PURE__ */ u(M, {
710
+ level: "title-sm",
711
+ component: "span",
712
+ style: {
713
+ marginLeft: "8px",
714
+ verticalAlign: "middle"
715
+ },
716
+ children: r.targetName
717
+ })
718
+ ]
719
+ }),
720
+ /* @__PURE__ */ u(I, { style: { margin: "32px 0" } }),
721
+ /* @__PURE__ */ d(M, {
722
+ level: "body-sm",
723
+ style: { marginBottom: "24px" },
724
+ children: [
725
+ e.activity.description?.trim() || t.summary(r),
726
+ " ",
727
+ t.guidance(r)
728
+ ]
729
+ }),
730
+ /* @__PURE__ */ u(P, {
731
+ href: e.reviewUrl,
732
+ size: "lg",
733
+ fullWidth: !0,
734
+ children: t.reviewButton
735
+ }),
736
+ n && /* @__PURE__ */ u(M, {
737
+ level: "body-xs",
738
+ component: "p",
739
+ textAlign: "center",
740
+ style: {
741
+ marginTop: "24px",
742
+ fontWeight: 400
743
+ },
744
+ children: t.activityLogHint((e) => /* @__PURE__ */ u(F, {
745
+ href: n,
746
+ underline: "none",
747
+ children: e
748
+ }))
749
+ })
750
+ ] });
751
+ }
752
+ async function J(e) {
753
+ let { html: t, text: n } = await f(/* @__PURE__ */ u(K, { ...e }));
754
+ return {
755
+ subject: e.messages.subject(U(e)),
756
+ html: t,
757
+ text: n
758
+ };
759
+ }
760
+ //#endregion
761
+ //#region src/templates/SecurityActivityAlert/messages.tsx
762
+ function Y(e) {
763
+ return (t, n) => new Intl.DateTimeFormat(e, {
764
+ dateStyle: "long",
765
+ timeStyle: "short",
766
+ timeZone: n
767
+ }).format(t);
768
+ }
769
+ var X = {
770
+ lang: "de",
771
+ subject: ({ activity: e, targetName: t }) => `${e.title} – ${t}`,
772
+ preview: ({ activity: e, occurredAt: t }) => `${e.actorName} · ${t}`,
773
+ summary: ({ activity: e, occurredAt: t }) => `${e.actorName} hat am ${t} eine sicherheitsrelevante Änderung vorgenommen.`,
774
+ guidance: () => "Wenn du diese Änderung nicht erwartet hast, prüfe die Aktivität jetzt.",
775
+ reviewButton: "Aktivität prüfen",
776
+ activityLogHint: (e) => /* @__PURE__ */ d(l, { children: [
777
+ "Alle sicherheitsrelevanten Aktivitäten findest du im ",
778
+ e("Aktivitätsprotokoll"),
779
+ "."
780
+ ] }),
781
+ footer: ({ target: e }) => e.type === "workspace" ? "Wir haben dir diese E-Mail gesendet, um dich als Administrator über wichtige Änderungen in deinem Workspace zu informieren." : "Wir haben dir diese E-Mail gesendet, um dich über wichtige Änderungen an deinem hintoric-Konto zu informieren.",
782
+ formatDateTime: Y("de-DE")
783
+ }, Z = {
784
+ lang: "en",
785
+ subject: ({ activity: e, targetName: t }) => `${e.title} – ${t}`,
786
+ preview: ({ activity: e, occurredAt: t }) => `${e.actorName} · ${t}`,
787
+ summary: ({ activity: e, occurredAt: t }) => `${e.actorName} made a security-relevant change on ${t}.`,
788
+ guidance: () => "If you didn't expect this change, review the activity now.",
789
+ reviewButton: "Review activity",
790
+ activityLogHint: (e) => /* @__PURE__ */ d(l, { children: [
791
+ "You can see all security-relevant activity in the ",
792
+ e("activity log"),
793
+ "."
794
+ ] }),
795
+ footer: ({ target: e }) => e.type === "workspace" ? "We sent you this email to let you know, as an admin, about important changes in your workspace." : "We sent you this email to let you know about important changes to your hintoric account.",
796
+ formatDateTime: Y("en-GB")
797
+ };
798
+ //#endregion
799
+ //#region src/templates/WaitlistWelcome/WaitlistWelcomeEmail.tsx
800
+ function Q(e) {
801
+ let { messages: t } = e;
802
+ return /* @__PURE__ */ u(O, {
803
+ lang: t.lang,
804
+ preview: t.preview,
805
+ colorScheme: e.colorScheme,
806
+ footer: /* @__PURE__ */ d(M, {
807
+ level: "body-xs",
808
+ component: "p",
809
+ textAlign: "center",
810
+ textColor: "icon",
811
+ style: { fontWeight: 400 },
812
+ children: [t.footer, e.legalNotice && /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u("br", {}), e.legalNotice] })]
813
+ }),
814
+ children: /* @__PURE__ */ u($, { ...e })
815
+ });
816
+ }
817
+ function $({ messages: e, websiteUrl: t }) {
818
+ return /* @__PURE__ */ d("div", {
819
+ style: { textAlign: "center" },
820
+ children: [
821
+ /* @__PURE__ */ u(H, {}),
822
+ /* @__PURE__ */ u(M, {
823
+ level: "body-xs",
824
+ component: "p",
825
+ textAlign: "center",
826
+ textColor: "icon",
827
+ style: {
828
+ margin: "24px 0 8px",
829
+ fontWeight: 400
830
+ },
831
+ children: e.eyebrow
832
+ }),
833
+ /* @__PURE__ */ u(M, {
834
+ level: "h3",
835
+ component: "h1",
836
+ style: {
837
+ margin: "0 0 16px",
838
+ fontFamily: y.heading
839
+ },
840
+ children: e.heading
841
+ }),
842
+ /* @__PURE__ */ u(M, {
843
+ level: "body-sm",
844
+ style: { marginBottom: "12px" },
845
+ children: e.body1
846
+ }),
847
+ /* @__PURE__ */ u(M, {
848
+ level: "body-sm",
849
+ style: { marginBottom: "24px" },
850
+ children: e.body2
851
+ }),
852
+ /* @__PURE__ */ u(P, {
853
+ href: t,
854
+ size: "lg",
855
+ fullWidth: !0,
856
+ children: e.cta
857
+ }),
858
+ /* @__PURE__ */ u(M, {
859
+ level: "body-xs",
860
+ component: "p",
861
+ textAlign: "center",
862
+ textColor: "icon",
863
+ style: {
864
+ margin: "24px 0 0",
865
+ fontWeight: 400
866
+ },
867
+ children: e.signoff
868
+ })
869
+ ]
870
+ });
871
+ }
872
+ async function ne(e) {
873
+ let { html: t, text: n } = await f(/* @__PURE__ */ u(Q, { ...e }));
874
+ return {
875
+ subject: e.messages.subject,
876
+ html: t,
877
+ text: n
878
+ };
879
+ }
880
+ //#endregion
881
+ //#region src/templates/WaitlistWelcome/messages.ts
882
+ var re = {
883
+ lang: "de",
884
+ subject: "Du bist auf der Hintoric-Warteliste",
885
+ preview: "Willkommen an Bord — Hintoric",
886
+ eyebrow: "Danke, dass du dabei bist",
887
+ heading: "Willkommen bei Hintoric",
888
+ body1: "Alles erledigt. Sobald dein Platz frei wird, melden wir uns sofort — du bist einer der Ersten, die Hintoric ausprobieren dürfen.",
889
+ body2: "Bis dahin halten wir dich auf dem Laufenden. Wenn jemand aus deinem Umfeld auch dazugehören sollte, leite diese Mail gerne weiter.",
890
+ cta: "Zu hintoric.com",
891
+ signoff: "— Dein Hintoric-Team",
892
+ footer: "Wir haben dir diese E-Mail gesendet, weil du dich für die Hintoric-Warteliste eingetragen hast."
893
+ }, ie = {
894
+ lang: "en",
895
+ subject: "You're on the Hintoric waitlist",
896
+ preview: "Welcome aboard — Hintoric",
897
+ eyebrow: "Thanks for joining",
898
+ heading: "Welcome to Hintoric",
899
+ body1: "You're all set. As soon as your spot opens up we'll let you know — you'll be one of the first to try Hintoric.",
900
+ body2: "Until then we'll keep you posted. If someone you know should be on the list too, feel free to forward this email.",
901
+ cta: "Go to hintoric.com",
902
+ signoff: "— Your Hintoric team",
903
+ footer: "We sent you this email because you signed up for the Hintoric waitlist."
904
+ };
905
+ //#endregion
906
+ export { R as Avatar, P as Button, L as Card, B as Chip, k as ColorSchemeStyles, I as Divider, m as EMAIL_COLORS, h as EMAIL_VARIANTS, H as HintoricLogo, O as Layout, F as Link, q as SecurityActivityAlertContent, K as SecurityActivityAlertEmail, M as Typography, $ as WaitlistWelcomeContent, Q as WaitlistWelcomeEmail, y as emailFonts, p as emailPalette, b as emailRadius, v as emailSchemes, _ as mainColor, f as renderEmail, J as renderSecurityActivityAlert, ne as renderWaitlistWelcome, S as safeHref, C as safeImageSrc, X as securityActivityAlertMessagesDe, Z as securityActivityAlertMessagesEn, g as variantTokens, re as waitlistWelcomeMessagesDe, ie as waitlistWelcomeMessagesEn };
907
+
908
+ //# sourceMappingURL=index.js.map