hububb-emails 1.0.0
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/dist/_components/callout.d.ts +9 -0
- package/dist/_components/callout.d.ts.map +1 -0
- package/dist/_components/callout.js +29 -0
- package/dist/_components/callout.js.map +1 -0
- package/dist/_components/detail-card.d.ts +16 -0
- package/dist/_components/detail-card.d.ts.map +1 -0
- package/dist/_components/detail-card.js +34 -0
- package/dist/_components/detail-card.js.map +1 -0
- package/dist/_components/divider.d.ts +11 -0
- package/dist/_components/divider.d.ts.map +1 -0
- package/dist/_components/divider.js +16 -0
- package/dist/_components/divider.js.map +1 -0
- package/dist/_components/email-layout.d.ts +29 -0
- package/dist/_components/email-layout.d.ts.map +1 -0
- package/dist/_components/email-layout.js +17 -0
- package/dist/_components/email-layout.js.map +1 -0
- package/dist/_components/heading.d.ts +9 -0
- package/dist/_components/heading.d.ts.map +1 -0
- package/dist/_components/heading.js +25 -0
- package/dist/_components/heading.js.map +1 -0
- package/dist/_components/icon-circle.d.ts +18 -0
- package/dist/_components/icon-circle.d.ts.map +1 -0
- package/dist/_components/icon-circle.js +23 -0
- package/dist/_components/icon-circle.js.map +1 -0
- package/dist/_components/icons.d.ts +31 -0
- package/dist/_components/icons.d.ts.map +1 -0
- package/dist/_components/icons.js +20 -0
- package/dist/_components/icons.js.map +1 -0
- package/dist/_components/index.d.ts +16 -0
- package/dist/_components/index.d.ts.map +1 -0
- package/dist/_components/index.js +31 -0
- package/dist/_components/index.js.map +1 -0
- package/dist/_components/message-quote.d.ts +10 -0
- package/dist/_components/message-quote.d.ts.map +1 -0
- package/dist/_components/message-quote.js +33 -0
- package/dist/_components/message-quote.js.map +1 -0
- package/dist/_components/primary-button.d.ts +10 -0
- package/dist/_components/primary-button.d.ts.map +1 -0
- package/dist/_components/primary-button.js +23 -0
- package/dist/_components/primary-button.js.map +1 -0
- package/dist/_components/secondary-button.d.ts +4 -0
- package/dist/_components/secondary-button.d.ts.map +1 -0
- package/dist/_components/secondary-button.js +24 -0
- package/dist/_components/secondary-button.js.map +1 -0
- package/dist/_components/steps-list.d.ts +10 -0
- package/dist/_components/steps-list.d.ts.map +1 -0
- package/dist/_components/steps-list.js +23 -0
- package/dist/_components/steps-list.js.map +1 -0
- package/dist/_components/text.d.ts +19 -0
- package/dist/_components/text.d.ts.map +1 -0
- package/dist/_components/text.js +28 -0
- package/dist/_components/text.js.map +1 -0
- package/dist/_components/units-list.d.ts +14 -0
- package/dist/_components/units-list.d.ts.map +1 -0
- package/dist/_components/units-list.js +11 -0
- package/dist/_components/units-list.js.map +1 -0
- package/dist/catalog.d.ts +170 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.js +1082 -0
- package/dist/catalog.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/render.d.ts +21 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +36 -0
- package/dist/render.js.map +1 -0
- package/dist/templates/account-deletion-request.d.ts +14 -0
- package/dist/templates/account-deletion-request.d.ts.map +1 -0
- package/dist/templates/account-deletion-request.js +10 -0
- package/dist/templates/account-deletion-request.js.map +1 -0
- package/dist/templates/airbnb-account-connected.d.ts +13 -0
- package/dist/templates/airbnb-account-connected.d.ts.map +1 -0
- package/dist/templates/airbnb-account-connected.js +10 -0
- package/dist/templates/airbnb-account-connected.js.map +1 -0
- package/dist/templates/airbnb-connection-success.d.ts +8 -0
- package/dist/templates/airbnb-connection-success.d.ts.map +1 -0
- package/dist/templates/airbnb-connection-success.js +11 -0
- package/dist/templates/airbnb-connection-success.js.map +1 -0
- package/dist/templates/airbnb-property-unlisted.d.ts +8 -0
- package/dist/templates/airbnb-property-unlisted.d.ts.map +1 -0
- package/dist/templates/airbnb-property-unlisted.js +10 -0
- package/dist/templates/airbnb-property-unlisted.js.map +1 -0
- package/dist/templates/bdc-listing-live.d.ts +8 -0
- package/dist/templates/bdc-listing-live.d.ts.map +1 -0
- package/dist/templates/bdc-listing-live.js +10 -0
- package/dist/templates/bdc-listing-live.js.map +1 -0
- package/dist/templates/booking-received.d.ts +12 -0
- package/dist/templates/booking-received.d.ts.map +1 -0
- package/dist/templates/booking-received.js +9 -0
- package/dist/templates/booking-received.js.map +1 -0
- package/dist/templates/check-in-notification.d.ts +10 -0
- package/dist/templates/check-in-notification.d.ts.map +1 -0
- package/dist/templates/check-in-notification.js +10 -0
- package/dist/templates/check-in-notification.js.map +1 -0
- package/dist/templates/check-out-notification.d.ts +10 -0
- package/dist/templates/check-out-notification.d.ts.map +1 -0
- package/dist/templates/check-out-notification.js +10 -0
- package/dist/templates/check-out-notification.js.map +1 -0
- package/dist/templates/direct-catalog-share.d.ts +9 -0
- package/dist/templates/direct-catalog-share.d.ts.map +1 -0
- package/dist/templates/direct-catalog-share.js +10 -0
- package/dist/templates/direct-catalog-share.js.map +1 -0
- package/dist/templates/direct-property-share.d.ts +9 -0
- package/dist/templates/direct-property-share.d.ts.map +1 -0
- package/dist/templates/direct-property-share.js +10 -0
- package/dist/templates/direct-property-share.js.map +1 -0
- package/dist/templates/guest-automated-message.d.ts +11 -0
- package/dist/templates/guest-automated-message.d.ts.map +1 -0
- package/dist/templates/guest-automated-message.js +10 -0
- package/dist/templates/guest-automated-message.js.map +1 -0
- package/dist/templates/guest-coordination-employee-notification.d.ts +10 -0
- package/dist/templates/guest-coordination-employee-notification.d.ts.map +1 -0
- package/dist/templates/guest-coordination-employee-notification.js +10 -0
- package/dist/templates/guest-coordination-employee-notification.js.map +1 -0
- package/dist/templates/guest-coordination-subscription.d.ts +9 -0
- package/dist/templates/guest-coordination-subscription.d.ts.map +1 -0
- package/dist/templates/guest-coordination-subscription.js +10 -0
- package/dist/templates/guest-coordination-subscription.js.map +1 -0
- package/dist/templates/guest-direct-booking-confirmation.d.ts +14 -0
- package/dist/templates/guest-direct-booking-confirmation.d.ts.map +1 -0
- package/dist/templates/guest-direct-booking-confirmation.js +10 -0
- package/dist/templates/guest-direct-booking-confirmation.js.map +1 -0
- package/dist/templates/guest-portal-email-code.d.ts +7 -0
- package/dist/templates/guest-portal-email-code.d.ts.map +1 -0
- package/dist/templates/guest-portal-email-code.js +24 -0
- package/dist/templates/guest-portal-email-code.js.map +1 -0
- package/dist/templates/guest-portal-stay-invite.d.ts +14 -0
- package/dist/templates/guest-portal-stay-invite.d.ts.map +1 -0
- package/dist/templates/guest-portal-stay-invite.js +11 -0
- package/dist/templates/guest-portal-stay-invite.js.map +1 -0
- package/dist/templates/guest-verification-submitted-notification.d.ts +13 -0
- package/dist/templates/guest-verification-submitted-notification.d.ts.map +1 -0
- package/dist/templates/guest-verification-submitted-notification.js +10 -0
- package/dist/templates/guest-verification-submitted-notification.js.map +1 -0
- package/dist/templates/home-hold-declaration-approved.d.ts +13 -0
- package/dist/templates/home-hold-declaration-approved.d.ts.map +1 -0
- package/dist/templates/home-hold-declaration-approved.js +10 -0
- package/dist/templates/home-hold-declaration-approved.js.map +1 -0
- package/dist/templates/home-hold-declaration-now-required.d.ts +14 -0
- package/dist/templates/home-hold-declaration-now-required.d.ts.map +1 -0
- package/dist/templates/home-hold-declaration-now-required.js +10 -0
- package/dist/templates/home-hold-declaration-now-required.js.map +1 -0
- package/dist/templates/home-hold-declaration-rejected.d.ts +14 -0
- package/dist/templates/home-hold-declaration-rejected.d.ts.map +1 -0
- package/dist/templates/home-hold-declaration-rejected.js +10 -0
- package/dist/templates/home-hold-declaration-rejected.js.map +1 -0
- package/dist/templates/home-hold-lapsed-host.d.ts +12 -0
- package/dist/templates/home-hold-lapsed-host.d.ts.map +1 -0
- package/dist/templates/home-hold-lapsed-host.js +12 -0
- package/dist/templates/home-hold-lapsed-host.js.map +1 -0
- package/dist/templates/home-hold-lapsed.d.ts +15 -0
- package/dist/templates/home-hold-lapsed.d.ts.map +1 -0
- package/dist/templates/home-hold-lapsed.js +12 -0
- package/dist/templates/home-hold-lapsed.js.map +1 -0
- package/dist/templates/home-hold-reminder.d.ts +22 -0
- package/dist/templates/home-hold-reminder.d.ts.map +1 -0
- package/dist/templates/home-hold-reminder.js +12 -0
- package/dist/templates/home-hold-reminder.js.map +1 -0
- package/dist/templates/host-to-operations-message-notification.d.ts +15 -0
- package/dist/templates/host-to-operations-message-notification.d.ts.map +1 -0
- package/dist/templates/host-to-operations-message-notification.js +10 -0
- package/dist/templates/host-to-operations-message-notification.js.map +1 -0
- package/dist/templates/how-it-works.d.ts +8 -0
- package/dist/templates/how-it-works.d.ts.map +1 -0
- package/dist/templates/how-it-works.js +14 -0
- package/dist/templates/how-it-works.js.map +1 -0
- package/dist/templates/internal-bdc-listing-request.d.ts +8 -0
- package/dist/templates/internal-bdc-listing-request.d.ts.map +1 -0
- package/dist/templates/internal-bdc-listing-request.js +10 -0
- package/dist/templates/internal-bdc-listing-request.js.map +1 -0
- package/dist/templates/new-landlord-message-notification.d.ts +9 -0
- package/dist/templates/new-landlord-message-notification.d.ts.map +1 -0
- package/dist/templates/new-landlord-message-notification.js +10 -0
- package/dist/templates/new-landlord-message-notification.js.map +1 -0
- package/dist/templates/new-landlord-notification.d.ts +11 -0
- package/dist/templates/new-landlord-notification.d.ts.map +1 -0
- package/dist/templates/new-landlord-notification.js +10 -0
- package/dist/templates/new-landlord-notification.js.map +1 -0
- package/dist/templates/new-message-coordinator-notification.d.ts +12 -0
- package/dist/templates/new-message-coordinator-notification.d.ts.map +1 -0
- package/dist/templates/new-message-coordinator-notification.js +10 -0
- package/dist/templates/new-message-coordinator-notification.js.map +1 -0
- package/dist/templates/new-message.d.ts +12 -0
- package/dist/templates/new-message.d.ts.map +1 -0
- package/dist/templates/new-message.js +9 -0
- package/dist/templates/new-message.js.map +1 -0
- package/dist/templates/new-property-submitted.d.ts +10 -0
- package/dist/templates/new-property-submitted.d.ts.map +1 -0
- package/dist/templates/new-property-submitted.js +10 -0
- package/dist/templates/new-property-submitted.js.map +1 -0
- package/dist/templates/new-support-message-notification.d.ts +11 -0
- package/dist/templates/new-support-message-notification.d.ts.map +1 -0
- package/dist/templates/new-support-message-notification.js +10 -0
- package/dist/templates/new-support-message-notification.js.map +1 -0
- package/dist/templates/payment-action-required.d.ts +10 -0
- package/dist/templates/payment-action-required.d.ts.map +1 -0
- package/dist/templates/payment-action-required.js +10 -0
- package/dist/templates/payment-action-required.js.map +1 -0
- package/dist/templates/payment-confirmation.d.ts +14 -0
- package/dist/templates/payment-confirmation.d.ts.map +1 -0
- package/dist/templates/payment-confirmation.js +10 -0
- package/dist/templates/payment-confirmation.js.map +1 -0
- package/dist/templates/payment-failed.d.ts +12 -0
- package/dist/templates/payment-failed.d.ts.map +1 -0
- package/dist/templates/payment-failed.js +9 -0
- package/dist/templates/payment-failed.js.map +1 -0
- package/dist/templates/payout-completed-notification.d.ts +10 -0
- package/dist/templates/payout-completed-notification.d.ts.map +1 -0
- package/dist/templates/payout-completed-notification.js +10 -0
- package/dist/templates/payout-completed-notification.js.map +1 -0
- package/dist/templates/payout-rejected-notification.d.ts +11 -0
- package/dist/templates/payout-rejected-notification.d.ts.map +1 -0
- package/dist/templates/payout-rejected-notification.js +11 -0
- package/dist/templates/payout-rejected-notification.js.map +1 -0
- package/dist/templates/payout-requested.d.ts +14 -0
- package/dist/templates/payout-requested.d.ts.map +1 -0
- package/dist/templates/payout-requested.js +10 -0
- package/dist/templates/payout-requested.js.map +1 -0
- package/dist/templates/property-submission-confirmation.d.ts +9 -0
- package/dist/templates/property-submission-confirmation.d.ts.map +1 -0
- package/dist/templates/property-submission-confirmation.js +10 -0
- package/dist/templates/property-submission-confirmation.js.map +1 -0
- package/dist/templates/quote-submitted-host.d.ts +14 -0
- package/dist/templates/quote-submitted-host.d.ts.map +1 -0
- package/dist/templates/quote-submitted-host.js +16 -0
- package/dist/templates/quote-submitted-host.js.map +1 -0
- package/dist/templates/quote-submitted-ops.d.ts +12 -0
- package/dist/templates/quote-submitted-ops.d.ts.map +1 -0
- package/dist/templates/quote-submitted-ops.js +10 -0
- package/dist/templates/quote-submitted-ops.js.map +1 -0
- package/dist/templates/reservation-cancellation.d.ts +10 -0
- package/dist/templates/reservation-cancellation.d.ts.map +1 -0
- package/dist/templates/reservation-cancellation.js +9 -0
- package/dist/templates/reservation-cancellation.js.map +1 -0
- package/dist/templates/reset-password.d.ts +9 -0
- package/dist/templates/reset-password.d.ts.map +1 -0
- package/dist/templates/reset-password.js +9 -0
- package/dist/templates/reset-password.js.map +1 -0
- package/dist/templates/service-booking-confirmation.d.ts +11 -0
- package/dist/templates/service-booking-confirmation.d.ts.map +1 -0
- package/dist/templates/service-booking-confirmation.js +12 -0
- package/dist/templates/service-booking-confirmation.js.map +1 -0
- package/dist/templates/service-booking-employee-notification.d.ts +14 -0
- package/dist/templates/service-booking-employee-notification.d.ts.map +1 -0
- package/dist/templates/service-booking-employee-notification.js +10 -0
- package/dist/templates/service-booking-employee-notification.js.map +1 -0
- package/dist/templates/service-request-notification.d.ts +21 -0
- package/dist/templates/service-request-notification.d.ts.map +1 -0
- package/dist/templates/service-request-notification.js +10 -0
- package/dist/templates/service-request-notification.js.map +1 -0
- package/dist/templates/service-request.d.ts +10 -0
- package/dist/templates/service-request.d.ts.map +1 -0
- package/dist/templates/service-request.js +10 -0
- package/dist/templates/service-request.js.map +1 -0
- package/dist/templates/subscription-confirmation-bdc.d.ts +8 -0
- package/dist/templates/subscription-confirmation-bdc.d.ts.map +1 -0
- package/dist/templates/subscription-confirmation-bdc.js +10 -0
- package/dist/templates/subscription-confirmation-bdc.js.map +1 -0
- package/dist/templates/support-direct-message-notification.d.ts +13 -0
- package/dist/templates/support-direct-message-notification.d.ts.map +1 -0
- package/dist/templates/support-direct-message-notification.js +10 -0
- package/dist/templates/support-direct-message-notification.js.map +1 -0
- package/dist/templates/task-accepted-host.d.ts +14 -0
- package/dist/templates/task-accepted-host.d.ts.map +1 -0
- package/dist/templates/task-accepted-host.js +10 -0
- package/dist/templates/task-accepted-host.js.map +1 -0
- package/dist/templates/task-accepted-ops.d.ts +12 -0
- package/dist/templates/task-accepted-ops.d.ts.map +1 -0
- package/dist/templates/task-accepted-ops.js +10 -0
- package/dist/templates/task-accepted-ops.js.map +1 -0
- package/dist/templates/task-answers-submitted-ops.d.ts +9 -0
- package/dist/templates/task-answers-submitted-ops.d.ts.map +1 -0
- package/dist/templates/task-answers-submitted-ops.js +10 -0
- package/dist/templates/task-answers-submitted-ops.js.map +1 -0
- package/dist/templates/task-assigned-worker.d.ts +13 -0
- package/dist/templates/task-assigned-worker.d.ts.map +1 -0
- package/dist/templates/task-assigned-worker.js +10 -0
- package/dist/templates/task-assigned-worker.js.map +1 -0
- package/dist/templates/task-completed-host.d.ts +16 -0
- package/dist/templates/task-completed-host.d.ts.map +1 -0
- package/dist/templates/task-completed-host.js +17 -0
- package/dist/templates/task-completed-host.js.map +1 -0
- package/dist/templates/task-completed-ops.d.ts +9 -0
- package/dist/templates/task-completed-ops.d.ts.map +1 -0
- package/dist/templates/task-completed-ops.js +10 -0
- package/dist/templates/task-completed-ops.js.map +1 -0
- package/dist/templates/task-payment-failed.d.ts +18 -0
- package/dist/templates/task-payment-failed.d.ts.map +1 -0
- package/dist/templates/task-payment-failed.js +10 -0
- package/dist/templates/task-payment-failed.js.map +1 -0
- package/dist/templates/task-payment-successful.d.ts +16 -0
- package/dist/templates/task-payment-successful.d.ts.map +1 -0
- package/dist/templates/task-payment-successful.js +10 -0
- package/dist/templates/task-payment-successful.js.map +1 -0
- package/dist/templates/task-purchased-ops.d.ts +12 -0
- package/dist/templates/task-purchased-ops.d.ts.map +1 -0
- package/dist/templates/task-purchased-ops.js +10 -0
- package/dist/templates/task-purchased-ops.js.map +1 -0
- package/dist/templates/task-rejected-ops.d.ts +11 -0
- package/dist/templates/task-rejected-ops.d.ts.map +1 -0
- package/dist/templates/task-rejected-ops.js +10 -0
- package/dist/templates/task-rejected-ops.js.map +1 -0
- package/dist/templates/task-service-assigned-host.d.ts +11 -0
- package/dist/templates/task-service-assigned-host.d.ts.map +1 -0
- package/dist/templates/task-service-assigned-host.js +10 -0
- package/dist/templates/task-service-assigned-host.js.map +1 -0
- package/dist/templates/welcome-guest.d.ts +13 -0
- package/dist/templates/welcome-guest.d.ts.map +1 -0
- package/dist/templates/welcome-guest.js +17 -0
- package/dist/templates/welcome-guest.js.map +1 -0
- package/dist/templates/welcome-host.d.ts +9 -0
- package/dist/templates/welcome-host.d.ts.map +1 -0
- package/dist/templates/welcome-host.js +10 -0
- package/dist/templates/welcome-host.js.map +1 -0
- package/dist/templates/welcome-no-listing.d.ts +8 -0
- package/dist/templates/welcome-no-listing.d.ts.map +1 -0
- package/dist/templates/welcome-no-listing.js +14 -0
- package/dist/templates/welcome-no-listing.js.map +1 -0
- package/dist/templates/welcome-provider.d.ts +8 -0
- package/dist/templates/welcome-provider.d.ts.map +1 -0
- package/dist/templates/welcome-provider.js +22 -0
- package/dist/templates/welcome-provider.js.map +1 -0
- package/dist/theme.d.ts +113 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +79 -0
- package/dist/theme.js.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type FeedbackVariant } from '../theme';
|
|
3
|
+
export interface CalloutProps {
|
|
4
|
+
variant: FeedbackVariant;
|
|
5
|
+
title?: string;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare function Callout({ variant, title, children }: CalloutProps): import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=callout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../src/_components/callout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,EAAU,KAAK,eAAe,EAAoC,MAAM,UAAU,CAAA;AAczF,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,SAAS,CAAA;CACtB;AAED,wBAAgB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,YAAY,+BAyBjE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Callout = Callout;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("@react-email/components");
|
|
6
|
+
const theme_1 = require("../theme");
|
|
7
|
+
const icons_1 = require("./icons");
|
|
8
|
+
const icon_circle_1 = require("./icon-circle");
|
|
9
|
+
// Same icon language as the in-app notifications (§4) — color lives in the icon,
|
|
10
|
+
// no strip, no card. SVG renders in modern clients; the tinted circle degrades gracefully.
|
|
11
|
+
const ICONS = {
|
|
12
|
+
success: icons_1.CheckCircle,
|
|
13
|
+
danger: icons_1.WarningOctagon,
|
|
14
|
+
warning: icons_1.Warning,
|
|
15
|
+
info: icons_1.Info,
|
|
16
|
+
neutral: icons_1.Info,
|
|
17
|
+
};
|
|
18
|
+
function Callout({ variant, title, children }) {
|
|
19
|
+
const c = theme_1.colors[variant];
|
|
20
|
+
const Glyph = ICONS[variant];
|
|
21
|
+
return ((0, jsx_runtime_1.jsxs)(components_1.Section, { style: { margin: '0 0 24px' }, children: [(0, jsx_runtime_1.jsx)(icon_circle_1.IconCircle, { icon: Glyph, size: 40, glyphSize: 20, bg: c.bg, fg: c.fg }), title && ((0, jsx_runtime_1.jsx)("p", { style: {
|
|
22
|
+
color: theme_1.colors.text.t1,
|
|
23
|
+
fontSize: theme_1.fontSize.body,
|
|
24
|
+
fontWeight: theme_1.fontWeight.semibold,
|
|
25
|
+
lineHeight: theme_1.lineHeight.body,
|
|
26
|
+
margin: '12px 0 2px',
|
|
27
|
+
}, children: title })), (0, jsx_runtime_1.jsx)("div", { style: { color: theme_1.colors.text.t2, fontSize: theme_1.fontSize.body, lineHeight: theme_1.lineHeight.body }, children: children })] }));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=callout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callout.js","sourceRoot":"","sources":["../../src/_components/callout.tsx"],"names":[],"mappings":";;AAsBA,0BAyBC;;AA/CD,wDAAiD;AAEjD,oCAAyF;AACzF,mCAAqF;AACrF,+CAA0C;AAE1C,iFAAiF;AACjF,2FAA2F;AAC3F,MAAM,KAAK,GAAuD;IAC9D,OAAO,EAAE,mBAAW;IACpB,MAAM,EAAE,sBAAc;IACtB,OAAO,EAAE,eAAO;IAChB,IAAI,EAAE,YAAI;IACV,OAAO,EAAE,YAAI;CAChB,CAAA;AAQD,SAAgB,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAgB;IAC9D,MAAM,CAAC,GAAG,cAAM,CAAC,OAAO,CAAC,CAAA;IACzB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IAE5B,OAAO,CACH,wBAAC,oBAAO,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAClC,uBAAC,wBAAU,IAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAI,EACvE,KAAK,IAAI,CACN,8BACI,KAAK,EAAE;oBACH,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,EAAE;oBACrB,QAAQ,EAAE,gBAAQ,CAAC,IAAI;oBACvB,UAAU,EAAE,kBAAU,CAAC,QAAQ;oBAC/B,UAAU,EAAE,kBAAU,CAAC,IAAI;oBAC3B,MAAM,EAAE,YAAY;iBACvB,YAEA,KAAK,GACN,CACP,EACD,gCAAK,KAAK,EAAE,EAAE,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,kBAAU,CAAC,IAAI,EAAE,YACtF,QAAQ,GACP,IACA,CACb,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface DetailCardProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
variant?: 'surface' | 'bordered';
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/** Inset card grouping key/value rows (booking details, payout bank details). */
|
|
8
|
+
export declare function DetailCard({ title, variant, children }: DetailCardProps): import("react").JSX.Element;
|
|
9
|
+
export interface DetailRowProps {
|
|
10
|
+
label: string;
|
|
11
|
+
value: ReactNode;
|
|
12
|
+
emphasis?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** One key/value line. `emphasis` bolds the value (e.g. a total). */
|
|
15
|
+
export declare function DetailRow({ label, value, emphasis }: DetailRowProps): import("react").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=detail-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detail-card.d.ts","sourceRoot":"","sources":["../../src/_components/detail-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,WAAW,eAAe;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IAChC,QAAQ,EAAE,SAAS,CAAA;CACtB;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,OAAmB,EAAE,QAAQ,EAAE,EAAE,eAAe,+BAgCnF;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE,cAAc,+BAsB3E"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DetailCard = DetailCard;
|
|
4
|
+
exports.DetailRow = DetailRow;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const components_1 = require("@react-email/components");
|
|
7
|
+
const theme_1 = require("../theme");
|
|
8
|
+
/** Inset card grouping key/value rows (booking details, payout bank details). */
|
|
9
|
+
function DetailCard({ title, variant = 'surface', children }) {
|
|
10
|
+
return ((0, jsx_runtime_1.jsxs)(components_1.Section, { style: {
|
|
11
|
+
backgroundColor: variant === 'surface' ? theme_1.colors.bg.surface : theme_1.colors.bg.base,
|
|
12
|
+
border: `1px solid ${theme_1.colors.border.base}`,
|
|
13
|
+
borderRadius: theme_1.radius.lg,
|
|
14
|
+
padding: '8px 20px',
|
|
15
|
+
margin: '0 0 24px',
|
|
16
|
+
}, children: [title && ((0, jsx_runtime_1.jsx)(components_1.Row, { children: (0, jsx_runtime_1.jsx)(components_1.Column, { children: (0, jsx_runtime_1.jsx)("p", { style: {
|
|
17
|
+
color: theme_1.colors.text.t3,
|
|
18
|
+
fontSize: theme_1.fontSize.caption,
|
|
19
|
+
fontWeight: theme_1.fontWeight.semibold,
|
|
20
|
+
letterSpacing: '0.04em',
|
|
21
|
+
textTransform: 'uppercase',
|
|
22
|
+
margin: '12px 0 4px',
|
|
23
|
+
}, children: title }) }) })), children] }));
|
|
24
|
+
}
|
|
25
|
+
/** One key/value line. `emphasis` bolds the value (e.g. a total). */
|
|
26
|
+
function DetailRow({ label, value, emphasis = false }) {
|
|
27
|
+
return ((0, jsx_runtime_1.jsxs)(components_1.Row, { style: { borderTop: `1px solid ${theme_1.colors.border.subtle}` }, children: [(0, jsx_runtime_1.jsx)(components_1.Column, { style: { padding: '12px 0', verticalAlign: 'top', width: '42%' }, children: (0, jsx_runtime_1.jsx)("span", { style: { color: theme_1.colors.text.muted, fontSize: theme_1.fontSize.body, lineHeight: theme_1.lineHeight.body }, children: label }) }), (0, jsx_runtime_1.jsx)(components_1.Column, { style: { padding: '12px 0', verticalAlign: 'top', textAlign: 'right' }, children: (0, jsx_runtime_1.jsx)("span", { style: {
|
|
28
|
+
color: theme_1.colors.text.t1,
|
|
29
|
+
fontSize: theme_1.fontSize.body,
|
|
30
|
+
fontWeight: emphasis ? theme_1.fontWeight.semibold : theme_1.fontWeight.regular,
|
|
31
|
+
lineHeight: theme_1.lineHeight.body,
|
|
32
|
+
}, children: value }) })] }));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=detail-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detail-card.js","sourceRoot":"","sources":["../../src/_components/detail-card.tsx"],"names":[],"mappings":";;AAWA,gCAgCC;AASD,8BAsBC;;AA1ED,wDAA8D;AAE9D,oCAA2E;AAQ3E,iFAAiF;AACjF,SAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,QAAQ,EAAmB;IAChF,OAAO,CACH,wBAAC,oBAAO,IACJ,KAAK,EAAE;YACH,eAAe,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,cAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,cAAM,CAAC,EAAE,CAAC,IAAI;YAC3E,MAAM,EAAE,aAAa,cAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACzC,YAAY,EAAE,cAAM,CAAC,EAAE;YACvB,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,UAAU;SACrB,aAEA,KAAK,IAAI,CACN,uBAAC,gBAAG,cACA,uBAAC,mBAAM,cACH,8BACI,KAAK,EAAE;4BACH,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,EAAE;4BACrB,QAAQ,EAAE,gBAAQ,CAAC,OAAO;4BAC1B,UAAU,EAAE,kBAAU,CAAC,QAAQ;4BAC/B,aAAa,EAAE,QAAQ;4BACvB,aAAa,EAAE,WAAW;4BAC1B,MAAM,EAAE,YAAY;yBACvB,YAEA,KAAK,GACN,GACC,GACP,CACT,EACA,QAAQ,IACH,CACb,CAAA;AACL,CAAC;AAQD,qEAAqE;AACrE,SAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAkB;IACxE,OAAO,CACH,wBAAC,gBAAG,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,cAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,aAC1D,uBAAC,mBAAM,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YACpE,iCAAM,KAAK,EAAE,EAAE,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,kBAAU,CAAC,IAAI,EAAE,YAC1F,KAAK,GACH,GACF,EACT,uBAAC,mBAAM,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAC1E,iCACI,KAAK,EAAE;wBACH,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,EAAE;wBACrB,QAAQ,EAAE,gBAAQ,CAAC,IAAI;wBACvB,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAU,CAAC,OAAO;wBAC/D,UAAU,EAAE,kBAAU,CAAC,IAAI;qBAC9B,YAEA,KAAK,GACH,GACF,IACP,CACT,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare const GAP: {
|
|
2
|
+
readonly sm: "12px";
|
|
3
|
+
readonly md: "24px";
|
|
4
|
+
readonly lg: "32px";
|
|
5
|
+
};
|
|
6
|
+
export interface DividerProps {
|
|
7
|
+
spacing?: keyof typeof GAP;
|
|
8
|
+
}
|
|
9
|
+
export declare function Divider({ spacing }: DividerProps): import("react").JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=divider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"divider.d.ts","sourceRoot":"","sources":["../../src/_components/divider.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,GAAG;;;;CAAkD,CAAA;AAE3D,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,EAAE,MAAM,OAAO,GAAG,CAAA;CAC7B;AAED,wBAAgB,OAAO,CAAC,EAAE,OAAc,EAAE,EAAE,YAAY,+BAWvD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Divider = Divider;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("@react-email/components");
|
|
6
|
+
const theme_1 = require("../theme");
|
|
7
|
+
const GAP = { sm: '12px', md: '24px', lg: '32px' };
|
|
8
|
+
function Divider({ spacing = 'md' }) {
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)(components_1.Hr, { style: {
|
|
10
|
+
borderColor: theme_1.colors.border.base,
|
|
11
|
+
borderWidth: '1px 0 0',
|
|
12
|
+
borderStyle: 'solid',
|
|
13
|
+
margin: `${GAP[spacing]} 0`,
|
|
14
|
+
} }));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"divider.js","sourceRoot":"","sources":["../../src/_components/divider.tsx"],"names":[],"mappings":";;AASA,0BAWC;;AApBD,wDAA4C;AAC5C,oCAAiC;AAEjC,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAW,CAAA;AAM3D,SAAgB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,EAAgB;IACpD,OAAO,CACH,uBAAC,eAAE,IACC,KAAK,EAAE;YACH,WAAW,EAAE,cAAM,CAAC,MAAM,CAAC,IAAI;YAC/B,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI;SAC9B,GACH,CACL,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface EmailFooterConfig {
|
|
3
|
+
manageNotificationsUrl?: string;
|
|
4
|
+
/**
|
|
5
|
+
* Real sends pass Mailgun's `%unsubscribe_url%` placeholder, which Mailgun
|
|
6
|
+
* substitutes per recipient at send time. The default below is only a
|
|
7
|
+
* sensible fallback for previews and for mail sent outside Mailgun.
|
|
8
|
+
*/
|
|
9
|
+
unsubscribeUrl?: string;
|
|
10
|
+
address?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Every template's props extend this. `baseUrl` resolves absolute asset URLs;
|
|
14
|
+
* `footer` lets the sending process override the footer links without each
|
|
15
|
+
* template knowing anything about the delivery provider. `false` drops the
|
|
16
|
+
* manage/unsubscribe line entirely — for internal ops mail, which has no
|
|
17
|
+
* recipient-facing preferences to manage.
|
|
18
|
+
*/
|
|
19
|
+
export interface BaseEmailProps {
|
|
20
|
+
baseUrl: string;
|
|
21
|
+
footer?: EmailFooterConfig | false;
|
|
22
|
+
}
|
|
23
|
+
export interface EmailLayoutProps extends BaseEmailProps {
|
|
24
|
+
/** Inbox preheader line — facts-first, echoes the subject, no decoration. */
|
|
25
|
+
preview: string;
|
|
26
|
+
children: ReactNode;
|
|
27
|
+
}
|
|
28
|
+
export declare function EmailLayout({ baseUrl, preview, children, footer }: EmailLayoutProps): import("react").JSX.Element;
|
|
29
|
+
//# sourceMappingURL=email-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-layout.d.ts","sourceRoot":"","sources":["../../src/_components/email-layout.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,WAAW,iBAAiB;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAA;CACrC;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACpD,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;CACtB;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,gBAAgB,+BA4EnF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EmailLayout = EmailLayout;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("@react-email/components");
|
|
6
|
+
const theme_1 = require("../theme");
|
|
7
|
+
function EmailLayout({ baseUrl, preview, children, footer }) {
|
|
8
|
+
const showLinks = footer !== false;
|
|
9
|
+
const manageUrl = (footer || undefined)?.manageNotificationsUrl ?? `${baseUrl}/host/notifications/preferences`;
|
|
10
|
+
const unsubscribeUrl = (footer || undefined)?.unsubscribeUrl ?? `${baseUrl}/unsubscribe`;
|
|
11
|
+
const address = (footer || undefined)?.address ?? 'Hububb, London, United Kingdom';
|
|
12
|
+
const year = new Date().getFullYear();
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)(components_1.Html, { lang: "en", dir: "ltr", children: [(0, jsx_runtime_1.jsxs)(components_1.Head, { children: [theme_1.interFonts.map((f) => ((0, jsx_runtime_1.jsx)(components_1.Font, { fontFamily: "Inter", fallbackFontFamily: "Helvetica", fontWeight: f.weight, fontStyle: "normal", webFont: { url: f.url, format: 'woff2' } }, f.weight))), (0, jsx_runtime_1.jsx)("style", { dangerouslySetInnerHTML: {
|
|
14
|
+
__html: '@media only screen and (max-width:480px){.stack-col{display:block!important;width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important}}',
|
|
15
|
+
} })] }), (0, jsx_runtime_1.jsx)(components_1.Preview, { children: preview }), (0, jsx_runtime_1.jsxs)(components_1.Body, { style: theme_1.styles.body, children: [(0, jsx_runtime_1.jsxs)(components_1.Container, { style: theme_1.styles.container, children: [(0, jsx_runtime_1.jsx)(components_1.Section, { style: { padding: '28px 32px 24px' }, children: (0, jsx_runtime_1.jsx)(components_1.Img, { src: `${baseUrl}/logo/hububb-wordmark.png`, width: 98, height: 32, alt: "Hububb", style: { display: 'block' } }) }), (0, jsx_runtime_1.jsx)("div", { style: { borderTop: `1px solid ${theme_1.colors.border.subtle}` } }), (0, jsx_runtime_1.jsx)(components_1.Section, { style: theme_1.styles.contentPadding, children: children }), (0, jsx_runtime_1.jsx)("div", { style: { borderTop: `1px solid ${theme_1.colors.border.subtle}` } }), (0, jsx_runtime_1.jsxs)(components_1.Section, { style: { padding: '24px 32px' }, children: [showLinks && ((0, jsx_runtime_1.jsxs)("p", { style: { ...theme_1.styles.footerText, margin: '0 0 8px' }, children: [(0, jsx_runtime_1.jsx)(components_1.Link, { href: manageUrl, style: { color: theme_1.colors.text.muted, textDecoration: 'underline' }, children: "Manage notifications" }), ' · ', (0, jsx_runtime_1.jsx)(components_1.Link, { href: unsubscribeUrl, style: { color: theme_1.colors.text.muted, textDecoration: 'underline' }, children: "Unsubscribe" })] })), (0, jsx_runtime_1.jsx)("p", { style: { ...theme_1.styles.footerText, margin: '0 0 4px' }, children: address }), (0, jsx_runtime_1.jsxs)("p", { style: { ...theme_1.styles.footerText, color: theme_1.colors.text.dim }, children: ["\u00A9 ", year, " Hububb. All rights reserved. Need help? ", (0, jsx_runtime_1.jsx)(components_1.Link, { href: "mailto:support@hububb.com", style: { color: theme_1.colors.text.dim, textDecoration: 'underline' }, children: "support@hububb.com" })] })] })] }), (0, jsx_runtime_1.jsx)("table", { width: "100%", cellPadding: 0, cellSpacing: 0, role: "presentation", children: (0, jsx_runtime_1.jsx)("tbody", { children: (0, jsx_runtime_1.jsx)("tr", { children: (0, jsx_runtime_1.jsx)("td", { align: "center", style: { padding: '16px 0 0' }, children: (0, jsx_runtime_1.jsx)("span", { style: { color: theme_1.colors.text.dim, fontSize: theme_1.fontSize.caption, lineHeight: theme_1.lineHeight.body }, children: "Sent by Hububb" }) }) }) }) })] })] }));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=email-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-layout.js","sourceRoot":"","sources":["../../src/_components/email-layout.tsx"],"names":[],"mappings":";;AA2CA,kCA4EC;;AAvHD,wDAUgC;AAEhC,oCAA2E;AA+B3E,SAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAoB;IAChF,MAAM,SAAS,GAAG,MAAM,KAAK,KAAK,CAAA;IAClC,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,sBAAsB,IAAI,GAAG,OAAO,iCAAiC,CAAA;IAC9G,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,cAAc,IAAI,GAAG,OAAO,cAAc,CAAA;IACxF,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE,OAAO,IAAI,gCAAgC,CAAA;IAClF,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAErC,OAAO,CACH,wBAAC,iBAAI,IAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAC,KAAK,aACrB,wBAAC,iBAAI,eACA,kBAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,uBAAC,iBAAI,IAED,UAAU,EAAC,OAAO,EAClB,kBAAkB,EAAC,WAAW,EAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EACpB,SAAS,EAAC,QAAQ,EAClB,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IALnC,CAAC,CAAC,MAAM,CAMf,CACL,CAAC,EAEF,kCACI,uBAAuB,EAAE;4BACrB,MAAM,EAAE,gLAAgL;yBAC3L,GACH,IACC,EACP,uBAAC,oBAAO,cAAE,OAAO,GAAW,EAC5B,wBAAC,iBAAI,IAAC,KAAK,EAAE,cAAM,CAAC,IAAI,aACpB,wBAAC,sBAAS,IAAC,KAAK,EAAE,cAAM,CAAC,SAAS,aAE9B,uBAAC,oBAAO,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,YACzC,uBAAC,gBAAG,IAAC,GAAG,EAAE,GAAG,OAAO,2BAA2B,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAI,GAC9G,EAEV,gCAAK,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,cAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAI,EAGlE,uBAAC,oBAAO,IAAC,KAAK,EAAE,cAAM,CAAC,cAAc,YAAG,QAAQ,GAAW,EAE3D,gCAAK,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,cAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAI,EAGlE,wBAAC,oBAAO,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,aACnC,SAAS,IAAI,CACV,+BAAG,KAAK,EAAE,EAAE,GAAG,cAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,aACjD,uBAAC,iBAAI,IAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,qCAEhF,EACN,OAAO,EACR,uBAAC,iBAAI,IAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,4BAErF,IACP,CACP,EACD,8BAAG,KAAK,EAAE,EAAE,GAAG,cAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,YAAG,OAAO,GAAK,EACpE,+BAAG,KAAK,EAAE,EAAE,GAAG,cAAM,CAAC,UAAU,EAAE,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,GAAG,EAAE,wBACnD,IAAI,+CAA0C,uBAAC,iBAAI,IAAC,IAAI,EAAC,2BAA2B,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,mCAA2B,IACjL,IACE,IACF,EAEZ,kCAAO,KAAK,EAAC,MAAM,EAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAC,cAAc,YACnE,4CACI,yCACI,+BAAI,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,YAC7C,iCAAM,KAAK,EAAE,EAAE,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAU,CAAC,IAAI,EAAE,+BAEzF,GACN,GACJ,GACD,GACJ,IACL,IACJ,CACV,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
export interface HeadingProps {
|
|
3
|
+
level?: 1 | 2 | 3 | 4;
|
|
4
|
+
align?: 'left' | 'center';
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
style?: CSSProperties;
|
|
7
|
+
}
|
|
8
|
+
export declare function Heading({ level, align, children, style }: HeadingProps): import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=heading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../src/_components/heading.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAUrD,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAS,EAAE,KAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,YAAY,+BAkBnF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Heading = Heading;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("@react-email/components");
|
|
6
|
+
const theme_1 = require("../theme");
|
|
7
|
+
const LEVELS = {
|
|
8
|
+
1: { as: 'h1', fontSize: theme_1.fontSize.h1, fontWeight: theme_1.fontWeight.medium },
|
|
9
|
+
2: { as: 'h2', fontSize: theme_1.fontSize.h2, fontWeight: theme_1.fontWeight.medium },
|
|
10
|
+
3: { as: 'h3', fontSize: theme_1.fontSize.h4, fontWeight: theme_1.fontWeight.semibold },
|
|
11
|
+
4: { as: 'h4', fontSize: theme_1.fontSize.h5, fontWeight: theme_1.fontWeight.semibold },
|
|
12
|
+
};
|
|
13
|
+
function Heading({ level = 2, align = 'left', children, style }) {
|
|
14
|
+
const cfg = LEVELS[level];
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)(components_1.Heading, { as: cfg.as, style: {
|
|
16
|
+
color: theme_1.colors.text.t1,
|
|
17
|
+
fontSize: cfg.fontSize,
|
|
18
|
+
fontWeight: cfg.fontWeight,
|
|
19
|
+
lineHeight: theme_1.lineHeight.heading,
|
|
20
|
+
textAlign: align,
|
|
21
|
+
margin: '0 0 12px',
|
|
22
|
+
...style,
|
|
23
|
+
}, children: children }));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=heading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heading.js","sourceRoot":"","sources":["../../src/_components/heading.tsx"],"names":[],"mappings":";;AAkBA,0BAkBC;;AApCD,wDAA8D;AAE9D,oCAAmE;AAEnE,MAAM,MAAM,GAAG;IACX,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,kBAAU,CAAC,MAAM,EAAE;IACrE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,kBAAU,CAAC,MAAM,EAAE;IACrE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,kBAAU,CAAC,QAAQ,EAAE;IACvE,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,kBAAU,CAAC,QAAQ,EAAE;CACjE,CAAA;AASV,SAAgB,OAAO,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAgB;IAChF,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,OAAO,CACH,uBAAC,oBAAS,IACN,EAAE,EAAE,GAAG,CAAC,EAAE,EACV,KAAK,EAAE;YACH,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,EAAE;YACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,kBAAU,CAAC,OAAO;YAC9B,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,UAAU;YAClB,GAAG,KAAK;SACX,YAEA,QAAQ,GACD,CACf,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
2
|
+
import type { GlyphProps } from './icons';
|
|
3
|
+
type Glyph = ComponentType<GlyphProps>;
|
|
4
|
+
/**
|
|
5
|
+
* Perfectly-centered glyph in a tinted circle for email. Centers via equal
|
|
6
|
+
* padding around a display:block SVG (content-box) rather than vertical-align,
|
|
7
|
+
* which leaves a baseline offset across clients. `size` = circle, `glyphSize` = icon.
|
|
8
|
+
*/
|
|
9
|
+
export declare function IconCircle({ icon: Icon, size, glyphSize, bg, fg, weight, }: {
|
|
10
|
+
icon: Glyph;
|
|
11
|
+
size: number;
|
|
12
|
+
glyphSize: number;
|
|
13
|
+
bg: string;
|
|
14
|
+
fg: string;
|
|
15
|
+
weight?: 'regular' | 'fill' | 'bold';
|
|
16
|
+
}): import("react").JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=icon-circle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-circle.d.ts","sourceRoot":"","sources":["../../src/_components/icon-circle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,KAAK,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAA;AAEtC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACvB,IAAI,EAAE,IAAI,EACV,IAAI,EACJ,SAAS,EACT,EAAE,EACF,EAAE,EACF,MAAkB,GACrB,EAAE;IACC,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAA;CACvC,+BAkBA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IconCircle = IconCircle;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
/**
|
|
6
|
+
* Perfectly-centered glyph in a tinted circle for email. Centers via equal
|
|
7
|
+
* padding around a display:block SVG (content-box) rather than vertical-align,
|
|
8
|
+
* which leaves a baseline offset across clients. `size` = circle, `glyphSize` = icon.
|
|
9
|
+
*/
|
|
10
|
+
function IconCircle({ icon: Icon, size, glyphSize, bg, fg, weight = 'regular', }) {
|
|
11
|
+
const pad = (size - glyphSize) / 2;
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
13
|
+
display: 'inline-block',
|
|
14
|
+
width: `${glyphSize}px`,
|
|
15
|
+
height: `${glyphSize}px`,
|
|
16
|
+
padding: `${pad}px`,
|
|
17
|
+
backgroundColor: bg,
|
|
18
|
+
borderRadius: '9999px',
|
|
19
|
+
lineHeight: '1',
|
|
20
|
+
fontSize: 0,
|
|
21
|
+
}, children: (0, jsx_runtime_1.jsx)(Icon, { size: glyphSize, color: fg, weight: weight, style: { display: 'block' } }) }));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=icon-circle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-circle.js","sourceRoot":"","sources":["../../src/_components/icon-circle.tsx"],"names":[],"mappings":";;AAUA,gCAgCC;;AArCD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,EACvB,IAAI,EAAE,IAAI,EACV,IAAI,EACJ,SAAS,EACT,EAAE,EACF,EAAE,EACF,MAAM,GAAG,SAAS,GAQrB;IACG,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAClC,OAAO,CACH,gCACI,KAAK,EAAE;YACH,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,GAAG,SAAS,IAAI;YACvB,MAAM,EAAE,GAAG,SAAS,IAAI;YACxB,OAAO,EAAE,GAAG,GAAG,IAAI;YACnB,eAAe,EAAE,EAAE;YACnB,YAAY,EAAE,QAAQ;YACtB,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,CAAC;SACd,YAED,uBAAC,IAAI,IAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAI,GAC/E,CACT,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The handful of Phosphor glyphs these emails use, inlined as local SVG.
|
|
4
|
+
*
|
|
5
|
+
* Why not depend on `@phosphor-icons/react`: it is an ESM-only package whose
|
|
6
|
+
* `require` condition resolves to a bundle that exports nothing, so it cannot be
|
|
7
|
+
* loaded from the CommonJS Nest API at all. These are the exact Phosphor paths
|
|
8
|
+
* (256×256 viewBox), pre-baked at the weight each usage asks for, so the rendered
|
|
9
|
+
* markup is unchanged from the original preview.
|
|
10
|
+
*
|
|
11
|
+
* Inline SVG is deliberate here, matching the note in `callout.tsx`: clients that
|
|
12
|
+
* drop SVG (Outlook, and Gmail in places) still get the tinted circle behind it.
|
|
13
|
+
*/
|
|
14
|
+
export interface GlyphProps {
|
|
15
|
+
size?: number;
|
|
16
|
+
color?: string;
|
|
17
|
+
/** Accepted so callers read naturally; each glyph below is fixed at its design weight. */
|
|
18
|
+
weight?: 'regular' | 'fill' | 'bold';
|
|
19
|
+
style?: CSSProperties;
|
|
20
|
+
}
|
|
21
|
+
export declare const CheckCircle: ({ size, color, style }: GlyphProps) => import("react").JSX.Element;
|
|
22
|
+
export declare const WarningOctagon: ({ size, color, style }: GlyphProps) => import("react").JSX.Element;
|
|
23
|
+
export declare const Warning: ({ size, color, style }: GlyphProps) => import("react").JSX.Element;
|
|
24
|
+
export declare const Info: ({ size, color, style }: GlyphProps) => import("react").JSX.Element;
|
|
25
|
+
/** Bold weight — the design uses it inside a small 24px circle. */
|
|
26
|
+
export declare const Check: ({ size, color, style }: GlyphProps) => import("react").JSX.Element;
|
|
27
|
+
export declare const Briefcase: ({ size, color, style }: GlyphProps) => import("react").JSX.Element;
|
|
28
|
+
export declare const CalendarCheck: ({ size, color, style }: GlyphProps) => import("react").JSX.Element;
|
|
29
|
+
export declare const Star: ({ size, color, style }: GlyphProps) => import("react").JSX.Element;
|
|
30
|
+
export declare const Wallet: ({ size, color, style }: GlyphProps) => import("react").JSX.Element;
|
|
31
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/_components/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,UAAU;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0FAA0F;IAC1F,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAA;IACpC,KAAK,CAAC,EAAE,aAAa,CAAA;CACxB;AAmBD,eAAO,MAAM,WAAW,2BAhBgD,UAAU,gCAkBjF,CAAA;AAED,eAAO,MAAM,cAAc,2BApB6C,UAAU,gCAsBjF,CAAA;AAED,eAAO,MAAM,OAAO,2BAxBoD,UAAU,gCA0BjF,CAAA;AAED,eAAO,MAAM,IAAI,2BA5BuD,UAAU,gCA8BjF,CAAA;AAED,mEAAmE;AACnE,eAAO,MAAM,KAAK,2BAjCsD,UAAU,gCAmCjF,CAAA;AAED,eAAO,MAAM,SAAS,2BArCkD,UAAU,gCAuCjF,CAAA;AAED,eAAO,MAAM,aAAa,2BAzC8C,UAAU,gCA2CjF,CAAA;AAED,eAAO,MAAM,IAAI,2BA7CuD,UAAU,gCA+CjF,CAAA;AAED,eAAO,MAAM,MAAM,2BAjDqD,UAAU,gCAmDjF,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Wallet = exports.Star = exports.CalendarCheck = exports.Briefcase = exports.Check = exports.Info = exports.Warning = exports.WarningOctagon = exports.CheckCircle = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
function glyph(path) {
|
|
6
|
+
return function Glyph({ size = 24, color = 'currentColor', style }) {
|
|
7
|
+
return ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, fill: color, viewBox: "0 0 256 256", style: style, children: (0, jsx_runtime_1.jsx)("path", { d: path }) }));
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
exports.CheckCircle = glyph('M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z');
|
|
11
|
+
exports.WarningOctagon = glyph('M120,136V80a8,8,0,0,1,16,0v56a8,8,0,0,1-16,0ZM232,91.55v72.9a15.86,15.86,0,0,1-4.69,11.31l-51.55,51.55A15.86,15.86,0,0,1,164.45,232H91.55a15.86,15.86,0,0,1-11.31-4.69L28.69,175.76A15.86,15.86,0,0,1,24,164.45V91.55a15.86,15.86,0,0,1,4.69-11.31L80.24,28.69A15.86,15.86,0,0,1,91.55,24h72.9a15.86,15.86,0,0,1,11.31,4.69l51.55,51.55A15.86,15.86,0,0,1,232,91.55Zm-16,0L164.45,40H91.55L40,91.55v72.9L91.55,216h72.9L216,164.45ZM128,160a12,12,0,1,0,12,12A12,12,0,0,0,128,160Z');
|
|
12
|
+
exports.Warning = glyph('M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z');
|
|
13
|
+
exports.Info = glyph('M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm16-40a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176ZM112,84a12,12,0,1,1,12,12A12,12,0,0,1,112,84Z');
|
|
14
|
+
/** Bold weight — the design uses it inside a small 24px circle. */
|
|
15
|
+
exports.Check = glyph('M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z');
|
|
16
|
+
exports.Briefcase = glyph('M216,56H176V48a24,24,0,0,0-24-24H104A24,24,0,0,0,80,48v8H40A16,16,0,0,0,24,72V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V72A16,16,0,0,0,216,56ZM96,48a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96ZM216,72v41.61A184,184,0,0,1,128,136a184.07,184.07,0,0,1-88-22.38V72Zm0,128H40V131.64A200.19,200.19,0,0,0,128,152a200.25,200.25,0,0,0,88-20.37V200ZM104,112a8,8,0,0,1,8-8h32a8,8,0,0,1,0,16H112A8,8,0,0,1,104,112Z');
|
|
17
|
+
exports.CalendarCheck = glyph('M208,32H184V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM72,48v8a8,8,0,0,0,16,0V48h80v8a8,8,0,0,0,16,0V48h24V80H48V48ZM208,208H48V96H208V208Zm-38.34-85.66a8,8,0,0,1,0,11.32l-48,48a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L116,164.69l42.34-42.35A8,8,0,0,1,169.66,122.34Z');
|
|
18
|
+
exports.Star = glyph('M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z');
|
|
19
|
+
exports.Wallet = glyph('M216,64H56a8,8,0,0,1,0-16H192a8,8,0,0,0,0-16H56A24,24,0,0,0,32,56V184a24,24,0,0,0,24,24H216a16,16,0,0,0,16-16V80A16,16,0,0,0,216,64Zm0,128H56a8,8,0,0,1-8-8V78.63A23.84,23.84,0,0,0,56,80H216Zm-48-60a12,12,0,1,1,12,12A12,12,0,0,1,168,132Z');
|
|
20
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/_components/icons.tsx"],"names":[],"mappings":";;;;AAuBA,SAAS,KAAK,CAAC,IAAY;IACvB,OAAO,SAAS,KAAK,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,cAAc,EAAE,KAAK,EAAc;QAC1E,OAAO,CACH,gCACI,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,KAAK,EACX,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,KAAK,YAEZ,iCAAM,CAAC,EAAE,IAAI,GAAI,GACf,CACT,CAAA;IACL,CAAC,CAAA;AACL,CAAC;AAEY,QAAA,WAAW,GAAG,KAAK,CAC5B,iPAAiP,CACpP,CAAA;AAEY,QAAA,cAAc,GAAG,KAAK,CAC/B,odAAod,CACvd,CAAA;AAEY,QAAA,OAAO,GAAG,KAAK,CACxB,6bAA6b,CAChc,CAAA;AAEY,QAAA,IAAI,GAAG,KAAK,CACrB,0PAA0P,CAC7P,CAAA;AAED,mEAAmE;AACtD,QAAA,KAAK,GAAG,KAAK,CACtB,yGAAyG,CAC5G,CAAA;AAEY,QAAA,SAAS,GAAG,KAAK,CAC1B,8YAA8Y,CACjZ,CAAA;AAEY,QAAA,aAAa,GAAG,KAAK,CAC9B,0WAA0W,CAC7W,CAAA;AAEY,QAAA,IAAI,GAAG,KAAK,CACrB,wsBAAwsB,CAC3sB,CAAA;AAEY,QAAA,MAAM,GAAG,KAAK,CACvB,8OAA8O,CACjP,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { EmailLayout } from './email-layout';
|
|
2
|
+
export type { EmailLayoutProps, EmailFooterConfig, BaseEmailProps } from './email-layout';
|
|
3
|
+
export { Heading } from './heading';
|
|
4
|
+
export { Text, Muted, Caption } from './text';
|
|
5
|
+
export { PrimaryButton } from './primary-button';
|
|
6
|
+
export { SecondaryButton } from './secondary-button';
|
|
7
|
+
export type { ButtonProps } from './primary-button';
|
|
8
|
+
export { Divider } from './divider';
|
|
9
|
+
export { DetailCard, DetailRow } from './detail-card';
|
|
10
|
+
export { Callout } from './callout';
|
|
11
|
+
export { StepsList } from './steps-list';
|
|
12
|
+
export { MessageQuote } from './message-quote';
|
|
13
|
+
export { UnitsList } from './units-list';
|
|
14
|
+
export type { EmailUnit, UnitsListProps } from './units-list';
|
|
15
|
+
export { IconCircle } from './icon-circle';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/_components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IconCircle = exports.UnitsList = exports.MessageQuote = exports.StepsList = exports.Callout = exports.DetailRow = exports.DetailCard = exports.Divider = exports.SecondaryButton = exports.PrimaryButton = exports.Caption = exports.Muted = exports.Text = exports.Heading = exports.EmailLayout = void 0;
|
|
4
|
+
var email_layout_1 = require("./email-layout");
|
|
5
|
+
Object.defineProperty(exports, "EmailLayout", { enumerable: true, get: function () { return email_layout_1.EmailLayout; } });
|
|
6
|
+
var heading_1 = require("./heading");
|
|
7
|
+
Object.defineProperty(exports, "Heading", { enumerable: true, get: function () { return heading_1.Heading; } });
|
|
8
|
+
var text_1 = require("./text");
|
|
9
|
+
Object.defineProperty(exports, "Text", { enumerable: true, get: function () { return text_1.Text; } });
|
|
10
|
+
Object.defineProperty(exports, "Muted", { enumerable: true, get: function () { return text_1.Muted; } });
|
|
11
|
+
Object.defineProperty(exports, "Caption", { enumerable: true, get: function () { return text_1.Caption; } });
|
|
12
|
+
var primary_button_1 = require("./primary-button");
|
|
13
|
+
Object.defineProperty(exports, "PrimaryButton", { enumerable: true, get: function () { return primary_button_1.PrimaryButton; } });
|
|
14
|
+
var secondary_button_1 = require("./secondary-button");
|
|
15
|
+
Object.defineProperty(exports, "SecondaryButton", { enumerable: true, get: function () { return secondary_button_1.SecondaryButton; } });
|
|
16
|
+
var divider_1 = require("./divider");
|
|
17
|
+
Object.defineProperty(exports, "Divider", { enumerable: true, get: function () { return divider_1.Divider; } });
|
|
18
|
+
var detail_card_1 = require("./detail-card");
|
|
19
|
+
Object.defineProperty(exports, "DetailCard", { enumerable: true, get: function () { return detail_card_1.DetailCard; } });
|
|
20
|
+
Object.defineProperty(exports, "DetailRow", { enumerable: true, get: function () { return detail_card_1.DetailRow; } });
|
|
21
|
+
var callout_1 = require("./callout");
|
|
22
|
+
Object.defineProperty(exports, "Callout", { enumerable: true, get: function () { return callout_1.Callout; } });
|
|
23
|
+
var steps_list_1 = require("./steps-list");
|
|
24
|
+
Object.defineProperty(exports, "StepsList", { enumerable: true, get: function () { return steps_list_1.StepsList; } });
|
|
25
|
+
var message_quote_1 = require("./message-quote");
|
|
26
|
+
Object.defineProperty(exports, "MessageQuote", { enumerable: true, get: function () { return message_quote_1.MessageQuote; } });
|
|
27
|
+
var units_list_1 = require("./units-list");
|
|
28
|
+
Object.defineProperty(exports, "UnitsList", { enumerable: true, get: function () { return units_list_1.UnitsList; } });
|
|
29
|
+
var icon_circle_1 = require("./icon-circle");
|
|
30
|
+
Object.defineProperty(exports, "IconCircle", { enumerable: true, get: function () { return icon_circle_1.IconCircle; } });
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/_components/index.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AAEpB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,+BAA6C;AAApC,4FAAA,IAAI,OAAA;AAAE,6FAAA,KAAK,OAAA;AAAE,+FAAA,OAAO,OAAA;AAC7B,mDAAgD;AAAvC,+GAAA,aAAa,OAAA;AACtB,uDAAoD;AAA3C,mHAAA,eAAe,OAAA;AAExB,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,6CAAqD;AAA5C,yGAAA,UAAU,OAAA;AAAE,wGAAA,SAAS,OAAA;AAC9B,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAChB,2CAAwC;AAA/B,uGAAA,SAAS,OAAA;AAClB,iDAA8C;AAArC,6GAAA,YAAY,OAAA;AACrB,2CAAwC;AAA/B,uGAAA,SAAS,OAAA;AAElB,6CAA0C;AAAjC,yGAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface MessageQuoteProps {
|
|
2
|
+
senderName: string;
|
|
3
|
+
/** Absolute URL; falls back to an initials circle when absent. */
|
|
4
|
+
senderAvatarUrl?: string;
|
|
5
|
+
/** Pre-formatted, e.g. "14 Mar 2026, 3:30 pm". */
|
|
6
|
+
timestamp?: string;
|
|
7
|
+
message: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function MessageQuote({ senderName, senderAvatarUrl, timestamp, message }: MessageQuoteProps): import("react").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=message-quote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-quote.d.ts","sourceRoot":"","sources":["../../src/_components/message-quote.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,YAAY,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,iBAAiB,+BAkElG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageQuote = MessageQuote;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("@react-email/components");
|
|
6
|
+
const theme_1 = require("../theme");
|
|
7
|
+
function MessageQuote({ senderName, senderAvatarUrl, timestamp, message }) {
|
|
8
|
+
const initial = senderName.trim().charAt(0).toUpperCase();
|
|
9
|
+
return ((0, jsx_runtime_1.jsxs)(components_1.Section, { style: {
|
|
10
|
+
backgroundColor: theme_1.colors.bg.surface,
|
|
11
|
+
border: `1px solid ${theme_1.colors.border.base}`,
|
|
12
|
+
borderRadius: theme_1.radius.lg,
|
|
13
|
+
padding: '20px',
|
|
14
|
+
margin: '0 0 24px',
|
|
15
|
+
}, children: [(0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { style: { width: '48px', verticalAlign: 'middle' }, children: senderAvatarUrl ? ((0, jsx_runtime_1.jsx)(components_1.Img, { src: senderAvatarUrl, width: 36, height: 36, alt: "", style: { borderRadius: theme_1.radius.full, objectFit: 'cover' } })) : ((0, jsx_runtime_1.jsx)("span", { style: {
|
|
16
|
+
display: 'inline-block',
|
|
17
|
+
width: '36px',
|
|
18
|
+
height: '36px',
|
|
19
|
+
backgroundColor: theme_1.colors.bg.subtle,
|
|
20
|
+
color: theme_1.colors.text.t1,
|
|
21
|
+
borderRadius: theme_1.radius.full,
|
|
22
|
+
fontSize: theme_1.fontSize.body,
|
|
23
|
+
fontWeight: theme_1.fontWeight.semibold,
|
|
24
|
+
lineHeight: '36px',
|
|
25
|
+
textAlign: 'center',
|
|
26
|
+
}, children: initial })) }), (0, jsx_runtime_1.jsxs)(components_1.Column, { style: { verticalAlign: 'middle' }, children: [(0, jsx_runtime_1.jsx)("p", { style: { color: theme_1.colors.text.t1, fontSize: theme_1.fontSize.body, fontWeight: theme_1.fontWeight.semibold, margin: 0 }, children: senderName }), timestamp && ((0, jsx_runtime_1.jsx)("p", { style: { color: theme_1.colors.text.dim, fontSize: theme_1.fontSize.caption, margin: '2px 0 0' }, children: timestamp }))] })] }), (0, jsx_runtime_1.jsx)(components_1.Row, { children: (0, jsx_runtime_1.jsx)(components_1.Column, { children: (0, jsx_runtime_1.jsx)("p", { style: {
|
|
27
|
+
color: theme_1.colors.text.t2,
|
|
28
|
+
fontSize: theme_1.fontSize.body,
|
|
29
|
+
lineHeight: theme_1.lineHeight.body,
|
|
30
|
+
margin: '14px 0 0',
|
|
31
|
+
}, children: message }) }) })] }));
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=message-quote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-quote.js","sourceRoot":"","sources":["../../src/_components/message-quote.tsx"],"names":[],"mappings":";;AAYA,oCAkEC;;AA9ED,wDAAmE;AACnE,oCAA2E;AAW3E,SAAgB,YAAY,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAqB;IAC/F,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACzD,OAAO,CACH,wBAAC,oBAAO,IACJ,KAAK,EAAE;YACH,eAAe,EAAE,cAAM,CAAC,EAAE,CAAC,OAAO;YAClC,MAAM,EAAE,aAAa,cAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACzC,YAAY,EAAE,cAAM,CAAC,EAAE;YACvB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,UAAU;SACrB,aAED,wBAAC,gBAAG,eACA,uBAAC,mBAAM,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,YACpD,eAAe,CAAC,CAAC,CAAC,CACf,uBAAC,gBAAG,IACA,GAAG,EAAE,eAAe,EACpB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,GAAG,EAAC,EAAE,EACN,KAAK,EAAE,EAAE,YAAY,EAAE,cAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAC1D,CACL,CAAC,CAAC,CAAC,CACA,iCACI,KAAK,EAAE;gCACH,OAAO,EAAE,cAAc;gCACvB,KAAK,EAAE,MAAM;gCACb,MAAM,EAAE,MAAM;gCACd,eAAe,EAAE,cAAM,CAAC,EAAE,CAAC,MAAM;gCACjC,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,EAAE;gCACrB,YAAY,EAAE,cAAM,CAAC,IAAI;gCACzB,QAAQ,EAAE,gBAAQ,CAAC,IAAI;gCACvB,UAAU,EAAE,kBAAU,CAAC,QAAQ;gCAC/B,UAAU,EAAE,MAAM;gCAClB,SAAS,EAAE,QAAQ;6BACtB,YAEA,OAAO,GACL,CACV,GACI,EACT,wBAAC,mBAAM,IAAC,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,aACtC,8BAAG,KAAK,EAAE,EAAE,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,kBAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,YACnG,UAAU,GACX,EACH,SAAS,IAAI,CACV,8BAAG,KAAK,EAAE,EAAE,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,gBAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAG,SAAS,GAAK,CACvG,IACI,IACP,EACN,uBAAC,gBAAG,cACA,uBAAC,mBAAM,cACH,8BACI,KAAK,EAAE;4BACH,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,EAAE;4BACrB,QAAQ,EAAE,gBAAQ,CAAC,IAAI;4BACvB,UAAU,EAAE,kBAAU,CAAC,IAAI;4BAC3B,MAAM,EAAE,UAAU;yBACrB,YAEA,OAAO,GACR,GACC,GACP,IACA,CACb,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface ButtonProps {
|
|
3
|
+
href: string;
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
fullWidth?: boolean;
|
|
6
|
+
align?: 'left' | 'center';
|
|
7
|
+
}
|
|
8
|
+
/** Bulletproof dark CTA (React Email <Button> renders table-based markup for Outlook). */
|
|
9
|
+
export declare function PrimaryButton({ href, children, fullWidth, align }: ButtonProps): import("react").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=primary-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primary-button.d.ts","sourceRoot":"","sources":["../../src/_components/primary-button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;CAC5B;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAiB,EAAE,KAAc,EAAE,EAAE,WAAW,+BA6B/F"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PrimaryButton = PrimaryButton;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("@react-email/components");
|
|
6
|
+
const theme_1 = require("../theme");
|
|
7
|
+
/** Bulletproof dark CTA (React Email <Button> renders table-based markup for Outlook). */
|
|
8
|
+
function PrimaryButton({ href, children, fullWidth = false, align = 'left' }) {
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)("table", { width: "100%", cellPadding: 0, cellSpacing: 0, role: "presentation", style: { margin: '4px 0 20px' }, children: (0, jsx_runtime_1.jsx)("tbody", { children: (0, jsx_runtime_1.jsx)("tr", { children: (0, jsx_runtime_1.jsx)("td", { align: align, children: (0, jsx_runtime_1.jsx)(components_1.Button, { href: href, style: {
|
|
10
|
+
backgroundColor: theme_1.colors.action.bg,
|
|
11
|
+
color: theme_1.colors.action.fg,
|
|
12
|
+
fontFamily: theme_1.fontFamily,
|
|
13
|
+
fontSize: theme_1.fontSize.body,
|
|
14
|
+
fontWeight: theme_1.fontWeight.regular,
|
|
15
|
+
lineHeight: '20px',
|
|
16
|
+
textDecoration: 'none',
|
|
17
|
+
textAlign: 'center',
|
|
18
|
+
borderRadius: '9999px',
|
|
19
|
+
padding: '11px 24px',
|
|
20
|
+
display: fullWidth ? 'block' : 'inline-block',
|
|
21
|
+
}, children: children }) }) }) }) }));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=primary-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primary-button.js","sourceRoot":"","sources":["../../src/_components/primary-button.tsx"],"names":[],"mappings":";;AAYA,sCA6BC;;AAzCD,wDAAgD;AAEhD,oCAAmE;AASnE,0FAA0F;AAC1F,SAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,EAAE,KAAK,GAAG,MAAM,EAAe;IAC5F,OAAO,CACH,kCAAO,KAAK,EAAC,MAAM,EAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,YACnG,4CACI,yCACI,+BAAI,KAAK,EAAE,KAAK,YACZ,uBAAC,mBAAM,IACH,IAAI,EAAE,IAAI,EACV,KAAK,EAAE;4BACH,eAAe,EAAE,cAAM,CAAC,MAAM,CAAC,EAAE;4BACjC,KAAK,EAAE,cAAM,CAAC,MAAM,CAAC,EAAE;4BACvB,UAAU,EAAV,kBAAU;4BACV,QAAQ,EAAE,gBAAQ,CAAC,IAAI;4BACvB,UAAU,EAAE,kBAAU,CAAC,OAAO;4BAC9B,UAAU,EAAE,MAAM;4BAClB,cAAc,EAAE,MAAM;4BACtB,SAAS,EAAE,QAAQ;4BACnB,YAAY,EAAE,QAAQ;4BACtB,OAAO,EAAE,WAAW;4BACpB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;yBAChD,YAEA,QAAQ,GACJ,GACR,GACJ,GACD,GACJ,CACX,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ButtonProps } from './primary-button';
|
|
2
|
+
/** Outline CTA — secondary actions ("view report", "later"). */
|
|
3
|
+
export declare function SecondaryButton({ href, children, fullWidth, align }: ButtonProps): import("react").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=secondary-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secondary-button.d.ts","sourceRoot":"","sources":["../../src/_components/secondary-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAiB,EAAE,KAAc,EAAE,EAAE,WAAW,+BA8BjG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecondaryButton = SecondaryButton;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("@react-email/components");
|
|
6
|
+
const theme_1 = require("../theme");
|
|
7
|
+
/** Outline CTA — secondary actions ("view report", "later"). */
|
|
8
|
+
function SecondaryButton({ href, children, fullWidth = false, align = 'left' }) {
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)("table", { width: "100%", cellPadding: 0, cellSpacing: 0, role: "presentation", style: { margin: '4px 0 20px' }, children: (0, jsx_runtime_1.jsx)("tbody", { children: (0, jsx_runtime_1.jsx)("tr", { children: (0, jsx_runtime_1.jsx)("td", { align: align, children: (0, jsx_runtime_1.jsx)(components_1.Button, { href: href, style: {
|
|
10
|
+
backgroundColor: theme_1.colors.bg.base,
|
|
11
|
+
color: theme_1.colors.text.t1,
|
|
12
|
+
border: `1px solid ${theme_1.colors.border.base}`,
|
|
13
|
+
fontFamily: theme_1.fontFamily,
|
|
14
|
+
fontSize: theme_1.fontSize.body,
|
|
15
|
+
fontWeight: theme_1.fontWeight.regular,
|
|
16
|
+
lineHeight: '20px',
|
|
17
|
+
textDecoration: 'none',
|
|
18
|
+
textAlign: 'center',
|
|
19
|
+
borderRadius: '9999px',
|
|
20
|
+
padding: '10px 23px',
|
|
21
|
+
display: fullWidth ? 'block' : 'inline-block',
|
|
22
|
+
}, children: children }) }) }) }) }));
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=secondary-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secondary-button.js","sourceRoot":"","sources":["../../src/_components/secondary-button.tsx"],"names":[],"mappings":";;AAKA,0CA8BC;;AAnCD,wDAAgD;AAChD,oCAAmE;AAGnE,gEAAgE;AAChE,SAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,EAAE,KAAK,GAAG,MAAM,EAAe;IAC9F,OAAO,CACH,kCAAO,KAAK,EAAC,MAAM,EAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,YACnG,4CACI,yCACI,+BAAI,KAAK,EAAE,KAAK,YACZ,uBAAC,mBAAM,IACH,IAAI,EAAE,IAAI,EACV,KAAK,EAAE;4BACH,eAAe,EAAE,cAAM,CAAC,EAAE,CAAC,IAAI;4BAC/B,KAAK,EAAE,cAAM,CAAC,IAAI,CAAC,EAAE;4BACrB,MAAM,EAAE,aAAa,cAAM,CAAC,MAAM,CAAC,IAAI,EAAE;4BACzC,UAAU,EAAV,kBAAU;4BACV,QAAQ,EAAE,gBAAQ,CAAC,IAAI;4BACvB,UAAU,EAAE,kBAAU,CAAC,OAAO;4BAC9B,UAAU,EAAE,MAAM;4BAClB,cAAc,EAAE,MAAM;4BACtB,SAAS,EAAE,QAAQ;4BACnB,YAAY,EAAE,QAAQ;4BACtB,OAAO,EAAE,WAAW;4BACpB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;yBAChD,YAEA,QAAQ,GACJ,GACR,GACJ,GACD,GACJ,CACX,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface StepsListProps {
|
|
2
|
+
steps: Array<{
|
|
3
|
+
title: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
}>;
|
|
6
|
+
/** Numbered (1,2,3) or a Phosphor check list. */
|
|
7
|
+
ordered?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function StepsList({ steps, ordered }: StepsListProps): import("react").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=steps-list.d.ts.map
|