@hintoric/email 0.0.0-stage → 0.1.1

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 (40) 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 +24 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +801 -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/tokens.d.ts +50 -0
  39. package/dist/tokens.d.ts.map +1 -0
  40. package/package.json +59 -3
package/README.md CHANGED
@@ -1,3 +1,54 @@
1
- # Temporary Holding Version
1
+ <p align="center">
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset="https://cdn.hintoric.com/assets/logo/white.svg" />
4
+ <source media="(prefers-color-scheme: light)" srcset="https://cdn.hintoric.com/assets/logo/black.svg" />
5
+ <img src="https://cdn.hintoric.com/assets/logo/black.svg" alt="hintoric" width="240" />
6
+ </picture>
7
+ </p>
2
8
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
9
+ <p align="center">
10
+ Transactional email components in <a href="https://www.npmjs.com/package/@hintoric/ui">@hintoric/ui</a>'s look, built on <a href="https://react.email">react-email</a>.
11
+ </p>
12
+
13
+ ## What this is
14
+
15
+ Mail clients understand neither Tailwind classes nor CSS variables, and run no JavaScript, so
16
+ `@hintoric/ui`'s components can't be sent as they are. `@hintoric/email` has email counterparts of
17
+ the most important ones — `Typography`, `Button`, `Link`, `Divider`,
18
+ `Card`, `Avatar` and `Chip` — with the same `variant`, `color` and `size` props,
19
+ rendered as tables and inline styles. A visual test suite compares every variant × colour of each
20
+ against its web component in light and dark.
21
+
22
+ It also ships `Layout` (a message framed like hintoric's auth screens), `renderEmail` and
23
+ ready-made templates such as `SecurityActivityAlertEmail`.
24
+
25
+ ## Install
26
+
27
+ ```bash
28
+ npm install @hintoric/email
29
+ ```
30
+
31
+ ## Usage
32
+
33
+ ```tsx
34
+ import { Layout, Typography, Button, renderEmail } from '@hintoric/email';
35
+
36
+ const { html, text } = await renderEmail(
37
+ <Layout lang="de" preview="Neue Anmeldung" footer="Muster GmbH · Musterstraße 1">
38
+ <Typography level="h3" component="h1" textAlign="center">
39
+ Neue Anmeldung
40
+ </Typography>
41
+ <Button href="https://app.example.com/security" size="lg" fullWidth>
42
+ Aktivität prüfen
43
+ </Button>
44
+ </Layout>,
45
+ );
46
+ ```
47
+
48
+ ## Docs
49
+
50
+ Components, templates and live previews: [ui.hintoric.dev/email](https://ui.hintoric.dev/email)
51
+
52
+ ## License
53
+
54
+ MIT
@@ -0,0 +1,37 @@
1
+ import { EmailColor, EmailVariant } from '../tokens';
2
+ import * as React from 'react';
3
+ /** avatarVariants.ts: 32/40/48px boxes, text-sm/base/lg, medium/medium/semibold. */
4
+ declare const SIZES: {
5
+ readonly sm: {
6
+ readonly box: 32;
7
+ readonly fontSize: "14px";
8
+ readonly fontWeight: 500;
9
+ };
10
+ readonly md: {
11
+ readonly box: 40;
12
+ readonly fontSize: "16px";
13
+ readonly fontWeight: 500;
14
+ };
15
+ readonly lg: {
16
+ readonly box: 48;
17
+ readonly fontSize: "18px";
18
+ readonly fontWeight: 600;
19
+ };
20
+ };
21
+ export interface AvatarProps {
22
+ variant?: EmailVariant;
23
+ color?: EmailColor;
24
+ size?: keyof typeof SIZES;
25
+ /** An https image. Without one, `children` (usually initials) is shown. */
26
+ src?: string;
27
+ alt?: string;
28
+ children?: React.ReactNode;
29
+ }
30
+ /**
31
+ * Avatar for email, defaulting to soft / neutral like the web Avatar. Unlike
32
+ * Card, outlined and plain stay transparent — Joy's Avatar has no surface
33
+ * fallback. The initials are centred by a table cell, since email has no flexbox.
34
+ */
35
+ export declare function Avatar({ variant, color, size, src, alt, children }: AvatarProps): React.JSX.Element;
36
+ export {};
37
+ //# sourceMappingURL=Avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../src/components/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAA6B,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAG1F,oFAAoF;AACpF,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;CAID,CAAC;AAEX,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;IAC1B,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,EAAE,OAAgB,EAAE,KAAiB,EAAE,IAAW,EAAE,GAAG,EAAE,GAAQ,EAAE,QAAQ,EAAE,EAAE,WAAW,qBAwChH"}
@@ -0,0 +1,39 @@
1
+ import { EmailColor, EmailVariant } from '../tokens';
2
+ import * as React from 'react';
3
+ declare const SIZES: {
4
+ readonly sm: {
5
+ readonly minHeight: 32;
6
+ readonly paddingInline: 12;
7
+ readonly fontSize: 14;
8
+ readonly lineHeight: 21;
9
+ };
10
+ readonly md: {
11
+ readonly minHeight: 36;
12
+ readonly paddingInline: 16;
13
+ readonly fontSize: 14;
14
+ readonly lineHeight: 21;
15
+ };
16
+ readonly lg: {
17
+ readonly minHeight: 44;
18
+ readonly paddingInline: 24;
19
+ readonly fontSize: 16;
20
+ readonly lineHeight: 24;
21
+ };
22
+ };
23
+ export interface ButtonProps {
24
+ /** Rendered only for http(s) URLs; anything else renders nothing — a button nobody can follow is worse than none. */
25
+ href: string;
26
+ variant?: EmailVariant;
27
+ color?: EmailColor;
28
+ size?: keyof typeof SIZES;
29
+ /** `rounded-full`, as on the web Button. */
30
+ pill?: boolean;
31
+ /** Stretches to the container — the usual call-to-action layout in a narrow email. */
32
+ fullWidth?: boolean;
33
+ style?: React.CSSProperties;
34
+ children: React.ReactNode;
35
+ }
36
+ /** Button for email: a link styled as the web Button, built on react-email's Outlook-safe Button. */
37
+ export declare function Button({ href, variant, color, size, pill, fullWidth, style, children }: ButtonProps): React.JSX.Element | null;
38
+ export {};
39
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAA0C,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AASvG,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;CAID,CAAC;AAEX,MAAM,WAAW,WAAW;IAC1B,qHAAqH;IACrH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;IAC1B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sFAAsF;IACtF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,qGAAqG;AACrG,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,OAAiB,EAAE,KAAiB,EAAE,IAAW,EAAE,IAAY,EAAE,SAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,4BA0ChJ"}
@@ -0,0 +1,17 @@
1
+ import { EmailColor, EmailVariant } from '../tokens';
2
+ import * as React from 'react';
3
+ export interface CardProps {
4
+ variant?: EmailVariant;
5
+ color?: EmailColor;
6
+ style?: React.CSSProperties;
7
+ children?: React.ReactNode;
8
+ }
9
+ /**
10
+ * Card for email: Sheet's variant colours plus Card's own `rounded-md p-4`,
11
+ * defaulting to outlined / neutral like the web Card. Outlined and plain fill
12
+ * with `surface`, as Joy's Sheet does. A one-cell table, because that is the
13
+ * only box Outlook pads reliably; Card's `gap-2` has no email equivalent, so
14
+ * spacing between children is theirs to set.
15
+ */
16
+ export declare function Card({ variant, color, style, children }: CardProps): React.JSX.Element;
17
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../src/components/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAwD,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAErH,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,EAAE,OAAoB,EAAE,KAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,qBA4B3F"}
@@ -0,0 +1,34 @@
1
+ import { EmailColor, EmailVariant } from '../tokens';
2
+ import * as React from 'react';
3
+ /**
4
+ * chipVariants.ts: `min-h-5/6/7`, `px-1.5/2/3`, `text-xs/sm/base` at a 1.5
5
+ * line-height. As with Button, the min-height becomes vertical padding.
6
+ */
7
+ declare const SIZES: {
8
+ readonly sm: {
9
+ readonly minHeight: 20;
10
+ readonly paddingInline: 6;
11
+ readonly fontSize: 12;
12
+ };
13
+ readonly md: {
14
+ readonly minHeight: 24;
15
+ readonly paddingInline: 8;
16
+ readonly fontSize: 14;
17
+ };
18
+ readonly lg: {
19
+ readonly minHeight: 28;
20
+ readonly paddingInline: 12;
21
+ readonly fontSize: 16;
22
+ };
23
+ };
24
+ export interface ChipProps {
25
+ variant?: EmailVariant;
26
+ color?: EmailColor;
27
+ size?: keyof typeof SIZES;
28
+ style?: React.CSSProperties;
29
+ children: React.ReactNode;
30
+ }
31
+ /** Chip for email, defaulting to soft / neutral like the web Chip; outlined and plain fill with `surface`. */
32
+ export declare function Chip({ variant, color, size, style, children }: ChipProps): React.JSX.Element;
33
+ export {};
34
+ //# sourceMappingURL=Chip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../src/components/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAA2C,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAExG;;;GAGG;AACH,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;CAID,CAAC;AAEX,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,8GAA8G;AAC9G,wBAAgB,IAAI,CAAC,EAAE,OAAgB,EAAE,KAAiB,EAAE,IAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,qBA8BpG"}
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export interface DividerProps {
3
+ /** Spacing around the line — the web Divider has none of its own either. */
4
+ style?: React.CSSProperties;
5
+ }
6
+ /**
7
+ * Divider for email: a 1px line in `--color-divider`. A div rather than an
8
+ * <hr>, whose borders Outlook and Gmail each draw differently. `background`
9
+ * carries a solid fallback that Outlook's Word engine — which drops rgba() —
10
+ * keeps; every other client takes the rgba `background-color` after it.
11
+ */
12
+ export declare function Divider({ style }: DividerProps): React.JSX.Element;
13
+ //# sourceMappingURL=Divider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../src/components/Divider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,YAAY,qBAW9C"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The email counterpart of the web HintoricLogo: the black wordmark, swapped
3
+ * for the white one where the client applies the dark stylesheet.
4
+ */
5
+ export declare function HintoricLogo(): import("react").JSX.Element;
6
+ //# sourceMappingURL=HintoricLogo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HintoricLogo.d.ts","sourceRoot":"","sources":["../../src/components/HintoricLogo.tsx"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,YAAY,gCAqB3B"}
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ export interface LayoutProps {
3
+ /** The `lang` of the message — screen readers pick their voice from it. */
4
+ lang: string;
5
+ /**
6
+ * The line inbox lists show after the subject. Without one, clients take the
7
+ * first text they find, which is usually the brand name.
8
+ */
9
+ preview: string;
10
+ /** Rendered under the card: why the reader got this, the sender's legal line. */
11
+ footer?: React.ReactNode;
12
+ /** Forces a scheme for previews. Left out, the email follows the reader's OS where the client supports that. */
13
+ colorScheme?: 'light' | 'dark';
14
+ children: React.ReactNode;
15
+ }
16
+ /**
17
+ * The whole document, laid out like core's AuthScreen: a 440px outlined card
18
+ * with a 20px radius and 48px padding on a `surface-1` page, the fine print
19
+ * centred under it. In dark the page and card swap surfaces, as AuthScreen's do.
20
+ */
21
+ export declare function Layout({ lang, preview, footer, colorScheme, children }: LayoutProps): React.JSX.Element;
22
+ /**
23
+ * The dark-mode stylesheet on its own. Layout includes it; render it
24
+ * once yourself when email components are shown inside a normal page — a
25
+ * preview, the docs — so they follow that page's `data-color-scheme`.
26
+ */
27
+ export declare function ColorSchemeStyles(): React.JSX.Element;
28
+ //# sourceMappingURL=Layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../src/components/Layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,gHAAgH;IAChH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,WAAW,qBA8BnF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,sBAEhC"}
@@ -0,0 +1,18 @@
1
+ import { EmailColor } from '../tokens';
2
+ import * as React from 'react';
3
+ export interface LinkProps {
4
+ /** Rendered only for http(s) and mailto URLs; anything else becomes plain text. */
5
+ href: string;
6
+ color?: EmailColor;
7
+ /**
8
+ * The web Link defaults to `hover`, but there is no reliable hover in email,
9
+ * so the default here is `always`: an inbox reader needs to see a link is
10
+ * one without touching it.
11
+ */
12
+ underline?: 'none' | 'always';
13
+ style?: React.CSSProperties;
14
+ children: React.ReactNode;
15
+ }
16
+ /** Link for email: the web Link's `--color-*-main` colour, which steps from 500 to 400 in dark. */
17
+ export declare function Link({ href, color, underline, style, children }: LinkProps): React.JSX.Element;
18
+ //# sourceMappingURL=Link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../src/components/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAGnE,MAAM,WAAW,SAAS;IACxB,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,mGAAmG;AACnG,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,KAAiB,EAAE,SAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,qBAYjG"}
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ export type TypographyLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'title-lg' | 'title-md' | 'title-sm' | 'body-lg' | 'body-md' | 'body-sm' | 'body-xs';
3
+ export interface TypographyProps {
4
+ level?: TypographyLevel;
5
+ /** The element to render. Defaults to the same tag the web Typography picks for the level. */
6
+ component?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div';
7
+ textAlign?: 'left' | 'center' | 'right';
8
+ /**
9
+ * Overrides the level's ink, like Joy's `textColor="text.tertiary"`.
10
+ * `icon` is the theme's faintest ink — for fine print that should recede.
11
+ */
12
+ textColor?: 'primary' | 'secondary' | 'tertiary' | 'icon';
13
+ /** Margin, spacing and the like — there is no Stack in email, so spacing lives on the text. */
14
+ style?: React.CSSProperties;
15
+ children?: React.ReactNode;
16
+ }
17
+ /** Typography for email: the same levels, sizes and ink colours, as inline styles. */
18
+ export declare function Typography({ level, component, textAlign, textColor, style, children }: TypographyProps): React.JSX.Element;
19
+ //# sourceMappingURL=Typography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Typography.d.ts","sourceRoot":"","sources":["../../src/components/Typography.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,MAAM,eAAe,GACvB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,UAAU,GACV,UAAU,GACV,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAsCd,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,8FAA8F;IAC9F,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC;IAC3E,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;IAC1D,+FAA+F;IAC/F,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AASD,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,EAAE,KAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,qBAsBlH"}
@@ -0,0 +1,24 @@
1
+ export { renderEmail } from './render';
2
+ export type { RenderedEmailBody } from './render';
3
+ export { EMAIL_COLORS, EMAIL_VARIANTS, emailFonts, emailPalette, emailRadius, emailSchemes, mainColor, variantTokens, } from './tokens';
4
+ export type { EmailColor, EmailScheme, EmailSchemeTokens, EmailVariant, EmailVariantTokens } from './tokens';
5
+ export { safeHref, safeImageSrc } from './safeUrl';
6
+ export { Layout, ColorSchemeStyles } from './components/Layout';
7
+ export type { LayoutProps } from './components/Layout';
8
+ export { Typography } from './components/Typography';
9
+ export type { TypographyLevel, TypographyProps } from './components/Typography';
10
+ export { Button } from './components/Button';
11
+ export type { ButtonProps } from './components/Button';
12
+ export { Link } from './components/Link';
13
+ export type { LinkProps } from './components/Link';
14
+ export { Divider } from './components/Divider';
15
+ export type { DividerProps } from './components/Divider';
16
+ export { Card } from './components/Card';
17
+ export type { CardProps } from './components/Card';
18
+ export { Avatar } from './components/Avatar';
19
+ export type { AvatarProps } from './components/Avatar';
20
+ export { Chip } from './components/Chip';
21
+ export type { ChipProps } from './components/Chip';
22
+ export { HintoricLogo } from './components/HintoricLogo';
23
+ export * from './templates/SecurityActivityAlert';
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC7G,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,cAAc,mCAAmC,CAAC"}