@vrplatform/email 1.0.2-38643417826 → 1.0.2-39248566836

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,16 @@
1
+ import type { EmailBaseProps } from '../types';
2
+ export type BankDetailsRequestEmailTemplateProps = {
3
+ mode: EmailBaseProps['mode'];
4
+ user: EmailBaseProps['user'];
5
+ tenant: EmailBaseProps['tenant'];
6
+ themeColors: EmailBaseProps['themeColors'];
7
+ href: string;
8
+ form: {
9
+ type: 'ownerPortal';
10
+ setsUpLogin: boolean;
11
+ } | {
12
+ type: 'oneTime';
13
+ expiresOn: string;
14
+ };
15
+ };
16
+ export declare const BankDetailsRequestEmailTemplate: ({ mode, user, tenant, themeColors, href, form, }: BankDetailsRequestEmailTemplateProps) => import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BankDetailsRequestEmailTemplate = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const heading_1 = require("@react-email/heading");
6
+ const text_1 = require("@react-email/text");
7
+ const Button_1 = require("../components/Button");
8
+ const EmailContainer_1 = require("../components/EmailContainer");
9
+ const BankDetailsRequestEmailTemplate = ({ mode, user, tenant, themeColors, href, form, }) => ((0, jsx_runtime_1.jsxs)(EmailContainer_1.EmailContainer, { title: `${tenant.name} needs your payout details`, shortDescription: `Add the bank account ${tenant.name} pays you to.`, tenant: tenant, mode: mode, children: [(0, jsx_runtime_1.jsx)(heading_1.Heading, { style: { fontSize: 28, fontWeight: 600, marginBottom: '50px' }, children: user.firstName ? `Hi ${user.firstName},` : 'Hi there,' }), (0, jsx_runtime_1.jsxs)(text_1.Text, { children: [(0, jsx_runtime_1.jsx)("b", { children: tenant.name }), " needs the bank account to send your payments to. Use the button below to add it. Never send bank details by email."] }), (0, jsx_runtime_1.jsx)(text_1.Text, { children: form.type === 'oneTime'
10
+ ? `The link works once and expires on ${form.expiresOn}.`
11
+ : form.setsUpLogin
12
+ ? 'You will set up your owner portal login first, then add your bank details.'
13
+ : 'Sign in to your owner portal to add your bank details.' }), (0, jsx_runtime_1.jsx)(Button_1.Button, { href: href, mode: mode, label: "Add bank details", themeColors: themeColors }), (0, jsx_runtime_1.jsxs)(text_1.Text, { children: ["If you did not expect this request, contact ", tenant.name, " before you enter any details."] })] }));
14
+ exports.BankDetailsRequestEmailTemplate = BankDetailsRequestEmailTemplate;
15
+ //# sourceMappingURL=BankDetailsRequestEmailTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BankDetailsRequestEmailTemplate.js","sourceRoot":"src/","sources":["templates/BankDetailsRequestEmailTemplate.tsx"],"names":[],"mappings":";;;;AAAA,kDAA+C;AAC/C,4CAAyC;AACzC,iDAA8C;AAC9C,iEAA8D;AAgBvD,MAAM,+BAA+B,GAAG,CAAC,EAC9C,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,WAAW,EACX,IAAI,EACJ,IAAI,GACiC,EAAE,EAAE,CAAC,CAC1C,wBAAC,+BAAc,IACb,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,4BAA4B,EACjD,gBAAgB,EAAE,wBAAwB,MAAM,CAAC,IAAI,eAAe,EACpE,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,aAEV,uBAAC,iBAAO,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,YACpE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,WAAW,GAC/C,EACV,wBAAC,WAAI,eACH,wCAAI,MAAM,CAAC,IAAI,GAAK,2HAEf,EACP,uBAAC,WAAI,cACF,IAAI,CAAC,IAAI,KAAK,SAAS;gBACtB,CAAC,CAAC,sCAAsC,IAAI,CAAC,SAAS,GAAG;gBACzD,CAAC,CAAC,IAAI,CAAC,WAAW;oBAChB,CAAC,CAAC,4EAA4E;oBAC9E,CAAC,CAAC,wDAAwD,GACzD,EACP,uBAAC,eAAM,IACL,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,kBAAkB,EACxB,WAAW,EAAE,WAAW,GACxB,EACF,wBAAC,WAAI,+DAC0C,MAAM,CAAC,IAAI,sCAEnD,IACQ,CAClB,CAAC;AAvCW,QAAA,+BAA+B,mCAuC1C","sourcesContent":["import { Heading } from '@react-email/heading';\nimport { Text } from '@react-email/text';\nimport { Button } from '../components/Button';\nimport { EmailContainer } from '../components/EmailContainer';\nimport type { EmailBaseProps } from '../types';\n\nexport type BankDetailsRequestEmailTemplateProps = {\n mode: EmailBaseProps['mode'];\n user: EmailBaseProps['user'];\n tenant: EmailBaseProps['tenant'];\n themeColors: EmailBaseProps['themeColors'];\n href: string;\n // Owners enter their details in the owner portal; vendors in a one-time\n // form that expires.\n form:\n | { type: 'ownerPortal'; setsUpLogin: boolean }\n | { type: 'oneTime'; expiresOn: string };\n};\n\nexport const BankDetailsRequestEmailTemplate = ({\n mode,\n user,\n tenant,\n themeColors,\n href,\n form,\n}: BankDetailsRequestEmailTemplateProps) => (\n <EmailContainer\n title={`${tenant.name} needs your payout details`}\n shortDescription={`Add the bank account ${tenant.name} pays you to.`}\n tenant={tenant}\n mode={mode}\n >\n <Heading style={{ fontSize: 28, fontWeight: 600, marginBottom: '50px' }}>\n {user.firstName ? `Hi ${user.firstName},` : 'Hi there,'}\n </Heading>\n <Text>\n <b>{tenant.name}</b> needs the bank account to send your payments to. Use\n the button below to add it. Never send bank details by email.\n </Text>\n <Text>\n {form.type === 'oneTime'\n ? `The link works once and expires on ${form.expiresOn}.`\n : form.setsUpLogin\n ? 'You will set up your owner portal login first, then add your bank details.'\n : 'Sign in to your owner portal to add your bank details.'}\n </Text>\n <Button\n href={href}\n mode={mode}\n label=\"Add bank details\"\n themeColors={themeColors}\n />\n <Text>\n If you did not expect this request, contact {tenant.name} before you enter\n any details.\n </Text>\n </EmailContainer>\n);\n"]}
@@ -0,0 +1,12 @@
1
+ import type { EmailBaseProps } from '../types';
2
+ export type TeamRoleGrantedEmailTemplateProps = {
3
+ mode: EmailBaseProps['mode'];
4
+ tenant: EmailBaseProps['tenant'];
5
+ member: string;
6
+ roles: string;
7
+ grantedAt: string;
8
+ grantedBy: string | null;
9
+ partnerName: string | null;
10
+ href: string;
11
+ };
12
+ export declare const TeamRoleGrantedEmailTemplate: ({ mode, tenant, member, roles, grantedAt, grantedBy, partnerName, href, }: TeamRoleGrantedEmailTemplateProps) => import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TeamRoleGrantedEmailTemplate = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const heading_1 = require("@react-email/heading");
6
+ const text_1 = require("@react-email/text");
7
+ const Button_1 = require("../components/Button");
8
+ const EmailContainer_1 = require("../components/EmailContainer");
9
+ const theme_1 = require("../theme");
10
+ const TeamRoleGrantedEmailTemplate = ({ mode, tenant, member, roles, grantedAt, grantedBy, partnerName, href, }) => ((0, jsx_runtime_1.jsxs)(EmailContainer_1.EmailContainer, { title: `${member} received ${roles}`, shortDescription: `${member} received ${roles} on ${tenant.name}.`, tenant: tenant, mode: mode, children: [(0, jsx_runtime_1.jsxs)(heading_1.Heading, { style: { fontSize: 28, fontWeight: 600, marginBottom: '50px' }, children: ["New ", roles, " on your team"] }), (0, jsx_runtime_1.jsxs)(text_1.Text, { children: [(0, jsx_runtime_1.jsx)("b", { children: member }), " received ", (0, jsx_runtime_1.jsx)("b", { children: roles }), " on ", tenant.name, " on ", grantedAt, grantedBy ? ` from ${grantedBy}` : '', partnerName ? `, acting through your partner ${partnerName}` : '', "."] }), (0, jsx_runtime_1.jsx)(text_1.Text, { children: "If you did not expect this change, review the team members and remove the role." }), (0, jsx_runtime_1.jsx)(Button_1.Button, { href: href, mode: mode, label: "Review team members", themeColors: theme_1.THEME_COLORS.vrplatform })] }));
11
+ exports.TeamRoleGrantedEmailTemplate = TeamRoleGrantedEmailTemplate;
12
+ //# sourceMappingURL=TeamRoleGrantedEmailTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeamRoleGrantedEmailTemplate.js","sourceRoot":"src/","sources":["templates/TeamRoleGrantedEmailTemplate.tsx"],"names":[],"mappings":";;;;AAAA,kDAA+C;AAC/C,4CAAyC;AACzC,iDAA8C;AAC9C,iEAA8D;AAC9D,oCAAwC;AAcjC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,IAAI,GAC8B,EAAE,EAAE,CAAC,CACvC,wBAAC,+BAAc,IACb,KAAK,EAAE,GAAG,MAAM,aAAa,KAAK,EAAE,EACpC,gBAAgB,EAAE,GAAG,MAAM,aAAa,KAAK,OAAO,MAAM,CAAC,IAAI,GAAG,EAClE,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,aAEV,wBAAC,iBAAO,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,qBAChE,KAAK,qBACF,EACV,wBAAC,WAAI,eACH,wCAAI,MAAM,GAAK,gBAAU,wCAAI,KAAK,GAAK,UAAK,MAAM,CAAC,IAAI,UAAM,SAAS,EACrE,SAAS,CAAC,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EACrC,WAAW,CAAC,CAAC,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,SAC7D,EACP,uBAAC,WAAI,kGAGE,EACP,uBAAC,eAAM,IACL,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,oBAAY,CAAC,UAAW,GACrC,IACa,CAClB,CAAC;AAnCW,QAAA,4BAA4B,gCAmCvC","sourcesContent":["import { Heading } from '@react-email/heading';\nimport { Text } from '@react-email/text';\nimport { Button } from '../components/Button';\nimport { EmailContainer } from '../components/EmailContainer';\nimport { THEME_COLORS } from '../theme';\nimport type { EmailBaseProps } from '../types';\n\nexport type TeamRoleGrantedEmailTemplateProps = {\n mode: EmailBaseProps['mode'];\n tenant: EmailBaseProps['tenant'];\n member: string;\n roles: string;\n grantedAt: string;\n grantedBy: string | null;\n partnerName: string | null;\n href: string;\n};\n\nexport const TeamRoleGrantedEmailTemplate = ({\n mode,\n tenant,\n member,\n roles,\n grantedAt,\n grantedBy,\n partnerName,\n href,\n}: TeamRoleGrantedEmailTemplateProps) => (\n <EmailContainer\n title={`${member} received ${roles}`}\n shortDescription={`${member} received ${roles} on ${tenant.name}.`}\n tenant={tenant}\n mode={mode}\n >\n <Heading style={{ fontSize: 28, fontWeight: 600, marginBottom: '50px' }}>\n New {roles} on your team\n </Heading>\n <Text>\n <b>{member}</b> received <b>{roles}</b> on {tenant.name} on {grantedAt}\n {grantedBy ? ` from ${grantedBy}` : ''}\n {partnerName ? `, acting through your partner ${partnerName}` : ''}.\n </Text>\n <Text>\n If you did not expect this change, review the team members and remove the\n role.\n </Text>\n <Button\n href={href}\n mode={mode}\n label=\"Review team members\"\n themeColors={THEME_COLORS.vrplatform!}\n />\n </EmailContainer>\n);\n"]}
@@ -1,7 +1,9 @@
1
+ export * from './TeamRoleGrantedEmailTemplate';
1
2
  export * from './TenantSuspensionEmailTemplate';
