@planetaexo/design-system 0.27.0 → 0.29.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/index.cjs +431 -27
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +143 -1
- package/dist/index.d.ts +143 -1
- package/dist/index.js +429 -28
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4798,6 +4798,36 @@ function BookingConfirmation({
|
|
|
4798
4798
|
}
|
|
4799
4799
|
);
|
|
4800
4800
|
}
|
|
4801
|
+
function BookingSummary({ heading, rows, className }) {
|
|
4802
|
+
return /* @__PURE__ */ jsxs("div", { className, style: { marginBottom: "32px" }, children: [
|
|
4803
|
+
/* @__PURE__ */ jsx(
|
|
4804
|
+
"p",
|
|
4805
|
+
{
|
|
4806
|
+
style: {
|
|
4807
|
+
marginBottom: "16px",
|
|
4808
|
+
fontWeight: "700",
|
|
4809
|
+
color: emailTokens.foreground,
|
|
4810
|
+
fontFamily: emailTokens.fontFamily
|
|
4811
|
+
},
|
|
4812
|
+
children: heading
|
|
4813
|
+
}
|
|
4814
|
+
),
|
|
4815
|
+
/* @__PURE__ */ jsx(
|
|
4816
|
+
"table",
|
|
4817
|
+
{
|
|
4818
|
+
style: {
|
|
4819
|
+
width: "100%",
|
|
4820
|
+
fontSize: "14px",
|
|
4821
|
+
borderCollapse: "collapse"
|
|
4822
|
+
},
|
|
4823
|
+
children: /* @__PURE__ */ jsx("tbody", { children: rows.map((row, i) => /* @__PURE__ */ jsxs("tr", { style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {}, children: [
|
|
4824
|
+
/* @__PURE__ */ jsx("td", { style: { padding: "4px 16px 4px 0", color: emailTokens.mutedForeground }, children: row.label }),
|
|
4825
|
+
/* @__PURE__ */ jsx("td", { style: { padding: "4px 0", fontWeight: "500", color: emailTokens.foreground }, children: row.value })
|
|
4826
|
+
] }, i)) })
|
|
4827
|
+
}
|
|
4828
|
+
)
|
|
4829
|
+
] });
|
|
4830
|
+
}
|
|
4801
4831
|
var DEFAULT_LABELS4 = {
|
|
4802
4832
|
ctaButton: "Add travellers to your booking",
|
|
4803
4833
|
logoAlt: "PlanetaEXO",
|
|
@@ -4877,11 +4907,7 @@ function BookingConfirmationEmail({
|
|
|
4877
4907
|
/* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.addTravellersInstruction }),
|
|
4878
4908
|
/* @__PURE__ */ jsx("div", { style: { marginBottom: "32px" }, children: AddTravellersCta }),
|
|
4879
4909
|
/* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "32px" } }),
|
|
4880
|
-
/* @__PURE__ */ jsx(
|
|
4881
|
-
/* @__PURE__ */ jsx("table", { style: { width: "100%", fontSize: "14px", marginBottom: "32px", borderCollapse: "collapse" }, children: /* @__PURE__ */ jsx("tbody", { children: tableRows.map((row, i) => /* @__PURE__ */ jsxs("tr", { style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {}, children: [
|
|
4882
|
-
/* @__PURE__ */ jsx("td", { style: { padding: "4px 16px 4px 0", color: emailTokens.mutedForeground }, children: row.label }),
|
|
4883
|
-
/* @__PURE__ */ jsx("td", { style: { padding: "4px 0", fontWeight: "500", color: emailTokens.foreground }, children: row.value })
|
|
4884
|
-
] }, i)) }) }),
|
|
4910
|
+
/* @__PURE__ */ jsx(BookingSummary, { heading: l.summaryHeading, rows: tableRows }),
|
|
4885
4911
|
showNextSteps && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4886
4912
|
/* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "32px" } }),
|
|
4887
4913
|
/* @__PURE__ */ jsx("p", { style: { marginBottom: "20px", fontWeight: "700", color: emailTokens.foreground, fontFamily: emailTokens.fontFamily, fontSize: "18px" }, children: l.nextStepsHeading }),
|
|
@@ -4918,7 +4944,380 @@ function BookingConfirmationEmail({
|
|
|
4918
4944
|
}
|
|
4919
4945
|
);
|
|
4920
4946
|
}
|
|
4947
|
+
function RegistrationProgressBar({
|
|
4948
|
+
tone,
|
|
4949
|
+
pct,
|
|
4950
|
+
barHex,
|
|
4951
|
+
labelHex,
|
|
4952
|
+
railHex,
|
|
4953
|
+
label
|
|
4954
|
+
}) {
|
|
4955
|
+
const rail = railHex != null ? railHex : "#e5e7eb";
|
|
4956
|
+
const isComplete = tone === "complete";
|
|
4957
|
+
const indicator = isComplete ? "\u2714" : "\u26A0";
|
|
4958
|
+
const safePct = Math.max(0, Math.min(100, pct));
|
|
4959
|
+
return /* @__PURE__ */ jsx("div", { style: { marginBottom: "16px" }, children: /* @__PURE__ */ jsx(
|
|
4960
|
+
"table",
|
|
4961
|
+
{
|
|
4962
|
+
cellPadding: 0,
|
|
4963
|
+
cellSpacing: 0,
|
|
4964
|
+
style: { width: "100%", borderCollapse: "collapse" },
|
|
4965
|
+
children: /* @__PURE__ */ jsxs("tbody", { children: [
|
|
4966
|
+
/* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { style: { textAlign: "right", paddingBottom: "6px" }, children: /* @__PURE__ */ jsxs(
|
|
4967
|
+
"span",
|
|
4968
|
+
{
|
|
4969
|
+
style: {
|
|
4970
|
+
fontWeight: 700,
|
|
4971
|
+
color: labelHex,
|
|
4972
|
+
fontSize: "13px"
|
|
4973
|
+
},
|
|
4974
|
+
children: [
|
|
4975
|
+
label,
|
|
4976
|
+
" ",
|
|
4977
|
+
indicator
|
|
4978
|
+
]
|
|
4979
|
+
}
|
|
4980
|
+
) }) }),
|
|
4981
|
+
/* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx(
|
|
4982
|
+
"td",
|
|
4983
|
+
{
|
|
4984
|
+
style: {
|
|
4985
|
+
background: rail,
|
|
4986
|
+
height: "12px",
|
|
4987
|
+
borderRadius: "6px",
|
|
4988
|
+
overflow: "hidden",
|
|
4989
|
+
lineHeight: 0,
|
|
4990
|
+
fontSize: 0
|
|
4991
|
+
},
|
|
4992
|
+
children: /* @__PURE__ */ jsx(
|
|
4993
|
+
"div",
|
|
4994
|
+
{
|
|
4995
|
+
style: {
|
|
4996
|
+
background: barHex,
|
|
4997
|
+
width: `${safePct}%`,
|
|
4998
|
+
height: "12px",
|
|
4999
|
+
borderRadius: "6px"
|
|
5000
|
+
}
|
|
5001
|
+
}
|
|
5002
|
+
)
|
|
5003
|
+
}
|
|
5004
|
+
) })
|
|
5005
|
+
] })
|
|
5006
|
+
}
|
|
5007
|
+
) });
|
|
5008
|
+
}
|
|
4921
5009
|
var DEFAULT_LABELS5 = {
|
|
5010
|
+
logoAlt: "PlanetaEXO",
|
|
5011
|
+
greeting: (n) => `Hi ${n},`,
|
|
5012
|
+
intermediateHello: "Hope you're doing well.",
|
|
5013
|
+
bookingSummaryHeader: "Booking summary",
|
|
5014
|
+
bookingNumberLabel: "Booking number",
|
|
5015
|
+
adventuresCountLabel: (c) => `${c} adventure${c === 1 ? "" : "s"}`,
|
|
5016
|
+
travellersCountLabel: (c) => `${c} traveller${c === 1 ? "" : "s"}`,
|
|
5017
|
+
adventuresRowLabel: "Adventures",
|
|
5018
|
+
travellersRowLabel: "Total travellers",
|
|
5019
|
+
agentRowLabel: "Agent",
|
|
5020
|
+
progressHeader: "Registration progress",
|
|
5021
|
+
startsLabel: "Starts",
|
|
5022
|
+
completedFractionLabel: (c, total) => `Completed: ${c} / ${total} travellers`,
|
|
5023
|
+
ctaLabel: "View Booking & Registrations",
|
|
5024
|
+
closingAgent: (n) => `If you need any assistance with the traveller registrations, feel free to contact your agent ${n} via WhatsApp or email.`,
|
|
5025
|
+
closingNoAgent: "If you need any assistance with the traveller registrations, feel free to contact us via WhatsApp or email.",
|
|
5026
|
+
teamSignature: "The PlanetaEXO Team",
|
|
5027
|
+
variants: {
|
|
5028
|
+
d_minus_30: {
|
|
5029
|
+
subject: "Complete Traveller Registration for Your Upcoming Adventure",
|
|
5030
|
+
intro: "Your adventure with PlanetaEXO is getting closer, and there is one important step remaining before departure.",
|
|
5031
|
+
contextNote: "To help us prepare logistics and ensure your experience runs smoothly, all travellers must complete their registration before the adventure starts.",
|
|
5032
|
+
pleaseNoteHeader: "Please note:",
|
|
5033
|
+
pleaseNoteBullets: [
|
|
5034
|
+
"Registration is mandatory for each traveller included in the booking",
|
|
5035
|
+
"If your booking includes multiple adventures, registration must be completed for each adventure separately",
|
|
5036
|
+
"Every traveller receives reminders to complete their own registration by email",
|
|
5037
|
+
"You can manage registrations, add travellers, edit traveller information, and track completion status through your booking page"
|
|
5038
|
+
],
|
|
5039
|
+
progressIntro: "Please complete any pending registrations through your booking page:",
|
|
5040
|
+
bookerCoordinationNote: "",
|
|
5041
|
+
earlyCompletionBenefit: "",
|
|
5042
|
+
importantNote: "",
|
|
5043
|
+
finalReminderTagline: "",
|
|
5044
|
+
multiTravellerNote: "",
|
|
5045
|
+
disregardIfCompleted: "",
|
|
5046
|
+
closingThanks: ""
|
|
5047
|
+
},
|
|
5048
|
+
d_minus_15: {
|
|
5049
|
+
subject: "Reminder: Traveller Registration Still Pending",
|
|
5050
|
+
intro: "This is a reminder that one or more traveller registrations linked to your booking remain incomplete.",
|
|
5051
|
+
contextNote: "Registration is required for operational planning and must be completed before departure.",
|
|
5052
|
+
pleaseNoteHeader: "",
|
|
5053
|
+
pleaseNoteBullets: [],
|
|
5054
|
+
bookerCoordinationNote: "Every traveller receives registration reminders by email. If you are organising the trip for the group, please ensure all travellers complete their registration.",
|
|
5055
|
+
progressIntro: "Please review your booking page to complete pending registrations or update traveller information:",
|
|
5056
|
+
earlyCompletionBenefit: "Completing registrations early helps avoid delays with accommodation, transfers, and activity confirmations.",
|
|
5057
|
+
importantNote: "",
|
|
5058
|
+
finalReminderTagline: "",
|
|
5059
|
+
multiTravellerNote: "",
|
|
5060
|
+
disregardIfCompleted: "",
|
|
5061
|
+
closingThanks: ""
|
|
5062
|
+
},
|
|
5063
|
+
d_minus_7: {
|
|
5064
|
+
subject: "Action Required: Complete Traveller Registration Before Departure",
|
|
5065
|
+
intro: "Your adventure begins in one week, and there are still incomplete traveller registrations linked to your booking.",
|
|
5066
|
+
contextNote: "Please ensure all pending registrations are completed as soon as possible.",
|
|
5067
|
+
importantNote: "Important: Registration is mandatory and required for participation in the adventure.",
|
|
5068
|
+
progressIntro: "Review your booking page to complete missing information:",
|
|
5069
|
+
multiTravellerNote: "If your booking includes multiple travellers, please ensure every traveller completes their registration before departure.",
|
|
5070
|
+
pleaseNoteHeader: "",
|
|
5071
|
+
pleaseNoteBullets: [],
|
|
5072
|
+
bookerCoordinationNote: "",
|
|
5073
|
+
earlyCompletionBenefit: "",
|
|
5074
|
+
finalReminderTagline: "",
|
|
5075
|
+
disregardIfCompleted: "",
|
|
5076
|
+
closingThanks: ""
|
|
5077
|
+
},
|
|
5078
|
+
d_minus_2: {
|
|
5079
|
+
subject: "Final Reminder: Registration Required Before Departure",
|
|
5080
|
+
intro: "Your adventure starts in 2 days, and one or more traveller registrations remain incomplete.",
|
|
5081
|
+
finalReminderTagline: "This is a final reminder.",
|
|
5082
|
+
importantNote: "Traveller registration is mandatory. Without completed registration forms, we may be unable to confirm logistics and travellers may not be allowed to board transfers, flights, boats, or participate in activities.",
|
|
5083
|
+
progressIntro: "Please complete all pending registrations immediately through your booking page:",
|
|
5084
|
+
disregardIfCompleted: "If registrations have already been completed, please disregard this email.",
|
|
5085
|
+
closingThanks: "We look forward to welcoming you soon.",
|
|
5086
|
+
contextNote: "",
|
|
5087
|
+
pleaseNoteHeader: "",
|
|
5088
|
+
pleaseNoteBullets: [],
|
|
5089
|
+
bookerCoordinationNote: "",
|
|
5090
|
+
earlyCompletionBenefit: "",
|
|
5091
|
+
multiTravellerNote: ""
|
|
5092
|
+
}
|
|
5093
|
+
}
|
|
5094
|
+
};
|
|
5095
|
+
function hasText(s) {
|
|
5096
|
+
return typeof s === "string" && s.trim().length > 0;
|
|
5097
|
+
}
|
|
5098
|
+
function hasItems(arr) {
|
|
5099
|
+
return Array.isArray(arr) && arr.length > 0;
|
|
5100
|
+
}
|
|
5101
|
+
function RegistrationReminderEmail({
|
|
5102
|
+
slug,
|
|
5103
|
+
recipientFirstName,
|
|
5104
|
+
bookingNumber,
|
|
5105
|
+
totalAdventures,
|
|
5106
|
+
totalTravellers,
|
|
5107
|
+
adventures,
|
|
5108
|
+
ctaUrl,
|
|
5109
|
+
agent,
|
|
5110
|
+
logoUrl,
|
|
5111
|
+
labels,
|
|
5112
|
+
className
|
|
5113
|
+
}) {
|
|
5114
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
5115
|
+
const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS5), labels), {
|
|
5116
|
+
variants: {
|
|
5117
|
+
d_minus_30: __spreadValues(__spreadValues({}, DEFAULT_LABELS5.variants.d_minus_30), (_b = (_a = labels == null ? void 0 : labels.variants) == null ? void 0 : _a.d_minus_30) != null ? _b : {}),
|
|
5118
|
+
d_minus_15: __spreadValues(__spreadValues({}, DEFAULT_LABELS5.variants.d_minus_15), (_d = (_c = labels == null ? void 0 : labels.variants) == null ? void 0 : _c.d_minus_15) != null ? _d : {}),
|
|
5119
|
+
d_minus_7: __spreadValues(__spreadValues({}, DEFAULT_LABELS5.variants.d_minus_7), (_f = (_e = labels == null ? void 0 : labels.variants) == null ? void 0 : _e.d_minus_7) != null ? _f : {}),
|
|
5120
|
+
d_minus_2: __spreadValues(__spreadValues({}, DEFAULT_LABELS5.variants.d_minus_2), (_h = (_g = labels == null ? void 0 : labels.variants) == null ? void 0 : _g.d_minus_2) != null ? _h : {})
|
|
5121
|
+
}
|
|
5122
|
+
});
|
|
5123
|
+
const v = l.variants[slug];
|
|
5124
|
+
const ctaStyle = {
|
|
5125
|
+
display: "inline-block",
|
|
5126
|
+
backgroundColor: emailTokens.primary,
|
|
5127
|
+
color: emailTokens.primaryForeground,
|
|
5128
|
+
padding: "12px 24px",
|
|
5129
|
+
borderRadius: "8px",
|
|
5130
|
+
fontSize: "14px",
|
|
5131
|
+
fontWeight: 700,
|
|
5132
|
+
textDecoration: "none",
|
|
5133
|
+
fontFamily: emailTokens.fontFamily
|
|
5134
|
+
};
|
|
5135
|
+
const summaryRows = [
|
|
5136
|
+
{ label: l.bookingNumberLabel, value: `#${bookingNumber}` },
|
|
5137
|
+
{ label: l.adventuresRowLabel, value: l.adventuresCountLabel(totalAdventures) },
|
|
5138
|
+
{ label: l.travellersRowLabel, value: l.travellersCountLabel(totalTravellers) },
|
|
5139
|
+
...(agent == null ? void 0 : agent.name) ? [{ label: l.agentRowLabel, value: agent.name }] : []
|
|
5140
|
+
];
|
|
5141
|
+
const showPleaseNote = hasText(v.pleaseNoteHeader) && hasItems(v.pleaseNoteBullets);
|
|
5142
|
+
const showBookerCoord = hasText(v.bookerCoordinationNote);
|
|
5143
|
+
const showEarlyBenefit = hasText(v.earlyCompletionBenefit);
|
|
5144
|
+
const showImportant = hasText(v.importantNote);
|
|
5145
|
+
const showFinalTagline = hasText(v.finalReminderTagline);
|
|
5146
|
+
const showMultiTraveller = hasText(v.multiTravellerNote);
|
|
5147
|
+
const showDisregard = hasText(v.disregardIfCompleted);
|
|
5148
|
+
const showClosingThanks = hasText(v.closingThanks);
|
|
5149
|
+
return /* @__PURE__ */ jsxs(
|
|
5150
|
+
"div",
|
|
5151
|
+
{
|
|
5152
|
+
style: {
|
|
5153
|
+
maxWidth: "576px",
|
|
5154
|
+
margin: "0 auto",
|
|
5155
|
+
backgroundColor: emailTokens.white,
|
|
5156
|
+
color: emailTokens.foreground,
|
|
5157
|
+
fontFamily: emailTokens.fontFamily,
|
|
5158
|
+
fontSize: "16px",
|
|
5159
|
+
lineHeight: "1.6",
|
|
5160
|
+
border: `1px solid ${emailTokens.border}`,
|
|
5161
|
+
borderRadius: "12px",
|
|
5162
|
+
overflow: "hidden",
|
|
5163
|
+
padding: "32px"
|
|
5164
|
+
},
|
|
5165
|
+
className,
|
|
5166
|
+
children: [
|
|
5167
|
+
/* @__PURE__ */ jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
|
|
5168
|
+
/* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientFirstName) }),
|
|
5169
|
+
hasText(l.intermediateHello) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
|
|
5170
|
+
hasText(v.intro) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.intro }),
|
|
5171
|
+
hasText(v.contextNote) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
|
|
5172
|
+
showPleaseNote && /* @__PURE__ */ jsxs("div", { style: { marginBottom: "24px" }, children: [
|
|
5173
|
+
/* @__PURE__ */ jsx("p", { style: { marginBottom: "8px", fontWeight: 700, color: emailTokens.foreground }, children: v.pleaseNoteHeader }),
|
|
5174
|
+
/* @__PURE__ */ jsx("ul", { style: { paddingLeft: "20px", margin: 0 }, children: v.pleaseNoteBullets.map((b, i) => /* @__PURE__ */ jsx("li", { style: { marginBottom: "6px", color: emailTokens.bodyText }, children: b }, i)) })
|
|
5175
|
+
] }),
|
|
5176
|
+
showBookerCoord && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.bookerCoordinationNote }),
|
|
5177
|
+
/* @__PURE__ */ jsx(
|
|
5178
|
+
"hr",
|
|
5179
|
+
{
|
|
5180
|
+
style: {
|
|
5181
|
+
border: "none",
|
|
5182
|
+
borderTop: `1px solid ${emailTokens.border}`,
|
|
5183
|
+
marginBottom: "24px"
|
|
5184
|
+
}
|
|
5185
|
+
}
|
|
5186
|
+
),
|
|
5187
|
+
/* @__PURE__ */ jsx(BookingSummary, { heading: l.bookingSummaryHeader, rows: summaryRows }),
|
|
5188
|
+
showImportant && slug === "d_minus_7" && /* @__PURE__ */ jsx(
|
|
5189
|
+
"p",
|
|
5190
|
+
{
|
|
5191
|
+
style: {
|
|
5192
|
+
marginBottom: "20px",
|
|
5193
|
+
padding: "12px 16px",
|
|
5194
|
+
borderRadius: "8px",
|
|
5195
|
+
backgroundColor: "#fef3c7",
|
|
5196
|
+
color: "#78350f",
|
|
5197
|
+
fontWeight: 600
|
|
5198
|
+
},
|
|
5199
|
+
children: v.importantNote
|
|
5200
|
+
}
|
|
5201
|
+
),
|
|
5202
|
+
hasItems(adventures) && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5203
|
+
/* @__PURE__ */ jsx(
|
|
5204
|
+
"p",
|
|
5205
|
+
{
|
|
5206
|
+
style: {
|
|
5207
|
+
marginTop: "8px",
|
|
5208
|
+
marginBottom: "12px",
|
|
5209
|
+
fontWeight: 700,
|
|
5210
|
+
fontSize: "15px",
|
|
5211
|
+
color: emailTokens.foreground
|
|
5212
|
+
},
|
|
5213
|
+
children: l.progressHeader
|
|
5214
|
+
}
|
|
5215
|
+
),
|
|
5216
|
+
hasText(v.progressIntro) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.progressIntro }),
|
|
5217
|
+
adventures.map((adv, i) => /* @__PURE__ */ jsxs(
|
|
5218
|
+
"div",
|
|
5219
|
+
{
|
|
5220
|
+
style: {
|
|
5221
|
+
marginBottom: "20px",
|
|
5222
|
+
padding: "16px",
|
|
5223
|
+
borderRadius: "8px",
|
|
5224
|
+
border: `1px solid ${emailTokens.border}`
|
|
5225
|
+
},
|
|
5226
|
+
children: [
|
|
5227
|
+
/* @__PURE__ */ jsx(
|
|
5228
|
+
"p",
|
|
5229
|
+
{
|
|
5230
|
+
style: {
|
|
5231
|
+
marginTop: 0,
|
|
5232
|
+
marginBottom: "4px",
|
|
5233
|
+
fontWeight: 700,
|
|
5234
|
+
color: emailTokens.foreground
|
|
5235
|
+
},
|
|
5236
|
+
children: adv.name
|
|
5237
|
+
}
|
|
5238
|
+
),
|
|
5239
|
+
/* @__PURE__ */ jsxs(
|
|
5240
|
+
"p",
|
|
5241
|
+
{
|
|
5242
|
+
style: {
|
|
5243
|
+
marginTop: 0,
|
|
5244
|
+
marginBottom: "12px",
|
|
5245
|
+
color: emailTokens.mutedForeground,
|
|
5246
|
+
fontSize: "13px"
|
|
5247
|
+
},
|
|
5248
|
+
children: [
|
|
5249
|
+
l.startsLabel,
|
|
5250
|
+
": ",
|
|
5251
|
+
adv.startDateFormatted
|
|
5252
|
+
]
|
|
5253
|
+
}
|
|
5254
|
+
),
|
|
5255
|
+
/* @__PURE__ */ jsx(
|
|
5256
|
+
RegistrationProgressBar,
|
|
5257
|
+
{
|
|
5258
|
+
completed: adv.completedTravellers,
|
|
5259
|
+
total: adv.totalTravellers,
|
|
5260
|
+
tone: adv.tone,
|
|
5261
|
+
pct: adv.pct,
|
|
5262
|
+
barHex: adv.barHex,
|
|
5263
|
+
labelHex: adv.labelHex,
|
|
5264
|
+
railHex: adv.railHex,
|
|
5265
|
+
label: l.completedFractionLabel(
|
|
5266
|
+
adv.completedTravellers,
|
|
5267
|
+
adv.totalTravellers
|
|
5268
|
+
)
|
|
5269
|
+
}
|
|
5270
|
+
)
|
|
5271
|
+
]
|
|
5272
|
+
},
|
|
5273
|
+
`${adv.name}-${i}`
|
|
5274
|
+
))
|
|
5275
|
+
] }),
|
|
5276
|
+
showEarlyBenefit && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.earlyCompletionBenefit }),
|
|
5277
|
+
(showFinalTagline || showImportant && slug === "d_minus_2") && /* @__PURE__ */ jsxs(
|
|
5278
|
+
"div",
|
|
5279
|
+
{
|
|
5280
|
+
style: {
|
|
5281
|
+
marginBottom: "20px",
|
|
5282
|
+
padding: "12px 16px",
|
|
5283
|
+
borderRadius: "8px",
|
|
5284
|
+
backgroundColor: "#fef2f2",
|
|
5285
|
+
border: "1px solid #fecaca",
|
|
5286
|
+
color: "#7f1d1d"
|
|
5287
|
+
},
|
|
5288
|
+
children: [
|
|
5289
|
+
showFinalTagline && /* @__PURE__ */ jsx("p", { style: { margin: 0, marginBottom: showImportant ? "8px" : 0, fontWeight: 700 }, children: v.finalReminderTagline }),
|
|
5290
|
+
showImportant && slug === "d_minus_2" && /* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: v.importantNote })
|
|
5291
|
+
]
|
|
5292
|
+
}
|
|
5293
|
+
),
|
|
5294
|
+
showMultiTraveller && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.multiTravellerNote }),
|
|
5295
|
+
/* @__PURE__ */ jsx("div", { style: { marginBottom: "24px", textAlign: "left" }, children: /* @__PURE__ */ jsx("a", { href: ctaUrl, style: ctaStyle, children: l.ctaLabel }) }),
|
|
5296
|
+
/* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", fontWeight: 700, color: emailTokens.foreground }, children: (agent == null ? void 0 : agent.name) ? l.closingAgent(agent.name) : l.closingNoAgent }),
|
|
5297
|
+
(agent == null ? void 0 : agent.name) && (agent.whatsappUrl || agent.email) && /* @__PURE__ */ jsxs("p", { style: { marginBottom: "16px", fontSize: "14px" }, children: [
|
|
5298
|
+
agent.whatsappUrl && /* @__PURE__ */ jsx("a", { href: agent.whatsappUrl, style: { color: emailTokens.primary, textDecoration: "none" }, children: "WhatsApp" }),
|
|
5299
|
+
agent.whatsappUrl && agent.email && " \xB7 ",
|
|
5300
|
+
agent.email && /* @__PURE__ */ jsx("a", { href: `mailto:${agent.email}`, style: { color: emailTokens.primary, textDecoration: "none" }, children: agent.email })
|
|
5301
|
+
] }),
|
|
5302
|
+
showDisregard && /* @__PURE__ */ jsx(
|
|
5303
|
+
"p",
|
|
5304
|
+
{
|
|
5305
|
+
style: {
|
|
5306
|
+
marginBottom: "16px",
|
|
5307
|
+
color: emailTokens.mutedForeground,
|
|
5308
|
+
fontSize: "13px",
|
|
5309
|
+
fontStyle: "italic"
|
|
5310
|
+
},
|
|
5311
|
+
children: v.disregardIfCompleted
|
|
5312
|
+
}
|
|
5313
|
+
),
|
|
5314
|
+
showClosingThanks && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.closingThanks }),
|
|
5315
|
+
/* @__PURE__ */ jsx("p", { style: { marginBottom: 0, color: emailTokens.mutedForeground }, children: l.teamSignature })
|
|
5316
|
+
]
|
|
5317
|
+
}
|
|
5318
|
+
);
|
|
5319
|
+
}
|
|
5320
|
+
var DEFAULT_LABELS6 = {
|
|
4922
5321
|
logoAlt: "PlanetaEXO",
|
|
4923
5322
|
greeting: (name) => `Hi ${name},`,
|
|
4924
5323
|
receiptHeading: "Payment receipt",
|
|
@@ -4957,7 +5356,7 @@ function PaymentReceiptEmail({
|
|
|
4957
5356
|
labels,
|
|
4958
5357
|
className
|
|
4959
5358
|
}) {
|
|
4960
|
-
const l = __spreadValues(__spreadValues({},
|
|
5359
|
+
const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS6), labels);
|
|
4961
5360
|
const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
|
|
4962
5361
|
const interestRow = chargedAmount && chargedAmount !== amount;
|
|
4963
5362
|
const receiptRows = [
|
|
@@ -5070,7 +5469,7 @@ function renderEmailLink(contact, label) {
|
|
|
5070
5469
|
return label;
|
|
5071
5470
|
}
|
|
5072
5471
|
var EMPTY_CLOSING_ALTERNATIVE = (_agentName, _contact) => null;
|
|
5073
|
-
var
|
|
5472
|
+
var DEFAULT_LABELS7 = {
|
|
5074
5473
|
logoAlt: "PlanetaEXO",
|
|
5075
5474
|
greeting: (name) => `Hi ${name},`,
|
|
5076
5475
|
intermediateHello: "Hope you're doing well.",
|
|
@@ -5104,28 +5503,28 @@ var DEFAULT_LABELS6 = {
|
|
|
5104
5503
|
dMinus1: {
|
|
5105
5504
|
intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due tomorrow (${d}).`,
|
|
5106
5505
|
secureLine: "To secure your booking, please complete the payment through your booking page using the button below:",
|
|
5107
|
-
closingThanks: "Many thanks
|
|
5506
|
+
closingThanks: "Many thanks.",
|
|
5108
5507
|
disregardIfPaid: "",
|
|
5109
5508
|
closingAlternative: EMPTY_CLOSING_ALTERNATIVE
|
|
5110
5509
|
},
|
|
5111
5510
|
dZero: {
|
|
5112
5511
|
intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due today (${d}).`,
|
|
5113
5512
|
secureLine: "To keep your booking confirmed, please complete the payment through your booking page using the button below:",
|
|
5114
|
-
closingThanks: "Many thanks
|
|
5513
|
+
closingThanks: "Many thanks.",
|
|
5115
5514
|
disregardIfPaid: "",
|
|
5116
5515
|
closingAlternative: EMPTY_CLOSING_ALTERNATIVE
|
|
5117
5516
|
},
|
|
5118
5517
|
dPlus1: {
|
|
5119
5518
|
intro: (b, d) => `We noticed that the remaining balance for your booking #${b} with PlanetaEXO was due yesterday (${d}) and is still pending.`,
|
|
5120
5519
|
secureLine: "To avoid any impact on your booking confirmation, we kindly ask you to complete the payment as soon as possible through your booking page:",
|
|
5121
|
-
closingThanks: "Thank you
|
|
5520
|
+
closingThanks: "Thank you.",
|
|
5122
5521
|
disregardIfPaid: "If you have already completed the payment, please disregard this message.",
|
|
5123
5522
|
closingAlternative: EMPTY_CLOSING_ALTERNATIVE
|
|
5124
5523
|
},
|
|
5125
5524
|
dPlus2: {
|
|
5126
5525
|
intro: (b, d) => `This is a final reminder regarding the remaining balance for your booking #${b} with PlanetaEXO, which was due on ${d} and is still pending.`,
|
|
5127
5526
|
secureLine: "To avoid any impact on your booking status or availability, we kindly ask you to complete the payment as soon as possible through your booking page:",
|
|
5128
|
-
closingThanks: "Thank you for your attention
|
|
5527
|
+
closingThanks: "Thank you for your attention.",
|
|
5129
5528
|
disregardIfPaid: "If you have already completed the payment, please disregard this message.",
|
|
5130
5529
|
closingAlternative: (agentName, contact) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5131
5530
|
"If you are experiencing any issues with payment or need additional time, please contact your agent ",
|
|
@@ -5157,7 +5556,7 @@ function PaymentReminderEmail({
|
|
|
5157
5556
|
}) {
|
|
5158
5557
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
|
|
5159
5558
|
const lOverride = labels != null ? labels : {};
|
|
5160
|
-
const variantDefaults =
|
|
5559
|
+
const variantDefaults = DEFAULT_LABELS7.variants[variant];
|
|
5161
5560
|
const variantOverride = (_b = (_a = lOverride.variants) == null ? void 0 : _a[variant]) != null ? _b : {};
|
|
5162
5561
|
const variantLabels = {
|
|
5163
5562
|
intro: (_c = variantOverride.intro) != null ? _c : variantDefaults.intro,
|
|
@@ -5167,19 +5566,19 @@ function PaymentReminderEmail({
|
|
|
5167
5566
|
closingAlternative: (_f = variantOverride.closingAlternative) != null ? _f : variantDefaults.closingAlternative
|
|
5168
5567
|
};
|
|
5169
5568
|
const l = {
|
|
5170
|
-
logoAlt: (_g = lOverride.logoAlt) != null ? _g :
|
|
5171
|
-
greeting: (_h = lOverride.greeting) != null ? _h :
|
|
5172
|
-
intermediateHello: (_i = lOverride.intermediateHello) != null ? _i :
|
|
5173
|
-
bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j :
|
|
5174
|
-
amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k :
|
|
5175
|
-
remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l :
|
|
5176
|
-
totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m :
|
|
5177
|
-
paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n :
|
|
5178
|
-
ctaLabel: (_o = lOverride.ctaLabel) != null ? _o :
|
|
5179
|
-
teamSignature: (_p = lOverride.teamSignature) != null ? _p :
|
|
5180
|
-
closingAgent: (_q = lOverride.closingAgent) != null ? _q :
|
|
5181
|
-
closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r :
|
|
5182
|
-
adventureCard: __spreadValues(__spreadValues({},
|
|
5569
|
+
logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS7.logoAlt,
|
|
5570
|
+
greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS7.greeting,
|
|
5571
|
+
intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS7.intermediateHello,
|
|
5572
|
+
bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS7.bookingSummaryHeader,
|
|
5573
|
+
amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS7.amountAlreadyPaidLabel,
|
|
5574
|
+
remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS7.remainingBalanceDueLabel,
|
|
5575
|
+
totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS7.totalBookingAmountLabel,
|
|
5576
|
+
paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n : DEFAULT_LABELS7.paymentDetailsHeading,
|
|
5577
|
+
ctaLabel: (_o = lOverride.ctaLabel) != null ? _o : DEFAULT_LABELS7.ctaLabel,
|
|
5578
|
+
teamSignature: (_p = lOverride.teamSignature) != null ? _p : DEFAULT_LABELS7.teamSignature,
|
|
5579
|
+
closingAgent: (_q = lOverride.closingAgent) != null ? _q : DEFAULT_LABELS7.closingAgent,
|
|
5580
|
+
closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r : DEFAULT_LABELS7.closingNoAgent,
|
|
5581
|
+
adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS7.adventureCard), (_s = lOverride.adventureCard) != null ? _s : {})
|
|
5183
5582
|
};
|
|
5184
5583
|
const ctaStyle = {
|
|
5185
5584
|
display: "inline-block",
|
|
@@ -5265,6 +5664,8 @@ function PaymentReminderEmail({
|
|
|
5265
5664
|
travellerCount: adv.travellerCount,
|
|
5266
5665
|
travellers: adv.travellers,
|
|
5267
5666
|
itinerary: adv.itinerary,
|
|
5667
|
+
image: adv.image,
|
|
5668
|
+
imageAlt: adv.imageAlt,
|
|
5268
5669
|
lineItems: adv.lineItems.map((li) => ({
|
|
5269
5670
|
unitPrice: li.unitPrice,
|
|
5270
5671
|
quantity: li.quantity,
|
|
@@ -5993,7 +6394,7 @@ function BookingForm({
|
|
|
5993
6394
|
}
|
|
5994
6395
|
);
|
|
5995
6396
|
}
|
|
5996
|
-
var
|
|
6397
|
+
var DEFAULT_LABELS8 = {
|
|
5997
6398
|
formSubtitle: "To confirm your participation, please complete this short form. It's required for all travellers and helps us coordinate logistics with our local partners and tailor the experience to you.",
|
|
5998
6399
|
detailsSectionTitle: "Your details",
|
|
5999
6400
|
tripInfoSectionTitle: "Trip info",
|
|
@@ -6658,7 +7059,7 @@ function RegistrationForm({
|
|
|
6658
7059
|
}) {
|
|
6659
7060
|
var _a;
|
|
6660
7061
|
const L = React25.useMemo(
|
|
6661
|
-
() => __spreadValues(__spreadValues({},
|
|
7062
|
+
() => __spreadValues(__spreadValues({}, DEFAULT_LABELS8), labels != null ? labels : {}),
|
|
6662
7063
|
[labels]
|
|
6663
7064
|
);
|
|
6664
7065
|
const sortedFields = React25.useMemo(
|
|
@@ -11256,6 +11657,6 @@ function LeadCapturePopup({
|
|
|
11256
11657
|
);
|
|
11257
11658
|
}
|
|
11258
11659
|
|
|
11259
|
-
export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingAdventureCard, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, ItineraryDay, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentDetailsBlock, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PaymentReminderEmail, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TransferDetailsBlock, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, TrustpilotEmbed, buttonVariants, cn, emailTokens, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, wrapEmailHtml };
|
|
11660
|
+
export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingAdventureCard, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, BookingSummary, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, ItineraryDay, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentDetailsBlock, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PaymentReminderEmail, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationProgressBar, RegistrationReminderEmail, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TransferDetailsBlock, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, TrustpilotEmbed, buttonVariants, cn, emailTokens, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, wrapEmailHtml };
|
|
11260
11661
|
//# sourceMappingURL=index.js.map
|
|
11261
11662
|
//# sourceMappingURL=index.js.map
|