@learncard/email-templates 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -43
- package/dist/previews/account-approved-scenarios.d.ts +2 -1
- package/dist/previews/account-approved-scenarios.d.ts.map +1 -1
- package/dist/previews/endorsement-request-scenarios.d.ts +2 -1
- package/dist/previews/endorsement-request-scenarios.d.ts.map +1 -1
- package/dist/previews/guardian-approval-scenarios.d.ts +2 -1
- package/dist/previews/guardian-approval-scenarios.d.ts.map +1 -1
- package/dist/previews/guardian-credential-scenarios.d.ts +2 -1
- package/dist/previews/guardian-credential-scenarios.d.ts.map +1 -1
- package/dist/previews/inbox-claim-scenarios.d.ts +2 -1
- package/dist/previews/inbox-claim-scenarios.d.ts.map +1 -1
- package/dist/previews/recovery-key-scenarios.d.ts +2 -1
- package/dist/previews/recovery-key-scenarios.d.ts.map +1 -1
- package/dist/previews/verification-code-scenarios.d.ts +2 -1
- package/dist/previews/verification-code-scenarios.d.ts.map +1 -1
- package/dist/templates/account-approved.d.ts +1 -1
- package/dist/templates/account-approved.d.ts.map +1 -1
- package/dist/templates/credential-awaiting-guardian.d.ts +1 -1
- package/dist/templates/credential-awaiting-guardian.d.ts.map +1 -1
- package/dist/templates/email-verification.d.ts +1 -1
- package/dist/templates/email-verification.d.ts.map +1 -1
- package/dist/templates/endorsement-request.d.ts +1 -1
- package/dist/templates/endorsement-request.d.ts.map +1 -1
- package/dist/templates/guardian-approval.d.ts +1 -1
- package/dist/templates/guardian-approval.d.ts.map +1 -1
- package/dist/templates/guardian-approved-claim.d.ts +1 -1
- package/dist/templates/guardian-approved-claim.d.ts.map +1 -1
- package/dist/templates/guardian-credential-approval.d.ts +1 -1
- package/dist/templates/guardian-credential-approval.d.ts.map +1 -1
- package/dist/templates/guardian-email-otp.d.ts +1 -1
- package/dist/templates/guardian-email-otp.d.ts.map +1 -1
- package/dist/templates/guardian-rejected-credential.d.ts +1 -1
- package/dist/templates/guardian-rejected-credential.d.ts.map +1 -1
- package/dist/templates/inbox-claim.d.ts +1 -1
- package/dist/templates/inbox-claim.d.ts.map +1 -1
- package/dist/templates/recovery-key.d.ts +1 -1
- package/dist/templates/recovery-key.d.ts.map +1 -1
- package/dist/templates/verification-code.d.ts +1 -1
- package/dist/templates/verification-code.d.ts.map +1 -1
- package/dist/templates/verification-code.js +9 -9
- package/dist/templates/verification-code.js.map +1 -1
- package/package.json +49 -39
- package/src/__tests__/render.test.ts +432 -0
- package/src/__tests__/sms.test.ts +95 -0
- package/src/__tests__/tenant-registry.test.ts +257 -0
- package/src/branding.ts +61 -0
- package/src/components/CodeBlock.tsx +61 -0
- package/src/components/EmailButton.tsx +36 -0
- package/src/components/IssuerLogo.tsx +41 -0
- package/src/components/Layout.tsx +192 -0
- package/src/components/LinkFallback.tsx +50 -0
- package/src/index.ts +50 -0
- package/src/previews/_fixtures.tsx +51 -0
- package/src/previews/account-approved-scenarios.tsx +31 -0
- package/src/previews/endorsement-request-scenarios.tsx +50 -0
- package/src/previews/guardian-approval-scenarios.tsx +39 -0
- package/src/previews/guardian-credential-scenarios.tsx +88 -0
- package/src/previews/inbox-claim-scenarios.tsx +66 -0
- package/src/previews/recovery-key-scenarios.tsx +32 -0
- package/src/previews/verification-code-scenarios.tsx +60 -0
- package/src/render.ts +409 -0
- package/src/sms.ts +68 -0
- package/src/templates/account-approved.tsx +105 -0
- package/src/templates/credential-awaiting-guardian.tsx +137 -0
- package/src/templates/email-verification.tsx +110 -0
- package/src/templates/endorsement-request.tsx +157 -0
- package/src/templates/guardian-approval.tsx +122 -0
- package/src/templates/guardian-approved-claim.tsx +114 -0
- package/src/templates/guardian-credential-approval.tsx +127 -0
- package/src/templates/guardian-email-otp.tsx +101 -0
- package/src/templates/guardian-rejected-credential.tsx +103 -0
- package/src/templates/inbox-claim.tsx +141 -0
- package/src/templates/index.ts +35 -0
- package/src/templates/recovery-key.tsx +102 -0
- package/src/templates/verification-code.tsx +164 -0
- package/src/tenant-registry.ts +204 -0
- package/LICENSE +0 -21
package/README.md
CHANGED
|
@@ -73,22 +73,22 @@ const smsBody = renderSms('inbox-claim', tenantBranding, {
|
|
|
73
73
|
|
|
74
74
|
## Template IDs
|
|
75
75
|
|
|
76
|
-
| Template ID
|
|
77
|
-
|
|
|
78
|
-
| `login-verification-code`
|
|
79
|
-
| `recovery-email-code`
|
|
80
|
-
| `embed-email-verification`
|
|
81
|
-
| `contact-method-verification`
|
|
82
|
-
| `inbox-claim`
|
|
83
|
-
| `endorsement-request`
|
|
84
|
-
| `guardian-approval`
|
|
85
|
-
| `account-approved`
|
|
86
|
-
| `recovery-key`
|
|
87
|
-
| `credential-awaiting-guardian`
|
|
88
|
-
| `guardian-credential-approval`
|
|
89
|
-
| `guardian-approved-claim`
|
|
90
|
-
| `guardian-rejected-credential`
|
|
91
|
-
| `guardian-email-otp`
|
|
76
|
+
| Template ID | Service | Purpose |
|
|
77
|
+
| ------------------------------ | ------------- | ------------------------------------- |
|
|
78
|
+
| `login-verification-code` | lca-api | Login OTP code |
|
|
79
|
+
| `recovery-email-code` | lca-api | Recovery email verification |
|
|
80
|
+
| `embed-email-verification` | brain-service | Embed SDK email verification |
|
|
81
|
+
| `contact-method-verification` | brain-service | Link-based email verification |
|
|
82
|
+
| `inbox-claim` | brain-service | Credential claim notification |
|
|
83
|
+
| `endorsement-request` | lca-api | Endorsement request |
|
|
84
|
+
| `guardian-approval` | brain-service | Guardian approval for minor accounts |
|
|
85
|
+
| `account-approved` | brain-service | Account approved notification |
|
|
86
|
+
| `recovery-key` | lca-api | Recovery key delivery |
|
|
87
|
+
| `credential-awaiting-guardian` | brain-service | Student: credential pending guardian |
|
|
88
|
+
| `guardian-credential-approval` | brain-service | Guardian: approve/decline credential |
|
|
89
|
+
| `guardian-approved-claim` | brain-service | Student: guardian approved credential |
|
|
90
|
+
| `guardian-rejected-credential` | brain-service | Student: guardian rejected credential |
|
|
91
|
+
| `guardian-email-otp` | brain-service | Guardian OTP verification |
|
|
92
92
|
|
|
93
93
|
Legacy Postmark aliases (`universal-inbox-claim`, `contact-method-verification-1`, `account-approved-email`, `recovery-key-backup`, `recovery-email-verification`, `universal-inbox-claim-1`) are also supported and map to the corresponding template above.
|
|
94
94
|
|
|
@@ -98,16 +98,16 @@ Every field in `TenantBranding` is optional when calling `renderEmail` / `render
|
|
|
98
98
|
|
|
99
99
|
```typescript
|
|
100
100
|
interface TenantBranding {
|
|
101
|
-
brandName: string;
|
|
102
|
-
logoUrl: string;
|
|
103
|
-
logoAlt: string;
|
|
104
|
-
primaryColor: string;
|
|
101
|
+
brandName: string; // e.g. "VetPass"
|
|
102
|
+
logoUrl: string; // hosted logo image URL
|
|
103
|
+
logoAlt: string; // logo alt text
|
|
104
|
+
primaryColor: string; // hex, e.g. "#1B5E20"
|
|
105
105
|
primaryTextColor: string; // hex, e.g. "#ffffff"
|
|
106
|
-
supportEmail: string;
|
|
107
|
-
websiteUrl: string;
|
|
108
|
-
appUrl: string;
|
|
109
|
-
fromDomain: string;
|
|
110
|
-
copyrightHolder: string;
|
|
106
|
+
supportEmail: string; // footer support email
|
|
107
|
+
websiteUrl: string; // footer website link
|
|
108
|
+
appUrl: string; // base app URL for CTA links
|
|
109
|
+
fromDomain: string; // email from domain
|
|
110
|
+
copyrightHolder: string; // footer copyright name
|
|
111
111
|
}
|
|
112
112
|
```
|
|
113
113
|
|
|
@@ -147,22 +147,22 @@ This makes migration gradual and backward-compatible. Call sites that don't pass
|
|
|
147
147
|
4. Export from `src/templates/index.ts` and `src/index.ts`
|
|
148
148
|
5. Map the old template ID to the new one in the service's PostmarkAdapter (`LOCAL_TEMPLATE_MAP`)
|
|
149
149
|
6. Add test fixtures and assertions to `src/__tests__/render.test.ts`
|
|
150
|
-
7. Run `
|
|
150
|
+
7. Run `bun --filter @learncard/email-templates run test` and `bun --filter @learncard/email-templates run typecheck` to verify
|
|
151
151
|
|
|
152
152
|
## Previewing Templates
|
|
153
153
|
|
|
154
154
|
The package includes a built-in dev server powered by [react-email](https://react.email/):
|
|
155
155
|
|
|
156
156
|
```bash
|
|
157
|
-
|
|
157
|
+
bun --filter @learncard/email-templates run dev
|
|
158
158
|
```
|
|
159
159
|
|
|
160
160
|
This starts a hot-reloading UI at **http://localhost:3333** where you can:
|
|
161
161
|
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
162
|
+
- Browse all templates in a sidebar
|
|
163
|
+
- See a live preview with sample data
|
|
164
|
+
- Toggle between HTML, plain text, and source views
|
|
165
|
+
- Copy the rendered HTML for testing in email clients
|
|
166
166
|
|
|
167
167
|
Each template file has a `default` export with realistic sample data used for previews. Multi-scenario previews in `src/previews/` show templates with different branding and data combinations.
|
|
168
168
|
|
|
@@ -170,20 +170,20 @@ Each template file has a `default` export with realistic sample data used for pr
|
|
|
170
170
|
|
|
171
171
|
Tests use [Vitest](https://vitest.dev/) and cover:
|
|
172
172
|
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
177
|
-
-
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
-
|
|
173
|
+
- **Smoke tests** — every template ID renders without throwing (default, custom, and empty branding)
|
|
174
|
+
- **Content assertions** — dynamic values (URLs, codes, names) appear in rendered HTML
|
|
175
|
+
- **Branding tests** — custom branding flows through to output (colors, brand name, URLs)
|
|
176
|
+
- **Subject line tests** — correct subjects, alias parity
|
|
177
|
+
- **Plain text tests** — no HTML tags in plain text output
|
|
178
|
+
- **Edge cases** — minimal data, missing optional fields
|
|
179
|
+
- **SMS tests** — `renderSms` output strings with branding
|
|
180
|
+
- **Tenant resolution** — header priority, origin mapping, env fallback, registration helpers
|
|
181
181
|
|
|
182
182
|
## Scripts
|
|
183
183
|
|
|
184
184
|
```bash
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
185
|
+
bun --filter @learncard/email-templates run dev # Preview templates in browser
|
|
186
|
+
bun --filter @learncard/email-templates run typecheck # Type check
|
|
187
|
+
bun --filter @learncard/email-templates run test # Run tests (vitest run)
|
|
188
|
+
bun --filter @learncard/email-templates run test:watch # Run tests in watch mode
|
|
189
189
|
```
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* account-approved — all preview scenarios stacked.
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
export default function AccountApprovedScenarios(): React.JSX.Element;
|
|
5
6
|
//# sourceMappingURL=account-approved-scenarios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-approved-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/account-approved-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"account-approved-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/account-approved-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,CAAC,OAAO,UAAU,wBAAwB,sBAqB/C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* endorsement-request — all preview scenarios stacked.
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
export default function EndorsementRequestScenarios(): React.JSX.Element;
|
|
5
6
|
//# sourceMappingURL=endorsement-request-scenarios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endorsement-request-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/endorsement-request-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"endorsement-request-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/endorsement-request-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,CAAC,OAAO,UAAU,2BAA2B,sBAwClD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* guardian-approval — all preview scenarios stacked.
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
export default function GuardianApprovalScenarios(): React.JSX.Element;
|
|
5
6
|
//# sourceMappingURL=guardian-approval-scenarios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian-approval-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/guardian-approval-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"guardian-approval-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/guardian-approval-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,CAAC,OAAO,UAAU,yBAAyB,sBA6BhD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Guardian credential flow — approval, awaiting, approved, rejected scenarios.
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
export default function GuardianCredentialScenarios(): React.JSX.Element;
|
|
5
6
|
//# sourceMappingURL=guardian-credential-scenarios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian-credential-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/guardian-credential-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"guardian-credential-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/guardian-credential-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,MAAM,CAAC,OAAO,UAAU,2BAA2B,sBA0ElD"}
|
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
* Covers: full info, minimal info, no issuer, no credential name,
|
|
5
5
|
* no recipient name, and custom tenant branding.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
import * as React from 'react';
|
|
8
|
+
export default function InboxClaimScenarios(): React.JSX.Element;
|
|
8
9
|
//# sourceMappingURL=inbox-claim-scenarios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-claim-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/inbox-claim-scenarios.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"inbox-claim-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/inbox-claim-scenarios.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,CAAC,OAAO,UAAU,mBAAmB,sBAqD1C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* recovery-key — all preview scenarios stacked.
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
export default function RecoveryKeyScenarios(): React.JSX.Element;
|
|
5
6
|
//# sourceMappingURL=recovery-key-scenarios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-key-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/recovery-key-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"recovery-key-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/recovery-key-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,CAAC,OAAO,UAAU,oBAAoB,sBAsB3C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* verification-code — all variant + branding scenarios stacked.
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
export default function VerificationCodeScenarios(): React.JSX.Element;
|
|
5
6
|
//# sourceMappingURL=verification-code-scenarios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-code-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/verification-code-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"verification-code-scenarios.d.ts","sourceRoot":"","sources":["../../src/previews/verification-code-scenarios.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,CAAC,OAAO,UAAU,yBAAyB,sBAkDhD"}
|
|
@@ -13,5 +13,5 @@ export interface AccountApprovedProps {
|
|
|
13
13
|
}
|
|
14
14
|
export declare const AccountApproved: React.FC<AccountApprovedProps>;
|
|
15
15
|
export declare const getAccountApprovedSubject: (branding: TenantBranding) => string;
|
|
16
|
-
export default function Preview():
|
|
16
|
+
export default function Preview(): React.JSX.Element;
|
|
17
17
|
//# sourceMappingURL=account-approved.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-approved.d.ts","sourceRoot":"","sources":["../../src/templates/account-approved.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,CAAC,EAAE;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACL;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAsC1D,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,cAAc,KAAG,MACX,CAAC;AAmC3D,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"account-approved.d.ts","sourceRoot":"","sources":["../../src/templates/account-approved.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,CAAC,EAAE;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACL;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAsC1D,CAAC;AAEF,eAAO,MAAM,yBAAyB,aAAc,cAAc,KAAG,MACX,CAAC;AAmC3D,MAAM,CAAC,OAAO,UAAU,OAAO,sBAO9B"}
|
|
@@ -21,5 +21,5 @@ export interface CredentialAwaitingGuardianProps {
|
|
|
21
21
|
}
|
|
22
22
|
export declare const CredentialAwaitingGuardian: React.FC<CredentialAwaitingGuardianProps>;
|
|
23
23
|
export declare const getCredentialAwaitingGuardianSubject: (_branding: TenantBranding) => string;
|
|
24
|
-
export default function Preview():
|
|
24
|
+
export default function Preview(): React.JSX.Element;
|
|
25
25
|
//# sourceMappingURL=credential-awaiting-guardian.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-awaiting-guardian.d.ts","sourceRoot":"","sources":["../../src/templates/credential-awaiting-guardian.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAwChF,CAAC;AAEF,eAAO,MAAM,oCAAoC,cAClC,cAAc,KAC1B,MAAwD,CAAC;AAsD5D,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"credential-awaiting-guardian.d.ts","sourceRoot":"","sources":["../../src/templates/credential-awaiting-guardian.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAwChF,CAAC;AAEF,eAAO,MAAM,oCAAoC,cAClC,cAAc,KAC1B,MAAwD,CAAC;AAsD5D,MAAM,CAAC,OAAO,UAAU,OAAO,sBAS9B"}
|
|
@@ -17,5 +17,5 @@ export interface EmailVerificationProps {
|
|
|
17
17
|
}
|
|
18
18
|
export declare const EmailVerification: React.FC<EmailVerificationProps>;
|
|
19
19
|
export declare const getEmailVerificationSubject: (_branding: TenantBranding) => string;
|
|
20
|
-
export default function Preview():
|
|
20
|
+
export default function Preview(): React.JSX.Element;
|
|
21
21
|
//# sourceMappingURL=email-verification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-verification.d.ts","sourceRoot":"","sources":["../../src/templates/email-verification.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAoC9D,CAAC;AAEF,eAAO,MAAM,2BAA2B,cACzB,cAAc,KAC1B,MAA6B,CAAC;AAmCjC,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"email-verification.d.ts","sourceRoot":"","sources":["../../src/templates/email-verification.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAoC9D,CAAC;AAEF,eAAO,MAAM,2BAA2B,cACzB,cAAc,KAC1B,MAA6B,CAAC;AAmCjC,MAAM,CAAC,OAAO,UAAU,OAAO,sBAQ9B"}
|
|
@@ -24,5 +24,5 @@ export interface EndorsementRequestProps {
|
|
|
24
24
|
}
|
|
25
25
|
export declare const EndorsementRequest: React.FC<EndorsementRequestProps>;
|
|
26
26
|
export declare const getEndorsementRequestSubject: (_branding: TenantBranding, props: EndorsementRequestProps) => string;
|
|
27
|
-
export default function Preview():
|
|
27
|
+
export default function Preview(): React.JSX.Element;
|
|
28
28
|
//# sourceMappingURL=endorsement-request.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endorsement-request.d.ts","sourceRoot":"","sources":["../../src/templates/endorsement-request.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmDhE,CAAC;AAEF,eAAO,MAAM,4BAA4B,cAC1B,cAAc,SAClB,uBAAuB,KAC/B,MAIF,CAAC;AAmDF,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"endorsement-request.d.ts","sourceRoot":"","sources":["../../src/templates/endorsement-request.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmDhE,CAAC;AAEF,eAAO,MAAM,4BAA4B,cAC1B,cAAc,SAClB,uBAAuB,KAC/B,MAIF,CAAC;AAmDF,MAAM,CAAC,OAAO,UAAU,OAAO,sBAW9B"}
|
|
@@ -19,5 +19,5 @@ export interface GuardianApprovalProps {
|
|
|
19
19
|
}
|
|
20
20
|
export declare const GuardianApproval: React.FC<GuardianApprovalProps>;
|
|
21
21
|
export declare const getGuardianApprovalSubject: (branding: TenantBranding, props: GuardianApprovalProps) => string;
|
|
22
|
-
export default function Preview():
|
|
22
|
+
export default function Preview(): React.JSX.Element;
|
|
23
23
|
//# sourceMappingURL=guardian-approval.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian-approval.d.ts","sourceRoot":"","sources":["../../src/templates/guardian-approval.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAuC5D,CAAC;AAEF,eAAO,MAAM,0BAA0B,aACzB,cAAc,SACjB,qBAAqB,KAC7B,MAIF,CAAC;AAmCF,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"guardian-approval.d.ts","sourceRoot":"","sources":["../../src/templates/guardian-approval.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAuC5D,CAAC;AAEF,eAAO,MAAM,0BAA0B,aACzB,cAAc,SACjB,qBAAqB,KAC7B,MAIF,CAAC;AAmCF,MAAM,CAAC,OAAO,UAAU,OAAO,sBAU9B"}
|
|
@@ -18,5 +18,5 @@ export interface GuardianApprovedClaimProps {
|
|
|
18
18
|
}
|
|
19
19
|
export declare const GuardianApprovedClaim: React.FC<GuardianApprovedClaimProps>;
|
|
20
20
|
export declare const getGuardianApprovedClaimSubject: (_branding: TenantBranding) => string;
|
|
21
|
-
export default function Preview():
|
|
21
|
+
export default function Preview(): React.JSX.Element;
|
|
22
22
|
//# sourceMappingURL=guardian-approved-claim.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian-approved-claim.d.ts","sourceRoot":"","sources":["../../src/templates/guardian-approved-claim.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,WAAW,0BAA0B;IACvC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAuCtE,CAAC;AAEF,eAAO,MAAM,+BAA+B,cAC7B,cAAc,KAC1B,MAA8C,CAAC;AAmClD,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"guardian-approved-claim.d.ts","sourceRoot":"","sources":["../../src/templates/guardian-approved-claim.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMlD,MAAM,WAAW,0BAA0B;IACvC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAuCtE,CAAC;AAEF,eAAO,MAAM,+BAA+B,cAC7B,cAAc,KAC1B,MAA8C,CAAC;AAmClD,MAAM,CAAC,OAAO,UAAU,OAAO,sBAQ9B"}
|
|
@@ -23,5 +23,5 @@ export interface GuardianCredentialApprovalProps {
|
|
|
23
23
|
}
|
|
24
24
|
export declare const GuardianCredentialApproval: React.FC<GuardianCredentialApprovalProps>;
|
|
25
25
|
export declare const getGuardianCredentialApprovalSubject: (_branding: TenantBranding) => string;
|
|
26
|
-
export default function Preview():
|
|
26
|
+
export default function Preview(): React.JSX.Element;
|
|
27
27
|
//# sourceMappingURL=guardian-credential-approval.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian-credential-approval.d.ts","sourceRoot":"","sources":["../../src/templates/guardian-credential-approval.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CA2ChF,CAAC;AAEF,eAAO,MAAM,oCAAoC,cAClC,cAAc,KAC1B,MAA4C,CAAC;AAmChD,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"guardian-credential-approval.d.ts","sourceRoot":"","sources":["../../src/templates/guardian-credential-approval.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CA2ChF,CAAC;AAEF,eAAO,MAAM,oCAAoC,cAClC,cAAc,KAC1B,MAA4C,CAAC;AAmChD,MAAM,CAAC,OAAO,UAAU,OAAO,sBAW9B"}
|
|
@@ -12,5 +12,5 @@ export interface GuardianEmailOtpProps {
|
|
|
12
12
|
}
|
|
13
13
|
export declare const GuardianEmailOtp: React.FC<GuardianEmailOtpProps>;
|
|
14
14
|
export declare const getGuardianEmailOtpSubject: (_branding: TenantBranding) => string;
|
|
15
|
-
export default function Preview():
|
|
15
|
+
export default function Preview(): React.JSX.Element;
|
|
16
16
|
//# sourceMappingURL=guardian-email-otp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian-email-otp.d.ts","sourceRoot":"","sources":["../../src/templates/guardian-email-otp.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+B5D,CAAC;AAEF,eAAO,MAAM,0BAA0B,cACxB,cAAc,KAC1B,MAAkC,CAAC;AAsCtC,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"guardian-email-otp.d.ts","sourceRoot":"","sources":["../../src/templates/guardian-email-otp.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+B5D,CAAC;AAEF,eAAO,MAAM,0BAA0B,cACxB,cAAc,KAC1B,MAAkC,CAAC;AAsCtC,MAAM,CAAC,OAAO,UAAU,OAAO,sBAO9B"}
|
|
@@ -20,5 +20,5 @@ export interface GuardianRejectedCredentialProps {
|
|
|
20
20
|
}
|
|
21
21
|
export declare const GuardianRejectedCredential: React.FC<GuardianRejectedCredentialProps>;
|
|
22
22
|
export declare const getGuardianRejectedCredentialSubject: (_branding: TenantBranding) => string;
|
|
23
|
-
export default function Preview():
|
|
23
|
+
export default function Preview(): React.JSX.Element;
|
|
24
24
|
//# sourceMappingURL=guardian-rejected-credential.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guardian-rejected-credential.d.ts","sourceRoot":"","sources":["../../src/templates/guardian-rejected-credential.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CA+BhF,CAAC;AAEF,eAAO,MAAM,oCAAoC,cAClC,cAAc,KAC1B,MAAmC,CAAC;AA+BvC,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"guardian-rejected-credential.d.ts","sourceRoot":"","sources":["../../src/templates/guardian-rejected-credential.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CA+BhF,CAAC;AAEF,eAAO,MAAM,oCAAoC,cAClC,cAAc,KAC1B,MAAmC,CAAC;AA+BvC,MAAM,CAAC,OAAO,UAAU,OAAO,sBAS9B"}
|
|
@@ -24,5 +24,5 @@ export interface InboxClaimProps {
|
|
|
24
24
|
}
|
|
25
25
|
export declare const InboxClaim: React.FC<InboxClaimProps>;
|
|
26
26
|
export declare const getInboxClaimSubject: (_branding: TenantBranding, props: InboxClaimProps) => string;
|
|
27
|
-
export default function Preview():
|
|
27
|
+
export default function Preview(): React.JSX.Element;
|
|
28
28
|
//# sourceMappingURL=inbox-claim.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox-claim.d.ts","sourceRoot":"","sources":["../../src/templates/inbox-claim.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoDhD,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAClB,cAAc,SAClB,eAAe,KACvB,MAIF,CAAC;AAmCF,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"inbox-claim.d.ts","sourceRoot":"","sources":["../../src/templates/inbox-claim.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAoDhD,CAAC;AAEF,eAAO,MAAM,oBAAoB,cAClB,cAAc,SAClB,eAAe,KACvB,MAIF,CAAC;AAmCF,MAAM,CAAC,OAAO,UAAU,OAAO,sBAU9B"}
|
|
@@ -11,5 +11,5 @@ export interface RecoveryKeyProps {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const RecoveryKey: React.FC<RecoveryKeyProps>;
|
|
13
13
|
export declare const getRecoveryKeySubject: (branding: TenantBranding) => string;
|
|
14
|
-
export default function Preview():
|
|
14
|
+
export default function Preview(): React.JSX.Element;
|
|
15
15
|
//# sourceMappingURL=recovery-key.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-key.d.ts","sourceRoot":"","sources":["../../src/templates/recovery-key.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAkClD,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAAc,cAAc,KAAG,MACpB,CAAC;AAsC9C,MAAM,CAAC,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"recovery-key.d.ts","sourceRoot":"","sources":["../../src/templates/recovery-key.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAkClD,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAAc,cAAc,KAAG,MACpB,CAAC;AAsC9C,MAAM,CAAC,OAAO,UAAU,OAAO,sBAO9B"}
|
|
@@ -20,5 +20,5 @@ export interface VerificationCodeProps {
|
|
|
20
20
|
}
|
|
21
21
|
export declare const VerificationCode: React.FC<VerificationCodeProps>;
|
|
22
22
|
export declare const getVerificationCodeSubject: (branding: TenantBranding, variant: VerificationCodeVariant) => string;
|
|
23
|
-
export default function Preview():
|
|
23
|
+
export default function Preview(): React.JSX.Element;
|
|
24
24
|
//# sourceMappingURL=verification-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-code.d.ts","sourceRoot":"","sources":["../../src/templates/verification-code.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,MAAM,uBAAuB,GAC7B,OAAO,GACP,gBAAgB,GAChB,oBAAoB,GACpB,gBAAgB,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,uBAAuB,CAAC;CACpC;
|
|
1
|
+
{"version":3,"file":"verification-code.d.ts","sourceRoot":"","sources":["../../src/templates/verification-code.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,MAAM,MAAM,uBAAuB,GAC7B,OAAO,GACP,gBAAgB,GAChB,oBAAoB,GACpB,gBAAgB,CAAC;AAEvB,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,uBAAuB,CAAC;CACpC;AA8CD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAkC5D,CAAC;AAEF,eAAO,MAAM,0BAA0B,aACzB,cAAc,WACf,uBAAuB,KACjC,MAA6D,CAAC;AAsCjE,MAAM,CAAC,OAAO,UAAU,OAAO,sBAS9B"}
|
|
@@ -16,8 +16,8 @@ import { Layout } from '../components/Layout';
|
|
|
16
16
|
import { CodeBlock } from '../components/CodeBlock';
|
|
17
17
|
const VARIANT_CONFIG = {
|
|
18
18
|
login: {
|
|
19
|
-
subject:
|
|
20
|
-
heading:
|
|
19
|
+
subject: b => `Your ${b} login code`,
|
|
20
|
+
heading: b => `Your ${b} Login Code`,
|
|
21
21
|
description: (email, b) => email
|
|
22
22
|
? `Here's your secure 6-digit code to log into ${b}`
|
|
23
23
|
: `Here's your secure 6-digit code to log into ${b}`,
|
|
@@ -25,23 +25,23 @@ const VARIANT_CONFIG = {
|
|
|
25
25
|
},
|
|
26
26
|
'recovery-email': {
|
|
27
27
|
subject: () => 'Verify your recovery email',
|
|
28
|
-
heading:
|
|
28
|
+
heading: b => `Your ${b} Verification Code`,
|
|
29
29
|
description: (email, b) => email
|
|
30
30
|
? `Here's your secure 6-digit code to add ${email} as a recovery method for ${b}`
|
|
31
31
|
: `Here's your secure 6-digit code to add a recovery method for ${b}`,
|
|
32
32
|
expiry: 'This code will expire in 5 minutes. If you didn\u2019t request this, you can safely ignore this email.',
|
|
33
33
|
},
|
|
34
34
|
'embed-verification': {
|
|
35
|
-
subject:
|
|
36
|
-
heading:
|
|
37
|
-
description:
|
|
35
|
+
subject: b => `Your ${b} verification code`,
|
|
36
|
+
heading: b => `Your ${b} Verification Code`,
|
|
37
|
+
description: email => email
|
|
38
38
|
? `Enter this code to verify ${email} and claim your credential:`
|
|
39
39
|
: 'Enter this code to verify your email address and claim your credential:',
|
|
40
40
|
expiry: 'This code will expire in 10 minutes. If you didn\u2019t request this, you can safely ignore this email.',
|
|
41
41
|
},
|
|
42
42
|
'contact-method': {
|
|
43
|
-
subject:
|
|
44
|
-
heading:
|
|
43
|
+
subject: b => `Your ${b} verification code`,
|
|
44
|
+
heading: b => `Your ${b} Verification Code`,
|
|
45
45
|
description: () => 'Enter this code in the app to verify your contact information.',
|
|
46
46
|
expiry: 'This code will expire in 24 hours. If you didn\u2019t request this, you can safely ignore this email.',
|
|
47
47
|
},
|
|
@@ -79,7 +79,7 @@ const signOff = {
|
|
|
79
79
|
margin: '24px 0 0',
|
|
80
80
|
};
|
|
81
81
|
// ---------------------------------------------------------------------------
|
|
82
|
-
// Preview (used by `
|
|
82
|
+
// Preview (used by `bun run dev` / react-email dev server)
|
|
83
83
|
// ---------------------------------------------------------------------------
|
|
84
84
|
export default function Preview() {
|
|
85
85
|
return (_jsx(VerificationCode, { branding: DEFAULT_BRANDING, verificationCode: "847293", verificationEmail: "jane@example.com", variant: "login" }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification-code.js","sourceRoot":"","sources":["../../src/templates/verification-code.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAepD,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"verification-code.js","sourceRoot":"","sources":["../../src/templates/verification-code.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,40 +1,50 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
2
|
+
"name": "@learncard/email-templates",
|
|
3
|
+
"version": "1.0.3",
|
|
4
|
+
"description": "Git-managed, tenant-branded email and SMS templates for LearnCard services",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"src"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"dev": "email dev --dir src --port 3333",
|
|
13
|
+
"preview": "email dev --dir src --port 3333",
|
|
14
|
+
"test": "vitest run",
|
|
15
|
+
"test:watch": "vitest",
|
|
16
|
+
"typecheck": "tsc --noEmit",
|
|
17
|
+
"build": "tsc"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@react-email/components": "^0.0.36",
|
|
21
|
+
"@react-email/render": "^1.0.5",
|
|
22
|
+
"react": "^18.3.1"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@types/react": "^18.3.0",
|
|
26
|
+
"react-email": "^3.0.0",
|
|
27
|
+
"typescript": "^5.0.0",
|
|
28
|
+
"vitest": "^1.0.0"
|
|
29
|
+
},
|
|
30
|
+
"author": "Learning Economy Foundation (www.learningeconomy.io)",
|
|
31
|
+
"license": "MIT",
|
|
32
|
+
"homepage": "https://github.com/learningeconomy/LearnCard/tree/main/packages/email-templates/README.md",
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "https://github.com/learningeconomy/LearnCard"
|
|
36
|
+
},
|
|
37
|
+
"bugs": {
|
|
38
|
+
"url": "https://github.com/learningeconomy/LearnCard/issues"
|
|
39
|
+
},
|
|
40
|
+
"sideEffects": false,
|
|
41
|
+
"exports": {
|
|
42
|
+
".": {
|
|
43
|
+
"development": "./src/index.ts",
|
|
44
|
+
"types": "./dist/index.d.ts",
|
|
45
|
+
"import": "./dist/index.js",
|
|
46
|
+
"require": "./dist/index.js",
|
|
47
|
+
"default": "./dist/index.js"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|