2
3
  export * from './TenantDeletionEmailTemplate';
3
4
  export * from './OwnerStatementEmailTemplate';
4
5
  export * from './BankAccountChangedEmailTemplate';
5
6
  export * from './BankAccountChangedTeamAdminEmailTemplate';
7
+ export * from './BankDetailsRequestEmailTemplate';
6
8
  export * from './InviteOwnerEmailTemplate';
7
9
  export * from './InvitePmEmailTemplate';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  // Teams
18
+ __exportStar(require("./TeamRoleGrantedEmailTemplate"), exports);
18
19
  __exportStar(require("./TenantSuspensionEmailTemplate"), exports);
19
20
  __exportStar(require("./TenantDeletionEmailTemplate"), exports);
20
21
  // Owner Statements
@@ -22,6 +23,7 @@ __exportStar(require("./OwnerStatementEmailTemplate"), exports);
22
23
  // Payment setup
23
24
  __exportStar(require("./BankAccountChangedEmailTemplate"), exports);
24
25
  __exportStar(require("./BankAccountChangedTeamAdminEmailTemplate"), exports);
26
+ __exportStar(require("./BankDetailsRequestEmailTemplate"), exports);
25
27
  // Invitations
26
28
  __exportStar(require("./InviteOwnerEmailTemplate"), exports);
