@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.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,380 @@ 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
|
+
}
|
|
4942
5030
|
var DEFAULT_LABELS5 = {
|
|
5031
|
+
logoAlt: "PlanetaEXO",
|
|
5032
|
+
greeting: (n) => `Hi ${n},`,
|
|
5033
|
+
intermediateHello: "Hope you're doing well.",
|
|
5034
|
+
bookingSummaryHeader: "Booking summary",
|
|
5035
|
+
bookingNumberLabel: "Booking number",
|
|
5036
|
+
adventuresCountLabel: (c) => `${c} adventure${c === 1 ? "" : "s"}`,
|
|
5037
|
+
travellersCountLabel: (c) => `${c} traveller${c === 1 ? "" : "s"}`,
|
|
5038
|
+
adventuresRowLabel: "Adventures",
|
|
5039
|
+
travellersRowLabel: "Total travellers",
|
|
5040
|
+
agentRowLabel: "Agent",
|
|
5041
|
+
progressHeader: "Registration progress",
|
|
5042
|
+
startsLabel: "Starts",
|
|
5043
|
+
completedFractionLabel: (c, total) => `Completed: ${c} / ${total} travellers`,
|
|
5044
|
+
ctaLabel: "View Booking & Registrations",
|
|
5045
|
+
closingAgent: (n) => `If you need any assistance with the traveller registrations, feel free to contact your agent ${n} via WhatsApp or email.`,
|
|
5046
|
+
closingNoAgent: "If you need any assistance with the traveller registrations, feel free to contact us via WhatsApp or email.",
|
|
5047
|
+
teamSignature: "The PlanetaEXO Team",
|
|
5048
|
+
variants: {
|
|
5049
|
+
d_minus_30: {
|
|
5050
|
+
subject: "Complete Traveller Registration for Your Upcoming Adventure",
|
|
5051
|
+
intro: "Your adventure with PlanetaEXO is getting closer, and there is one important step remaining before departure.",
|
|
5052
|
+
contextNote: "To help us prepare logistics and ensure your experience runs smoothly, all travellers must complete their registration before the adventure starts.",
|
|
5053
|
+
pleaseNoteHeader: "Please note:",
|
|
5054
|
+
pleaseNoteBullets: [
|
|
5055
|
+
"Registration is mandatory for each traveller included in the booking",
|
|
5056
|
+
"If your booking includes multiple adventures, registration must be completed for each adventure separately",
|
|
5057
|
+
"Every traveller receives reminders to complete their own registration by email",
|
|
5058
|
+
"You can manage registrations, add travellers, edit traveller information, and track completion status through your booking page"
|
|
5059
|
+
],
|
|
5060
|
+
progressIntro: "Please complete any pending registrations through your booking page:",
|
|
5061
|
+
bookerCoordinationNote: "",
|
|
5062
|
+
earlyCompletionBenefit: "",
|
|
5063
|
+
importantNote: "",
|
|
5064
|
+
finalReminderTagline: "",
|
|
5065
|
+
multiTravellerNote: "",
|
|
5066
|
+
disregardIfCompleted: "",
|
|
5067
|
+
closingThanks: ""
|
|
5068
|
+
},
|
|
5069
|
+
d_minus_15: {
|
|
5070
|
+
subject: "Reminder: Traveller Registration Still Pending",
|
|
5071
|
+
intro: "This is a reminder that one or more traveller registrations linked to your booking remain incomplete.",
|
|
5072
|
+
contextNote: "Registration is required for operational planning and must be completed before departure.",
|
|
5073
|
+
pleaseNoteHeader: "",
|
|
5074
|
+
pleaseNoteBullets: [],
|
|
5075
|
+
bookerCoordinationNote: "Every traveller receives registration reminders by email. If you are organising the trip for the group, please ensure all travellers complete their registration.",
|
|
5076
|
+
progressIntro: "Please review your booking page to complete pending registrations or update traveller information:",
|
|
5077
|
+
earlyCompletionBenefit: "Completing registrations early helps avoid delays with accommodation, transfers, and activity confirmations.",
|
|
5078
|
+
importantNote: "",
|
|
5079
|
+
finalReminderTagline: "",
|
|
5080
|
+
multiTravellerNote: "",
|
|
5081
|
+
disregardIfCompleted: "",
|
|
5082
|
+
closingThanks: ""
|
|
5083
|
+
},
|
|
5084
|
+
d_minus_7: {
|
|
5085
|
+
subject: "Action Required: Complete Traveller Registration Before Departure",
|
|
5086
|
+
intro: "Your adventure begins in one week, and there are still incomplete traveller registrations linked to your booking.",
|
|
5087
|
+
contextNote: "Please ensure all pending registrations are completed as soon as possible.",
|
|
5088
|
+
importantNote: "Important: Registration is mandatory and required for participation in the adventure.",
|
|
5089
|
+
progressIntro: "Review your booking page to complete missing information:",
|
|
5090
|
+
multiTravellerNote: "If your booking includes multiple travellers, please ensure every traveller completes their registration before departure.",
|
|
5091
|
+
pleaseNoteHeader: "",
|
|
5092
|
+
pleaseNoteBullets: [],
|
|
5093
|
+
bookerCoordinationNote: "",
|
|
5094
|
+
earlyCompletionBenefit: "",
|
|
5095
|
+
finalReminderTagline: "",
|
|
5096
|
+
disregardIfCompleted: "",
|
|
5097
|
+
closingThanks: ""
|
|
5098
|
+
},
|
|
5099
|
+
d_minus_2: {
|
|
5100
|
+
subject: "Final Reminder: Registration Required Before Departure",
|
|
5101
|
+
intro: "Your adventure starts in 2 days, and one or more traveller registrations remain incomplete.",
|
|
5102
|
+
finalReminderTagline: "This is a final reminder.",
|
|
5103
|
+
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.",
|
|
5104
|
+
progressIntro: "Please complete all pending registrations immediately through your booking page:",
|
|
5105
|
+
disregardIfCompleted: "If registrations have already been completed, please disregard this email.",
|
|
5106
|
+
closingThanks: "We look forward to welcoming you soon.",
|
|
5107
|
+
contextNote: "",
|
|
5108
|
+
pleaseNoteHeader: "",
|
|
5109
|
+
pleaseNoteBullets: [],
|
|
5110
|
+
bookerCoordinationNote: "",
|
|
5111
|
+
earlyCompletionBenefit: "",
|
|
5112
|
+
multiTravellerNote: ""
|
|
5113
|
+
}
|
|
5114
|
+
}
|
|
5115
|
+
};
|
|
5116
|
+
function hasText(s) {
|
|
5117
|
+
return typeof s === "string" && s.trim().length > 0;
|
|
5118
|
+
}
|
|
5119
|
+
function hasItems(arr) {
|
|
5120
|
+
return Array.isArray(arr) && arr.length > 0;
|
|
5121
|
+
}
|
|
5122
|
+
function RegistrationReminderEmail({
|
|
5123
|
+
slug,
|
|
5124
|
+
recipientFirstName,
|
|
5125
|
+
bookingNumber,
|
|
5126
|
+
totalAdventures,
|
|
5127
|
+
totalTravellers,
|
|
5128
|
+
adventures,
|
|
5129
|
+
ctaUrl,
|
|
5130
|
+
agent,
|
|
5131
|
+
logoUrl,
|
|
5132
|
+
labels,
|
|
5133
|
+
className
|
|
5134
|
+
}) {
|
|
5135
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
5136
|
+
const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS5), labels), {
|
|
5137
|
+
variants: {
|
|
5138
|
+
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 : {}),
|
|
5139
|
+
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 : {}),
|
|
5140
|
+
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 : {}),
|
|
5141
|
+
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 : {})
|
|
5142
|
+
}
|
|
5143
|
+
});
|
|
5144
|
+
const v = l.variants[slug];
|
|
5145
|
+
const ctaStyle = {
|
|
5146
|
+
display: "inline-block",
|
|
5147
|
+
backgroundColor: emailTokens.primary,
|
|
5148
|
+
color: emailTokens.primaryForeground,
|
|
5149
|
+
padding: "12px 24px",
|
|
5150
|
+
borderRadius: "8px",
|
|
5151
|
+
fontSize: "14px",
|
|
5152
|
+
fontWeight: 700,
|
|
5153
|
+
textDecoration: "none",
|
|
5154
|
+
fontFamily: emailTokens.fontFamily
|
|
5155
|
+
};
|
|
5156
|
+
const summaryRows = [
|
|
5157
|
+
{ label: l.bookingNumberLabel, value: `#${bookingNumber}` },
|
|
5158
|
+
{ label: l.adventuresRowLabel, value: l.adventuresCountLabel(totalAdventures) },
|
|
5159
|
+
{ label: l.travellersRowLabel, value: l.travellersCountLabel(totalTravellers) },
|
|
5160
|
+
...(agent == null ? void 0 : agent.name) ? [{ label: l.agentRowLabel, value: agent.name }] : []
|
|
5161
|
+
];
|
|
5162
|
+
const showPleaseNote = hasText(v.pleaseNoteHeader) && hasItems(v.pleaseNoteBullets);
|
|
5163
|
+
const showBookerCoord = hasText(v.bookerCoordinationNote);
|
|
5164
|
+
const showEarlyBenefit = hasText(v.earlyCompletionBenefit);
|
|
5165
|
+
const showImportant = hasText(v.importantNote);
|
|
5166
|
+
const showFinalTagline = hasText(v.finalReminderTagline);
|
|
5167
|
+
const showMultiTraveller = hasText(v.multiTravellerNote);
|
|
5168
|
+
const showDisregard = hasText(v.disregardIfCompleted);
|
|
5169
|
+
const showClosingThanks = hasText(v.closingThanks);
|
|
5170
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5171
|
+
"div",
|
|
5172
|
+
{
|
|
5173
|
+
style: {
|
|
5174
|
+
maxWidth: "576px",
|
|
5175
|
+
margin: "0 auto",
|
|
5176
|
+
backgroundColor: emailTokens.white,
|
|
5177
|
+
color: emailTokens.foreground,
|
|
5178
|
+
fontFamily: emailTokens.fontFamily,
|
|
5179
|
+
fontSize: "16px",
|
|
5180
|
+
lineHeight: "1.6",
|
|
5181
|
+
border: `1px solid ${emailTokens.border}`,
|
|
5182
|
+
borderRadius: "12px",
|
|
5183
|
+
overflow: "hidden",
|
|
5184
|
+
padding: "32px"
|
|
5185
|
+
},
|
|
5186
|
+
className,
|
|
5187
|
+
children: [
|
|
5188
|
+
/* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
|
|
5189
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientFirstName) }),
|
|
5190
|
+
hasText(l.intermediateHello) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
|
|
5191
|
+
hasText(v.intro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.intro }),
|
|
5192
|
+
hasText(v.contextNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
|
|
5193
|
+
showPleaseNote && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginBottom: "24px" }, children: [
|
|
5194
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "8px", fontWeight: 700, color: emailTokens.foreground }, children: v.pleaseNoteHeader }),
|
|
5195
|
+
/* @__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)) })
|
|
5196
|
+
] }),
|
|
5197
|
+
showBookerCoord && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.bookerCoordinationNote }),
|
|
5198
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5199
|
+
"hr",
|
|
5200
|
+
{
|
|
5201
|
+
style: {
|
|
5202
|
+
border: "none",
|
|
5203
|
+
borderTop: `1px solid ${emailTokens.border}`,
|
|
5204
|
+
marginBottom: "24px"
|
|
5205
|
+
}
|
|
5206
|
+
}
|
|
5207
|
+
),
|
|
5208
|
+
/* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.bookingSummaryHeader, rows: summaryRows }),
|
|
5209
|
+
showImportant && slug === "d_minus_7" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5210
|
+
"p",
|
|
5211
|
+
{
|
|
5212
|
+
style: {
|
|
5213
|
+
marginBottom: "20px",
|
|
5214
|
+
padding: "12px 16px",
|
|
5215
|
+
borderRadius: "8px",
|
|
5216
|
+
backgroundColor: "#fef3c7",
|
|
5217
|
+
color: "#78350f",
|
|
5218
|
+
fontWeight: 600
|
|
5219
|
+
},
|
|
5220
|
+
children: v.importantNote
|
|
5221
|
+
}
|
|
5222
|
+
),
|
|
5223
|
+
hasItems(adventures) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5224
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5225
|
+
"p",
|
|
5226
|
+
{
|
|
5227
|
+
style: {
|
|
5228
|
+
marginTop: "8px",
|
|
5229
|
+
marginBottom: "12px",
|
|
5230
|
+
fontWeight: 700,
|
|
5231
|
+
fontSize: "15px",
|
|
5232
|
+
color: emailTokens.foreground
|
|
5233
|
+
},
|
|
5234
|
+
children: l.progressHeader
|
|
5235
|
+
}
|
|
5236
|
+
),
|
|
5237
|
+
hasText(v.progressIntro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.progressIntro }),
|
|
5238
|
+
adventures.map((adv, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5239
|
+
"div",
|
|
5240
|
+
{
|
|
5241
|
+
style: {
|
|
5242
|
+
marginBottom: "20px",
|
|
5243
|
+
padding: "16px",
|
|
5244
|
+
borderRadius: "8px",
|
|
5245
|
+
border: `1px solid ${emailTokens.border}`
|
|
5246
|
+
},
|
|
5247
|
+
children: [
|
|
5248
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5249
|
+
"p",
|
|
5250
|
+
{
|
|
5251
|
+
style: {
|
|
5252
|
+
marginTop: 0,
|
|
5253
|
+
marginBottom: "4px",
|
|
5254
|
+
fontWeight: 700,
|
|
5255
|
+
color: emailTokens.foreground
|
|
5256
|
+
},
|
|
5257
|
+
children: adv.name
|
|
5258
|
+
}
|
|
5259
|
+
),
|
|
5260
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
5261
|
+
"p",
|
|
5262
|
+
{
|
|
5263
|
+
style: {
|
|
5264
|
+
marginTop: 0,
|
|
5265
|
+
marginBottom: "12px",
|
|
5266
|
+
color: emailTokens.mutedForeground,
|
|
5267
|
+
fontSize: "13px"
|
|
5268
|
+
},
|
|
5269
|
+
children: [
|
|
5270
|
+
l.startsLabel,
|
|
5271
|
+
": ",
|
|
5272
|
+
adv.startDateFormatted
|
|
5273
|
+
]
|
|
5274
|
+
}
|
|
5275
|
+
),
|
|
5276
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5277
|
+
RegistrationProgressBar,
|
|
5278
|
+
{
|
|
5279
|
+
completed: adv.completedTravellers,
|
|
5280
|
+
total: adv.totalTravellers,
|
|
5281
|
+
tone: adv.tone,
|
|
5282
|
+
pct: adv.pct,
|
|
5283
|
+
barHex: adv.barHex,
|
|
5284
|
+
labelHex: adv.labelHex,
|
|
5285
|
+
railHex: adv.railHex,
|
|
5286
|
+
label: l.completedFractionLabel(
|
|
5287
|
+
adv.completedTravellers,
|
|
5288
|
+
adv.totalTravellers
|
|
5289
|
+
)
|
|
5290
|
+
}
|
|
5291
|
+
)
|
|
5292
|
+
]
|
|
5293
|
+
},
|
|
5294
|
+
`${adv.name}-${i}`
|
|
5295
|
+
))
|
|
5296
|
+
] }),
|
|
5297
|
+
showEarlyBenefit && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.earlyCompletionBenefit }),
|
|
5298
|
+
(showFinalTagline || showImportant && slug === "d_minus_2") && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5299
|
+
"div",
|
|
5300
|
+
{
|
|
5301
|
+
style: {
|
|
5302
|
+
marginBottom: "20px",
|
|
5303
|
+
padding: "12px 16px",
|
|
5304
|
+
borderRadius: "8px",
|
|
5305
|
+
backgroundColor: "#fef2f2",
|
|
5306
|
+
border: "1px solid #fecaca",
|
|
5307
|
+
color: "#7f1d1d"
|
|
5308
|
+
},
|
|
5309
|
+
children: [
|
|
5310
|
+
showFinalTagline && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0, marginBottom: showImportant ? "8px" : 0, fontWeight: 700 }, children: v.finalReminderTagline }),
|
|
5311
|
+
showImportant && slug === "d_minus_2" && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: v.importantNote })
|
|
5312
|
+
]
|
|
5313
|
+
}
|
|
5314
|
+
),
|
|
5315
|
+
showMultiTraveller && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.multiTravellerNote }),
|
|
5316
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "24px", textAlign: "left" }, children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: ctaUrl, style: ctaStyle, children: l.ctaLabel }) }),
|
|
5317
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontWeight: 700, color: emailTokens.foreground }, children: (agent == null ? void 0 : agent.name) ? l.closingAgent(agent.name) : l.closingNoAgent }),
|
|
5318
|
+
(agent == null ? void 0 : agent.name) && (agent.whatsappUrl || agent.email) && /* @__PURE__ */ jsxRuntime.jsxs("p", { style: { marginBottom: "16px", fontSize: "14px" }, children: [
|
|
5319
|
+
agent.whatsappUrl && /* @__PURE__ */ jsxRuntime.jsx("a", { href: agent.whatsappUrl, style: { color: emailTokens.primary, textDecoration: "none" }, children: "WhatsApp" }),
|
|
5320
|
+
agent.whatsappUrl && agent.email && " \xB7 ",
|
|
5321
|
+
agent.email && /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${agent.email}`, style: { color: emailTokens.primary, textDecoration: "none" }, children: agent.email })
|
|
5322
|
+
] }),
|
|
5323
|
+
showDisregard && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5324
|
+
"p",
|
|
5325
|
+
{
|
|
5326
|
+
style: {
|
|
5327
|
+
marginBottom: "16px",
|
|
5328
|
+
color: emailTokens.mutedForeground,
|
|
5329
|
+
fontSize: "13px",
|
|
5330
|
+
fontStyle: "italic"
|
|
5331
|
+
},
|
|
5332
|
+
children: v.disregardIfCompleted
|
|
5333
|
+
}
|
|
5334
|
+
),
|
|
5335
|
+
showClosingThanks && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.closingThanks }),
|
|
5336
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: 0, color: emailTokens.mutedForeground }, children: l.teamSignature })
|
|
5337
|
+
]
|
|
5338
|
+
}
|
|
5339
|
+
);
|
|
5340
|
+
}
|
|
5341
|
+
var DEFAULT_LABELS6 = {
|
|
4943
5342
|
logoAlt: "PlanetaEXO",
|
|
4944
5343
|
greeting: (name) => `Hi ${name},`,
|
|
4945
5344
|
receiptHeading: "Payment receipt",
|
|
@@ -4978,7 +5377,7 @@ function PaymentReceiptEmail({
|
|
|
4978
5377
|
labels,
|
|
4979
5378
|
className
|
|
4980
5379
|
}) {
|
|
4981
|
-
const l = __spreadValues(__spreadValues({},
|
|
5380
|
+
const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS6), labels);
|
|
4982
5381
|
const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
|
|
4983
5382
|
const interestRow = chargedAmount && chargedAmount !== amount;
|
|
4984
5383
|
const receiptRows = [
|
|
@@ -5091,7 +5490,7 @@ function renderEmailLink(contact, label) {
|
|
|
5091
5490
|
return label;
|
|
5092
5491
|
}
|
|
5093
5492
|
var EMPTY_CLOSING_ALTERNATIVE = (_agentName, _contact) => null;
|
|
5094
|
-
var
|
|
5493
|
+
var DEFAULT_LABELS7 = {
|
|
5095
5494
|
logoAlt: "PlanetaEXO",
|
|
5096
5495
|
greeting: (name) => `Hi ${name},`,
|
|
5097
5496
|
intermediateHello: "Hope you're doing well.",
|
|
@@ -5125,28 +5524,28 @@ var DEFAULT_LABELS6 = {
|
|
|
5125
5524
|
dMinus1: {
|
|
5126
5525
|
intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due tomorrow (${d}).`,
|
|
5127
5526
|
secureLine: "To secure your booking, please complete the payment through your booking page using the button below:",
|
|
5128
|
-
closingThanks: "Many thanks
|
|
5527
|
+
closingThanks: "Many thanks.",
|
|
5129
5528
|
disregardIfPaid: "",
|
|
5130
5529
|
closingAlternative: EMPTY_CLOSING_ALTERNATIVE
|
|
5131
5530
|
},
|
|
5132
5531
|
dZero: {
|
|
5133
5532
|
intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due today (${d}).`,
|
|
5134
5533
|
secureLine: "To keep your booking confirmed, please complete the payment through your booking page using the button below:",
|
|
5135
|
-
closingThanks: "Many thanks
|
|
5534
|
+
closingThanks: "Many thanks.",
|
|
5136
5535
|
disregardIfPaid: "",
|
|
5137
5536
|
closingAlternative: EMPTY_CLOSING_ALTERNATIVE
|
|
5138
5537
|
},
|
|
5139
5538
|
dPlus1: {
|
|
5140
5539
|
intro: (b, d) => `We noticed that the remaining balance for your booking #${b} with PlanetaEXO was due yesterday (${d}) and is still pending.`,
|
|
5141
5540
|
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:",
|
|
5142
|
-
closingThanks: "Thank you
|
|
5541
|
+
closingThanks: "Thank you.",
|
|
5143
5542
|
disregardIfPaid: "If you have already completed the payment, please disregard this message.",
|
|
5144
5543
|
closingAlternative: EMPTY_CLOSING_ALTERNATIVE
|
|
5145
5544
|
},
|
|
5146
5545
|
dPlus2: {
|
|
5147
5546
|
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.`,
|
|
5148
5547
|
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:",
|
|
5149
|
-
closingThanks: "Thank you for your attention
|
|
5548
|
+
closingThanks: "Thank you for your attention.",
|
|
5150
5549
|
disregardIfPaid: "If you have already completed the payment, please disregard this message.",
|
|
5151
5550
|
closingAlternative: (agentName, contact) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5152
5551
|
"If you are experiencing any issues with payment or need additional time, please contact your agent ",
|
|
@@ -5178,7 +5577,7 @@ function PaymentReminderEmail({
|
|
|
5178
5577
|
}) {
|
|
5179
5578
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
|
|
5180
5579
|
const lOverride = labels != null ? labels : {};
|
|
5181
|
-
const variantDefaults =
|
|
5580
|
+
const variantDefaults = DEFAULT_LABELS7.variants[variant];
|
|
5182
5581
|
const variantOverride = (_b = (_a = lOverride.variants) == null ? void 0 : _a[variant]) != null ? _b : {};
|
|
5183
5582
|
const variantLabels = {
|
|
5184
5583
|
intro: (_c = variantOverride.intro) != null ? _c : variantDefaults.intro,
|
|
@@ -5188,19 +5587,19 @@ function PaymentReminderEmail({
|
|
|
5188
5587
|
closingAlternative: (_f = variantOverride.closingAlternative) != null ? _f : variantDefaults.closingAlternative
|
|
5189
5588
|
};
|
|
5190
5589
|
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({},
|
|
5590
|
+
logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS7.logoAlt,
|
|
5591
|
+
greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS7.greeting,
|
|
5592
|
+
intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS7.intermediateHello,
|
|
5593
|
+
bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS7.bookingSummaryHeader,
|
|
5594
|
+
amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS7.amountAlreadyPaidLabel,
|
|
5595
|
+
remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS7.remainingBalanceDueLabel,
|
|
5596
|
+
totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS7.totalBookingAmountLabel,
|
|
5597
|
+
paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n : DEFAULT_LABELS7.paymentDetailsHeading,
|
|
5598
|
+
ctaLabel: (_o = lOverride.ctaLabel) != null ? _o : DEFAULT_LABELS7.ctaLabel,
|
|
5599
|
+
teamSignature: (_p = lOverride.teamSignature) != null ? _p : DEFAULT_LABELS7.teamSignature,
|
|
5600
|
+
closingAgent: (_q = lOverride.closingAgent) != null ? _q : DEFAULT_LABELS7.closingAgent,
|
|
5601
|
+
closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r : DEFAULT_LABELS7.closingNoAgent,
|
|
5602
|
+
adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS7.adventureCard), (_s = lOverride.adventureCard) != null ? _s : {})
|
|
5204
5603
|
};
|
|
5205
5604
|
const ctaStyle = {
|
|
5206
5605
|
display: "inline-block",
|
|
@@ -5286,6 +5685,8 @@ function PaymentReminderEmail({
|
|
|
5286
5685
|
travellerCount: adv.travellerCount,
|
|
5287
5686
|
travellers: adv.travellers,
|
|
5288
5687
|
itinerary: adv.itinerary,
|
|
5688
|
+
image: adv.image,
|
|
5689
|
+
imageAlt: adv.imageAlt,
|
|
5289
5690
|
lineItems: adv.lineItems.map((li) => ({
|
|
5290
5691
|
unitPrice: li.unitPrice,
|
|
5291
5692
|
quantity: li.quantity,
|
|
@@ -6014,7 +6415,7 @@ function BookingForm({
|
|
|
6014
6415
|
}
|
|
6015
6416
|
);
|
|
6016
6417
|
}
|
|
6017
|
-
var
|
|
6418
|
+
var DEFAULT_LABELS8 = {
|
|
6018
6419
|
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.",
|
|
6019
6420
|
detailsSectionTitle: "Your details",
|
|
6020
6421
|
tripInfoSectionTitle: "Trip info",
|
|
@@ -6679,7 +7080,7 @@ function RegistrationForm({
|
|
|
6679
7080
|
}) {
|
|
6680
7081
|
var _a;
|
|
6681
7082
|
const L = React25__namespace.useMemo(
|
|
6682
|
-
() => __spreadValues(__spreadValues({},
|
|
7083
|
+
() => __spreadValues(__spreadValues({}, DEFAULT_LABELS8), labels != null ? labels : {}),
|
|
6683
7084
|
[labels]
|
|
6684
7085
|
);
|
|
6685
7086
|
const sortedFields = React25__namespace.useMemo(
|
|
@@ -11289,6 +11690,7 @@ exports.BookingDetails = BookingDetails;
|
|
|
11289
11690
|
exports.BookingForm = BookingForm;
|
|
11290
11691
|
exports.BookingOtpEmail = BookingOtpEmail;
|
|
11291
11692
|
exports.BookingShell = BookingShell;
|
|
11693
|
+
exports.BookingSummary = BookingSummary;
|
|
11292
11694
|
exports.Button = Button;
|
|
11293
11695
|
exports.COUNTRIES = COUNTRIES;
|
|
11294
11696
|
exports.CounterField = CounterField;
|
|
@@ -11324,6 +11726,8 @@ exports.PhoneCountrySelect = PhoneCountrySelect;
|
|
|
11324
11726
|
exports.PhotoGallery = PhotoGallery;
|
|
11325
11727
|
exports.PricingTrip = PricingTrip;
|
|
11326
11728
|
exports.RegistrationForm = RegistrationForm;
|
|
11729
|
+
exports.RegistrationProgressBar = RegistrationProgressBar;
|
|
11730
|
+
exports.RegistrationReminderEmail = RegistrationReminderEmail;
|
|
11327
11731
|
exports.RegistrationSuccessCard = RegistrationSuccessCard;
|
|
11328
11732
|
exports.SiteHeader = SiteHeader;
|
|
11329
11733
|
exports.TERMS_ACCEPT_KEY = TERMS_ACCEPT_KEY;
|