@planetaexo/design-system 0.48.2 → 0.50.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 +381 -117
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +100 -1
- package/dist/index.d.ts +100 -1
- package/dist/index.js +382 -119
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -248,7 +248,7 @@ function DialogContent(_a) {
|
|
|
248
248
|
Button2,
|
|
249
249
|
{
|
|
250
250
|
variant: "ghost",
|
|
251
|
-
className: "absolute top-2 right-2",
|
|
251
|
+
className: "absolute top-2 right-2 cursor-pointer",
|
|
252
252
|
size: "icon-sm"
|
|
253
253
|
}
|
|
254
254
|
),
|
|
@@ -1295,11 +1295,13 @@ function AdventureCard({
|
|
|
1295
1295
|
labels,
|
|
1296
1296
|
interactionsDisabled
|
|
1297
1297
|
}) {
|
|
1298
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
1298
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
|
|
1299
1299
|
const isControlled = (_b = (_a = adventure.optionals) == null ? void 0 : _a.some((o) => o.onCheckedChange !== void 0)) != null ? _b : false;
|
|
1300
1300
|
const [checkedInternal, setCheckedInternal] = React28__namespace.useState(
|
|
1301
1301
|
new Set((_d = (_c = adventure.optionals) == null ? void 0 : _c.filter((o) => o.defaultChecked).map((o) => o.id)) != null ? _d : [])
|
|
1302
1302
|
);
|
|
1303
|
+
const [openDescriptionId, setOpenDescriptionId] = React28__namespace.useState(null);
|
|
1304
|
+
const openDescriptionOptional = openDescriptionId ? (_e = adventure.optionals) == null ? void 0 : _e.find((o) => o.id === openDescriptionId) : void 0;
|
|
1303
1305
|
const isChecked = (opt) => {
|
|
1304
1306
|
var _a2;
|
|
1305
1307
|
return isControlled ? (_a2 = opt.checked) != null ? _a2 : false : checkedInternal.has(opt.id);
|
|
@@ -1321,7 +1323,7 @@ function AdventureCard({
|
|
|
1321
1323
|
"img",
|
|
1322
1324
|
{
|
|
1323
1325
|
src: adventure.image,
|
|
1324
|
-
alt: (
|
|
1326
|
+
alt: (_f = adventure.imageAlt) != null ? _f : adventure.title,
|
|
1325
1327
|
className: "w-full h-full object-cover"
|
|
1326
1328
|
}
|
|
1327
1329
|
) }),
|
|
@@ -1336,7 +1338,7 @@ function AdventureCard({
|
|
|
1336
1338
|
className: "flex items-center gap-1.5 rounded-full border border-border px-3 py-1 text-xs text-muted-foreground font-ui hover:border-destructive hover:text-destructive transition-colors",
|
|
1337
1339
|
children: [
|
|
1338
1340
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "w-3 h-3" }),
|
|
1339
|
-
(
|
|
1341
|
+
(_g = labels == null ? void 0 : labels.remove) != null ? _g : "Remove"
|
|
1340
1342
|
]
|
|
1341
1343
|
}
|
|
1342
1344
|
)
|
|
@@ -1353,9 +1355,9 @@ function AdventureCard({
|
|
|
1353
1355
|
adventure.location
|
|
1354
1356
|
] }),
|
|
1355
1357
|
adventure.optionals && adventure.optionals.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 rounded-xl border border-border bg-muted/30 p-4 flex flex-col gap-3", children: [
|
|
1356
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (
|
|
1358
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_h = labels == null ? void 0 : labels.availableOptionals) != null ? _h : "Available optionals" }),
|
|
1357
1359
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2", children: adventure.optionals.map((opt) => {
|
|
1358
|
-
var _a2, _b2, _c2, _d2, _e2;
|
|
1360
|
+
var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2;
|
|
1359
1361
|
const checked = isChecked(opt);
|
|
1360
1362
|
const minQty = (_a2 = opt.minQuantity) != null ? _a2 : 1;
|
|
1361
1363
|
const maxQty = (_b2 = opt.maxQuantity) != null ? _b2 : 50;
|
|
@@ -1363,6 +1365,7 @@ function AdventureCard({
|
|
|
1363
1365
|
const currentQty = (_c2 = opt.quantity) != null ? _c2 : minQty;
|
|
1364
1366
|
const canDec = currentQty > minQty;
|
|
1365
1367
|
const canInc = currentQty < maxQty;
|
|
1368
|
+
const hasDescription = !!((_d2 = opt.description) == null ? void 0 : _d2.trim());
|
|
1366
1369
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-wrap items-center gap-x-3 gap-y-1.5", interactionsDisabled && "opacity-60"), children: [
|
|
1367
1370
|
/* @__PURE__ */ jsxRuntime.jsxs("label", { className: cn("flex items-center gap-3 group", interactionsDisabled ? "cursor-not-allowed" : "cursor-pointer"), children: [
|
|
1368
1371
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1388,6 +1391,19 @@ function AdventureCard({
|
|
|
1388
1391
|
] })
|
|
1389
1392
|
] })
|
|
1390
1393
|
] }),
|
|
1394
|
+
hasDescription && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1395
|
+
"button",
|
|
1396
|
+
{
|
|
1397
|
+
type: "button",
|
|
1398
|
+
onClick: (e) => {
|
|
1399
|
+
e.stopPropagation();
|
|
1400
|
+
setOpenDescriptionId(opt.id);
|
|
1401
|
+
},
|
|
1402
|
+
"aria-label": (_f2 = (_e2 = labels == null ? void 0 : labels.optionalInfo) == null ? void 0 : _e2.triggerAriaLabel) != null ? _f2 : "More info",
|
|
1403
|
+
className: "inline-flex cursor-pointer items-center justify-center text-muted-foreground hover:text-primary transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded",
|
|
1404
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Info, { className: "w-4 h-4" })
|
|
1405
|
+
}
|
|
1406
|
+
),
|
|
1391
1407
|
showStepper && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 ml-auto", children: [
|
|
1392
1408
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1393
1409
|
"button",
|
|
@@ -1398,7 +1414,7 @@ function AdventureCard({
|
|
|
1398
1414
|
return !interactionsDisabled && canDec && ((_a3 = opt.onQuantityChange) == null ? void 0 : _a3.call(opt, opt.id, currentQty - 1));
|
|
1399
1415
|
},
|
|
1400
1416
|
disabled: interactionsDisabled || !canDec,
|
|
1401
|
-
"aria-label": (
|
|
1417
|
+
"aria-label": (_g2 = opt.decreaseQuantityLabel) != null ? _g2 : "Decrease quantity",
|
|
1402
1418
|
className: cn(
|
|
1403
1419
|
"h-7 w-7 rounded border border-border flex items-center justify-center text-sm font-semibold",
|
|
1404
1420
|
"transition-colors",
|
|
@@ -1417,7 +1433,7 @@ function AdventureCard({
|
|
|
1417
1433
|
return !interactionsDisabled && canInc && ((_a3 = opt.onQuantityChange) == null ? void 0 : _a3.call(opt, opt.id, currentQty + 1));
|
|
1418
1434
|
},
|
|
1419
1435
|
disabled: interactionsDisabled || !canInc,
|
|
1420
|
-
"aria-label": (
|
|
1436
|
+
"aria-label": (_h2 = opt.increaseQuantityLabel) != null ? _h2 : "Increase quantity",
|
|
1421
1437
|
className: cn(
|
|
1422
1438
|
"h-7 w-7 rounded border border-border flex items-center justify-center text-sm font-semibold",
|
|
1423
1439
|
"transition-colors",
|
|
@@ -1432,12 +1448,31 @@ function AdventureCard({
|
|
|
1432
1448
|
opt.scheduledAtLabel
|
|
1433
1449
|
] })
|
|
1434
1450
|
] }, opt.id);
|
|
1435
|
-
}) })
|
|
1451
|
+
}) }),
|
|
1452
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1453
|
+
Dialog,
|
|
1454
|
+
{
|
|
1455
|
+
open: openDescriptionId !== null,
|
|
1456
|
+
onOpenChange: (open) => !open && setOpenDescriptionId(null),
|
|
1457
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "max-w-lg max-h-[85vh] overflow-y-auto p-6 sm:max-w-lg", children: [
|
|
1458
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DialogHeader, { className: "gap-3 pr-8", children: [
|
|
1459
|
+
/* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "font-heading text-xl font-bold text-foreground leading-snug", children: (_i = openDescriptionOptional == null ? void 0 : openDescriptionOptional.label) != null ? _i : "" }),
|
|
1460
|
+
(openDescriptionOptional == null ? void 0 : openDescriptionOptional.pricePerPerson) && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-flex w-fit items-center rounded-full bg-primary/10 px-3 py-1 text-sm font-semibold text-primary font-heading", children: openDescriptionOptional.pricePerPerson })
|
|
1461
|
+
] }),
|
|
1462
|
+
/* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
|
|
1463
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1464
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_k = (_j = labels == null ? void 0 : labels.optionalInfo) == null ? void 0 : _j.descriptionLabel) != null ? _k : "Description" }),
|
|
1465
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-sans text-foreground leading-relaxed whitespace-pre-wrap", children: (_l = openDescriptionOptional == null ? void 0 : openDescriptionOptional.description) != null ? _l : "" })
|
|
1466
|
+
] }),
|
|
1467
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(DialogClose, { className: "cursor-pointer px-4 py-2 rounded-lg bg-primary text-primary-foreground text-sm font-heading font-semibold hover:bg-primary/90 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: (_n = (_m = labels == null ? void 0 : labels.optionalInfo) == null ? void 0 : _m.closeLabel) != null ? _n : "Close" }) })
|
|
1468
|
+
] })
|
|
1469
|
+
}
|
|
1470
|
+
)
|
|
1436
1471
|
] }),
|
|
1437
1472
|
(adventure.description || adventure.detailsSlot) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1438
1473
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-1" }),
|
|
1439
1474
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1440
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest mb-3", children: (
|
|
1475
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest mb-3", children: (_o = adventure.itineraryLabel) != null ? _o : "Details" }),
|
|
1441
1476
|
adventure.description && !adventure.detailsSlot && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base text-foreground/80 leading-snug font-sans", children: adventure.description }),
|
|
1442
1477
|
adventure.detailsSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(
|
|
1443
1478
|
"text-foreground",
|
|
@@ -1463,21 +1498,21 @@ function AdventureCard({
|
|
|
1463
1498
|
] })
|
|
1464
1499
|
] }),
|
|
1465
1500
|
adventure.included && adventure.included.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
|
|
1466
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (
|
|
1501
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_p = adventure.includedLabel) != null ? _p : "What's included" }),
|
|
1467
1502
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-1.5", children: adventure.included.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2 text-base text-foreground/80 font-sans", children: [
|
|
1468
1503
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "w-4 h-4 text-primary shrink-0 mt-1" }),
|
|
1469
1504
|
item
|
|
1470
1505
|
] }, i)) })
|
|
1471
1506
|
] }),
|
|
1472
1507
|
adventure.notIncluded && adventure.notIncluded.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
|
|
1473
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (
|
|
1508
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_q = adventure.notIncludedLabel) != null ? _q : "What's not included" }),
|
|
1474
1509
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-1.5", children: adventure.notIncluded.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2 text-base text-foreground/80 font-sans", children: [
|
|
1475
1510
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "w-4 h-4 text-destructive shrink-0 mt-1" }),
|
|
1476
1511
|
item
|
|
1477
1512
|
] }, i)) })
|
|
1478
1513
|
] }),
|
|
1479
1514
|
adventure.cancellationPolicy && adventure.cancellationPolicy.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
|
|
1480
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (
|
|
1515
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_r = adventure.cancellationPolicyLabel) != null ? _r : "Cancellation policy" }),
|
|
1481
1516
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-1.5", children: adventure.cancellationPolicy.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2 text-base text-muted-foreground font-sans", children: [
|
|
1482
1517
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-primary shrink-0 mt-2.5" }),
|
|
1483
1518
|
item
|
|
@@ -5234,6 +5269,234 @@ function BookingCreatedEmail({
|
|
|
5234
5269
|
}
|
|
5235
5270
|
);
|
|
5236
5271
|
}
|
|
5272
|
+
var INLINE_LINK_STYLE = {
|
|
5273
|
+
color: emailTokens.primary,
|
|
5274
|
+
textDecoration: "underline"
|
|
5275
|
+
};
|
|
5276
|
+
function renderWhatsappLink(contact, label) {
|
|
5277
|
+
if (contact.whatsappUrl) {
|
|
5278
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE, children: label });
|
|
5279
|
+
}
|
|
5280
|
+
return label;
|
|
5281
|
+
}
|
|
5282
|
+
function renderEmailLink(contact, label) {
|
|
5283
|
+
if (contact.email) {
|
|
5284
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE, children: label });
|
|
5285
|
+
}
|
|
5286
|
+
return label;
|
|
5287
|
+
}
|
|
5288
|
+
function hasText(s) {
|
|
5289
|
+
return typeof s === "string" && s.trim().length > 0;
|
|
5290
|
+
}
|
|
5291
|
+
var DEFAULT_LABELS5 = {
|
|
5292
|
+
logoAlt: "PlanetaEXO",
|
|
5293
|
+
greeting: (recipientName) => `Hi ${recipientName},`,
|
|
5294
|
+
title: "Your booking has been cancelled",
|
|
5295
|
+
intro: (bookingRef) => `We're writing to let you know that your booking ${bookingRef} has been cancelled.`,
|
|
5296
|
+
summaryHeading: "Booking details",
|
|
5297
|
+
bookingNumberLabel: "Booking number",
|
|
5298
|
+
adventuresLabel: "Adventure",
|
|
5299
|
+
datesLabel: "Dates",
|
|
5300
|
+
travellersLabel: "Travellers",
|
|
5301
|
+
refundHeading: "Refund registered",
|
|
5302
|
+
refundAmountLabel: "Refund amount",
|
|
5303
|
+
refundNote: "As per our cancellation policy.",
|
|
5304
|
+
closingAgent: (agentName, contact) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5305
|
+
"If you have any questions, your agent ",
|
|
5306
|
+
agentName,
|
|
5307
|
+
" is available via",
|
|
5308
|
+
" ",
|
|
5309
|
+
renderWhatsappLink(contact, "WhatsApp"),
|
|
5310
|
+
" or ",
|
|
5311
|
+
renderEmailLink(contact, "email"),
|
|
5312
|
+
"."
|
|
5313
|
+
] }),
|
|
5314
|
+
closingNoAgent: "If you have any questions, our team is available via WhatsApp or email.",
|
|
5315
|
+
teamSignature: "The PlanetaEXO Team"
|
|
5316
|
+
};
|
|
5317
|
+
function BookingCancellationEmail({
|
|
5318
|
+
recipientName,
|
|
5319
|
+
bookingRef,
|
|
5320
|
+
adventures,
|
|
5321
|
+
travellersCount,
|
|
5322
|
+
refundAmount,
|
|
5323
|
+
agentName,
|
|
5324
|
+
agentContactLinks,
|
|
5325
|
+
logoUrl,
|
|
5326
|
+
labels,
|
|
5327
|
+
className
|
|
5328
|
+
}) {
|
|
5329
|
+
const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS5), labels);
|
|
5330
|
+
const adventureLines = adventures.map((a) => a.name).join("\n");
|
|
5331
|
+
const dateLines = adventures.map((a) => `${a.startDate} \u2013 ${a.endDate}`).join("\n");
|
|
5332
|
+
const summaryRows = [
|
|
5333
|
+
{
|
|
5334
|
+
label: l.bookingNumberLabel,
|
|
5335
|
+
value: `#${bookingRef}`,
|
|
5336
|
+
valueColor: emailTokens.primary
|
|
5337
|
+
},
|
|
5338
|
+
{ label: l.adventuresLabel, value: adventureLines },
|
|
5339
|
+
{ label: l.datesLabel, value: dateLines },
|
|
5340
|
+
{ label: l.travellersLabel, value: travellersCount }
|
|
5341
|
+
];
|
|
5342
|
+
const showRefund = hasText(refundAmount);
|
|
5343
|
+
const agentNameTrimmed = agentName == null ? void 0 : agentName.trim();
|
|
5344
|
+
const contact = agentContactLinks != null ? agentContactLinks : {};
|
|
5345
|
+
const closingNode = agentNameTrimmed ? l.closingAgent(agentNameTrimmed, contact) : l.closingNoAgent;
|
|
5346
|
+
const sectionDivider = /* @__PURE__ */ jsxRuntime.jsx(
|
|
5347
|
+
"hr",
|
|
5348
|
+
{
|
|
5349
|
+
style: {
|
|
5350
|
+
border: "none",
|
|
5351
|
+
borderTop: `1px solid ${emailTokens.border}`,
|
|
5352
|
+
marginTop: 0,
|
|
5353
|
+
marginBottom: "24px"
|
|
5354
|
+
}
|
|
5355
|
+
}
|
|
5356
|
+
);
|
|
5357
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5358
|
+
"div",
|
|
5359
|
+
{
|
|
5360
|
+
style: {
|
|
5361
|
+
maxWidth: "576px",
|
|
5362
|
+
margin: "0 auto",
|
|
5363
|
+
backgroundColor: emailTokens.white,
|
|
5364
|
+
color: emailTokens.foreground,
|
|
5365
|
+
fontFamily: emailTokens.fontFamily,
|
|
5366
|
+
fontSize: "16px",
|
|
5367
|
+
lineHeight: "1.6",
|
|
5368
|
+
border: `1px solid ${emailTokens.border}`,
|
|
5369
|
+
borderRadius: "12px",
|
|
5370
|
+
overflow: "hidden",
|
|
5371
|
+
padding: "32px"
|
|
5372
|
+
},
|
|
5373
|
+
className,
|
|
5374
|
+
children: [
|
|
5375
|
+
/* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
|
|
5376
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientName) }),
|
|
5377
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5378
|
+
"p",
|
|
5379
|
+
{
|
|
5380
|
+
style: {
|
|
5381
|
+
marginTop: 0,
|
|
5382
|
+
marginBottom: "16px",
|
|
5383
|
+
fontWeight: 700,
|
|
5384
|
+
color: emailTokens.foreground,
|
|
5385
|
+
fontSize: "20px",
|
|
5386
|
+
lineHeight: "1.3",
|
|
5387
|
+
fontFamily: emailTokens.fontFamily
|
|
5388
|
+
},
|
|
5389
|
+
children: l.title
|
|
5390
|
+
}
|
|
5391
|
+
),
|
|
5392
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "24px" }, children: l.intro(`#${bookingRef}`) }),
|
|
5393
|
+
sectionDivider,
|
|
5394
|
+
/* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.summaryHeading, rows: summaryRows }),
|
|
5395
|
+
showRefund && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5396
|
+
"div",
|
|
5397
|
+
{
|
|
5398
|
+
style: {
|
|
5399
|
+
marginBottom: "24px",
|
|
5400
|
+
padding: "16px 20px",
|
|
5401
|
+
borderRadius: "12px",
|
|
5402
|
+
border: `1px solid ${emailTokens.border}`,
|
|
5403
|
+
backgroundColor: emailTokens.muted
|
|
5404
|
+
},
|
|
5405
|
+
children: [
|
|
5406
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5407
|
+
"p",
|
|
5408
|
+
{
|
|
5409
|
+
style: {
|
|
5410
|
+
margin: "0 0 8px 0",
|
|
5411
|
+
fontSize: "12px",
|
|
5412
|
+
fontWeight: 700,
|
|
5413
|
+
color: emailTokens.mutedForeground,
|
|
5414
|
+
textTransform: "uppercase",
|
|
5415
|
+
letterSpacing: "0.08em",
|
|
5416
|
+
fontFamily: emailTokens.fontFamily
|
|
5417
|
+
},
|
|
5418
|
+
children: l.refundHeading
|
|
5419
|
+
}
|
|
5420
|
+
),
|
|
5421
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5422
|
+
"table",
|
|
5423
|
+
{
|
|
5424
|
+
cellPadding: 0,
|
|
5425
|
+
cellSpacing: 0,
|
|
5426
|
+
style: { width: "100%", borderCollapse: "collapse" },
|
|
5427
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
5428
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5429
|
+
"td",
|
|
5430
|
+
{
|
|
5431
|
+
style: {
|
|
5432
|
+
fontSize: "14px",
|
|
5433
|
+
color: emailTokens.bodyText,
|
|
5434
|
+
verticalAlign: "middle"
|
|
5435
|
+
},
|
|
5436
|
+
children: l.refundAmountLabel
|
|
5437
|
+
}
|
|
5438
|
+
),
|
|
5439
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5440
|
+
"td",
|
|
5441
|
+
{
|
|
5442
|
+
style: {
|
|
5443
|
+
fontSize: "18px",
|
|
5444
|
+
fontWeight: 700,
|
|
5445
|
+
color: emailTokens.foreground,
|
|
5446
|
+
textAlign: "right",
|
|
5447
|
+
verticalAlign: "middle",
|
|
5448
|
+
whiteSpace: "nowrap"
|
|
5449
|
+
},
|
|
5450
|
+
children: refundAmount
|
|
5451
|
+
}
|
|
5452
|
+
)
|
|
5453
|
+
] }) })
|
|
5454
|
+
}
|
|
5455
|
+
),
|
|
5456
|
+
hasText(l.refundNote) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5457
|
+
"p",
|
|
5458
|
+
{
|
|
5459
|
+
style: {
|
|
5460
|
+
margin: "8px 0 0 0",
|
|
5461
|
+
fontSize: "12px",
|
|
5462
|
+
color: emailTokens.mutedForeground,
|
|
5463
|
+
fontStyle: "italic"
|
|
5464
|
+
},
|
|
5465
|
+
children: l.refundNote
|
|
5466
|
+
}
|
|
5467
|
+
)
|
|
5468
|
+
]
|
|
5469
|
+
}
|
|
5470
|
+
),
|
|
5471
|
+
sectionDivider,
|
|
5472
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5473
|
+
"p",
|
|
5474
|
+
{
|
|
5475
|
+
style: {
|
|
5476
|
+
marginBottom: "16px",
|
|
5477
|
+
fontSize: "14px",
|
|
5478
|
+
fontWeight: 700,
|
|
5479
|
+
color: emailTokens.bodyText
|
|
5480
|
+
},
|
|
5481
|
+
children: closingNode
|
|
5482
|
+
}
|
|
5483
|
+
),
|
|
5484
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5485
|
+
"p",
|
|
5486
|
+
{
|
|
5487
|
+
style: {
|
|
5488
|
+
marginTop: 0,
|
|
5489
|
+
marginBottom: 0,
|
|
5490
|
+
fontSize: "14px",
|
|
5491
|
+
color: emailTokens.bodyText
|
|
5492
|
+
},
|
|
5493
|
+
children: l.teamSignature
|
|
5494
|
+
}
|
|
5495
|
+
)
|
|
5496
|
+
]
|
|
5497
|
+
}
|
|
5498
|
+
);
|
|
5499
|
+
}
|
|
5237
5500
|
function RegistrationProgressBar({
|
|
5238
5501
|
tone,
|
|
5239
5502
|
pct,
|
|
@@ -5296,23 +5559,23 @@ function RegistrationProgressBar({
|
|
|
5296
5559
|
}
|
|
5297
5560
|
) });
|
|
5298
5561
|
}
|
|
5299
|
-
var
|
|
5562
|
+
var INLINE_LINK_STYLE2 = {
|
|
5300
5563
|
color: emailTokens.primary,
|
|
5301
5564
|
textDecoration: "underline"
|
|
5302
5565
|
};
|
|
5303
|
-
function
|
|
5566
|
+
function renderWhatsappLink2(contact, label) {
|
|
5304
5567
|
if (contact.whatsappUrl) {
|
|
5305
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style:
|
|
5568
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE2, children: label });
|
|
5306
5569
|
}
|
|
5307
5570
|
return label;
|
|
5308
5571
|
}
|
|
5309
|
-
function
|
|
5572
|
+
function renderEmailLink2(contact, label) {
|
|
5310
5573
|
if (contact.email) {
|
|
5311
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style:
|
|
5574
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE2, children: label });
|
|
5312
5575
|
}
|
|
5313
5576
|
return label;
|
|
5314
5577
|
}
|
|
5315
|
-
var
|
|
5578
|
+
var DEFAULT_LABELS6 = {
|
|
5316
5579
|
logoAlt: "PlanetaEXO",
|
|
5317
5580
|
greeting: (n) => `Hi ${n},`,
|
|
5318
5581
|
intermediateHello: "Hope you're doing well.",
|
|
@@ -5331,9 +5594,9 @@ var DEFAULT_LABELS5 = {
|
|
|
5331
5594
|
"If you need any assistance with the traveller registrations, feel free to contact your agent ",
|
|
5332
5595
|
agentName,
|
|
5333
5596
|
" via ",
|
|
5334
|
-
|
|
5597
|
+
renderWhatsappLink2(contact, "WhatsApp"),
|
|
5335
5598
|
" or ",
|
|
5336
|
-
|
|
5599
|
+
renderEmailLink2(contact, "email"),
|
|
5337
5600
|
"."
|
|
5338
5601
|
] }),
|
|
5339
5602
|
closingNoAgent: "If you need any assistance with the traveller registrations, feel free to contact us via WhatsApp or email.",
|
|
@@ -5406,7 +5669,7 @@ var DEFAULT_LABELS5 = {
|
|
|
5406
5669
|
}
|
|
5407
5670
|
}
|
|
5408
5671
|
};
|
|
5409
|
-
function
|
|
5672
|
+
function hasText2(s) {
|
|
5410
5673
|
return typeof s === "string" && s.trim().length > 0;
|
|
5411
5674
|
}
|
|
5412
5675
|
function hasItems(arr) {
|
|
@@ -5426,12 +5689,12 @@ function RegistrationReminderEmail({
|
|
|
5426
5689
|
className
|
|
5427
5690
|
}) {
|
|
5428
5691
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
5429
|
-
const l = __spreadProps(__spreadValues(__spreadValues({},
|
|
5692
|
+
const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS6), labels), {
|
|
5430
5693
|
variants: {
|
|
5431
|
-
d_minus_30: __spreadValues(__spreadValues({},
|
|
5432
|
-
d_minus_15: __spreadValues(__spreadValues({},
|
|
5433
|
-
d_minus_7: __spreadValues(__spreadValues({},
|
|
5434
|
-
d_minus_2: __spreadValues(__spreadValues({},
|
|
5694
|
+
d_minus_30: __spreadValues(__spreadValues({}, DEFAULT_LABELS6.variants.d_minus_30), (_b = (_a = labels == null ? void 0 : labels.variants) == null ? void 0 : _a.d_minus_30) != null ? _b : {}),
|
|
5695
|
+
d_minus_15: __spreadValues(__spreadValues({}, DEFAULT_LABELS6.variants.d_minus_15), (_d = (_c = labels == null ? void 0 : labels.variants) == null ? void 0 : _c.d_minus_15) != null ? _d : {}),
|
|
5696
|
+
d_minus_7: __spreadValues(__spreadValues({}, DEFAULT_LABELS6.variants.d_minus_7), (_f = (_e = labels == null ? void 0 : labels.variants) == null ? void 0 : _e.d_minus_7) != null ? _f : {}),
|
|
5697
|
+
d_minus_2: __spreadValues(__spreadValues({}, DEFAULT_LABELS6.variants.d_minus_2), (_h = (_g = labels == null ? void 0 : labels.variants) == null ? void 0 : _g.d_minus_2) != null ? _h : {})
|
|
5435
5698
|
}
|
|
5436
5699
|
});
|
|
5437
5700
|
const v = l.variants[slug];
|
|
@@ -5452,14 +5715,14 @@ function RegistrationReminderEmail({
|
|
|
5452
5715
|
{ label: l.travellersRowLabel, value: l.travellersCountLabel(totalTravellers) },
|
|
5453
5716
|
...(agent == null ? void 0 : agent.name) ? [{ label: l.agentRowLabel, value: agent.name }] : []
|
|
5454
5717
|
];
|
|
5455
|
-
const showPleaseNote =
|
|
5456
|
-
const showBookerCoord =
|
|
5457
|
-
const showEarlyBenefit =
|
|
5458
|
-
const showImportant =
|
|
5459
|
-
const showFinalTagline =
|
|
5460
|
-
|
|
5461
|
-
const showDisregard =
|
|
5462
|
-
const showClosingThanks =
|
|
5718
|
+
const showPleaseNote = hasText2(v.pleaseNoteHeader) && hasItems(v.pleaseNoteBullets);
|
|
5719
|
+
const showBookerCoord = hasText2(v.bookerCoordinationNote);
|
|
5720
|
+
const showEarlyBenefit = hasText2(v.earlyCompletionBenefit);
|
|
5721
|
+
const showImportant = hasText2(v.importantNote);
|
|
5722
|
+
const showFinalTagline = hasText2(v.finalReminderTagline);
|
|
5723
|
+
hasText2(v.multiTravellerNote);
|
|
5724
|
+
const showDisregard = hasText2(v.disregardIfCompleted);
|
|
5725
|
+
const showClosingThanks = hasText2(v.closingThanks);
|
|
5463
5726
|
const sectionDivider = /* @__PURE__ */ jsxRuntime.jsx(
|
|
5464
5727
|
"hr",
|
|
5465
5728
|
{
|
|
@@ -5471,7 +5734,7 @@ function RegistrationReminderEmail({
|
|
|
5471
5734
|
}
|
|
5472
5735
|
}
|
|
5473
5736
|
);
|
|
5474
|
-
const hasIntroBlock =
|
|
5737
|
+
const hasIntroBlock = hasText2(v.intro) || hasText2(v.contextNote);
|
|
5475
5738
|
const hasPleaseNote = showPleaseNote;
|
|
5476
5739
|
const hasD7Highlight = showImportant && slug === "d_minus_7";
|
|
5477
5740
|
const hasD2Highlight = showFinalTagline || showImportant && slug === "d_minus_2";
|
|
@@ -5495,9 +5758,9 @@ function RegistrationReminderEmail({
|
|
|
5495
5758
|
children: [
|
|
5496
5759
|
/* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
|
|
5497
5760
|
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientFirstName) }),
|
|
5498
|
-
|
|
5499
|
-
|
|
5500
|
-
|
|
5761
|
+
hasText2(l.intermediateHello) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
|
|
5762
|
+
hasText2(v.intro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.intro }),
|
|
5763
|
+
hasText2(v.contextNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
|
|
5501
5764
|
hasIntroBlock && sectionDivider,
|
|
5502
5765
|
slug === "d_minus_15" && showBookerCoord && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.bookerCoordinationNote }),
|
|
5503
5766
|
hasItems(adventures) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -5515,7 +5778,7 @@ function RegistrationReminderEmail({
|
|
|
5515
5778
|
children: l.progressHeader
|
|
5516
5779
|
}
|
|
5517
5780
|
),
|
|
5518
|
-
|
|
5781
|
+
hasText2(v.progressIntro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.progressIntro }),
|
|
5519
5782
|
adventures.map((adv, i) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5520
5783
|
"div",
|
|
5521
5784
|
{
|
|
@@ -5651,23 +5914,23 @@ function RegistrationReminderEmail({
|
|
|
5651
5914
|
}
|
|
5652
5915
|
);
|
|
5653
5916
|
}
|
|
5654
|
-
var
|
|
5917
|
+
var INLINE_LINK_STYLE3 = {
|
|
5655
5918
|
color: emailTokens.primary,
|
|
5656
5919
|
textDecoration: "underline"
|
|
5657
5920
|
};
|
|
5658
|
-
function
|
|
5921
|
+
function renderWhatsappLink3(contact, label) {
|
|
5659
5922
|
if (contact.whatsappUrl) {
|
|
5660
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style:
|
|
5923
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE3, children: label });
|
|
5661
5924
|
}
|
|
5662
5925
|
return label;
|
|
5663
5926
|
}
|
|
5664
|
-
function
|
|
5927
|
+
function renderEmailLink3(contact, label) {
|
|
5665
5928
|
if (contact.email) {
|
|
5666
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style:
|
|
5929
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE3, children: label });
|
|
5667
5930
|
}
|
|
5668
5931
|
return label;
|
|
5669
5932
|
}
|
|
5670
|
-
var
|
|
5933
|
+
var DEFAULT_LABELS7 = {
|
|
5671
5934
|
logoAlt: "PlanetaEXO",
|
|
5672
5935
|
greeting: (n) => `Hi ${n},`,
|
|
5673
5936
|
tripDetailsHeader: "\u{1F4CB} Trip details",
|
|
@@ -5683,9 +5946,9 @@ var DEFAULT_LABELS6 = {
|
|
|
5683
5946
|
"If you have questions, your agent ",
|
|
5684
5947
|
agentName,
|
|
5685
5948
|
" is available via ",
|
|
5686
|
-
|
|
5949
|
+
renderWhatsappLink3(contact, "WhatsApp"),
|
|
5687
5950
|
" or ",
|
|
5688
|
-
|
|
5951
|
+
renderEmailLink3(contact, "email"),
|
|
5689
5952
|
"."
|
|
5690
5953
|
] }),
|
|
5691
5954
|
closingNoAgent: "If you have questions or need assistance, our team is available via WhatsApp or email.",
|
|
@@ -5733,7 +5996,7 @@ var DEFAULT_LABELS6 = {
|
|
|
5733
5996
|
}
|
|
5734
5997
|
}
|
|
5735
5998
|
};
|
|
5736
|
-
function
|
|
5999
|
+
function hasText3(s) {
|
|
5737
6000
|
return typeof s === "string" && s.trim().length > 0;
|
|
5738
6001
|
}
|
|
5739
6002
|
function RegistrationReminderIndividualEmail({
|
|
@@ -5754,12 +6017,12 @@ function RegistrationReminderIndividualEmail({
|
|
|
5754
6017
|
className
|
|
5755
6018
|
}) {
|
|
5756
6019
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
5757
|
-
const l = __spreadProps(__spreadValues(__spreadValues({},
|
|
6020
|
+
const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS7), labels), {
|
|
5758
6021
|
variants: {
|
|
5759
|
-
d_minus_30: __spreadValues(__spreadValues({},
|
|
5760
|
-
d_minus_15: __spreadValues(__spreadValues({},
|
|
5761
|
-
d_minus_7: __spreadValues(__spreadValues({},
|
|
5762
|
-
d_minus_2: __spreadValues(__spreadValues({},
|
|
6022
|
+
d_minus_30: __spreadValues(__spreadValues({}, DEFAULT_LABELS7.variants.d_minus_30), (_b = (_a = labels == null ? void 0 : labels.variants) == null ? void 0 : _a.d_minus_30) != null ? _b : {}),
|
|
6023
|
+
d_minus_15: __spreadValues(__spreadValues({}, DEFAULT_LABELS7.variants.d_minus_15), (_d = (_c = labels == null ? void 0 : labels.variants) == null ? void 0 : _c.d_minus_15) != null ? _d : {}),
|
|
6024
|
+
d_minus_7: __spreadValues(__spreadValues({}, DEFAULT_LABELS7.variants.d_minus_7), (_f = (_e = labels == null ? void 0 : labels.variants) == null ? void 0 : _e.d_minus_7) != null ? _f : {}),
|
|
6025
|
+
d_minus_2: __spreadValues(__spreadValues({}, DEFAULT_LABELS7.variants.d_minus_2), (_h = (_g = labels == null ? void 0 : labels.variants) == null ? void 0 : _g.d_minus_2) != null ? _h : {})
|
|
5763
6026
|
}
|
|
5764
6027
|
});
|
|
5765
6028
|
const v = l.variants[slug];
|
|
@@ -5779,7 +6042,7 @@ function RegistrationReminderIndividualEmail({
|
|
|
5779
6042
|
{ label: l.leadTravellerLabel, value: leadTravellerName },
|
|
5780
6043
|
{ label: l.adventureLabel, value: adventureName },
|
|
5781
6044
|
{ label: l.startingDateLabel, value: startDateFormatted },
|
|
5782
|
-
...
|
|
6045
|
+
...hasText3(partnerName) ? [{ label: l.partnerLabel, value: partnerName }] : []
|
|
5783
6046
|
];
|
|
5784
6047
|
const sectionDivider = /* @__PURE__ */ jsxRuntime.jsx(
|
|
5785
6048
|
"hr",
|
|
@@ -5814,7 +6077,7 @@ function RegistrationReminderIndividualEmail({
|
|
|
5814
6077
|
children: [
|
|
5815
6078
|
/* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
|
|
5816
6079
|
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientFirstName) }),
|
|
5817
|
-
|
|
6080
|
+
hasText3(routingNote) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5818
6081
|
"p",
|
|
5819
6082
|
{
|
|
5820
6083
|
style: {
|
|
@@ -5829,8 +6092,8 @@ function RegistrationReminderIndividualEmail({
|
|
|
5829
6092
|
}
|
|
5830
6093
|
),
|
|
5831
6094
|
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: introText }),
|
|
5832
|
-
|
|
5833
|
-
slug === "d_minus_2" && (
|
|
6095
|
+
hasText3(v.contextNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
|
|
6096
|
+
slug === "d_minus_2" && (hasText3(v.finalReminderTagline) || hasText3(v.consequencesNote)) && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5834
6097
|
"div",
|
|
5835
6098
|
{
|
|
5836
6099
|
style: {
|
|
@@ -5842,23 +6105,23 @@ function RegistrationReminderIndividualEmail({
|
|
|
5842
6105
|
color: "#7f1d1d"
|
|
5843
6106
|
},
|
|
5844
6107
|
children: [
|
|
5845
|
-
|
|
6108
|
+
hasText3(v.finalReminderTagline) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5846
6109
|
"p",
|
|
5847
6110
|
{
|
|
5848
6111
|
style: {
|
|
5849
6112
|
margin: 0,
|
|
5850
|
-
marginBottom:
|
|
6113
|
+
marginBottom: hasText3(v.consequencesNote) ? "8px" : 0,
|
|
5851
6114
|
fontWeight: 700
|
|
5852
6115
|
},
|
|
5853
6116
|
children: v.finalReminderTagline
|
|
5854
6117
|
}
|
|
5855
6118
|
),
|
|
5856
|
-
|
|
6119
|
+
hasText3(v.consequencesNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: v.consequencesNote })
|
|
5857
6120
|
]
|
|
5858
6121
|
}
|
|
5859
6122
|
),
|
|
5860
6123
|
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "24px", textAlign: "left" }, children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: ctaUrl, style: ctaStyle, children: l.ctaLabel }) }),
|
|
5861
|
-
slug === "d_minus_7" &&
|
|
6124
|
+
slug === "d_minus_7" && hasText3(v.mandatoryNote) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5862
6125
|
"p",
|
|
5863
6126
|
{
|
|
5864
6127
|
style: {
|
|
@@ -5874,8 +6137,8 @@ function RegistrationReminderIndividualEmail({
|
|
|
5874
6137
|
),
|
|
5875
6138
|
sectionDivider,
|
|
5876
6139
|
/* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.tripDetailsHeader, rows: tripRows }),
|
|
5877
|
-
(slug === "d_minus_30" || slug === "d_minus_15") &&
|
|
5878
|
-
slug === "d_minus_2" &&
|
|
6140
|
+
(slug === "d_minus_30" || slug === "d_minus_15") && hasText3(v.mandatoryNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.mandatoryNote }),
|
|
6141
|
+
slug === "d_minus_2" && hasText3(v.disregardIfCompleted) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5879
6142
|
"p",
|
|
5880
6143
|
{
|
|
5881
6144
|
style: {
|
|
@@ -5892,29 +6155,29 @@ function RegistrationReminderIndividualEmail({
|
|
|
5892
6155
|
whatsappUrl: agent.whatsappUrl,
|
|
5893
6156
|
email: agent.email
|
|
5894
6157
|
}) : l.closingNoAgent }),
|
|
5895
|
-
|
|
6158
|
+
hasText3(v.closingThanks) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: v.closingThanks }),
|
|
5896
6159
|
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "14px", color: emailTokens.bodyText }, children: l.teamSignature })
|
|
5897
6160
|
]
|
|
5898
6161
|
}
|
|
5899
6162
|
);
|
|
5900
6163
|
}
|
|
5901
|
-
var
|
|
6164
|
+
var INLINE_LINK_STYLE4 = {
|
|
5902
6165
|
color: emailTokens.primary,
|
|
5903
6166
|
textDecoration: "underline"
|
|
5904
6167
|
};
|
|
5905
|
-
function
|
|
6168
|
+
function renderWhatsappLink4(contact, label) {
|
|
5906
6169
|
if (contact.whatsappUrl) {
|
|
5907
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style:
|
|
6170
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE4, children: label });
|
|
5908
6171
|
}
|
|
5909
6172
|
return label;
|
|
5910
6173
|
}
|
|
5911
|
-
function
|
|
6174
|
+
function renderEmailLink4(contact, label) {
|
|
5912
6175
|
if (contact.email) {
|
|
5913
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style:
|
|
6176
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE4, children: label });
|
|
5914
6177
|
}
|
|
5915
6178
|
return label;
|
|
5916
6179
|
}
|
|
5917
|
-
var
|
|
6180
|
+
var DEFAULT_LABELS8 = {
|
|
5918
6181
|
logoAlt: "PlanetaEXO",
|
|
5919
6182
|
greeting: (n) => `Hi ${n},`,
|
|
5920
6183
|
introAllDone: (adv, dr) => `All travellers for ${adv} (${dr}) have completed their registration. Their consolidated registration details are attached, and below you'll find what they're most looking forward to.`,
|
|
@@ -5934,15 +6197,15 @@ var DEFAULT_LABELS7 = {
|
|
|
5934
6197
|
agentName,
|
|
5935
6198
|
" is available via",
|
|
5936
6199
|
" ",
|
|
5937
|
-
|
|
6200
|
+
renderWhatsappLink4(contact, "WhatsApp"),
|
|
5938
6201
|
" or ",
|
|
5939
|
-
|
|
6202
|
+
renderEmailLink4(contact, "email"),
|
|
5940
6203
|
"."
|
|
5941
6204
|
] }),
|
|
5942
6205
|
closingNoAgent: "If you have any questions, our team is available via WhatsApp or email.",
|
|
5943
6206
|
teamSignature: "The PlanetaEXO Team"
|
|
5944
6207
|
};
|
|
5945
|
-
function
|
|
6208
|
+
function hasText4(s) {
|
|
5946
6209
|
return typeof s === "string" && s.trim().length > 0;
|
|
5947
6210
|
}
|
|
5948
6211
|
function PartnerConfirmationEmail({
|
|
@@ -5960,7 +6223,7 @@ function PartnerConfirmationEmail({
|
|
|
5960
6223
|
labels,
|
|
5961
6224
|
className
|
|
5962
6225
|
}) {
|
|
5963
|
-
const l = __spreadValues(__spreadValues({},
|
|
6226
|
+
const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS8), labels);
|
|
5964
6227
|
const tripRows = [
|
|
5965
6228
|
{ label: l.bookingNumberLabel, value: `#${bookingNumber}`, valueColor: emailTokens.primary },
|
|
5966
6229
|
{ label: l.adventureLabel, value: adventureName },
|
|
@@ -5999,7 +6262,7 @@ function PartnerConfirmationEmail({
|
|
|
5999
6262
|
className,
|
|
6000
6263
|
children: [
|
|
6001
6264
|
/* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
|
|
6002
|
-
|
|
6265
|
+
hasText4(topNotice) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6003
6266
|
"div",
|
|
6004
6267
|
{
|
|
6005
6268
|
style: {
|
|
@@ -6076,7 +6339,7 @@ function PartnerConfirmationEmail({
|
|
|
6076
6339
|
}) })
|
|
6077
6340
|
}
|
|
6078
6341
|
) : /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginTop: 0, marginBottom: "24px", color: emailTokens.bodyText }, children: l.expectationsEmptyNote }),
|
|
6079
|
-
pdfAttached &&
|
|
6342
|
+
pdfAttached && hasText4(l.pdfNote) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6080
6343
|
"div",
|
|
6081
6344
|
{
|
|
6082
6345
|
style: {
|
|
@@ -6101,26 +6364,26 @@ function PartnerConfirmationEmail({
|
|
|
6101
6364
|
}
|
|
6102
6365
|
);
|
|
6103
6366
|
}
|
|
6104
|
-
var
|
|
6367
|
+
var INLINE_LINK_STYLE5 = {
|
|
6105
6368
|
color: emailTokens.primary,
|
|
6106
6369
|
textDecoration: "underline"
|
|
6107
6370
|
};
|
|
6108
|
-
function
|
|
6371
|
+
function renderWhatsappLink5(contact, label) {
|
|
6109
6372
|
if (contact.whatsappUrl) {
|
|
6110
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style:
|
|
6373
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE5, children: label });
|
|
6111
6374
|
}
|
|
6112
6375
|
return label;
|
|
6113
6376
|
}
|
|
6114
|
-
function
|
|
6377
|
+
function renderEmailLink5(contact, label) {
|
|
6115
6378
|
if (contact.email) {
|
|
6116
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style:
|
|
6379
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE5, children: label });
|
|
6117
6380
|
}
|
|
6118
6381
|
return label;
|
|
6119
6382
|
}
|
|
6120
|
-
function
|
|
6383
|
+
function hasText5(s) {
|
|
6121
6384
|
return typeof s === "string" && s.trim().length > 0;
|
|
6122
6385
|
}
|
|
6123
|
-
var
|
|
6386
|
+
var DEFAULT_LABELS9 = {
|
|
6124
6387
|
logoAlt: "PlanetaEXO",
|
|
6125
6388
|
greeting: (n) => `Hi ${n},`,
|
|
6126
6389
|
intro: (adv) => `You have a new booking for your adventure ${adv}. Here are the details:`,
|
|
@@ -6138,9 +6401,9 @@ var DEFAULT_LABELS8 = {
|
|
|
6138
6401
|
agentName,
|
|
6139
6402
|
" is available via",
|
|
6140
6403
|
" ",
|
|
6141
|
-
|
|
6404
|
+
renderWhatsappLink5(contact, "WhatsApp"),
|
|
6142
6405
|
" or ",
|
|
6143
|
-
|
|
6406
|
+
renderEmailLink5(contact, "email"),
|
|
6144
6407
|
"."
|
|
6145
6408
|
] }),
|
|
6146
6409
|
closingNoAgent: "If you have any questions, our team is available via WhatsApp or email.",
|
|
@@ -6159,10 +6422,10 @@ function PartnerBookingCreatedEmail({
|
|
|
6159
6422
|
labels,
|
|
6160
6423
|
className
|
|
6161
6424
|
}) {
|
|
6162
|
-
const l = __spreadValues(__spreadValues({},
|
|
6425
|
+
const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS9), labels);
|
|
6163
6426
|
const summaryRows = [
|
|
6164
6427
|
{ label: l.bookerNameLabel, value: booker.name },
|
|
6165
|
-
...
|
|
6428
|
+
...hasText5(booker.country) ? [{ label: l.bookerCountryLabel, value: booker.country }] : [],
|
|
6166
6429
|
{ label: l.bookingNumberLabel, value: `#${bookingNumber}`, valueColor: emailTokens.primary },
|
|
6167
6430
|
{ label: l.adventureLabel, value: adventureName },
|
|
6168
6431
|
{ label: l.datesLabel, value: dateRange },
|
|
@@ -6198,7 +6461,7 @@ function PartnerBookingCreatedEmail({
|
|
|
6198
6461
|
className,
|
|
6199
6462
|
children: [
|
|
6200
6463
|
/* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
|
|
6201
|
-
|
|
6464
|
+
hasText5(topNotice) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6202
6465
|
"div",
|
|
6203
6466
|
{
|
|
6204
6467
|
style: {
|
|
@@ -6248,7 +6511,7 @@ function PartnerBookingCreatedEmail({
|
|
|
6248
6511
|
}
|
|
6249
6512
|
);
|
|
6250
6513
|
}
|
|
6251
|
-
var
|
|
6514
|
+
var DEFAULT_LABELS10 = {
|
|
6252
6515
|
logoAlt: "PlanetaEXO",
|
|
6253
6516
|
greeting: (name) => `Hi ${name},`,
|
|
6254
6517
|
introMessage: "",
|
|
@@ -6289,7 +6552,7 @@ function PaymentReceiptEmail({
|
|
|
6289
6552
|
labels,
|
|
6290
6553
|
className
|
|
6291
6554
|
}) {
|
|
6292
|
-
const l = __spreadValues(__spreadValues({},
|
|
6555
|
+
const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS10), labels);
|
|
6293
6556
|
const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
|
|
6294
6557
|
const interestRow = chargedAmount && chargedAmount !== amount;
|
|
6295
6558
|
const receiptRows = [
|
|
@@ -6432,24 +6695,24 @@ function PaymentReceiptEmail({
|
|
|
6432
6695
|
}
|
|
6433
6696
|
);
|
|
6434
6697
|
}
|
|
6435
|
-
var
|
|
6698
|
+
var INLINE_LINK_STYLE6 = {
|
|
6436
6699
|
color: emailTokens.primary,
|
|
6437
6700
|
textDecoration: "underline"
|
|
6438
6701
|
};
|
|
6439
|
-
function
|
|
6702
|
+
function renderWhatsappLink6(contact, label) {
|
|
6440
6703
|
if (contact.whatsappUrl) {
|
|
6441
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style:
|
|
6704
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE6, children: label });
|
|
6442
6705
|
}
|
|
6443
6706
|
return label;
|
|
6444
6707
|
}
|
|
6445
|
-
function
|
|
6708
|
+
function renderEmailLink6(contact, label) {
|
|
6446
6709
|
if (contact.email) {
|
|
6447
|
-
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style:
|
|
6710
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE6, children: label });
|
|
6448
6711
|
}
|
|
6449
6712
|
return label;
|
|
6450
6713
|
}
|
|
6451
6714
|
var EMPTY_CLOSING_ALTERNATIVE = (_agentName, _contact) => null;
|
|
6452
|
-
var
|
|
6715
|
+
var DEFAULT_LABELS11 = {
|
|
6453
6716
|
logoAlt: "PlanetaEXO",
|
|
6454
6717
|
greeting: (name) => `Hi ${name},`,
|
|
6455
6718
|
intermediateHello: "Hope you're doing well.",
|
|
@@ -6464,9 +6727,9 @@ var DEFAULT_LABELS10 = {
|
|
|
6464
6727
|
"If you need any assistance or would like to discuss your payment, feel free to contact your agent ",
|
|
6465
6728
|
agentName,
|
|
6466
6729
|
" via ",
|
|
6467
|
-
|
|
6730
|
+
renderWhatsappLink6(contact, "WhatsApp"),
|
|
6468
6731
|
" or ",
|
|
6469
|
-
|
|
6732
|
+
renderEmailLink6(contact, "email"),
|
|
6470
6733
|
"."
|
|
6471
6734
|
] }),
|
|
6472
6735
|
closingNoAgent: "If you need any assistance or would like to discuss your payment, feel free to contact us via WhatsApp or email.",
|
|
@@ -6510,9 +6773,9 @@ var DEFAULT_LABELS10 = {
|
|
|
6510
6773
|
"If you are experiencing any issues with payment or need additional time, please contact your agent ",
|
|
6511
6774
|
agentName,
|
|
6512
6775
|
" via ",
|
|
6513
|
-
|
|
6776
|
+
renderWhatsappLink6(contact, "WhatsApp"),
|
|
6514
6777
|
" or ",
|
|
6515
|
-
|
|
6778
|
+
renderEmailLink6(contact, "email"),
|
|
6516
6779
|
". We'll be happy to assist."
|
|
6517
6780
|
] })
|
|
6518
6781
|
}
|
|
@@ -6536,7 +6799,7 @@ function PaymentReminderEmail({
|
|
|
6536
6799
|
}) {
|
|
6537
6800
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
|
|
6538
6801
|
const lOverride = labels != null ? labels : {};
|
|
6539
|
-
const variantDefaults =
|
|
6802
|
+
const variantDefaults = DEFAULT_LABELS11.variants[variant];
|
|
6540
6803
|
const variantOverride = (_b = (_a = lOverride.variants) == null ? void 0 : _a[variant]) != null ? _b : {};
|
|
6541
6804
|
const variantLabels = {
|
|
6542
6805
|
intro: (_c = variantOverride.intro) != null ? _c : variantDefaults.intro,
|
|
@@ -6546,19 +6809,19 @@ function PaymentReminderEmail({
|
|
|
6546
6809
|
closingAlternative: (_f = variantOverride.closingAlternative) != null ? _f : variantDefaults.closingAlternative
|
|
6547
6810
|
};
|
|
6548
6811
|
const l = {
|
|
6549
|
-
logoAlt: (_g = lOverride.logoAlt) != null ? _g :
|
|
6550
|
-
greeting: (_h = lOverride.greeting) != null ? _h :
|
|
6551
|
-
intermediateHello: (_i = lOverride.intermediateHello) != null ? _i :
|
|
6552
|
-
bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j :
|
|
6553
|
-
amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k :
|
|
6554
|
-
remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l :
|
|
6555
|
-
totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m :
|
|
6556
|
-
paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n :
|
|
6557
|
-
ctaLabel: (_o = lOverride.ctaLabel) != null ? _o :
|
|
6558
|
-
teamSignature: (_p = lOverride.teamSignature) != null ? _p :
|
|
6559
|
-
closingAgent: (_q = lOverride.closingAgent) != null ? _q :
|
|
6560
|
-
closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r :
|
|
6561
|
-
adventureCard: __spreadValues(__spreadValues({},
|
|
6812
|
+
logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS11.logoAlt,
|
|
6813
|
+
greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS11.greeting,
|
|
6814
|
+
intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS11.intermediateHello,
|
|
6815
|
+
bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS11.bookingSummaryHeader,
|
|
6816
|
+
amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS11.amountAlreadyPaidLabel,
|
|
6817
|
+
remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS11.remainingBalanceDueLabel,
|
|
6818
|
+
totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS11.totalBookingAmountLabel,
|
|
6819
|
+
paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n : DEFAULT_LABELS11.paymentDetailsHeading,
|
|
6820
|
+
ctaLabel: (_o = lOverride.ctaLabel) != null ? _o : DEFAULT_LABELS11.ctaLabel,
|
|
6821
|
+
teamSignature: (_p = lOverride.teamSignature) != null ? _p : DEFAULT_LABELS11.teamSignature,
|
|
6822
|
+
closingAgent: (_q = lOverride.closingAgent) != null ? _q : DEFAULT_LABELS11.closingAgent,
|
|
6823
|
+
closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r : DEFAULT_LABELS11.closingNoAgent,
|
|
6824
|
+
adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS11.adventureCard), (_s = lOverride.adventureCard) != null ? _s : {})
|
|
6562
6825
|
};
|
|
6563
6826
|
const ctaStyle = {
|
|
6564
6827
|
display: "inline-block",
|
|
@@ -7416,7 +7679,7 @@ function validateCpf(value) {
|
|
|
7416
7679
|
if (secondDigit !== parseInt(digits[10], 10)) return false;
|
|
7417
7680
|
return true;
|
|
7418
7681
|
}
|
|
7419
|
-
var
|
|
7682
|
+
var DEFAULT_LABELS12 = {
|
|
7420
7683
|
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.",
|
|
7421
7684
|
detailsSectionTitle: "Your details",
|
|
7422
7685
|
tripInfoSectionTitle: "Trip info",
|
|
@@ -8157,7 +8420,7 @@ function RegistrationForm({
|
|
|
8157
8420
|
}) {
|
|
8158
8421
|
var _a;
|
|
8159
8422
|
const L = React28__namespace.useMemo(
|
|
8160
|
-
() => __spreadValues(__spreadValues({},
|
|
8423
|
+
() => __spreadValues(__spreadValues({}, DEFAULT_LABELS12), labels != null ? labels : {}),
|
|
8161
8424
|
[labels]
|
|
8162
8425
|
);
|
|
8163
8426
|
const sortedFields = React28__namespace.useMemo(
|
|
@@ -14009,6 +14272,7 @@ exports.AgentContactCard = AgentContactCard;
|
|
|
14009
14272
|
exports.Alert = Alert;
|
|
14010
14273
|
exports.BirthDateField = BirthDateField;
|
|
14011
14274
|
exports.BookingAdventureCard = BookingAdventureCard;
|
|
14275
|
+
exports.BookingCancellationEmail = BookingCancellationEmail;
|
|
14012
14276
|
exports.BookingConfirmedCard = BookingConfirmedCard;
|
|
14013
14277
|
exports.BookingCreatedEmail = BookingCreatedEmail;
|
|
14014
14278
|
exports.BookingDetails = BookingDetails;
|