@planetaexo/design-system 0.28.0 → 0.30.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 +456 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +156 -1
- package/dist/index.d.ts +156 -1
- package/dist/index.js +454 -33
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -4819,6 +4819,36 @@ function BookingConfirmation({
|
|
|
4819
4819
|
}
|
|
4820
4820
|
);
|
|
4821
4821
|
}
|
|
4822
|
+
function BookingSummary({ heading, rows, className }) {
|
|
4823
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, style: { marginBottom: "32px" }, children: [
|
|
4824
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4825
|
+
"p",
|
|
4826
|
+
{
|
|
4827
|
+
style: {
|
|
4828
|
+
marginBottom: "16px",
|
|
4829
|
+
fontWeight: "700",
|
|
4830
|
+
color: emailTokens.foreground,
|
|
4831
|
+
fontFamily: emailTokens.fontFamily
|
|
4832
|
+
},
|
|
4833
|
+
children: heading
|
|
4834
|
+
}
|
|
4835
|
+
),
|
|
4836
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4837
|
+
"table",
|
|
4838
|
+
{
|
|
4839
|
+
style: {
|
|
4840
|
+
width: "100%",
|
|
4841
|
+
fontSize: "14px",
|
|
4842
|
+
borderCollapse: "collapse"
|
|
4843
|
+
},
|
|
4844
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((row, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {}, children: [
|
|
4845
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "4px 16px 4px 0", color: emailTokens.mutedForeground }, children: row.label }),
|
|
4846
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "4px 0", fontWeight: "500", color: emailTokens.foreground }, children: row.value })
|
|
4847
|
+
] }, i)) })
|
|
4848
|
+
}
|
|
4849
|
+
)
|
|
4850
|
+
] });
|
|
4851
|
+
}
|
|
4822
4852
|
var DEFAULT_LABELS4 = {
|
|
4823
4853
|
ctaButton: "Add travellers to your booking",
|
|
4824
4854
|
logoAlt: "PlanetaEXO",
|
|
@@ -4898,11 +4928,7 @@ function BookingConfirmationEmail({
|
|
|
4898
4928
|
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.addTravellersInstruction }),
|
|
4899
4929
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "32px" }, children: AddTravellersCta }),
|
|
4900
4930
|
/* @__PURE__ */ jsxRuntime.jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "32px" } }),
|
|
4901
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
4902
|
-
/* @__PURE__ */ jsxRuntime.jsx("table", { style: { width: "100%", fontSize: "14px", marginBottom: "32px", borderCollapse: "collapse" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: tableRows.map((row, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {}, children: [
|
|
4903
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "4px 16px 4px 0", color: emailTokens.mutedForeground }, children: row.label }),
|
|
4904
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "4px 0", fontWeight: "500", color: emailTokens.foreground }, children: row.value })
|
|
4905
|
-
] }, i)) }) }),
|
|
4931
|
+
/* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.summaryHeading, rows: tableRows }),
|
|
4906
4932
|
showNextSteps && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4907
4933
|
/* @__PURE__ */ jsxRuntime.jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "32px" } }),
|
|
4908
4934
|
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "20px", fontWeight: "700", color: emailTokens.foreground, fontFamily: emailTokens.fontFamily, fontSize: "18px" }, children: l.nextStepsHeading }),
|
|
@@ -4939,7 +4965,402 @@ function BookingConfirmationEmail({
|
|
|
4939
4965
|
}
|
|
4940
4966
|
);
|
|
4941
4967
|
}
|
|
4968
|
+
function RegistrationProgressBar({
|
|
4969
|
+
tone,
|
|
4970
|
+
pct,
|
|
4971
|
+
barHex,
|
|
4972
|
+
labelHex,
|
|
4973
|
+
railHex,
|
|
4974
|
+
label
|
|
4975
|
+
}) {
|
|
4976
|
+
const rail = railHex != null ? railHex : "#e5e7eb";
|
|
4977
|
+
const isComplete = tone === "complete";
|
|
4978
|
+
const indicator = isComplete ? "\u2714" : "\u26A0";
|
|
4979
|
+
const safePct = Math.max(0, Math.min(100, pct));
|
|
4980
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4981
|
+
"table",
|
|
4982
|
+
{
|
|
4983
|
+
cellPadding: 0,
|
|
4984
|
+
cellSpacing: 0,
|
|
4985
|
+
style: { width: "100%", borderCollapse: "collapse" },
|
|
4986
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
|
|
4987
|
+
/* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { style: { textAlign: "right", paddingBottom: "6px" }, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4988
|
+
"span",
|
|
4989
|
+
{
|
|
4990
|
+
style: {
|
|
4991
|
+
fontWeight: 700,
|
|
4992
|
+
color: labelHex,
|
|
4993
|
+
fontSize: "13px"
|
|
4994
|
+
},
|
|
4995
|
+
children: [
|
|
4996
|
+
label,
|
|
4997
|
+
" ",
|
|
4998
|
+
indicator
|
|
4999
|
+
]
|
|
5000
|
+
}
|
|
5001
|
+
) }) }),
|
|
5002
|
+
/* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5003
|
+
"td",
|
|
5004
|
+
{
|
|
5005
|
+
style: {
|
|
5006
|
+
background: rail,
|
|
5007
|
+
height: "12px",
|
|
5008
|
+
borderRadius: "6px",
|
|
5009
|
+
overflow: "hidden",
|
|
5010
|
+
lineHeight: 0,
|
|
5011
|
+
fontSize: 0
|
|
5012
|
+
},
|
|
5013
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5014
|
+
"div",
|
|
5015
|
+
{
|
|
5016
|
+
style: {
|
|
5017
|
+
background: barHex,
|
|
5018
|
+
width: `${safePct}%`,
|
|
5019
|
+
height: "12px",
|
|
5020
|
+
borderRadius: "6px"
|
|
5021
|
+
}
|
|
5022
|
+
}
|
|
5023
|
+
)
|
|
5024
|
+
}
|
|
5025
|
+
) })
|
|
5026
|
+
] })
|
|
5027
|
+
}
|
|
5028
|
+
) });
|
|
5029
|
+
}
|
|
5030
|
+
var INLINE_LINK_STYLE = {
|
|
5031
|
+
color: emailTokens.primary,
|
|
5032
|
+
textDecoration: "underline"
|
|
5033
|
+
};
|
|
5034
|
+
function renderWhatsappLink(contact, label) {
|
|
5035
|
+
if (contact.whatsappUrl) {
|
|
5036
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE, children: label });
|
|
5037
|
+
}
|
|
5038
|
+
return label;
|
|
5039
|
+
}
|
|
5040
|
+
function renderEmailLink(contact, label) {
|
|
5041
|
+
if (contact.email) {
|
|
5042
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE, children: label });
|
|
5043
|
+
}
|
|
5044
|
+
return label;
|
|
5045
|
+
}
|
|
4942
5046
|
var DEFAULT_LABELS5 = {
|
|
5047
|
+
logoAlt: "PlanetaEXO",
|
|
5048
|
+
greeting: (n) => `Hi ${n},`,
|
|
5049
|
+
intermediateHello: "Hope you're doing well.",
|
|
5050
|
+
bookingSummaryHeader: "Booking summary",
|
|
5051
|
+
bookingNumberLabel: "Booking number",
|
|
5052
|
+
adventuresCountLabel: (c) => `${c} adventure${c === 1 ? "" : "s"}`,
|
|
5053
|
+
travellersCountLabel: (c) => `${c} traveller${c === 1 ? "" : "s"}`,
|
|
5054
|
+
adventuresRowLabel: "Adventures",
|
|
5055
|
+
travellersRowLabel: "Total travellers",
|
|
5056
|
+
agentRowLabel: "Agent",
|
|
5057
|
+
progressHeader: "Registration progress",
|
|
5058
|
+
startsLabel: "Starts",
|
|
5059
|
+
completedFractionLabel: (c, total) => `Completed: ${c} / ${total} travellers`,
|
|
5060
|
+
ctaLabel: "View Booking & Registrations",
|
|
5061
|
+
closingAgent: (agentName, contact) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5062
|
+
"If you need any assistance with the traveller registrations, feel free to contact your agent ",
|
|
5063
|
+
agentName,
|
|
5064
|
+
" via ",
|
|
5065
|
+
renderWhatsappLink(contact, "WhatsApp"),
|
|
5066
|
+
" or ",
|
|
5067
|
+
renderEmailLink(contact, "email"),
|
|
5068
|
+
"."
|
|
5069
|
+
] }),
|
|
5070
|
+
closingNoAgent: "If you need any assistance with the traveller registrations, feel free to contact us via WhatsApp or email.",
|
|
5071
|
+
teamSignature: "The PlanetaEXO Team",
|
|
5072
|
+
variants: {
|
|
5073
|
+
d_minus_30: {
|
|
5074
|
+
subject: "Complete Traveller Registration for Your Upcoming Adventure",
|
|
5075
|
+
intro: "Your adventure with PlanetaEXO is getting closer, and there is one important step remaining before departure.",
|
|
5076
|
+
contextNote: "To help us prepare logistics and ensure your experience runs smoothly, all travellers must complete their registration before the adventure starts.",
|
|
5077
|
+
pleaseNoteHeader: "Please note:",
|
|
5078
|
+
pleaseNoteBullets: [
|
|
5079
|
+
"Registration is mandatory for each traveller included in the booking",
|
|
5080
|
+
"If your booking includes multiple adventures, registration must be completed for each adventure separately",
|
|
5081
|
+
"Every traveller receives reminders to complete their own registration by email",
|
|
5082
|
+
"You can manage registrations, add travellers, edit traveller information, and track completion status through your booking page"
|
|
5083
|
+
],
|
|
5084
|
+
progressIntro: "Please complete any pending registrations through your booking page:",
|
|
5085
|
+
bookerCoordinationNote: "",
|
|
5086
|
+
earlyCompletionBenefit: "",
|
|
5087
|
+
importantNote: "",
|
|
5088
|
+
finalReminderTagline: "",
|
|
5089
|
+
multiTravellerNote: "",
|
|
5090
|
+
disregardIfCompleted: "",
|
|
5091
|
+
closingThanks: ""
|
|
5092
|
+
},
|
|
5093
|
+
d_minus_15: {
|
|
5094
|
+
subject: "Reminder: Traveller Registration Still Pending",
|
|
5095
|
+
intro: "This is a reminder that one or more traveller registrations linked to your booking remain incomplete.",
|
|
5096
|
+
contextNote: "Registration is required for operational planning and must be completed before departure.",
|
|
5097
|
+
pleaseNoteHeader: "",
|
|
5098
|
+
pleaseNoteBullets: [],
|
|
5099
|
+
bookerCoordinationNote: "Every traveller receives registration reminders by email. If you are organising the trip for the group, please ensure all travellers complete their registration.",
|
|
5100
|
+
progressIntro: "Please review your booking page to complete pending registrations or update traveller information:",
|
|
5101
|
+
earlyCompletionBenefit: "Completing registrations early helps avoid delays with accommodation, transfers, and activity confirmations.",
|
|
5102
|
+
importantNote: "",
|
|
5103
|
+
finalReminderTagline: "",
|
|
5104
|
+
multiTravellerNote: "",
|
|
5105
|
+
disregardIfCompleted: "",
|
|
5106
|
+
closingThanks: ""
|
|
5107
|
+
},
|
|
5108
|
+
d_minus_7: {
|
|
5109
|
+
subject: "Action Required: Complete Traveller Registration Before Departure",
|
|
5110
|
+
intro: "Your adventure begins in one week, and there are still incomplete traveller registrations linked to your booking.",
|
|
5111
|
+
contextNote: "Please ensure all pending registrations are completed as soon as possible.",
|
|
5112
|
+
importantNote: "Important: Registration is mandatory and required for participation in the adventure.",
|
|
5113
|
+
progressIntro: "Review your booking page to complete missing information:",
|
|
5114
|
+
multiTravellerNote: "If your booking includes multiple travellers, please ensure every traveller completes their registration before departure.",
|
|
5115
|
+
pleaseNoteHeader: "",
|
|
5116
|
+
pleaseNoteBullets: [],
|
|
5117
|
+
bookerCoordinationNote: "",
|
|
5118
|
+
earlyCompletionBenefit: "",
|
|
5119
|
+
finalReminderTagline: "",
|
|
5120
|
+
disregardIfCompleted: "",
|
|
5121
|
+
closingThanks: ""
|
|
5122
|
+
},
|
|
5123
|
+
d_minus_2: {
|
|
5124
|
+
subject: "Final Reminder: Registration Required Before Departure",
|
|
5125
|
+
intro: "Your adventure starts in 2 days, and one or more traveller registrations remain incomplete.",
|
|
5126
|
+
finalReminderTagline: "This is a final reminder.",
|
|
5127
|
+
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.",
|
|
5128
|
+
progressIntro: "Please complete all pending registrations immediately through your booking page:",
|
|
5129
|
+
disregardIfCompleted: "If registrations have already been completed, please disregard this email.",
|
|
5130
|
+
closingThanks: "We look forward to welcoming you soon.",
|
|
5131
|
+
contextNote: "",
|
|
5132
|
+
pleaseNoteHeader: "",
|
|
5133
|
+
pleaseNoteBullets: [],
|
|
5134
|
+
bookerCoordinationNote: "",
|
|
5135
|
+
earlyCompletionBenefit: "",
|
|
5136
|
+
multiTravellerNote: ""
|
|
5137
|
+
}
|
|
5138
|
+
}
|
|
5139
|
+
};
|
|
5140
|
+
function hasText(s) {
|
|
5141
|
+
return typeof s === "string" && s.trim().length > 0;
|
|
5142
|
+
}
|
|
5143
|
+
function hasItems(arr) {
|
|
5144
|
+
return Array.isArray(arr) && arr.length > 0;
|
|
5145
|
+
}
|
|
5146
|
+
function RegistrationReminderEmail({
|
|
5147
|
+
slug,
|
|
5148
|
+
recipientFirstName,
|
|
5149
|
+
bookingNumber,
|
|
5150
|
+
totalAdventures,
|
|
5151
|
+
totalTravellers,
|
|
5152
|
+
adventures,
|
|
5153
|
+
ctaUrl,
|
|
5154
|
+
agent,
|
|
5155
|
+
logoUrl,
|
|
5156
|
+
labels,
|
|
5157
|
+
className
|
|
5158
|
+
}) {
|
|
5159
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
5160
|
+
const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS5), labels), {
|
|
5161
|
+
variants: {
|
|
5162
|
+
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 : {}),
|
|
5163
|
+
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 : {}),
|
|
5164
|
+
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 : {}),
|
|
5165
|
+
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 : {})
|
|
5166
|
+
}
|
|
5167
|
+
});
|
|
5168
|
+
const v = l.variants[slug];
|
|
5169
|
+
const ctaStyle = {
|
|
5170
|
+
display: "inline-block",
|
|
5171
|
+
backgroundColor: emailTokens.primary,
|
|
5172
|
+
color: emailTokens.primaryForeground,
|
|
5173
|
+
padding: "12px 24px",
|
|
5174
|
+
borderRadius: "8px",
|
|
5175
|
+
fontSize: "14px",
|
|
5176
|
+
fontWeight: 700,
|
|
5177
|
+
textDecoration: "none",
|
|
5178
|
+
fontFamily: emailTokens.fontFamily
|
|
5179
|
+
};
|
|
5180
|
+
const summaryRows = [
|
|
5181
|
+
{ label: l.bookingNumberLabel, value: `#${bookingNumber}` },
|
|
5182
|
+
{ label: l.adventuresRowLabel, value: l.adventuresCountLabel(totalAdventures) },
|
|
5183
|
+
{ label: l.travellersRowLabel, value: l.travellersCountLabel(totalTravellers) },
|
|
5184
|
+
...(agent == null ? void 0 : agent.name) ? [{ label: l.agentRowLabel, value: agent.name }] : []
|
|
5185
|
+
];
|
|
5186
|
+
const showPleaseNote = hasText(v.pleaseNoteHeader) && hasItems(v.pleaseNoteBullets);
|
|
5187
|
+
const showBookerCoord = hasText(v.bookerCoordinationNote);
|
|
5188
|
+
const showEarlyBenefit = hasText(v.earlyCompletionBenefit);
|
|
5189
|
+
const showImportant = hasText(v.importantNote);
|
|
5190
|
+
const showFinalTagline = hasText(v.finalReminderTagline);
|
|
5191
|
+
const showMultiTraveller = hasText(v.multiTravellerNote);
|
|
5192
|
+
const showDisregard = hasText(v.disregardIfCompleted);
|
|
5193
|
+
const showClosingThanks = hasText(v.closingThanks);
|
|
5194
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5195
|
+
"div",
|
|
5196
|
+
{
|
|
5197
|
+
style: {
|
|
5198
|
+
maxWidth: "576px",
|
|
5199
|
+
margin: "0 auto",
|
|
5200
|
+
backgroundColor: emailTokens.white,
|
|
5201
|
+
color: emailTokens.foreground,
|
|
5202
|
+
fontFamily: emailTokens.fontFamily,
|
|
5203
|
+
fontSize: "16px",
|
|
5204
|
+
lineHeight: "1.6",
|
|
5205
|
+
border: `1px solid ${emailTokens.border}`,
|
|
5206
|
+
borderRadius: "12px",
|
|
5207
|
+
overflow: "hidden",
|
|
5208
|
+
padding: "32px"
|
|
5209
|
+
},
|
|
5210
|
+
className,
|
|
5211
|
+
children: [
|
|
5212
|
+
/* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
|
|
5213
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientFirstName) }),
|
|
5214
|
+
hasText(l.intermediateHello) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
|
|
5215
|
+
hasText(v.intro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.intro }),
|
|
5216
|
+
hasText(v.contextNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
|
|
5217
|
+
showPleaseNote && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginBottom: "24px" }, children: [
|
|
5218
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "8px", fontWeight: 700, color: emailTokens.foreground }, children: v.pleaseNoteHeader }),
|
|
5219
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { style: { paddingLeft: "20px", margin: 0 }, children: v.pleaseNoteBullets.map((b, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { style: { marginBottom: "6px", color: emailTokens.bodyText }, children: b }, i)) })
|
|
5220
|
+
] }),
|
|
5221
|
+
showBookerCoord && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.bookerCoordinationNote }),
|
|
5222
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5223
|
+
"hr",
|
|
5224
|
+
{
|
|
5225
|
+
style: {
|
|
5226
|
+
border: "none",
|
|
5227
|
+
borderTop: `1px solid ${emailTokens.border}`,
|
|
5228
|
+
marginBottom: "24px"
|
|
5229
|
+
}
|
|
5230
|
+
}
|
|
5231
|
+
),
|
|
5232
|
+
/* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.bookingSummaryHeader, rows: summaryRows }),
|
|
5233
|
+
showImportant && slug === "d_minus_7" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5234
|
+
"p",
|
|
5235
|
+
{
|
|
5236
|
+
style: {
|
|
5237
|
+
marginBottom: "20px",
|
|
5238
|
+
padding: "12px 16px",
|
|
5239
|
+
borderRadius: "8px",
|
|
5240
|
+
backgroundColor: "#fef3c7",
|
|
5241
|
+
color: "#78350f",
|
|
5242
|
+
fontWeight: 600
|
|
5243
|
+
},
|
|
5244
|
+
children: v.importantNote
|
|
5245
|
+
}
|
|
5246
|
+
),
|
|
5247
|
+
hasItems(adventures) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5248
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5249
|
+
"p",
|
|
5250
|
+
{
|
|
5251
|
+
style: {
|
|
5252
|
+
marginTop: "8px",
|
|
5253
|
+
marginBottom: "12px",
|
|
5254
|
+
fontWeight: 700,
|
|
5255
|
+
fontSize: "15px",
|
|
5256
|
+
color: emailTokens.foreground
|
|
5257
|
+
},
|
|
5258
|
+
children: l.progressHeader
|
|
5259
|
+
}
|
|
5260
|
+
),
|
|
5261
|
+
hasText(v.progressIntro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.progressIntro }),
|
|
5262
|
+
adventures.map((adv, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5263
|
+
"div",
|
|
5264
|
+
{
|
|
5265
|
+
style: {
|
|
5266
|
+
marginBottom: "20px",
|
|
5267
|
+
padding: "16px",
|
|
5268
|
+
borderRadius: "8px",
|
|
5269
|
+
border: `1px solid ${emailTokens.border}`
|
|
5270
|
+
},
|
|
5271
|
+
children: [
|
|
5272
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5273
|
+
"p",
|
|
5274
|
+
{
|
|
5275
|
+
style: {
|
|
5276
|
+
marginTop: 0,
|
|
5277
|
+
marginBottom: "4px",
|
|
5278
|
+
fontWeight: 700,
|
|
5279
|
+
color: emailTokens.foreground
|
|
5280
|
+
},
|
|
5281
|
+
children: adv.name
|
|
5282
|
+
}
|
|
5283
|
+
),
|
|
5284
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5285
|
+
"p",
|
|
5286
|
+
{
|
|
5287
|
+
style: {
|
|
5288
|
+
marginTop: 0,
|
|
5289
|
+
marginBottom: "12px",
|
|
5290
|
+
color: emailTokens.mutedForeground,
|
|
5291
|
+
fontSize: "13px"
|
|
5292
|
+
},
|
|
5293
|
+
children: [
|
|
5294
|
+
l.startsLabel,
|
|
5295
|
+
": ",
|
|
5296
|
+
adv.startDateFormatted
|
|
5297
|
+
]
|
|
5298
|
+
}
|
|
5299
|
+
),
|
|
5300
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5301
|
+
RegistrationProgressBar,
|
|
5302
|
+
{
|
|
5303
|
+
completed: adv.completedTravellers,
|
|
5304
|
+
total: adv.totalTravellers,
|
|
5305
|
+
tone: adv.tone,
|
|
5306
|
+
pct: adv.pct,
|
|
5307
|
+
barHex: adv.barHex,
|
|
5308
|
+
labelHex: adv.labelHex,
|
|
5309
|
+
railHex: adv.railHex,
|
|
5310
|
+
label: l.completedFractionLabel(
|
|
5311
|
+
adv.completedTravellers,
|
|
5312
|
+
adv.totalTravellers
|
|
5313
|
+
)
|
|
5314
|
+
}
|
|
5315
|
+
)
|
|
5316
|
+
]
|
|
5317
|
+
},
|
|
5318
|
+
`${adv.name}-${i}`
|
|
5319
|
+
))
|
|
5320
|
+
] }),
|
|
5321
|
+
showEarlyBenefit && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.earlyCompletionBenefit }),
|
|
5322
|
+
(showFinalTagline || showImportant && slug === "d_minus_2") && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5323
|
+
"div",
|
|
5324
|
+
{
|
|
5325
|
+
style: {
|
|
5326
|
+
marginBottom: "20px",
|
|
5327
|
+
padding: "12px 16px",
|
|
5328
|
+
borderRadius: "8px",
|
|
5329
|
+
backgroundColor: "#fef2f2",
|
|
5330
|
+
border: "1px solid #fecaca",
|
|
5331
|
+
color: "#7f1d1d"
|
|
5332
|
+
},
|
|
5333
|
+
children: [
|
|
5334
|
+
showFinalTagline && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0, marginBottom: showImportant ? "8px" : 0, fontWeight: 700 }, children: v.finalReminderTagline }),
|
|
5335
|
+
showImportant && slug === "d_minus_2" && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: v.importantNote })
|
|
5336
|
+
]
|
|
5337
|
+
}
|
|
5338
|
+
),
|
|
5339
|
+
showMultiTraveller && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.multiTravellerNote }),
|
|
5340
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "24px", textAlign: "left" }, children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: ctaUrl, style: ctaStyle, children: l.ctaLabel }) }),
|
|
5341
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", fontWeight: 700, color: emailTokens.bodyText }, children: (agent == null ? void 0 : agent.name) ? l.closingAgent(agent.name, {
|
|
5342
|
+
whatsappUrl: agent.whatsappUrl,
|
|
5343
|
+
email: agent.email
|
|
5344
|
+
}) : l.closingNoAgent }),
|
|
5345
|
+
showDisregard && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5346
|
+
"p",
|
|
5347
|
+
{
|
|
5348
|
+
style: {
|
|
5349
|
+
marginBottom: "16px",
|
|
5350
|
+
color: emailTokens.mutedForeground,
|
|
5351
|
+
fontSize: "13px",
|
|
5352
|
+
fontStyle: "italic"
|
|
5353
|
+
},
|
|
5354
|
+
children: v.disregardIfCompleted
|
|
5355
|
+
}
|
|
5356
|
+
),
|
|
5357
|
+
showClosingThanks && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: v.closingThanks }),
|
|
5358
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "14px", color: emailTokens.bodyText }, children: l.teamSignature })
|
|
5359
|
+
]
|
|
5360
|
+
}
|
|
5361
|
+
);
|
|
5362
|
+
}
|
|
5363
|
+
var DEFAULT_LABELS6 = {
|
|
4943
5364
|
logoAlt: "PlanetaEXO",
|
|
4944
5365
|
greeting: (name) => `Hi ${name},`,
|
|
4945
5366
|
receiptHeading: "Payment receipt",
|
|
@@ -4978,7 +5399,7 @@ function PaymentReceiptEmail({
|
|
|
4978
5399
|
labels,
|
|
4979
5400
|
className
|
|
4980
5401
|
}) {
|
|
4981
|
-
const l = __spreadValues(__spreadValues({},
|
|
5402
|
+
const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS6), labels);
|
|
4982
5403
|
const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
|
|
4983
5404
|
const interestRow = chargedAmount && chargedAmount !== amount;
|
|
4984
5405
|
const receiptRows = [
|
|
@@ -5074,24 +5495,24 @@ function PaymentReceiptEmail({
|
|
|
5074
5495
|
}
|
|
5075
5496
|
);
|
|
5076
5497
|
}
|
|
5077
|
-
var
|
|
5498
|
+
var INLINE_LINK_STYLE2 = {
|
|
5078
5499
|
color: emailTokens.primary,
|
|
5079
5500
|
textDecoration: "underline"
|
|
5080
5501
|
};
|
|
5081
|
-
function
|
|
5502
|
+
function renderWhatsappLink2(contact, label) {
|
|
5082
5503
|
if (contact.whatsappUrl) {
|
|
5083
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style:
|
|
5504
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE2, children: label });
|
|
5084
5505
|
}
|
|
5085
5506
|
return label;
|
|
5086
5507
|
}
|
|
5087
|
-
function
|
|
5508
|
+
function renderEmailLink2(contact, label) {
|
|
5088
5509
|
if (contact.email) {
|
|
5089
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style:
|
|
5510
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE2, children: label });
|
|
5090
5511
|
}
|
|
5091
5512
|
return label;
|
|
5092
5513
|
}
|
|
5093
5514
|
var EMPTY_CLOSING_ALTERNATIVE = (_agentName, _contact) => null;
|
|
5094
|
-
var
|
|
5515
|
+
var DEFAULT_LABELS7 = {
|
|
5095
5516
|
logoAlt: "PlanetaEXO",
|
|
5096
5517
|
greeting: (name) => `Hi ${name},`,
|
|
5097
5518
|
intermediateHello: "Hope you're doing well.",
|
|
@@ -5106,9 +5527,9 @@ var DEFAULT_LABELS6 = {
|
|
|
5106
5527
|
"If you need any assistance or would like to discuss your payment, feel free to contact your agent ",
|
|
5107
5528
|
agentName,
|
|
5108
5529
|
" via ",
|
|
5109
|
-
|
|
5530
|
+
renderWhatsappLink2(contact, "WhatsApp"),
|
|
5110
5531
|
" or ",
|
|
5111
|
-
|
|
5532
|
+
renderEmailLink2(contact, "email"),
|
|
5112
5533
|
"."
|
|
5113
5534
|
] }),
|
|
5114
5535
|
closingNoAgent: "If you need any assistance or would like to discuss your payment, feel free to contact us via WhatsApp or email.",
|
|
@@ -5152,9 +5573,9 @@ var DEFAULT_LABELS6 = {
|
|
|
5152
5573
|
"If you are experiencing any issues with payment or need additional time, please contact your agent ",
|
|
5153
5574
|
agentName,
|
|
5154
5575
|
" via ",
|
|
5155
|
-
|
|
5576
|
+
renderWhatsappLink2(contact, "WhatsApp"),
|
|
5156
5577
|
" or ",
|
|
5157
|
-
|
|
5578
|
+
renderEmailLink2(contact, "email"),
|
|
5158
5579
|
". We'll be happy to assist."
|
|
5159
5580
|
] })
|
|
5160
5581
|
}
|
|
@@ -5178,7 +5599,7 @@ function PaymentReminderEmail({
|
|
|
5178
5599
|
}) {
|
|
5179
5600
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
|
|
5180
5601
|
const lOverride = labels != null ? labels : {};
|
|
5181
|
-
const variantDefaults =
|
|
5602
|
+
const variantDefaults = DEFAULT_LABELS7.variants[variant];
|
|
5182
5603
|
const variantOverride = (_b = (_a = lOverride.variants) == null ? void 0 : _a[variant]) != null ? _b : {};
|
|
5183
5604
|
const variantLabels = {
|
|
5184
5605
|
intro: (_c = variantOverride.intro) != null ? _c : variantDefaults.intro,
|
|
@@ -5188,19 +5609,19 @@ function PaymentReminderEmail({
|
|
|
5188
5609
|
closingAlternative: (_f = variantOverride.closingAlternative) != null ? _f : variantDefaults.closingAlternative
|
|
5189
5610
|
};
|
|
5190
5611
|
const l = {
|
|
5191
|
-
logoAlt: (_g = lOverride.logoAlt) != null ? _g :
|
|
5192
|
-
greeting: (_h = lOverride.greeting) != null ? _h :
|
|
5193
|
-
intermediateHello: (_i = lOverride.intermediateHello) != null ? _i :
|
|
5194
|
-
bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j :
|
|
5195
|
-
amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k :
|
|
5196
|
-
remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l :
|
|
5197
|
-
totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m :
|
|
5198
|
-
paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n :
|
|
5199
|
-
ctaLabel: (_o = lOverride.ctaLabel) != null ? _o :
|
|
5200
|
-
teamSignature: (_p = lOverride.teamSignature) != null ? _p :
|
|
5201
|
-
closingAgent: (_q = lOverride.closingAgent) != null ? _q :
|
|
5202
|
-
closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r :
|
|
5203
|
-
adventureCard: __spreadValues(__spreadValues({},
|
|
5612
|
+
logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS7.logoAlt,
|
|
5613
|
+
greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS7.greeting,
|
|
5614
|
+
intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS7.intermediateHello,
|
|
5615
|
+
bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS7.bookingSummaryHeader,
|
|
5616
|
+
amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS7.amountAlreadyPaidLabel,
|
|
5617
|
+
remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS7.remainingBalanceDueLabel,
|
|
5618
|
+
totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS7.totalBookingAmountLabel,
|
|
5619
|
+
paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n : DEFAULT_LABELS7.paymentDetailsHeading,
|
|
5620
|
+
ctaLabel: (_o = lOverride.ctaLabel) != null ? _o : DEFAULT_LABELS7.ctaLabel,
|
|
5621
|
+
teamSignature: (_p = lOverride.teamSignature) != null ? _p : DEFAULT_LABELS7.teamSignature,
|
|
5622
|
+
closingAgent: (_q = lOverride.closingAgent) != null ? _q : DEFAULT_LABELS7.closingAgent,
|
|
5623
|
+
closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r : DEFAULT_LABELS7.closingNoAgent,
|
|
5624
|
+
adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS7.adventureCard), (_s = lOverride.adventureCard) != null ? _s : {})
|
|
5204
5625
|
};
|
|
5205
5626
|
const ctaStyle = {
|
|
5206
5627
|
display: "inline-block",
|
|
@@ -6016,7 +6437,7 @@ function BookingForm({
|
|
|
6016
6437
|
}
|
|
6017
6438
|
);
|
|
6018
6439
|
}
|
|
6019
|
-
var
|
|
6440
|
+
var DEFAULT_LABELS8 = {
|
|
6020
6441
|
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.",
|
|
6021
6442
|
detailsSectionTitle: "Your details",
|
|
6022
6443
|
tripInfoSectionTitle: "Trip info",
|
|
@@ -6681,7 +7102,7 @@ function RegistrationForm({
|
|
|
6681
7102
|
}) {
|
|
6682
7103
|
var _a;
|
|
6683
7104
|
const L = React25__namespace.useMemo(
|
|
6684
|
-
() => __spreadValues(__spreadValues({},
|
|
7105
|
+
() => __spreadValues(__spreadValues({}, DEFAULT_LABELS8), labels != null ? labels : {}),
|
|
6685
7106
|
[labels]
|
|
6686
7107
|
);
|
|
6687
7108
|
const sortedFields = React25__namespace.useMemo(
|
|
@@ -11291,6 +11712,7 @@ exports.BookingDetails = BookingDetails;
|
|
|
11291
11712
|
exports.BookingForm = BookingForm;
|
|
11292
11713
|
exports.BookingOtpEmail = BookingOtpEmail;
|
|
11293
11714
|
exports.BookingShell = BookingShell;
|
|
11715
|
+
exports.BookingSummary = BookingSummary;
|
|
11294
11716
|
exports.Button = Button;
|
|
11295
11717
|
exports.COUNTRIES = COUNTRIES;
|
|
11296
11718
|
exports.CounterField = CounterField;
|
|
@@ -11326,6 +11748,8 @@ exports.PhoneCountrySelect = PhoneCountrySelect;
|
|
|
11326
11748
|
exports.PhotoGallery = PhotoGallery;
|
|
11327
11749
|
exports.PricingTrip = PricingTrip;
|
|
11328
11750
|
exports.RegistrationForm = RegistrationForm;
|
|
11751
|
+
exports.RegistrationProgressBar = RegistrationProgressBar;
|
|
11752
|
+
exports.RegistrationReminderEmail = RegistrationReminderEmail;
|
|
11329
11753
|
exports.RegistrationSuccessCard = RegistrationSuccessCard;
|
|
11330
11754
|
exports.SiteHeader = SiteHeader;
|
|
11331
11755
|
exports.TERMS_ACCEPT_KEY = TERMS_ACCEPT_KEY;
|