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 @@
|
|
|
1
|
+
{"version":3,"file":"task-purchased-ops.js","sourceRoot":"","sources":["../../src/templates/task-purchased-ops.tsx"],"names":[],"mappings":";;AAYA,wCA2BC;;AAvCD,gDAAyF;AAWzF,+FAA+F;AAC/F,SAAwB,qBAAqB,CAAC,EAC1C,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,OAAO,GACa;IACpB,OAAO,CACH,wBAAC,yBAAW,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,SAAS,QAAQ,IAAI,oBAAoB,aACpG,uBAAC,qBAAO,IAAC,KAAK,EAAE,CAAC,mCAA8B,EAC/C,wBAAC,kBAAI,eACA,QAAQ,iBAAa,QAAQ,cAAK,SAAS,kBAAS,IAAI,EACxD,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,YAAQ,OAAO,SACtC,EAEP,uBAAC,qBAAO,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,kBAAkB,gDAEzC,EAEV,uBAAC,kBAAI,IAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,SAAS,0EAExB,IACG,CACjB,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type BaseEmailProps } from '../_components';
|
|
2
|
+
export interface TaskRejectedOpsProps extends BaseEmailProps {
|
|
3
|
+
workerName: string;
|
|
4
|
+
taskTitle: string;
|
|
5
|
+
unit: string;
|
|
6
|
+
area?: string;
|
|
7
|
+
dueDate: string;
|
|
8
|
+
}
|
|
9
|
+
/** Internal ops alert — a provider rejected an assigned task. */
|
|
10
|
+
export default function TaskRejectedOpsEmail({ baseUrl, footer, workerName, taskTitle, unit, area, dueDate, }: TaskRejectedOpsProps): import("react").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=task-rejected-ops.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-rejected-ops.d.ts","sourceRoot":"","sources":["../../src/templates/task-rejected-ops.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEzF,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,iEAAiE;AACjE,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EACzC,OAAO,EACP,MAAM,EACN,UAAU,EACV,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,OAAO,GACV,EAAE,oBAAoB,+BAkBtB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = TaskRejectedOpsEmail;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const _components_1 = require("../_components");
|
|
6
|
+
/** Internal ops alert — a provider rejected an assigned task. */
|
|
7
|
+
function TaskRejectedOpsEmail({ baseUrl, footer, workerName, taskTitle, unit, area, dueDate, }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsxs)(_components_1.EmailLayout, { baseUrl: baseUrl, footer: footer, preview: `${workerName} rejected the job for ${unit}.`, children: [(0, jsx_runtime_1.jsx)(_components_1.Heading, { level: 2, children: "Job rejected" }), (0, jsx_runtime_1.jsxs)(_components_1.Text, { children: [workerName, " has rejected ", taskTitle, " for ", unit, area ? ` in ${area}` : '', ", due ", dueDate, "."] }), (0, jsx_runtime_1.jsx)(_components_1.Callout, { variant: "danger", title: "Needs reassignment", children: "Find another provider as soon as possible." }), (0, jsx_runtime_1.jsx)(_components_1.Text, { tone: "dim", size: "caption", children: "This is an internal notification for the operations team." })] }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=task-rejected-ops.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-rejected-ops.js","sourceRoot":"","sources":["../../src/templates/task-rejected-ops.tsx"],"names":[],"mappings":";;AAWA,uCA0BC;;AArCD,gDAAyF;AAUzF,iEAAiE;AACjE,SAAwB,oBAAoB,CAAC,EACzC,OAAO,EACP,MAAM,EACN,UAAU,EACV,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,OAAO,GACY;IACnB,OAAO,CACH,wBAAC,yBAAW,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,yBAAyB,IAAI,GAAG,aACjG,uBAAC,qBAAO,IAAC,KAAK,EAAE,CAAC,6BAAwB,EACzC,wBAAC,kBAAI,eACA,UAAU,oBAAgB,SAAS,WAAO,IAAI,EAC9C,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,YAAQ,OAAO,SACtC,EAEP,uBAAC,qBAAO,IAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,oBAAoB,2DAE1C,EAEV,uBAAC,kBAAI,IAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,SAAS,0EAExB,IACG,CACjB,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type BaseEmailProps } from '../_components';
|
|
2
|
+
export interface TaskServiceAssignedHostProps extends BaseEmailProps {
|
|
3
|
+
hostName: string;
|
|
4
|
+
providerTypeLabel: string;
|
|
5
|
+
serviceName: string;
|
|
6
|
+
unit: string;
|
|
7
|
+
area?: string;
|
|
8
|
+
}
|
|
9
|
+
/** Host-facing — ops assigned a provider type to a task, before a worker is matched. */
|
|
10
|
+
export default function TaskServiceAssignedHostEmail({ baseUrl, footer, hostName, providerTypeLabel, serviceName, unit, area, }: TaskServiceAssignedHostProps): import("react").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=task-service-assigned-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-service-assigned-host.d.ts","sourceRoot":"","sources":["../../src/templates/task-service-assigned-host.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEzF,MAAM,WAAW,4BAA6B,SAAQ,cAAc;IAChE,QAAQ,EAAE,MAAM,CAAA;IAChB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wFAAwF;AACxF,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACjD,OAAO,EACP,MAAM,EACN,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,IAAI,EACJ,IAAI,GACP,EAAE,4BAA4B,+BAc9B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = TaskServiceAssignedHostEmail;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const _components_1 = require("../_components");
|
|
6
|
+
/** Host-facing — ops assigned a provider type to a task, before a worker is matched. */
|
|
7
|
+
function TaskServiceAssignedHostEmail({ baseUrl, footer, hostName, providerTypeLabel, serviceName, unit, area, }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsxs)(_components_1.EmailLayout, { baseUrl: baseUrl, footer: footer, preview: `${providerTypeLabel} needed for ${unit}.`, children: [(0, jsx_runtime_1.jsx)(_components_1.Heading, { level: 2, children: "We've reviewed your request" }), (0, jsx_runtime_1.jsxs)(_components_1.Text, { children: ["Hello ", hostName, ", a ", providerTypeLabel, " will handle ", serviceName, " for ", unit, area ? ` in ${area}` : '', ". We'll notify you as soon as it's scheduled."] }), (0, jsx_runtime_1.jsx)(_components_1.Callout, { variant: "info", title: "In progress", children: "We're matching you with an available provider." })] }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=task-service-assigned-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-service-assigned-host.js","sourceRoot":"","sources":["../../src/templates/task-service-assigned-host.tsx"],"names":[],"mappings":";;AAWA,+CAsBC;;AAjCD,gDAAyF;AAUzF,wFAAwF;AACxF,SAAwB,4BAA4B,CAAC,EACjD,OAAO,EACP,MAAM,EACN,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,IAAI,EACJ,IAAI,GACuB;IAC3B,OAAO,CACH,wBAAC,yBAAW,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,eAAe,IAAI,GAAG,aAC9F,uBAAC,qBAAO,IAAC,KAAK,EAAE,CAAC,4CAA4C,EAC7D,wBAAC,kBAAI,yBACM,QAAQ,UAAM,iBAAiB,mBAAe,WAAW,WAAO,IAAI,EAC1E,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,qDACvB,EAEP,uBAAC,qBAAO,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAC,aAAa,+DAEjC,IACA,CACjB,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type BaseEmailProps } from '../_components';
|
|
2
|
+
export interface WelcomeGuestProps extends BaseEmailProps {
|
|
3
|
+
guestName: string;
|
|
4
|
+
propertyName: string;
|
|
5
|
+
/** Optional — a property may have no photo yet. */
|
|
6
|
+
heroImageUrl?: string;
|
|
7
|
+
checkIn: string;
|
|
8
|
+
checkOut: string;
|
|
9
|
+
openStayUrl: string;
|
|
10
|
+
}
|
|
11
|
+
/** Welcome to Hububb Stay — guest-facing, warm, about enjoying their stay. */
|
|
12
|
+
export default function WelcomeGuestEmail({ baseUrl, footer, guestName, propertyName, heroImageUrl, checkIn, checkOut, openStayUrl, }: WelcomeGuestProps): import("react").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=welcome-guest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome-guest.d.ts","sourceRoot":"","sources":["../../src/templates/welcome-guest.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+E,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAGjI,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACtB;AAED,8EAA8E;AAC9E,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACtC,OAAO,EACP,MAAM,EACN,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,WAAW,GACd,EAAE,iBAAiB,+BAwCnB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = WelcomeGuestEmail;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("@react-email/components");
|
|
6
|
+
const _components_1 = require("../_components");
|
|
7
|
+
const theme_1 = require("../theme");
|
|
8
|
+
/** Welcome to Hububb Stay — guest-facing, warm, about enjoying their stay. */
|
|
9
|
+
function WelcomeGuestEmail({ baseUrl, footer, guestName, propertyName, heroImageUrl, checkIn, checkOut, openStayUrl, }) {
|
|
10
|
+
return ((0, jsx_runtime_1.jsxs)(_components_1.EmailLayout, { baseUrl: baseUrl, footer: footer, preview: `Welcome to your stay at ${propertyName}.`, children: [heroImageUrl && ((0, jsx_runtime_1.jsx)(components_1.Img, { src: heroImageUrl, width: 536, height: 220, alt: propertyName, style: { width: '100%', height: 'auto', borderRadius: theme_1.radius.lg, objectFit: 'cover', marginBottom: '24px' } })), (0, jsx_runtime_1.jsx)(_components_1.Heading, { level: 2, children: "Welcome to Hububb Stay" }), (0, jsx_runtime_1.jsxs)(_components_1.Text, { children: ["Hi ", guestName, ", we are glad you are here. Everything for your stay at ", propertyName, " lives in one place, so you can settle in and enjoy it."] }), (0, jsx_runtime_1.jsx)(_components_1.StepsList, { ordered: false, steps: [
|
|
11
|
+
{ title: 'Access your digital keys when check-in opens' },
|
|
12
|
+
{ title: 'Message your host any time' },
|
|
13
|
+
{ title: 'Find check-in details and house notes' },
|
|
14
|
+
{ title: 'Discover local tips around the place' },
|
|
15
|
+
] }), (0, jsx_runtime_1.jsxs)(_components_1.DetailCard, { title: "Your stay", children: [(0, jsx_runtime_1.jsx)(_components_1.DetailRow, { label: "Check in", value: checkIn }), (0, jsx_runtime_1.jsx)(_components_1.DetailRow, { label: "Check out", value: checkOut })] }), (0, jsx_runtime_1.jsx)(_components_1.PrimaryButton, { href: openStayUrl, children: "Open your stay" }), (0, jsx_runtime_1.jsx)(_components_1.Text, { tone: "t3", size: "caption", children: "Have a wonderful stay." })] }));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=welcome-guest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome-guest.js","sourceRoot":"","sources":["../../src/templates/welcome-guest.tsx"],"names":[],"mappings":";;AAeA,oCAiDC;;AAhED,wDAA6C;AAC7C,gDAAiI;AACjI,oCAAiC;AAYjC,8EAA8E;AAC9E,SAAwB,iBAAiB,CAAC,EACtC,OAAO,EACP,MAAM,EACN,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,WAAW,GACK;IAChB,OAAO,CACH,wBAAC,yBAAW,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,YAAY,GAAG,aAC7F,YAAY,IAAI,CACb,uBAAC,gBAAG,IACA,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,GAAG,EACX,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,cAAM,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,GAC7G,CACL,EAED,uBAAC,qBAAO,IAAC,KAAK,EAAE,CAAC,uCAAkC,EACnD,wBAAC,kBAAI,sBACG,SAAS,8DAA0D,YAAY,+DAEhF,EAEP,uBAAC,uBAAS,IACN,OAAO,EAAE,KAAK,EACd,KAAK,EAAE;oBACH,EAAE,KAAK,EAAE,8CAA8C,EAAE;oBACzD,EAAE,KAAK,EAAE,4BAA4B,EAAE;oBACvC,EAAE,KAAK,EAAE,uCAAuC,EAAE;oBAClD,EAAE,KAAK,EAAE,sCAAsC,EAAE;iBACpD,GACH,EAEF,wBAAC,wBAAU,IAAC,KAAK,EAAC,WAAW,aACzB,uBAAC,uBAAS,IAAC,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,OAAO,GAAI,EAC9C,uBAAC,uBAAS,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,QAAQ,GAAI,IACvC,EAEb,uBAAC,2BAAa,IAAC,IAAI,EAAE,WAAW,+BAAgC,EAChE,uBAAC,kBAAI,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,uCAEvB,IACG,CACjB,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type BaseEmailProps, type EmailUnit } from '../_components';
|
|
2
|
+
export interface WelcomeHostProps extends BaseEmailProps {
|
|
3
|
+
firstName: string;
|
|
4
|
+
units: EmailUnit[];
|
|
5
|
+
dashboardUrl: string;
|
|
6
|
+
}
|
|
7
|
+
/** Welcome to Hububb — host onboarding, leading with the units we imported. */
|
|
8
|
+
export default function WelcomeHostEmail({ baseUrl, footer, firstName, units, dashboardUrl }: WelcomeHostProps): import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=welcome-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome-host.d.ts","sourceRoot":"","sources":["../../src/templates/welcome-host.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAEnI,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACpD,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,+EAA+E;AAC/E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,gBAAgB,+BAkB7G"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = WelcomeHostEmail;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const _components_1 = require("../_components");
|
|
6
|
+
/** Welcome to Hububb — host onboarding, leading with the units we imported. */
|
|
7
|
+
function WelcomeHostEmail({ baseUrl, footer, firstName, units, dashboardUrl }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsxs)(_components_1.EmailLayout, { baseUrl: baseUrl, footer: footer, preview: `Welcome to Hububb. We imported ${units.length} units from Airbnb.`, children: [(0, jsx_runtime_1.jsx)(_components_1.Heading, { level: 2, children: "Welcome to Hububb" }), (0, jsx_runtime_1.jsxs)(_components_1.Text, { children: ["Hello ", firstName, ", we have imported your units from Airbnb. They are synced and ready to manage, with bookings, messages, and services all in one place."] }), (0, jsx_runtime_1.jsxs)(_components_1.Callout, { variant: "success", title: "Import complete", children: [units.length, " ", units.length === 1 ? 'unit is' : 'units are', " now connected and syncing."] }), (0, jsx_runtime_1.jsx)(_components_1.UnitsList, { units: units, note: "Imported from Airbnb" }), (0, jsx_runtime_1.jsx)(_components_1.PrimaryButton, { href: dashboardUrl, children: "Go to dashboard" })] }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=welcome-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome-host.js","sourceRoot":"","sources":["../../src/templates/welcome-host.tsx"],"names":[],"mappings":";;AASA,mCAkBC;;AA3BD,gDAAmI;AAQnI,+EAA+E;AAC/E,SAAwB,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAoB;IAC1G,OAAO,CACH,wBAAC,yBAAW,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,KAAK,CAAC,MAAM,qBAAqB,aACvH,uBAAC,qBAAO,IAAC,KAAK,EAAE,CAAC,kCAA6B,EAC9C,wBAAC,kBAAI,yBACM,SAAS,+IAEb,EAEP,wBAAC,qBAAO,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,iBAAiB,aAC7C,KAAK,CAAC,MAAM,OAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,mCACtD,EAEV,uBAAC,uBAAS,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,sBAAsB,GAAG,EAEvD,uBAAC,2BAAa,IAAC,IAAI,EAAE,YAAY,gCAAiC,IACxD,CACjB,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type BaseEmailProps } from '../_components';
|
|
2
|
+
export interface WelcomeNoListingProps extends BaseEmailProps {
|
|
3
|
+
firstName: string;
|
|
4
|
+
dashboardUrl: string;
|
|
5
|
+
}
|
|
6
|
+
/** Landlord signup welcome — sent before any property has been listed. */
|
|
7
|
+
export default function WelcomeNoListingEmail({ baseUrl, footer, firstName, dashboardUrl }: WelcomeNoListingProps): import("react").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=welcome-no-listing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome-no-listing.d.ts","sourceRoot":"","sources":["../../src/templates/welcome-no-listing.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE1G,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IACzD,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,0EAA0E;AAC1E,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,qBAAqB,+BAoBhH"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = WelcomeNoListingEmail;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const _components_1 = require("../_components");
|
|
6
|
+
/** Landlord signup welcome — sent before any property has been listed. */
|
|
7
|
+
function WelcomeNoListingEmail({ baseUrl, footer, firstName, dashboardUrl }) {
|
|
8
|
+
return ((0, jsx_runtime_1.jsxs)(_components_1.EmailLayout, { baseUrl: baseUrl, footer: footer, preview: "Welcome to Hububb \u2014 a smarter way to manage rentals.", children: [(0, jsx_runtime_1.jsx)(_components_1.Heading, { level: 2, children: "Welcome to Hububb" }), (0, jsx_runtime_1.jsxs)(_components_1.Text, { children: ["Hello ", firstName, ", welcome to Hububb \u2014 a smarter way to manage your rental. Add your first property to get started."] }), (0, jsx_runtime_1.jsx)(_components_1.StepsList, { steps: [
|
|
9
|
+
{ title: 'Add a property', description: 'Connect Airbnb or list one manually.' },
|
|
10
|
+
{ title: 'Set up services', description: 'Turn on cleaning, guest coordination, and more.' },
|
|
11
|
+
{ title: 'Go live', description: 'Bookings, messages, and payouts all in one place.' },
|
|
12
|
+
] }), (0, jsx_runtime_1.jsx)(_components_1.PrimaryButton, { href: dashboardUrl, children: "Add your first property" })] }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=welcome-no-listing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome-no-listing.js","sourceRoot":"","sources":["../../src/templates/welcome-no-listing.tsx"],"names":[],"mappings":";;AAQA,wCAoBC;;AA5BD,gDAA0G;AAO1G,0EAA0E;AAC1E,SAAwB,qBAAqB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAyB;IAC7G,OAAO,CACH,wBAAC,yBAAW,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,2DAAsD,aACzG,uBAAC,qBAAO,IAAC,KAAK,EAAE,CAAC,kCAA6B,EAC9C,wBAAC,kBAAI,yBACM,SAAS,+GAEb,EAEP,uBAAC,uBAAS,IACN,KAAK,EAAE;oBACH,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,sCAAsC,EAAE;oBAChF,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,iDAAiD,EAAE;oBAC5F,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,mDAAmD,EAAE;iBACzF,GACH,EAEF,uBAAC,2BAAa,IAAC,IAAI,EAAE,YAAY,wCAAyC,IAChE,CACjB,CAAA;AACL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type BaseEmailProps } from '../_components';
|
|
2
|
+
export interface WelcomeProviderProps extends BaseEmailProps {
|
|
3
|
+
firstName: string;
|
|
4
|
+
setupUrl: string;
|
|
5
|
+
}
|
|
6
|
+
/** Welcome to Hububb Connect — service-provider onboarding with a value bento. */
|
|
7
|
+
export default function WelcomeProviderEmail({ baseUrl, footer, firstName, setupUrl }: WelcomeProviderProps): import("react").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=welcome-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome-provider.d.ts","sourceRoot":"","sources":["../../src/templates/welcome-provider.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAyD,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAK3G,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IACxD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAqCD,kFAAkF;AAClF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BA+B1G"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = WelcomeProviderEmail;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const components_1 = require("@react-email/components");
|
|
6
|
+
const icons_1 = require("../_components/icons");
|
|
7
|
+
const _components_1 = require("../_components");
|
|
8
|
+
const theme_1 = require("../theme");
|
|
9
|
+
const FEATURES = [
|
|
10
|
+
{ icon: icons_1.Briefcase, title: 'Find work', desc: 'Jobs near you' },
|
|
11
|
+
{ icon: icons_1.CalendarCheck, title: 'Stay booked', desc: 'Keep your week full' },
|
|
12
|
+
{ icon: icons_1.Wallet, title: 'Get paid fast', desc: 'On-time payouts' },
|
|
13
|
+
{ icon: icons_1.Star, title: 'Build reputation', desc: 'Earn reviews' },
|
|
14
|
+
];
|
|
15
|
+
function FeatureCell({ icon, title, desc }) {
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)("table", { width: "100%", cellPadding: 0, cellSpacing: 0, role: "presentation", style: { backgroundColor: theme_1.colors.bg.surface, border: `1px solid ${theme_1.colors.border.base}`, borderRadius: theme_1.radius.lg, marginBottom: '12px' }, children: (0, jsx_runtime_1.jsx)("tbody", { children: (0, jsx_runtime_1.jsx)("tr", { children: (0, jsx_runtime_1.jsx)("td", { style: { padding: '14px' }, children: (0, jsx_runtime_1.jsx)("table", { cellPadding: 0, cellSpacing: 0, role: "presentation", children: (0, jsx_runtime_1.jsx)("tbody", { children: (0, jsx_runtime_1.jsxs)("tr", { children: [(0, jsx_runtime_1.jsx)("td", { style: { verticalAlign: 'top', paddingRight: '10px' }, children: (0, jsx_runtime_1.jsx)(_components_1.IconCircle, { icon: icon, size: 32, glyphSize: 18, bg: theme_1.colors.bg.subtle, fg: theme_1.colors.text.t1 }) }), (0, jsx_runtime_1.jsxs)("td", { style: { verticalAlign: 'top' }, children: [(0, jsx_runtime_1.jsx)("p", { style: { color: theme_1.colors.text.t1, fontSize: theme_1.fontSize.body, fontWeight: theme_1.fontWeight.medium, lineHeight: theme_1.lineHeight.body, margin: 0 }, children: title }), (0, jsx_runtime_1.jsx)("p", { style: { color: theme_1.colors.text.muted, fontSize: theme_1.fontSize.caption, margin: '1px 0 0' }, children: desc })] })] }) }) }) }) }) }) }));
|
|
17
|
+
}
|
|
18
|
+
/** Welcome to Hububb Connect — service-provider onboarding with a value bento. */
|
|
19
|
+
function WelcomeProviderEmail({ baseUrl, footer, firstName, setupUrl }) {
|
|
20
|
+
return ((0, jsx_runtime_1.jsxs)(_components_1.EmailLayout, { baseUrl: baseUrl, footer: footer, preview: "Welcome to Hububb Connect. Let's get you set up for jobs.", children: [(0, jsx_runtime_1.jsx)(_components_1.Heading, { level: 2, children: "Welcome to Hububb Connect" }), (0, jsx_runtime_1.jsxs)(_components_1.Text, { children: ["Hello ", firstName, ", Hububb Connect brings you jobs that fit your schedule, all handled in one app. Set up your profile to start getting matched with work near you."] }), (0, jsx_runtime_1.jsxs)(components_1.Section, { style: { margin: '0 0 12px' }, children: [(0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "stack-col", style: { width: '50%', paddingRight: '6px', verticalAlign: 'top' }, children: (0, jsx_runtime_1.jsx)(FeatureCell, { ...FEATURES[0] }) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "stack-col", style: { width: '50%', paddingLeft: '6px', verticalAlign: 'top' }, children: (0, jsx_runtime_1.jsx)(FeatureCell, { ...FEATURES[1] }) })] }), (0, jsx_runtime_1.jsxs)(components_1.Row, { children: [(0, jsx_runtime_1.jsx)(components_1.Column, { className: "stack-col", style: { width: '50%', paddingRight: '6px', verticalAlign: 'top' }, children: (0, jsx_runtime_1.jsx)(FeatureCell, { ...FEATURES[2] }) }), (0, jsx_runtime_1.jsx)(components_1.Column, { className: "stack-col", style: { width: '50%', paddingLeft: '6px', verticalAlign: 'top' }, children: (0, jsx_runtime_1.jsx)(FeatureCell, { ...FEATURES[3] }) })] })] }), (0, jsx_runtime_1.jsx)(_components_1.PrimaryButton, { href: setupUrl, children: "Set up your profile" })] }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=welcome-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"welcome-provider.js","sourceRoot":"","sources":["../../src/templates/welcome-provider.tsx"],"names":[],"mappings":"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"}
|
package/dist/theme.d.ts
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Hububb design-system token VALUES, hardcoded for email.
|
|
4
|
+
*
|
|
5
|
+
* Email clients strip CSS custom properties, so we can't use the `@hububb/design-system`
|
|
6
|
+
* CSS-variable tokens here — these are the literal light-mode values pulled from the DS
|
|
7
|
+
* (tokens.json / globals.css). Keep this file the single source of truth; every email
|
|
8
|
+
* primitive imports from it. See docs/design-system/FOUNDATIONS.md.
|
|
9
|
+
*/
|
|
10
|
+
export declare const colors: {
|
|
11
|
+
readonly text: {
|
|
12
|
+
readonly t1: "#1a1a1a";
|
|
13
|
+
readonly t2: "#333333";
|
|
14
|
+
readonly t3: "#666666";
|
|
15
|
+
readonly muted: "#808080";
|
|
16
|
+
readonly dim: "#b3b3b3";
|
|
17
|
+
};
|
|
18
|
+
readonly bg: {
|
|
19
|
+
readonly base: "#ffffff";
|
|
20
|
+
readonly surface: "#f7f7f7";
|
|
21
|
+
readonly subtle: "#f2f2f2";
|
|
22
|
+
};
|
|
23
|
+
readonly border: {
|
|
24
|
+
readonly base: "#e6e6e6";
|
|
25
|
+
readonly subtle: "#f2f2f2";
|
|
26
|
+
};
|
|
27
|
+
readonly success: {
|
|
28
|
+
readonly fg: "#00b280";
|
|
29
|
+
readonly bg: "#e5fff8";
|
|
30
|
+
readonly border: "#ccfff1";
|
|
31
|
+
};
|
|
32
|
+
readonly danger: {
|
|
33
|
+
readonly fg: "#b20000";
|
|
34
|
+
readonly bg: "#ffe5e5";
|
|
35
|
+
readonly border: "#ffcccc";
|
|
36
|
+
};
|
|
37
|
+
readonly warning: {
|
|
38
|
+
readonly fg: "#ffa500";
|
|
39
|
+
readonly bg: "#fff6e5";
|
|
40
|
+
readonly border: "#ffe4b2";
|
|
41
|
+
};
|
|
42
|
+
readonly info: {
|
|
43
|
+
readonly fg: "#0000b2";
|
|
44
|
+
readonly bg: "#e5e5ff";
|
|
45
|
+
readonly border: "#ccccff";
|
|
46
|
+
};
|
|
47
|
+
readonly neutral: {
|
|
48
|
+
readonly fg: "#333333";
|
|
49
|
+
readonly bg: "#f7f7f7";
|
|
50
|
+
readonly border: "#e6e6e6";
|
|
51
|
+
};
|
|
52
|
+
readonly action: {
|
|
53
|
+
readonly fg: "#ffffff";
|
|
54
|
+
readonly bg: "#1a1a1a";
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
export type FeedbackVariant = 'success' | 'danger' | 'warning' | 'info' | 'neutral';
|
|
58
|
+
export declare const radius: {
|
|
59
|
+
readonly sm: "4px";
|
|
60
|
+
readonly md: "6px";
|
|
61
|
+
readonly lg: "8px";
|
|
62
|
+
readonly xl: "12px";
|
|
63
|
+
readonly full: "9999px";
|
|
64
|
+
};
|
|
65
|
+
export declare const systemFallback = "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif";
|
|
66
|
+
export declare const fontFamily = "Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif";
|
|
67
|
+
export declare const interFonts: readonly [{
|
|
68
|
+
readonly weight: 400;
|
|
69
|
+
readonly url: "https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.18/files/inter-latin-400-normal.woff2";
|
|
70
|
+
}, {
|
|
71
|
+
readonly weight: 500;
|
|
72
|
+
readonly url: "https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.18/files/inter-latin-500-normal.woff2";
|
|
73
|
+
}, {
|
|
74
|
+
readonly weight: 600;
|
|
75
|
+
readonly url: "https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.18/files/inter-latin-600-normal.woff2";
|
|
76
|
+
}];
|
|
77
|
+
export declare const fontSize: {
|
|
78
|
+
readonly h1: "32px";
|
|
79
|
+
readonly h2: "28px";
|
|
80
|
+
readonly h3: "26px";
|
|
81
|
+
readonly h4: "24px";
|
|
82
|
+
readonly h5: "22px";
|
|
83
|
+
readonly bodyLg: "18px";
|
|
84
|
+
readonly body: "16px";
|
|
85
|
+
readonly caption: "12px";
|
|
86
|
+
};
|
|
87
|
+
export declare const fontWeight: {
|
|
88
|
+
readonly regular: 400;
|
|
89
|
+
readonly medium: 500;
|
|
90
|
+
readonly semibold: 600;
|
|
91
|
+
readonly bold: 700;
|
|
92
|
+
};
|
|
93
|
+
export declare const lineHeight: {
|
|
94
|
+
readonly heading: 1.2;
|
|
95
|
+
readonly body: 1.5;
|
|
96
|
+
};
|
|
97
|
+
export declare const spacing: {
|
|
98
|
+
readonly xs: "8px";
|
|
99
|
+
readonly sm: "12px";
|
|
100
|
+
readonly md: "16px";
|
|
101
|
+
readonly lg: "24px";
|
|
102
|
+
readonly xl: "32px";
|
|
103
|
+
readonly '2xl': "48px";
|
|
104
|
+
};
|
|
105
|
+
export declare const styles: {
|
|
106
|
+
body: CSSProperties;
|
|
107
|
+
container: CSSProperties;
|
|
108
|
+
contentPadding: CSSProperties;
|
|
109
|
+
paragraph: CSSProperties;
|
|
110
|
+
footerText: CSSProperties;
|
|
111
|
+
link: CSSProperties;
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C;;;;;;;GAOG;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUT,CAAA;AAEV,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;AAEnF,eAAO,MAAM,MAAM;;;;;;CAA2E,CAAA;AAI9F,eAAO,MAAM,cAAc,kFAAgF,CAAA;AAC3G,eAAO,MAAM,UAAU,yFAA6B,CAAA;AAGpD,eAAO,MAAM,UAAU;;;;;;;;;EAIb,CAAA;AAEV,eAAO,MAAM,QAAQ;;;;;;;;;CASX,CAAA;AAEV,eAAO,MAAM,UAAU;;;;;CAAmE,CAAA;AAC1F,eAAO,MAAM,UAAU;;;CAAuC,CAAA;AAC9D,eAAO,MAAM,OAAO;;;;;;;CAAwF,CAAA;AAG5G,eAAO,MAAM,MAAM;UAOV,aAAa;eAQb,aAAa;oBACqB,aAAa;eAM/C,aAAa;gBAMb,aAAa;UAC8C,aAAa;CAChF,CAAA"}
|
package/dist/theme.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.styles = exports.spacing = exports.lineHeight = exports.fontWeight = exports.fontSize = exports.interFonts = exports.fontFamily = exports.systemFallback = exports.radius = exports.colors = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Hububb design-system token VALUES, hardcoded for email.
|
|
6
|
+
*
|
|
7
|
+
* Email clients strip CSS custom properties, so we can't use the `@hububb/design-system`
|
|
8
|
+
* CSS-variable tokens here — these are the literal light-mode values pulled from the DS
|
|
9
|
+
* (tokens.json / globals.css). Keep this file the single source of truth; every email
|
|
10
|
+
* primitive imports from it. See docs/design-system/FOUNDATIONS.md.
|
|
11
|
+
*/
|
|
12
|
+
exports.colors = {
|
|
13
|
+
text: { t1: '#1a1a1a', t2: '#333333', t3: '#666666', muted: '#808080', dim: '#b3b3b3' },
|
|
14
|
+
bg: { base: '#ffffff', surface: '#f7f7f7', subtle: '#f2f2f2' },
|
|
15
|
+
border: { base: '#e6e6e6', subtle: '#f2f2f2' },
|
|
16
|
+
success: { fg: '#00b280', bg: '#e5fff8', border: '#ccfff1' },
|
|
17
|
+
danger: { fg: '#b20000', bg: '#ffe5e5', border: '#ffcccc' },
|
|
18
|
+
warning: { fg: '#ffa500', bg: '#fff6e5', border: '#ffe4b2' },
|
|
19
|
+
info: { fg: '#0000b2', bg: '#e5e5ff', border: '#ccccff' },
|
|
20
|
+
neutral: { fg: '#333333', bg: '#f7f7f7', border: '#e6e6e6' },
|
|
21
|
+
action: { fg: '#ffffff', bg: '#1a1a1a' },
|
|
22
|
+
};
|
|
23
|
+
exports.radius = { sm: '4px', md: '6px', lg: '8px', xl: '12px', full: '9999px' };
|
|
24
|
+
// Inter is the DS font (loaded best-effort via <Font> in the layout); clients that
|
|
25
|
+
// don't honor webfonts fall back to the system stack so layout never breaks.
|
|
26
|
+
exports.systemFallback = '-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif';
|
|
27
|
+
exports.fontFamily = `Inter, ${exports.systemFallback}`;
|
|
28
|
+
// Inter weights loaded in the email <head> (Fontsource on jsDelivr — stable URLs).
|
|
29
|
+
exports.interFonts = [
|
|
30
|
+
{ weight: 400, url: 'https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.18/files/inter-latin-400-normal.woff2' },
|
|
31
|
+
{ weight: 500, url: 'https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.18/files/inter-latin-500-normal.woff2' },
|
|
32
|
+
{ weight: 600, url: 'https://cdn.jsdelivr.net/npm/@fontsource/inter@5.0.18/files/inter-latin-600-normal.woff2' },
|
|
33
|
+
];
|
|
34
|
+
exports.fontSize = {
|
|
35
|
+
h1: '32px',
|
|
36
|
+
h2: '28px',
|
|
37
|
+
h3: '26px',
|
|
38
|
+
h4: '24px',
|
|
39
|
+
h5: '22px',
|
|
40
|
+
bodyLg: '18px',
|
|
41
|
+
body: '16px',
|
|
42
|
+
caption: '12px',
|
|
43
|
+
};
|
|
44
|
+
exports.fontWeight = { regular: 400, medium: 500, semibold: 600, bold: 700 };
|
|
45
|
+
exports.lineHeight = { heading: 1.2, body: 1.5 };
|
|
46
|
+
exports.spacing = { xs: '8px', sm: '12px', md: '16px', lg: '24px', xl: '32px', '2xl': '48px' };
|
|
47
|
+
// Shared, reusable style objects so templates stay declarative.
|
|
48
|
+
exports.styles = {
|
|
49
|
+
body: {
|
|
50
|
+
backgroundColor: exports.colors.bg.surface,
|
|
51
|
+
fontFamily: exports.fontFamily,
|
|
52
|
+
margin: 0,
|
|
53
|
+
padding: 0,
|
|
54
|
+
WebkitTextSizeAdjust: '100%',
|
|
55
|
+
},
|
|
56
|
+
container: {
|
|
57
|
+
backgroundColor: exports.colors.bg.base,
|
|
58
|
+
maxWidth: '600px',
|
|
59
|
+
margin: '0 auto',
|
|
60
|
+
borderRadius: exports.radius.xl,
|
|
61
|
+
border: `1px solid ${exports.colors.border.base}`,
|
|
62
|
+
overflow: 'hidden',
|
|
63
|
+
},
|
|
64
|
+
contentPadding: { padding: '32px' },
|
|
65
|
+
paragraph: {
|
|
66
|
+
color: exports.colors.text.t2,
|
|
67
|
+
fontSize: exports.fontSize.body,
|
|
68
|
+
lineHeight: exports.lineHeight.body,
|
|
69
|
+
margin: '0 0 16px',
|
|
70
|
+
},
|
|
71
|
+
footerText: {
|
|
72
|
+
color: exports.colors.text.muted,
|
|
73
|
+
fontSize: exports.fontSize.caption,
|
|
74
|
+
lineHeight: exports.lineHeight.body,
|
|
75
|
+
margin: 0,
|
|
76
|
+
},
|
|
77
|
+
link: { color: exports.colors.text.t1, textDecoration: 'underline' },
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hububb-emails",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Shared React Email templates for Hububb. Single source of truth for transactional email: rendered by hububb-saas-api at send time and by the hububb-web preview gallery.",
|
|
5
|
+
"type": "commonjs",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"typecheck": "tsc --noEmit",
|
|
15
|
+
"prepublishOnly": "tsc"
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@react-email/components": "^1.0.12",
|
|
19
|
+
"@react-email/render": "^2.0.8"
|
|
20
|
+
},
|
|
21
|
+
"peerDependencies": {
|
|
22
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
23
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/react": "^19.2.0",
|
|
27
|
+
"@types/react-dom": "^19.2.0",
|
|
28
|
+
"react": "^19.2.1",
|
|
29
|
+
"react-dom": "^19.2.1",
|
|
30
|
+
"typescript": "^5.7.2"
|
|
31
|
+
},
|
|
32
|
+
"author": "MVP Masters",
|
|
33
|
+
"license": "ISC",
|
|
34
|
+
"packageManager": "yarn@1.22.22"
|
|
35
|
+
}
|