27
29
  __exportStar(require("./InvitePmEmailTemplate"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["templates/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,kEAAgD;AAChD,gEAA8C;AAE9C,mBAAmB;AACnB,gEAA8C;AAE9C,gBAAgB;AAChB,oEAAkD;AAClD,6EAA2D;AAE3D,cAAc;AACd,6DAA2C;AAC3C,0DAAwC","sourcesContent":["// Teams\nexport * from './TenantSuspensionEmailTemplate';\nexport * from './TenantDeletionEmailTemplate';\n\n// Owner Statements\nexport * from './OwnerStatementEmailTemplate';\n\n// Payment setup\nexport * from './BankAccountChangedEmailTemplate';\nexport * from './BankAccountChangedTeamAdminEmailTemplate';\n\n// Invitations\nexport * from './InviteOwnerEmailTemplate';\nexport * from './InvitePmEmailTemplate';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["templates/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,QAAQ;AACR,iEAA+C;AAC/C,kEAAgD;AAChD,gEAA8C;AAE9C,mBAAmB;AACnB,gEAA8C;AAE9C,gBAAgB;AAChB,oEAAkD;AAClD,6EAA2D;AAC3D,oEAAkD;AAElD,cAAc;AACd,6DAA2C;AAC3C,0DAAwC","sourcesContent":["// Teams\nexport * from './TeamRoleGrantedEmailTemplate';\nexport * from './TenantSuspensionEmailTemplate';\nexport * from './TenantDeletionEmailTemplate';\n\n// Owner Statements\nexport * from './OwnerStatementEmailTemplate';\n\n// Payment setup\nexport * from './BankAccountChangedEmailTemplate';\nexport * from './BankAccountChangedTeamAdminEmailTemplate';\nexport * from './BankDetailsRequestEmailTemplate';\n\n// Invitations\nexport * from './InviteOwnerEmailTemplate';\nexport * from './InvitePmEmailTemplate';\n"]}
@@ -0,0 +1,16 @@
1
+ import type { EmailBaseProps } from '../types';
2
+ export type BankDetailsRequestEmailTemplateProps = {
3
+ mode: EmailBaseProps['mode'];
4
+ user: EmailBaseProps['user'];
5
+ tenant: EmailBaseProps['tenant'];
6
+ themeColors: EmailBaseProps['themeColors'];
7
+ href: string;
8
+ form: {
9
+ type: 'ownerPortal';
10
+ setsUpLogin: boolean;
11
+ } | {
12
+ type: 'oneTime';
13
+ expiresOn: string;
14
+ };
15
+ };
16
+ export declare const BankDetailsRequestEmailTemplate: ({ mode, user, tenant, themeColors, href, form, }: BankDetailsRequestEmailTemplateProps) => import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Heading } from '@react-email/heading';
3
+ import { Text } from '@react-email/text';
4
+ import { Button } from '../components/Button';
5
+ import { EmailContainer } from '../components/EmailContainer';
6
+ export const BankDetailsRequestEmailTemplate = ({ mode, user, tenant, themeColors, href, form, }) => (_jsxs(EmailContainer, { title: `${tenant.name} needs your payout details`, shortDescription: `Add the bank account ${tenant.name} pays you to.`, tenant: tenant, mode: mode, children: [_jsx(Heading, { style: { fontSize: 28, fontWeight: 600, marginBottom: '50px' }, children: user.firstName ? `Hi ${user.firstName},` : 'Hi there,' }), _jsxs(Text, { children: [_jsx("b", { children: tenant.name }), " needs the bank account to send your payments to. Use the button below to add it. Never send bank details by email."] }), _jsx(Text, { children: form.type === 'oneTime'
7
+ ? `The link works once and expires on ${form.expiresOn}.`
8
+ : form.setsUpLogin
9
+ ? 'You will set up your owner portal login first, then add your bank details.'
10
+ : 'Sign in to your owner portal to add your bank details.' }), _jsx(Button, { href: href, mode: mode, label: "Add bank details", themeColors: themeColors }), _jsxs(Text, { children: ["If you did not expect this request, contact ", tenant.name, " before you enter any details."] })] }));
11
+ //# sourceMappingURL=BankDetailsRequestEmailTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BankDetailsRequestEmailTemplate.js","sourceRoot":"src/","sources":["templates/BankDetailsRequestEmailTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAgB9D,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,EAC9C,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,WAAW,EACX,IAAI,EACJ,IAAI,GACiC,EAAE,EAAE,CAAC,CAC1C,MAAC,cAAc,IACb,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,4BAA4B,EACjD,gBAAgB,EAAE,wBAAwB,MAAM,CAAC,IAAI,eAAe,EACpE,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,aAEV,KAAC,OAAO,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,YACpE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,WAAW,GAC/C,EACV,MAAC,IAAI,eACH,sBAAI,MAAM,CAAC,IAAI,GAAK,2HAEf,EACP,KAAC,IAAI,cACF,IAAI,CAAC,IAAI,KAAK,SAAS;gBACtB,CAAC,CAAC,sCAAsC,IAAI,CAAC,SAAS,GAAG;gBACzD,CAAC,CAAC,IAAI,CAAC,WAAW;oBAChB,CAAC,CAAC,4EAA4E;oBAC9E,CAAC,CAAC,wDAAwD,GACzD,EACP,KAAC,MAAM,IACL,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,kBAAkB,EACxB,WAAW,EAAE,WAAW,GACxB,EACF,MAAC,IAAI,+DAC0C,MAAM,CAAC,IAAI,sCAEnD,IACQ,CAClB,CAAC","sourcesContent":["import { Heading } from '@react-email/heading';\nimport { Text } from '@react-email/text';\nimport { Button } from '../components/Button';\nimport { EmailContainer } from '../components/EmailContainer';\nimport type { EmailBaseProps } from '../types';\n\nexport type BankDetailsRequestEmailTemplateProps = {\n mode: EmailBaseProps['mode'];\n user: EmailBaseProps['user'];\n tenant: EmailBaseProps['tenant'];\n themeColors: EmailBaseProps['themeColors'];\n href: string;\n // Owners enter their details in the owner portal; vendors in a one-time\n // form that expires.\n form:\n | { type: 'ownerPortal'; setsUpLogin: boolean }\n | { type: 'oneTime'; expiresOn: string };\n};\n\nexport const BankDetailsRequestEmailTemplate = ({\n mode,\n user,\n tenant,\n themeColors,\n href,\n form,\n}: BankDetailsRequestEmailTemplateProps) => (\n <EmailContainer\n title={`${tenant.name} needs your payout details`}\n shortDescription={`Add the bank account ${tenant.name} pays you to.`}\n tenant={tenant}\n mode={mode}\n >\n <Heading style={{ fontSize: 28, fontWeight: 600, marginBottom: '50px' }}>\n {user.firstName ? `Hi ${user.firstName},` : 'Hi there,'}\n </Heading>\n <Text>\n <b>{tenant.name}</b> needs the bank account to send your payments to. Use\n the button below to add it. Never send bank details by email.\n </Text>\n <Text>\n {form.type === 'oneTime'\n ? `The link works once and expires on ${form.expiresOn}.`\n : form.setsUpLogin\n ? 'You will set up your owner portal login first, then add your bank details.'\n : 'Sign in to your owner portal to add your bank details.'}\n </Text>\n <Button\n href={href}\n mode={mode}\n label=\"Add bank details\"\n themeColors={themeColors}\n />\n <Text>\n If you did not expect this request, contact {tenant.name} before you enter\n any details.\n </Text>\n </EmailContainer>\n);\n"]}
@@ -0,0 +1,12 @@
1
+ import type { EmailBaseProps } from '../types';
2
+ export type TeamRoleGrantedEmailTemplateProps = {
3
+ mode: EmailBaseProps['mode'];
4
+ tenant: EmailBaseProps['tenant'];
5
+ member: string;
6
+ roles: string;
7
+ grantedAt: string;
8
+ grantedBy: string | null;
9
+ partnerName: string | null;
10
+ href: string;
11
+ };
12
+ export declare const TeamRoleGrantedEmailTemplate: ({ mode, tenant, member, roles, grantedAt, grantedBy, partnerName, href, }: TeamRoleGrantedEmailTemplateProps) => import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Heading } from '@react-email/heading';
3
+ import { Text } from '@react-email/text';
4
+ import { Button } from '../components/Button';
5
+ import { EmailContainer } from '../components/EmailContainer';
6
+ import { THEME_COLORS } from '../theme';
7
+ export const TeamRoleGrantedEmailTemplate = ({ mode, tenant, member, roles, grantedAt, grantedBy, partnerName, href, }) => (_jsxs(EmailContainer, { title: `${member} received ${roles}`, shortDescription: `${member} received ${roles} on ${tenant.name}.`, tenant: tenant, mode: mode, children: [_jsxs(Heading, { style: { fontSize: 28, fontWeight: 600, marginBottom: '50px' }, children: ["New ", roles, " on your team"] }), _jsxs(Text, { children: [_jsx("b", { children: member }), " received ", _jsx("b", { children: roles }), " on ", tenant.name, " on ", grantedAt, grantedBy ? ` from ${grantedBy}` : '', partnerName ? `, acting through your partner ${partnerName}` : '', "."] }), _jsx(Text, { children: "If you did not expect this change, review the team members and remove the role." }), _jsx(Button, { href: href, mode: mode, label: "Review team members", themeColors: THEME_COLORS.vrplatform })] }));
8
+ //# sourceMappingURL=TeamRoleGrantedEmailTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeamRoleGrantedEmailTemplate.js","sourceRoot":"src/","sources":["templates/TeamRoleGrantedEmailTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAcxC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,IAAI,GAC8B,EAAE,EAAE,CAAC,CACvC,MAAC,cAAc,IACb,KAAK,EAAE,GAAG,MAAM,aAAa,KAAK,EAAE,EACpC,gBAAgB,EAAE,GAAG,MAAM,aAAa,KAAK,OAAO,MAAM,CAAC,IAAI,GAAG,EAClE,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,aAEV,MAAC,OAAO,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,qBAChE,KAAK,qBACF,EACV,MAAC,IAAI,eACH,sBAAI,MAAM,GAAK,gBAAU,sBAAI,KAAK,GAAK,UAAK,MAAM,CAAC,IAAI,UAAM,SAAS,EACrE,SAAS,CAAC,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EACrC,WAAW,CAAC,CAAC,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,SAC7D,EACP,KAAC,IAAI,kGAGE,EACP,KAAC,MAAM,IACL,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,YAAY,CAAC,UAAW,GACrC,IACa,CAClB,CAAC","sourcesContent":["import { Heading } from '@react-email/heading';\nimport { Text } from '@react-email/text';\nimport { Button } from '../components/Button';\nimport { EmailContainer } from '../components/EmailContainer';\nimport { THEME_COLORS } from '../theme';\nimport type { EmailBaseProps } from '../types';\n\nexport type TeamRoleGrantedEmailTemplateProps = {\n mode: EmailBaseProps['mode'];\n tenant: EmailBaseProps['tenant'];\n member: string;\n roles: string;\n grantedAt: string;\n grantedBy: string | null;\n partnerName: string | null;\n href: string;\n};\n\nexport const TeamRoleGrantedEmailTemplate = ({\n mode,\n tenant,\n member,\n roles,\n grantedAt,\n grantedBy,\n partnerName,\n href,\n}: TeamRoleGrantedEmailTemplateProps) => (\n <EmailContainer\n title={`${member} received ${roles}`}\n shortDescription={`${member} received ${roles} on ${tenant.name}.`}\n tenant={tenant}\n mode={mode}\n >\n <Heading style={{ fontSize: 28, fontWeight: 600, marginBottom: '50px' }}>\n New {roles} on your team\n </Heading>\n <Text>\n <b>{member}</b> received <b>{roles}</b> on {tenant.name} on {grantedAt}\n {grantedBy ? ` from ${grantedBy}` : ''}\n {partnerName ? `, acting through your partner ${partnerName}` : ''}.\n </Text>\n <Text>\n If you did not expect this change, review the team members and remove the\n role.\n </Text>\n <Button\n href={href}\n mode={mode}\n label=\"Review team members\"\n themeColors={THEME_COLORS.vrplatform!}\n />\n </EmailContainer>\n);\n"]}
@@ -1,7 +1,9 @@
1
+ export * from './TeamRoleGrantedEmailTemplate';
1
2
  export * from './TenantSuspensionEmailTemplate';
2
3
  export * from './TenantDeletionEmailTemplate';
3
4
  export * from './OwnerStatementEmailTemplate';
4
5
  export * from './BankAccountChangedEmailTemplate';
5
6
  export * from './BankAccountChangedTeamAdminEmailTemplate';
7
+ export * from './BankDetailsRequestEmailTemplate';
6
8
  export * from './InviteOwnerEmailTemplate';
7
9
  export * from './InvitePmEmailTemplate';
@@ -1,4 +1,5 @@
1
1
  // Teams
2
+ export * from './TeamRoleGrantedEmailTemplate';
2
3
  export * from './TenantSuspensionEmailTemplate';
3
4
  export * from './TenantDeletionEmailTemplate';
4
5
  // Owner Statements
@@ -6,6 +7,7 @@ export * from './OwnerStatementEmailTemplate';
6
7
  // Payment setup
7
8
  export * from './BankAccountChangedEmailTemplate';
8
9
  export * from './BankAccountChangedTeamAdminEmailTemplate';
10
+ export * from './BankDetailsRequestEmailTemplate';
9
11
  // Invitations
10
12
  export * from './InviteOwnerEmailTemplate';
11
13
  export * from './InvitePmEmailTemplate';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["templates/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAE9C,mBAAmB;AACnB,cAAc,+BAA+B,CAAC;AAE9C,gBAAgB;AAChB,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC;AAE3D,cAAc;AACd,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC","sourcesContent":["// Teams\nexport * from './TenantSuspensionEmailTemplate';\nexport * from './TenantDeletionEmailTemplate';\n\n// Owner Statements\nexport * from './OwnerStatementEmailTemplate';\n\n// Payment setup\nexport * from './BankAccountChangedEmailTemplate';\nexport * from './BankAccountChangedTeamAdminEmailTemplate';\n\n// Invitations\nexport * from './InviteOwnerEmailTemplate';\nexport * from './InvitePmEmailTemplate';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["templates/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAE9C,mBAAmB;AACnB,cAAc,+BAA+B,CAAC;AAE9C,gBAAgB;AAChB,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAElD,cAAc;AACd,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC","sourcesContent":["// Teams\nexport * from './TeamRoleGrantedEmailTemplate';\nexport * from './TenantSuspensionEmailTemplate';\nexport * from './TenantDeletionEmailTemplate';\n\n// Owner Statements\nexport * from './OwnerStatementEmailTemplate';\n\n// Payment setup\nexport * from './BankAccountChangedEmailTemplate';\nexport * from './BankAccountChangedTeamAdminEmailTemplate';\nexport * from './BankDetailsRequestEmailTemplate';\n\n// Invitations\nexport * from './InviteOwnerEmailTemplate';\nexport * from './InvitePmEmailTemplate';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vrplatform/email",
3
- "version": "1.0.2-38643417826",
3
+ "version": "1.0.2-39248566836",
4
4
  "description": "VRTrust transactional email templates and Postmark transport",
5
5
  "license": "ISC",
6
6
  "main": "build/main/index.js",
@@ -0,0 +1,59 @@
1
+ import { Heading } from '@react-email/heading';
2
+ import { Text } from '@react-email/text';
3
+ import { Button } from '../components/Button';
4
+ import { EmailContainer } from '../components/EmailContainer';
5
+ import type { EmailBaseProps } from '../types';
6
+
7
+ export type BankDetailsRequestEmailTemplateProps = {
8
+ mode: EmailBaseProps['mode'];
9
+ user: EmailBaseProps['user'];
10
+ tenant: EmailBaseProps['tenant'];
11
+ themeColors: EmailBaseProps['themeColors'];
12
+ href: string;
13
+ // Owners enter their details in the owner portal; vendors in a one-time
14
+ // form that expires.
15
+ form:
16
+ | { type: 'ownerPortal'; setsUpLogin: boolean }
17
+ | { type: 'oneTime'; expiresOn: string };
18
+ };
19
+
20
+ export const BankDetailsRequestEmailTemplate = ({
21
+ mode,
22
+ user,
23
+ tenant,
24
+ themeColors,
25
+ href,
26
+ form,
27
+ }: BankDetailsRequestEmailTemplateProps) => (
28
+ <EmailContainer
29
+ title={`${tenant.name} needs your payout details`}
30
+ shortDescription={`Add the bank account ${tenant.name} pays you to.`}
31
+ tenant={tenant}
32
+ mode={mode}
33
+ >
34
+ <Heading style={{ fontSize: 28, fontWeight: 600, marginBottom: '50px' }}>
35
+ {user.firstName ? `Hi ${user.firstName},` : 'Hi there,'}
36
+ </Heading>
37
+ <Text>
38
+ <b>{tenant.name}</b> needs the bank account to send your payments to. Use
39
+ the button below to add it. Never send bank details by email.
40
+ </Text>
41
+ <Text>
42
+ {form.type === 'oneTime'
43
+ ? `The link works once and expires on ${form.expiresOn}.`
44
+ : form.setsUpLogin
45
+ ? 'You will set up your owner portal login first, then add your bank details.'
46
+ : 'Sign in to your owner portal to add your bank details.'}
47
+ </Text>
48
+ <Button
49
+ href={href}
50
+ mode={mode}
51
+ label="Add bank details"
52
+ themeColors={themeColors}
53
+ />
54
+ <Text>
55
+ If you did not expect this request, contact {tenant.name} before you enter
56
+ any details.
57
+ </Text>
58
+ </EmailContainer>
59
+ );
@@ -0,0 +1,54 @@
1
+ import { Heading } from '@react-email/heading';
2
+ import { Text } from '@react-email/text';
3
+ import { Button } from '../components/Button';
4
+ import { EmailContainer } from '../components/EmailContainer';
5
+ import { THEME_COLORS } from '../theme';
6
+ import type { EmailBaseProps } from '../types';
7
+
8
+ export type TeamRoleGrantedEmailTemplateProps = {
9
+ mode: EmailBaseProps['mode'];
10
+ tenant: EmailBaseProps['tenant'];
11
+ member: string;
12
+ roles: string;
13
+ grantedAt: string;
14
+ grantedBy: string | null;
15
+ partnerName: string | null;
16
+ href: string;
17
+ };
18
+
19
+ export const TeamRoleGrantedEmailTemplate = ({
20
+ mode,
21
+ tenant,
22
+ member,
23
+ roles,
24
+ grantedAt,
25
+ grantedBy,
26
+ partnerName,
27
+ href,
28
+ }: TeamRoleGrantedEmailTemplateProps) => (
29
+ <EmailContainer
30
+ title={`${member} received ${roles}`}
31
+ shortDescription={`${member} received ${roles} on ${tenant.name}.`}
32
+ tenant={tenant}
33
+ mode={mode}
34
+ >
35
+ <Heading style={{ fontSize: 28, fontWeight: 600, marginBottom: '50px' }}>
36
+ New {roles} on your team
37
+ </Heading>
38
+ <Text>
39
+ <b>{member}</b> received <b>{roles}</b> on {tenant.name} on {grantedAt}
40
+ {grantedBy ? ` from ${grantedBy}` : ''}
41
+ {partnerName ? `, acting through your partner ${partnerName}` : ''}.
42
+ </Text>
43
+ <Text>
44
+ If you did not expect this change, review the team members and remove the
45
+ role.
46
+ </Text>
47
+ <Button
48
+ href={href}
49
+ mode={mode}
50
+ label="Review team members"
51
+ themeColors={THEME_COLORS.vrplatform!}
52
+ />
53
+ </EmailContainer>
54
+ );
@@ -1,4 +1,5 @@
1
1
  // Teams
2
+ export * from './TeamRoleGrantedEmailTemplate';
2
3
  export * from './TenantSuspensionEmailTemplate';
3
4
  export * from './TenantDeletionEmailTemplate';
4
5
 
@@ -8,6 +9,7 @@ export * from './OwnerStatementEmailTemplate';
8
9
  // Payment setup
9
10
  export * from './BankAccountChangedEmailTemplate';
10
11
  export * from './BankAccountChangedTeamAdminEmailTemplate';
12
+ export * from './BankDetailsRequestEmailTemplate';
11
13
 
12
14
  // Invitations
13
15
  export * from './InviteOwnerEmailTemplate';