@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.js CHANGED
@@ -4,7 +4,7 @@ import { cva } from 'class-variance-authority';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
- import { XIcon, ChevronDownIcon, CalendarIcon, SearchIcon, ChevronRightIcon, ArrowLeftIcon, CheckCircle2Icon, MapIcon, LogOutIcon, UsersIcon, CreditCardIcon, AlertCircleIcon, MinusIcon, PlusIcon, CircleCheckIcon, SlidersHorizontalIcon, ChevronLeftIcon, HomeIcon, SailboatIcon, CarIcon, WavesIcon, FootprintsIcon, InfoIcon, ClockIcon, CheckIcon, ChevronUpIcon, MenuIcon, UserIcon, SunIcon, MoonIcon, MapPinIcon, PackageIcon, BedDoubleIcon, UtensilsIcon, CompassIcon, BackpackIcon, CherryIcon, ReceiptIcon, Loader2Icon, SendIcon, CheckCircleIcon, MailIcon, PhoneIcon, MessageCircleIcon, UserPlusIcon, ExternalLinkIcon, CopyIcon, PencilIcon, Trash2Icon, UserMinusIcon, AlertTriangleIcon, ZoomInIcon, StarIcon, TwitterIcon, YoutubeIcon, LinkedinIcon, InstagramIcon, FacebookIcon, ArrowRightIcon, LayoutGridIcon } from 'lucide-react';
7
+ import { XIcon, ChevronDownIcon, CalendarIcon, SearchIcon, ChevronRightIcon, ArrowLeftIcon, CheckCircle2Icon, MapIcon, LogOutIcon, UsersIcon, CreditCardIcon, AlertCircleIcon, MinusIcon, PlusIcon, CircleCheckIcon, SlidersHorizontalIcon, ChevronLeftIcon, HomeIcon, SailboatIcon, CarIcon, WavesIcon, FootprintsIcon, InfoIcon, ClockIcon, CheckIcon, ChevronUpIcon, MenuIcon, UserIcon, SunIcon, MoonIcon, MapPinIcon, PackageIcon, BedDoubleIcon, UtensilsIcon, CompassIcon, BackpackIcon, CherryIcon, ReceiptIcon, Loader2Icon, SendIcon, CheckCircleIcon, Info, MailIcon, PhoneIcon, MessageCircleIcon, UserPlusIcon, ExternalLinkIcon, CopyIcon, PencilIcon, Trash2Icon, UserMinusIcon, AlertTriangleIcon, ZoomInIcon, StarIcon, TwitterIcon, YoutubeIcon, LinkedinIcon, InstagramIcon, FacebookIcon, ArrowRightIcon, LayoutGridIcon } from 'lucide-react';
8
8
  import { Separator as Separator$1 } from '@base-ui/react/separator';
9
9
  import { Dialog as Dialog$1 } from '@base-ui/react/dialog';
10
10
  import { Button as Button$1 } from '@base-ui/react/button';
@@ -227,7 +227,7 @@ function DialogContent(_a) {
227
227
  Button2,
228
228
  {
229
229
  variant: "ghost",
230
- className: "absolute top-2 right-2",
230
+ className: "absolute top-2 right-2 cursor-pointer",
231
231
  size: "icon-sm"
232
232
  }
233
233
  ),
@@ -1274,11 +1274,13 @@ function AdventureCard({
1274
1274
  labels,
1275
1275
  interactionsDisabled
1276
1276
  }) {
1277
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
1277
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
1278
1278
  const isControlled = (_b = (_a = adventure.optionals) == null ? void 0 : _a.some((o) => o.onCheckedChange !== void 0)) != null ? _b : false;
1279
1279
  const [checkedInternal, setCheckedInternal] = React28.useState(
1280
1280
  new Set((_d = (_c = adventure.optionals) == null ? void 0 : _c.filter((o) => o.defaultChecked).map((o) => o.id)) != null ? _d : [])
1281
1281
  );
1282
+ const [openDescriptionId, setOpenDescriptionId] = React28.useState(null);
1283
+ const openDescriptionOptional = openDescriptionId ? (_e = adventure.optionals) == null ? void 0 : _e.find((o) => o.id === openDescriptionId) : void 0;
1282
1284
  const isChecked = (opt) => {
1283
1285
  var _a2;
1284
1286
  return isControlled ? (_a2 = opt.checked) != null ? _a2 : false : checkedInternal.has(opt.id);
@@ -1300,7 +1302,7 @@ function AdventureCard({
1300
1302
  "img",
1301
1303
  {
1302
1304
  src: adventure.image,
1303
- alt: (_e = adventure.imageAlt) != null ? _e : adventure.title,
1305
+ alt: (_f = adventure.imageAlt) != null ? _f : adventure.title,
1304
1306
  className: "w-full h-full object-cover"
1305
1307
  }
1306
1308
  ) }),
@@ -1315,7 +1317,7 @@ function AdventureCard({
1315
1317
  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",
1316
1318
  children: [
1317
1319
  /* @__PURE__ */ jsx(XIcon, { className: "w-3 h-3" }),
1318
- (_f = labels == null ? void 0 : labels.remove) != null ? _f : "Remove"
1320
+ (_g = labels == null ? void 0 : labels.remove) != null ? _g : "Remove"
1319
1321
  ]
1320
1322
  }
1321
1323
  )
@@ -1332,9 +1334,9 @@ function AdventureCard({
1332
1334
  adventure.location
1333
1335
  ] }),
1334
1336
  adventure.optionals && adventure.optionals.length > 0 && /* @__PURE__ */ jsxs("div", { className: "mt-2 rounded-xl border border-border bg-muted/30 p-4 flex flex-col gap-3", children: [
1335
- /* @__PURE__ */ jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_g = labels == null ? void 0 : labels.availableOptionals) != null ? _g : "Available optionals" }),
1337
+ /* @__PURE__ */ 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" }),
1336
1338
  /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: adventure.optionals.map((opt) => {
1337
- var _a2, _b2, _c2, _d2, _e2;
1339
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2;
1338
1340
  const checked = isChecked(opt);
1339
1341
  const minQty = (_a2 = opt.minQuantity) != null ? _a2 : 1;
1340
1342
  const maxQty = (_b2 = opt.maxQuantity) != null ? _b2 : 50;
@@ -1342,6 +1344,7 @@ function AdventureCard({
1342
1344
  const currentQty = (_c2 = opt.quantity) != null ? _c2 : minQty;
1343
1345
  const canDec = currentQty > minQty;
1344
1346
  const canInc = currentQty < maxQty;
1347
+ const hasDescription = !!((_d2 = opt.description) == null ? void 0 : _d2.trim());
1345
1348
  return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-wrap items-center gap-x-3 gap-y-1.5", interactionsDisabled && "opacity-60"), children: [
1346
1349
  /* @__PURE__ */ jsxs("label", { className: cn("flex items-center gap-3 group", interactionsDisabled ? "cursor-not-allowed" : "cursor-pointer"), children: [
1347
1350
  /* @__PURE__ */ jsx(
@@ -1367,6 +1370,19 @@ function AdventureCard({
1367
1370
  ] })
1368
1371
  ] })
1369
1372
  ] }),
1373
+ hasDescription && /* @__PURE__ */ jsx(
1374
+ "button",
1375
+ {
1376
+ type: "button",
1377
+ onClick: (e) => {
1378
+ e.stopPropagation();
1379
+ setOpenDescriptionId(opt.id);
1380
+ },
1381
+ "aria-label": (_f2 = (_e2 = labels == null ? void 0 : labels.optionalInfo) == null ? void 0 : _e2.triggerAriaLabel) != null ? _f2 : "More info",
1382
+ 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",
1383
+ children: /* @__PURE__ */ jsx(Info, { className: "w-4 h-4" })
1384
+ }
1385
+ ),
1370
1386
  showStepper && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1 ml-auto", children: [
1371
1387
  /* @__PURE__ */ jsx(
1372
1388
  "button",
@@ -1377,7 +1393,7 @@ function AdventureCard({
1377
1393
  return !interactionsDisabled && canDec && ((_a3 = opt.onQuantityChange) == null ? void 0 : _a3.call(opt, opt.id, currentQty - 1));
1378
1394
  },
1379
1395
  disabled: interactionsDisabled || !canDec,
1380
- "aria-label": (_d2 = opt.decreaseQuantityLabel) != null ? _d2 : "Decrease quantity",
1396
+ "aria-label": (_g2 = opt.decreaseQuantityLabel) != null ? _g2 : "Decrease quantity",
1381
1397
  className: cn(
1382
1398
  "h-7 w-7 rounded border border-border flex items-center justify-center text-sm font-semibold",
1383
1399
  "transition-colors",
@@ -1396,7 +1412,7 @@ function AdventureCard({
1396
1412
  return !interactionsDisabled && canInc && ((_a3 = opt.onQuantityChange) == null ? void 0 : _a3.call(opt, opt.id, currentQty + 1));
1397
1413
  },
1398
1414
  disabled: interactionsDisabled || !canInc,
1399
- "aria-label": (_e2 = opt.increaseQuantityLabel) != null ? _e2 : "Increase quantity",
1415
+ "aria-label": (_h2 = opt.increaseQuantityLabel) != null ? _h2 : "Increase quantity",
1400
1416
  className: cn(
1401
1417
  "h-7 w-7 rounded border border-border flex items-center justify-center text-sm font-semibold",
1402
1418
  "transition-colors",
@@ -1411,12 +1427,31 @@ function AdventureCard({
1411
1427
  opt.scheduledAtLabel
1412
1428
  ] })
1413
1429
  ] }, opt.id);
1414
- }) })
1430
+ }) }),
1431
+ /* @__PURE__ */ jsx(
1432
+ Dialog,
1433
+ {
1434
+ open: openDescriptionId !== null,
1435
+ onOpenChange: (open) => !open && setOpenDescriptionId(null),
1436
+ children: /* @__PURE__ */ jsxs(DialogContent, { className: "max-w-lg max-h-[85vh] overflow-y-auto p-6 sm:max-w-lg", children: [
1437
+ /* @__PURE__ */ jsxs(DialogHeader, { className: "gap-3 pr-8", children: [
1438
+ /* @__PURE__ */ jsx(DialogTitle, { className: "font-heading text-xl font-bold text-foreground leading-snug", children: (_i = openDescriptionOptional == null ? void 0 : openDescriptionOptional.label) != null ? _i : "" }),
1439
+ (openDescriptionOptional == null ? void 0 : openDescriptionOptional.pricePerPerson) && /* @__PURE__ */ 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 })
1440
+ ] }),
1441
+ /* @__PURE__ */ jsx(Separator, {}),
1442
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
1443
+ /* @__PURE__ */ 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" }),
1444
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-sans text-foreground leading-relaxed whitespace-pre-wrap", children: (_l = openDescriptionOptional == null ? void 0 : openDescriptionOptional.description) != null ? _l : "" })
1445
+ ] }),
1446
+ /* @__PURE__ */ jsx("div", { className: "mt-2 flex justify-end", children: /* @__PURE__ */ 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" }) })
1447
+ ] })
1448
+ }
1449
+ )
1415
1450
  ] }),
1416
1451
  (adventure.description || adventure.detailsSlot) && /* @__PURE__ */ jsxs(Fragment, { children: [
1417
1452
  /* @__PURE__ */ jsx(Separator, { className: "my-1" }),
1418
1453
  /* @__PURE__ */ jsxs("div", { children: [
1419
- /* @__PURE__ */ jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest mb-3", children: (_h = adventure.itineraryLabel) != null ? _h : "Details" }),
1454
+ /* @__PURE__ */ jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest mb-3", children: (_o = adventure.itineraryLabel) != null ? _o : "Details" }),
1420
1455
  adventure.description && !adventure.detailsSlot && /* @__PURE__ */ jsx("p", { className: "text-base text-foreground/80 leading-snug font-sans", children: adventure.description }),
1421
1456
  adventure.detailsSlot && /* @__PURE__ */ jsx("div", { className: cn(
1422
1457
  "text-foreground",
@@ -1442,21 +1477,21 @@ function AdventureCard({
1442
1477
  ] })
1443
1478
  ] }),
1444
1479
  adventure.included && adventure.included.length > 0 && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1445
- /* @__PURE__ */ jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_i = adventure.includedLabel) != null ? _i : "What's included" }),
1480
+ /* @__PURE__ */ jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_p = adventure.includedLabel) != null ? _p : "What's included" }),
1446
1481
  /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-1.5", children: adventure.included.map((item, i) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2 text-base text-foreground/80 font-sans", children: [
1447
1482
  /* @__PURE__ */ jsx(CheckIcon, { className: "w-4 h-4 text-primary shrink-0 mt-1" }),
1448
1483
  item
1449
1484
  ] }, i)) })
1450
1485
  ] }),
1451
1486
  adventure.notIncluded && adventure.notIncluded.length > 0 && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1452
- /* @__PURE__ */ jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_j = adventure.notIncludedLabel) != null ? _j : "What's not included" }),
1487
+ /* @__PURE__ */ jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_q = adventure.notIncludedLabel) != null ? _q : "What's not included" }),
1453
1488
  /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-1.5", children: adventure.notIncluded.map((item, i) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2 text-base text-foreground/80 font-sans", children: [
1454
1489
  /* @__PURE__ */ jsx(XIcon, { className: "w-4 h-4 text-destructive shrink-0 mt-1" }),
1455
1490
  item
1456
1491
  ] }, i)) })
1457
1492
  ] }),
1458
1493
  adventure.cancellationPolicy && adventure.cancellationPolicy.length > 0 && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1459
- /* @__PURE__ */ jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_k = adventure.cancellationPolicyLabel) != null ? _k : "Cancellation policy" }),
1494
+ /* @__PURE__ */ jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_r = adventure.cancellationPolicyLabel) != null ? _r : "Cancellation policy" }),
1460
1495
  /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-1.5", children: adventure.cancellationPolicy.map((item, i) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2 text-base text-muted-foreground font-sans", children: [
1461
1496
  /* @__PURE__ */ jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-primary shrink-0 mt-2.5" }),
1462
1497
  item
@@ -5213,6 +5248,234 @@ function BookingCreatedEmail({
5213
5248
  }
5214
5249
  );
5215
5250
  }
5251
+ var INLINE_LINK_STYLE = {
5252
+ color: emailTokens.primary,
5253
+ textDecoration: "underline"
5254
+ };
5255
+ function renderWhatsappLink(contact, label) {
5256
+ if (contact.whatsappUrl) {
5257
+ return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE, children: label });
5258
+ }
5259
+ return label;
5260
+ }
5261
+ function renderEmailLink(contact, label) {
5262
+ if (contact.email) {
5263
+ return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE, children: label });
5264
+ }
5265
+ return label;
5266
+ }
5267
+ function hasText(s) {
5268
+ return typeof s === "string" && s.trim().length > 0;
5269
+ }
5270
+ var DEFAULT_LABELS5 = {
5271
+ logoAlt: "PlanetaEXO",
5272
+ greeting: (recipientName) => `Hi ${recipientName},`,
5273
+ title: "Your booking has been cancelled",
5274
+ intro: (bookingRef) => `We're writing to let you know that your booking ${bookingRef} has been cancelled.`,
5275
+ summaryHeading: "Booking details",
5276
+ bookingNumberLabel: "Booking number",
5277
+ adventuresLabel: "Adventure",
5278
+ datesLabel: "Dates",
5279
+ travellersLabel: "Travellers",
5280
+ refundHeading: "Refund registered",
5281
+ refundAmountLabel: "Refund amount",
5282
+ refundNote: "As per our cancellation policy.",
5283
+ closingAgent: (agentName, contact) => /* @__PURE__ */ jsxs(Fragment, { children: [
5284
+ "If you have any questions, your agent ",
5285
+ agentName,
5286
+ " is available via",
5287
+ " ",
5288
+ renderWhatsappLink(contact, "WhatsApp"),
5289
+ " or ",
5290
+ renderEmailLink(contact, "email"),
5291
+ "."
5292
+ ] }),
5293
+ closingNoAgent: "If you have any questions, our team is available via WhatsApp or email.",
5294
+ teamSignature: "The PlanetaEXO Team"
5295
+ };
5296
+ function BookingCancellationEmail({
5297
+ recipientName,
5298
+ bookingRef,
5299
+ adventures,
5300
+ travellersCount,
5301
+ refundAmount,
5302
+ agentName,
5303
+ agentContactLinks,
5304
+ logoUrl,
5305
+ labels,
5306
+ className
5307
+ }) {
5308
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS5), labels);
5309
+ const adventureLines = adventures.map((a) => a.name).join("\n");
5310
+ const dateLines = adventures.map((a) => `${a.startDate} \u2013 ${a.endDate}`).join("\n");
5311
+ const summaryRows = [
5312
+ {
5313
+ label: l.bookingNumberLabel,
5314
+ value: `#${bookingRef}`,
5315
+ valueColor: emailTokens.primary
5316
+ },
5317
+ { label: l.adventuresLabel, value: adventureLines },
5318
+ { label: l.datesLabel, value: dateLines },
5319
+ { label: l.travellersLabel, value: travellersCount }
5320
+ ];
5321
+ const showRefund = hasText(refundAmount);
5322
+ const agentNameTrimmed = agentName == null ? void 0 : agentName.trim();
5323
+ const contact = agentContactLinks != null ? agentContactLinks : {};
5324
+ const closingNode = agentNameTrimmed ? l.closingAgent(agentNameTrimmed, contact) : l.closingNoAgent;
5325
+ const sectionDivider = /* @__PURE__ */ jsx(
5326
+ "hr",
5327
+ {
5328
+ style: {
5329
+ border: "none",
5330
+ borderTop: `1px solid ${emailTokens.border}`,
5331
+ marginTop: 0,
5332
+ marginBottom: "24px"
5333
+ }
5334
+ }
5335
+ );
5336
+ return /* @__PURE__ */ jsxs(
5337
+ "div",
5338
+ {
5339
+ style: {
5340
+ maxWidth: "576px",
5341
+ margin: "0 auto",
5342
+ backgroundColor: emailTokens.white,
5343
+ color: emailTokens.foreground,
5344
+ fontFamily: emailTokens.fontFamily,
5345
+ fontSize: "16px",
5346
+ lineHeight: "1.6",
5347
+ border: `1px solid ${emailTokens.border}`,
5348
+ borderRadius: "12px",
5349
+ overflow: "hidden",
5350
+ padding: "32px"
5351
+ },
5352
+ className,
5353
+ children: [
5354
+ /* @__PURE__ */ jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
5355
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientName) }),
5356
+ /* @__PURE__ */ jsx(
5357
+ "p",
5358
+ {
5359
+ style: {
5360
+ marginTop: 0,
5361
+ marginBottom: "16px",
5362
+ fontWeight: 700,
5363
+ color: emailTokens.foreground,
5364
+ fontSize: "20px",
5365
+ lineHeight: "1.3",
5366
+ fontFamily: emailTokens.fontFamily
5367
+ },
5368
+ children: l.title
5369
+ }
5370
+ ),
5371
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "24px" }, children: l.intro(`#${bookingRef}`) }),
5372
+ sectionDivider,
5373
+ /* @__PURE__ */ jsx(BookingSummary, { heading: l.summaryHeading, rows: summaryRows }),
5374
+ showRefund && /* @__PURE__ */ jsxs(
5375
+ "div",
5376
+ {
5377
+ style: {
5378
+ marginBottom: "24px",
5379
+ padding: "16px 20px",
5380
+ borderRadius: "12px",
5381
+ border: `1px solid ${emailTokens.border}`,
5382
+ backgroundColor: emailTokens.muted
5383
+ },
5384
+ children: [
5385
+ /* @__PURE__ */ jsx(
5386
+ "p",
5387
+ {
5388
+ style: {
5389
+ margin: "0 0 8px 0",
5390
+ fontSize: "12px",
5391
+ fontWeight: 700,
5392
+ color: emailTokens.mutedForeground,
5393
+ textTransform: "uppercase",
5394
+ letterSpacing: "0.08em",
5395
+ fontFamily: emailTokens.fontFamily
5396
+ },
5397
+ children: l.refundHeading
5398
+ }
5399
+ ),
5400
+ /* @__PURE__ */ jsx(
5401
+ "table",
5402
+ {
5403
+ cellPadding: 0,
5404
+ cellSpacing: 0,
5405
+ style: { width: "100%", borderCollapse: "collapse" },
5406
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
5407
+ /* @__PURE__ */ jsx(
5408
+ "td",
5409
+ {
5410
+ style: {
5411
+ fontSize: "14px",
5412
+ color: emailTokens.bodyText,
5413
+ verticalAlign: "middle"
5414
+ },
5415
+ children: l.refundAmountLabel
5416
+ }
5417
+ ),
5418
+ /* @__PURE__ */ jsx(
5419
+ "td",
5420
+ {
5421
+ style: {
5422
+ fontSize: "18px",
5423
+ fontWeight: 700,
5424
+ color: emailTokens.foreground,
5425
+ textAlign: "right",
5426
+ verticalAlign: "middle",
5427
+ whiteSpace: "nowrap"
5428
+ },
5429
+ children: refundAmount
5430
+ }
5431
+ )
5432
+ ] }) })
5433
+ }
5434
+ ),
5435
+ hasText(l.refundNote) && /* @__PURE__ */ jsx(
5436
+ "p",
5437
+ {
5438
+ style: {
5439
+ margin: "8px 0 0 0",
5440
+ fontSize: "12px",
5441
+ color: emailTokens.mutedForeground,
5442
+ fontStyle: "italic"
5443
+ },
5444
+ children: l.refundNote
5445
+ }
5446
+ )
5447
+ ]
5448
+ }
5449
+ ),
5450
+ sectionDivider,
5451
+ /* @__PURE__ */ jsx(
5452
+ "p",
5453
+ {
5454
+ style: {
5455
+ marginBottom: "16px",
5456
+ fontSize: "14px",
5457
+ fontWeight: 700,
5458
+ color: emailTokens.bodyText
5459
+ },
5460
+ children: closingNode
5461
+ }
5462
+ ),
5463
+ /* @__PURE__ */ jsx(
5464
+ "p",
5465
+ {
5466
+ style: {
5467
+ marginTop: 0,
5468
+ marginBottom: 0,
5469
+ fontSize: "14px",
5470
+ color: emailTokens.bodyText
5471
+ },
5472
+ children: l.teamSignature
5473
+ }
5474
+ )
5475
+ ]
5476
+ }
5477
+ );
5478
+ }
5216
5479
  function RegistrationProgressBar({
5217
5480
  tone,
5218
5481
  pct,
@@ -5275,23 +5538,23 @@ function RegistrationProgressBar({
5275
5538
  }
5276
5539
  ) });
5277
5540
  }
5278
- var INLINE_LINK_STYLE = {
5541
+ var INLINE_LINK_STYLE2 = {
5279
5542
  color: emailTokens.primary,
5280
5543
  textDecoration: "underline"
5281
5544
  };
5282
- function renderWhatsappLink(contact, label) {
5545
+ function renderWhatsappLink2(contact, label) {
5283
5546
  if (contact.whatsappUrl) {
5284
- return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE, children: label });
5547
+ return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE2, children: label });
5285
5548
  }
5286
5549
  return label;
5287
5550
  }
5288
- function renderEmailLink(contact, label) {
5551
+ function renderEmailLink2(contact, label) {
5289
5552
  if (contact.email) {
5290
- return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE, children: label });
5553
+ return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE2, children: label });
5291
5554
  }
5292
5555
  return label;
5293
5556
  }
5294
- var DEFAULT_LABELS5 = {
5557
+ var DEFAULT_LABELS6 = {
5295
5558
  logoAlt: "PlanetaEXO",
5296
5559
  greeting: (n) => `Hi ${n},`,
5297
5560
  intermediateHello: "Hope you're doing well.",
@@ -5310,9 +5573,9 @@ var DEFAULT_LABELS5 = {
5310
5573
  "If you need any assistance with the traveller registrations, feel free to contact your agent ",
5311
5574
  agentName,
5312
5575
  " via ",
5313
- renderWhatsappLink(contact, "WhatsApp"),
5576
+ renderWhatsappLink2(contact, "WhatsApp"),
5314
5577
  " or ",
5315
- renderEmailLink(contact, "email"),
5578
+ renderEmailLink2(contact, "email"),
5316
5579
  "."
5317
5580
  ] }),
5318
5581
  closingNoAgent: "If you need any assistance with the traveller registrations, feel free to contact us via WhatsApp or email.",
@@ -5385,7 +5648,7 @@ var DEFAULT_LABELS5 = {
5385
5648
  }
5386
5649
  }
5387
5650
  };
5388
- function hasText(s) {
5651
+ function hasText2(s) {
5389
5652
  return typeof s === "string" && s.trim().length > 0;
5390
5653
  }
5391
5654
  function hasItems(arr) {
@@ -5405,12 +5668,12 @@ function RegistrationReminderEmail({
5405
5668
  className
5406
5669
  }) {
5407
5670
  var _a, _b, _c, _d, _e, _f, _g, _h;
5408
- const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS5), labels), {
5671
+ const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS6), labels), {
5409
5672
  variants: {
5410
- 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 : {}),
5411
- 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 : {}),
5412
- 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 : {}),
5413
- 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 : {})
5673
+ 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 : {}),
5674
+ 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 : {}),
5675
+ 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 : {}),
5676
+ 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 : {})
5414
5677
  }
5415
5678
  });
5416
5679
  const v = l.variants[slug];
@@ -5431,14 +5694,14 @@ function RegistrationReminderEmail({
5431
5694
  { label: l.travellersRowLabel, value: l.travellersCountLabel(totalTravellers) },
5432
5695
  ...(agent == null ? void 0 : agent.name) ? [{ label: l.agentRowLabel, value: agent.name }] : []
5433
5696
  ];
5434
- const showPleaseNote = hasText(v.pleaseNoteHeader) && hasItems(v.pleaseNoteBullets);
5435
- const showBookerCoord = hasText(v.bookerCoordinationNote);
5436
- const showEarlyBenefit = hasText(v.earlyCompletionBenefit);
5437
- const showImportant = hasText(v.importantNote);
5438
- const showFinalTagline = hasText(v.finalReminderTagline);
5439
- hasText(v.multiTravellerNote);
5440
- const showDisregard = hasText(v.disregardIfCompleted);
5441
- const showClosingThanks = hasText(v.closingThanks);
5697
+ const showPleaseNote = hasText2(v.pleaseNoteHeader) && hasItems(v.pleaseNoteBullets);
5698
+ const showBookerCoord = hasText2(v.bookerCoordinationNote);
5699
+ const showEarlyBenefit = hasText2(v.earlyCompletionBenefit);
5700
+ const showImportant = hasText2(v.importantNote);
5701
+ const showFinalTagline = hasText2(v.finalReminderTagline);
5702
+ hasText2(v.multiTravellerNote);
5703
+ const showDisregard = hasText2(v.disregardIfCompleted);
5704
+ const showClosingThanks = hasText2(v.closingThanks);
5442
5705
  const sectionDivider = /* @__PURE__ */ jsx(
5443
5706
  "hr",
5444
5707
  {
@@ -5450,7 +5713,7 @@ function RegistrationReminderEmail({
5450
5713
  }
5451
5714
  }
5452
5715
  );
5453
- const hasIntroBlock = hasText(v.intro) || hasText(v.contextNote);
5716
+ const hasIntroBlock = hasText2(v.intro) || hasText2(v.contextNote);
5454
5717
  const hasPleaseNote = showPleaseNote;
5455
5718
  const hasD7Highlight = showImportant && slug === "d_minus_7";
5456
5719
  const hasD2Highlight = showFinalTagline || showImportant && slug === "d_minus_2";
@@ -5474,9 +5737,9 @@ function RegistrationReminderEmail({
5474
5737
  children: [
5475
5738
  /* @__PURE__ */ jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
5476
5739
  /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientFirstName) }),
5477
- hasText(l.intermediateHello) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
5478
- hasText(v.intro) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.intro }),
5479
- hasText(v.contextNote) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
5740
+ hasText2(l.intermediateHello) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
5741
+ hasText2(v.intro) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.intro }),
5742
+ hasText2(v.contextNote) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
5480
5743
  hasIntroBlock && sectionDivider,
5481
5744
  slug === "d_minus_15" && showBookerCoord && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.bookerCoordinationNote }),
5482
5745
  hasItems(adventures) && /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -5494,7 +5757,7 @@ function RegistrationReminderEmail({
5494
5757
  children: l.progressHeader
5495
5758
  }
5496
5759
  ),
5497
- hasText(v.progressIntro) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.progressIntro }),
5760
+ hasText2(v.progressIntro) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.progressIntro }),
5498
5761
  adventures.map((adv, i) => /* @__PURE__ */ jsxs(
5499
5762
  "div",
5500
5763
  {
@@ -5630,23 +5893,23 @@ function RegistrationReminderEmail({
5630
5893
  }
5631
5894
  );
5632
5895
  }
5633
- var INLINE_LINK_STYLE2 = {
5896
+ var INLINE_LINK_STYLE3 = {
5634
5897
  color: emailTokens.primary,
5635
5898
  textDecoration: "underline"
5636
5899
  };
5637
- function renderWhatsappLink2(contact, label) {
5900
+ function renderWhatsappLink3(contact, label) {
5638
5901
  if (contact.whatsappUrl) {
5639
- return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE2, children: label });
5902
+ return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE3, children: label });
5640
5903
  }
5641
5904
  return label;
5642
5905
  }
5643
- function renderEmailLink2(contact, label) {
5906
+ function renderEmailLink3(contact, label) {
5644
5907
  if (contact.email) {
5645
- return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE2, children: label });
5908
+ return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE3, children: label });
5646
5909
  }
5647
5910
  return label;
5648
5911
  }
5649
- var DEFAULT_LABELS6 = {
5912
+ var DEFAULT_LABELS7 = {
5650
5913
  logoAlt: "PlanetaEXO",
5651
5914
  greeting: (n) => `Hi ${n},`,
5652
5915
  tripDetailsHeader: "\u{1F4CB} Trip details",
@@ -5662,9 +5925,9 @@ var DEFAULT_LABELS6 = {
5662
5925
  "If you have questions, your agent ",
5663
5926
  agentName,
5664
5927
  " is available via ",
5665
- renderWhatsappLink2(contact, "WhatsApp"),
5928
+ renderWhatsappLink3(contact, "WhatsApp"),
5666
5929
  " or ",
5667
- renderEmailLink2(contact, "email"),
5930
+ renderEmailLink3(contact, "email"),
5668
5931
  "."
5669
5932
  ] }),
5670
5933
  closingNoAgent: "If you have questions or need assistance, our team is available via WhatsApp or email.",
@@ -5712,7 +5975,7 @@ var DEFAULT_LABELS6 = {
5712
5975
  }
5713
5976
  }
5714
5977
  };
5715
- function hasText2(s) {
5978
+ function hasText3(s) {
5716
5979
  return typeof s === "string" && s.trim().length > 0;
5717
5980
  }
5718
5981
  function RegistrationReminderIndividualEmail({
@@ -5733,12 +5996,12 @@ function RegistrationReminderIndividualEmail({
5733
5996
  className
5734
5997
  }) {
5735
5998
  var _a, _b, _c, _d, _e, _f, _g, _h;
5736
- const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS6), labels), {
5999
+ const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS7), labels), {
5737
6000
  variants: {
5738
- 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 : {}),
5739
- 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 : {}),
5740
- 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 : {}),
5741
- 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 : {})
6001
+ 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 : {}),
6002
+ 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 : {}),
6003
+ 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 : {}),
6004
+ 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 : {})
5742
6005
  }
5743
6006
  });
5744
6007
  const v = l.variants[slug];
@@ -5758,7 +6021,7 @@ function RegistrationReminderIndividualEmail({
5758
6021
  { label: l.leadTravellerLabel, value: leadTravellerName },
5759
6022
  { label: l.adventureLabel, value: adventureName },
5760
6023
  { label: l.startingDateLabel, value: startDateFormatted },
5761
- ...hasText2(partnerName) ? [{ label: l.partnerLabel, value: partnerName }] : []
6024
+ ...hasText3(partnerName) ? [{ label: l.partnerLabel, value: partnerName }] : []
5762
6025
  ];
5763
6026
  const sectionDivider = /* @__PURE__ */ jsx(
5764
6027
  "hr",
@@ -5793,7 +6056,7 @@ function RegistrationReminderIndividualEmail({
5793
6056
  children: [
5794
6057
  /* @__PURE__ */ jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
5795
6058
  /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientFirstName) }),
5796
- hasText2(routingNote) && /* @__PURE__ */ jsx(
6059
+ hasText3(routingNote) && /* @__PURE__ */ jsx(
5797
6060
  "p",
5798
6061
  {
5799
6062
  style: {
@@ -5808,8 +6071,8 @@ function RegistrationReminderIndividualEmail({
5808
6071
  }
5809
6072
  ),
5810
6073
  /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: introText }),
5811
- hasText2(v.contextNote) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
5812
- slug === "d_minus_2" && (hasText2(v.finalReminderTagline) || hasText2(v.consequencesNote)) && /* @__PURE__ */ jsxs(
6074
+ hasText3(v.contextNote) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
6075
+ slug === "d_minus_2" && (hasText3(v.finalReminderTagline) || hasText3(v.consequencesNote)) && /* @__PURE__ */ jsxs(
5813
6076
  "div",
5814
6077
  {
5815
6078
  style: {
@@ -5821,23 +6084,23 @@ function RegistrationReminderIndividualEmail({
5821
6084
  color: "#7f1d1d"
5822
6085
  },
5823
6086
  children: [
5824
- hasText2(v.finalReminderTagline) && /* @__PURE__ */ jsx(
6087
+ hasText3(v.finalReminderTagline) && /* @__PURE__ */ jsx(
5825
6088
  "p",
5826
6089
  {
5827
6090
  style: {
5828
6091
  margin: 0,
5829
- marginBottom: hasText2(v.consequencesNote) ? "8px" : 0,
6092
+ marginBottom: hasText3(v.consequencesNote) ? "8px" : 0,
5830
6093
  fontWeight: 700
5831
6094
  },
5832
6095
  children: v.finalReminderTagline
5833
6096
  }
5834
6097
  ),
5835
- hasText2(v.consequencesNote) && /* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: v.consequencesNote })
6098
+ hasText3(v.consequencesNote) && /* @__PURE__ */ jsx("p", { style: { margin: 0 }, children: v.consequencesNote })
5836
6099
  ]
5837
6100
  }
5838
6101
  ),
5839
6102
  /* @__PURE__ */ jsx("div", { style: { marginBottom: "24px", textAlign: "left" }, children: /* @__PURE__ */ jsx("a", { href: ctaUrl, style: ctaStyle, children: l.ctaLabel }) }),
5840
- slug === "d_minus_7" && hasText2(v.mandatoryNote) && /* @__PURE__ */ jsx(
6103
+ slug === "d_minus_7" && hasText3(v.mandatoryNote) && /* @__PURE__ */ jsx(
5841
6104
  "p",
5842
6105
  {
5843
6106
  style: {
@@ -5853,8 +6116,8 @@ function RegistrationReminderIndividualEmail({
5853
6116
  ),
5854
6117
  sectionDivider,
5855
6118
  /* @__PURE__ */ jsx(BookingSummary, { heading: l.tripDetailsHeader, rows: tripRows }),
5856
- (slug === "d_minus_30" || slug === "d_minus_15") && hasText2(v.mandatoryNote) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.mandatoryNote }),
5857
- slug === "d_minus_2" && hasText2(v.disregardIfCompleted) && /* @__PURE__ */ jsx(
6119
+ (slug === "d_minus_30" || slug === "d_minus_15") && hasText3(v.mandatoryNote) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.mandatoryNote }),
6120
+ slug === "d_minus_2" && hasText3(v.disregardIfCompleted) && /* @__PURE__ */ jsx(
5858
6121
  "p",
5859
6122
  {
5860
6123
  style: {
@@ -5871,29 +6134,29 @@ function RegistrationReminderIndividualEmail({
5871
6134
  whatsappUrl: agent.whatsappUrl,
5872
6135
  email: agent.email
5873
6136
  }) : l.closingNoAgent }),
5874
- hasText2(v.closingThanks) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: v.closingThanks }),
6137
+ hasText3(v.closingThanks) && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: v.closingThanks }),
5875
6138
  /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "14px", color: emailTokens.bodyText }, children: l.teamSignature })
5876
6139
  ]
5877
6140
  }
5878
6141
  );
5879
6142
  }
5880
- var INLINE_LINK_STYLE3 = {
6143
+ var INLINE_LINK_STYLE4 = {
5881
6144
  color: emailTokens.primary,
5882
6145
  textDecoration: "underline"
5883
6146
  };
5884
- function renderWhatsappLink3(contact, label) {
6147
+ function renderWhatsappLink4(contact, label) {
5885
6148
  if (contact.whatsappUrl) {
5886
- return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE3, children: label });
6149
+ return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE4, children: label });
5887
6150
  }
5888
6151
  return label;
5889
6152
  }
5890
- function renderEmailLink3(contact, label) {
6153
+ function renderEmailLink4(contact, label) {
5891
6154
  if (contact.email) {
5892
- return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE3, children: label });
6155
+ return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE4, children: label });
5893
6156
  }
5894
6157
  return label;
5895
6158
  }
5896
- var DEFAULT_LABELS7 = {
6159
+ var DEFAULT_LABELS8 = {
5897
6160
  logoAlt: "PlanetaEXO",
5898
6161
  greeting: (n) => `Hi ${n},`,
5899
6162
  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.`,
@@ -5913,15 +6176,15 @@ var DEFAULT_LABELS7 = {
5913
6176
  agentName,
5914
6177
  " is available via",
5915
6178
  " ",
5916
- renderWhatsappLink3(contact, "WhatsApp"),
6179
+ renderWhatsappLink4(contact, "WhatsApp"),
5917
6180
  " or ",
5918
- renderEmailLink3(contact, "email"),
6181
+ renderEmailLink4(contact, "email"),
5919
6182
  "."
5920
6183
  ] }),
5921
6184
  closingNoAgent: "If you have any questions, our team is available via WhatsApp or email.",
5922
6185
  teamSignature: "The PlanetaEXO Team"
5923
6186
  };
5924
- function hasText3(s) {
6187
+ function hasText4(s) {
5925
6188
  return typeof s === "string" && s.trim().length > 0;
5926
6189
  }
5927
6190
  function PartnerConfirmationEmail({
@@ -5939,7 +6202,7 @@ function PartnerConfirmationEmail({
5939
6202
  labels,
5940
6203
  className
5941
6204
  }) {
5942
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS7), labels);
6205
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS8), labels);
5943
6206
  const tripRows = [
5944
6207
  { label: l.bookingNumberLabel, value: `#${bookingNumber}`, valueColor: emailTokens.primary },
5945
6208
  { label: l.adventureLabel, value: adventureName },
@@ -5978,7 +6241,7 @@ function PartnerConfirmationEmail({
5978
6241
  className,
5979
6242
  children: [
5980
6243
  /* @__PURE__ */ jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
5981
- hasText3(topNotice) && /* @__PURE__ */ jsx(
6244
+ hasText4(topNotice) && /* @__PURE__ */ jsx(
5982
6245
  "div",
5983
6246
  {
5984
6247
  style: {
@@ -6055,7 +6318,7 @@ function PartnerConfirmationEmail({
6055
6318
  }) })
6056
6319
  }
6057
6320
  ) : /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: "24px", color: emailTokens.bodyText }, children: l.expectationsEmptyNote }),
6058
- pdfAttached && hasText3(l.pdfNote) && /* @__PURE__ */ jsx(
6321
+ pdfAttached && hasText4(l.pdfNote) && /* @__PURE__ */ jsx(
6059
6322
  "div",
6060
6323
  {
6061
6324
  style: {
@@ -6080,26 +6343,26 @@ function PartnerConfirmationEmail({
6080
6343
  }
6081
6344
  );
6082
6345
  }
6083
- var INLINE_LINK_STYLE4 = {
6346
+ var INLINE_LINK_STYLE5 = {
6084
6347
  color: emailTokens.primary,
6085
6348
  textDecoration: "underline"
6086
6349
  };
6087
- function renderWhatsappLink4(contact, label) {
6350
+ function renderWhatsappLink5(contact, label) {
6088
6351
  if (contact.whatsappUrl) {
6089
- return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE4, children: label });
6352
+ return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE5, children: label });
6090
6353
  }
6091
6354
  return label;
6092
6355
  }
6093
- function renderEmailLink4(contact, label) {
6356
+ function renderEmailLink5(contact, label) {
6094
6357
  if (contact.email) {
6095
- return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE4, children: label });
6358
+ return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE5, children: label });
6096
6359
  }
6097
6360
  return label;
6098
6361
  }
6099
- function hasText4(s) {
6362
+ function hasText5(s) {
6100
6363
  return typeof s === "string" && s.trim().length > 0;
6101
6364
  }
6102
- var DEFAULT_LABELS8 = {
6365
+ var DEFAULT_LABELS9 = {
6103
6366
  logoAlt: "PlanetaEXO",
6104
6367
  greeting: (n) => `Hi ${n},`,
6105
6368
  intro: (adv) => `You have a new booking for your adventure ${adv}. Here are the details:`,
@@ -6117,9 +6380,9 @@ var DEFAULT_LABELS8 = {
6117
6380
  agentName,
6118
6381
  " is available via",
6119
6382
  " ",
6120
- renderWhatsappLink4(contact, "WhatsApp"),
6383
+ renderWhatsappLink5(contact, "WhatsApp"),
6121
6384
  " or ",
6122
- renderEmailLink4(contact, "email"),
6385
+ renderEmailLink5(contact, "email"),
6123
6386
  "."
6124
6387
  ] }),
6125
6388
  closingNoAgent: "If you have any questions, our team is available via WhatsApp or email.",
@@ -6138,10 +6401,10 @@ function PartnerBookingCreatedEmail({
6138
6401
  labels,
6139
6402
  className
6140
6403
  }) {
6141
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS8), labels);
6404
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS9), labels);
6142
6405
  const summaryRows = [
6143
6406
  { label: l.bookerNameLabel, value: booker.name },
6144
- ...hasText4(booker.country) ? [{ label: l.bookerCountryLabel, value: booker.country }] : [],
6407
+ ...hasText5(booker.country) ? [{ label: l.bookerCountryLabel, value: booker.country }] : [],
6145
6408
  { label: l.bookingNumberLabel, value: `#${bookingNumber}`, valueColor: emailTokens.primary },
6146
6409
  { label: l.adventureLabel, value: adventureName },
6147
6410
  { label: l.datesLabel, value: dateRange },
@@ -6177,7 +6440,7 @@ function PartnerBookingCreatedEmail({
6177
6440
  className,
6178
6441
  children: [
6179
6442
  /* @__PURE__ */ jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
6180
- hasText4(topNotice) && /* @__PURE__ */ jsx(
6443
+ hasText5(topNotice) && /* @__PURE__ */ jsx(
6181
6444
  "div",
6182
6445
  {
6183
6446
  style: {
@@ -6227,7 +6490,7 @@ function PartnerBookingCreatedEmail({
6227
6490
  }
6228
6491
  );
6229
6492
  }
6230
- var DEFAULT_LABELS9 = {
6493
+ var DEFAULT_LABELS10 = {
6231
6494
  logoAlt: "PlanetaEXO",
6232
6495
  greeting: (name) => `Hi ${name},`,
6233
6496
  introMessage: "",
@@ -6268,7 +6531,7 @@ function PaymentReceiptEmail({
6268
6531
  labels,
6269
6532
  className
6270
6533
  }) {
6271
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS9), labels);
6534
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS10), labels);
6272
6535
  const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
6273
6536
  const interestRow = chargedAmount && chargedAmount !== amount;
6274
6537
  const receiptRows = [
@@ -6411,24 +6674,24 @@ function PaymentReceiptEmail({
6411
6674
  }
6412
6675
  );
6413
6676
  }
6414
- var INLINE_LINK_STYLE5 = {
6677
+ var INLINE_LINK_STYLE6 = {
6415
6678
  color: emailTokens.primary,
6416
6679
  textDecoration: "underline"
6417
6680
  };
6418
- function renderWhatsappLink5(contact, label) {
6681
+ function renderWhatsappLink6(contact, label) {
6419
6682
  if (contact.whatsappUrl) {
6420
- return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE5, children: label });
6683
+ return /* @__PURE__ */ jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE6, children: label });
6421
6684
  }
6422
6685
  return label;
6423
6686
  }
6424
- function renderEmailLink5(contact, label) {
6687
+ function renderEmailLink6(contact, label) {
6425
6688
  if (contact.email) {
6426
- return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE5, children: label });
6689
+ return /* @__PURE__ */ jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE6, children: label });
6427
6690
  }
6428
6691
  return label;
6429
6692
  }
6430
6693
  var EMPTY_CLOSING_ALTERNATIVE = (_agentName, _contact) => null;
6431
- var DEFAULT_LABELS10 = {
6694
+ var DEFAULT_LABELS11 = {
6432
6695
  logoAlt: "PlanetaEXO",
6433
6696
  greeting: (name) => `Hi ${name},`,
6434
6697
  intermediateHello: "Hope you're doing well.",
@@ -6443,9 +6706,9 @@ var DEFAULT_LABELS10 = {
6443
6706
  "If you need any assistance or would like to discuss your payment, feel free to contact your agent ",
6444
6707
  agentName,
6445
6708
  " via ",
6446
- renderWhatsappLink5(contact, "WhatsApp"),
6709
+ renderWhatsappLink6(contact, "WhatsApp"),
6447
6710
  " or ",
6448
- renderEmailLink5(contact, "email"),
6711
+ renderEmailLink6(contact, "email"),
6449
6712
  "."
6450
6713
  ] }),
6451
6714
  closingNoAgent: "If you need any assistance or would like to discuss your payment, feel free to contact us via WhatsApp or email.",
@@ -6489,9 +6752,9 @@ var DEFAULT_LABELS10 = {
6489
6752
  "If you are experiencing any issues with payment or need additional time, please contact your agent ",
6490
6753
  agentName,
6491
6754
  " via ",
6492
- renderWhatsappLink5(contact, "WhatsApp"),
6755
+ renderWhatsappLink6(contact, "WhatsApp"),
6493
6756
  " or ",
6494
- renderEmailLink5(contact, "email"),
6757
+ renderEmailLink6(contact, "email"),
6495
6758
  ". We'll be happy to assist."
6496
6759
  ] })
6497
6760
  }
@@ -6515,7 +6778,7 @@ function PaymentReminderEmail({
6515
6778
  }) {
6516
6779
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
6517
6780
  const lOverride = labels != null ? labels : {};
6518
- const variantDefaults = DEFAULT_LABELS10.variants[variant];
6781
+ const variantDefaults = DEFAULT_LABELS11.variants[variant];
6519
6782
  const variantOverride = (_b = (_a = lOverride.variants) == null ? void 0 : _a[variant]) != null ? _b : {};
6520
6783
  const variantLabels = {
6521
6784
  intro: (_c = variantOverride.intro) != null ? _c : variantDefaults.intro,
@@ -6525,19 +6788,19 @@ function PaymentReminderEmail({
6525
6788
  closingAlternative: (_f = variantOverride.closingAlternative) != null ? _f : variantDefaults.closingAlternative
6526
6789
  };
6527
6790
  const l = {
6528
- logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS10.logoAlt,
6529
- greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS10.greeting,
6530
- intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS10.intermediateHello,
6531
- bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS10.bookingSummaryHeader,
6532
- amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS10.amountAlreadyPaidLabel,
6533
- remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS10.remainingBalanceDueLabel,
6534
- totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS10.totalBookingAmountLabel,
6535
- paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n : DEFAULT_LABELS10.paymentDetailsHeading,
6536
- ctaLabel: (_o = lOverride.ctaLabel) != null ? _o : DEFAULT_LABELS10.ctaLabel,
6537
- teamSignature: (_p = lOverride.teamSignature) != null ? _p : DEFAULT_LABELS10.teamSignature,
6538
- closingAgent: (_q = lOverride.closingAgent) != null ? _q : DEFAULT_LABELS10.closingAgent,
6539
- closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r : DEFAULT_LABELS10.closingNoAgent,
6540
- adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS10.adventureCard), (_s = lOverride.adventureCard) != null ? _s : {})
6791
+ logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS11.logoAlt,
6792
+ greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS11.greeting,
6793
+ intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS11.intermediateHello,
6794
+ bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS11.bookingSummaryHeader,
6795
+ amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS11.amountAlreadyPaidLabel,
6796
+ remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS11.remainingBalanceDueLabel,
6797
+ totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS11.totalBookingAmountLabel,
6798
+ paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n : DEFAULT_LABELS11.paymentDetailsHeading,
6799
+ ctaLabel: (_o = lOverride.ctaLabel) != null ? _o : DEFAULT_LABELS11.ctaLabel,
6800
+ teamSignature: (_p = lOverride.teamSignature) != null ? _p : DEFAULT_LABELS11.teamSignature,
6801
+ closingAgent: (_q = lOverride.closingAgent) != null ? _q : DEFAULT_LABELS11.closingAgent,
6802
+ closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r : DEFAULT_LABELS11.closingNoAgent,
6803
+ adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS11.adventureCard), (_s = lOverride.adventureCard) != null ? _s : {})
6541
6804
  };
6542
6805
  const ctaStyle = {
6543
6806
  display: "inline-block",
@@ -7395,7 +7658,7 @@ function validateCpf(value) {
7395
7658
  if (secondDigit !== parseInt(digits[10], 10)) return false;
7396
7659
  return true;
7397
7660
  }
7398
- var DEFAULT_LABELS11 = {
7661
+ var DEFAULT_LABELS12 = {
7399
7662
  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.",
7400
7663
  detailsSectionTitle: "Your details",
7401
7664
  tripInfoSectionTitle: "Trip info",
@@ -8136,7 +8399,7 @@ function RegistrationForm({
8136
8399
  }) {
8137
8400
  var _a;
8138
8401
  const L = React28.useMemo(
8139
- () => __spreadValues(__spreadValues({}, DEFAULT_LABELS11), labels != null ? labels : {}),
8402
+ () => __spreadValues(__spreadValues({}, DEFAULT_LABELS12), labels != null ? labels : {}),
8140
8403
  [labels]
8141
8404
  );
8142
8405
  const sortedFields = React28.useMemo(
@@ -13983,6 +14246,6 @@ function LeadCapturePopup({
13983
14246
  );
13984
14247
  }
13985
14248
 
13986
- export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingAdventureCard, BookingConfirmedCard, BookingCreatedEmail, BookingDetails, BookingForm, BookingOtpEmail, BookingPaymentConfirmationEmail, BookingShell, BookingSummary, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, ItineraryDay, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PartnerBookingCreatedEmail, PartnerConfirmationEmail, PaymentAmountSelector, PaymentDetailsBlock, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PaymentReminderEmail, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationProgressBar, RegistrationReminderEmail, RegistrationReminderIndividualEmail, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TransferDetailsBlock, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, TrustpilotEmbed, buttonVariants, cn, emailTokens, formatCpf, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, validateCpf, wrapEmailHtml };
14249
+ export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingAdventureCard, BookingCancellationEmail, BookingConfirmedCard, BookingCreatedEmail, BookingDetails, BookingForm, BookingOtpEmail, BookingPaymentConfirmationEmail, BookingShell, BookingSummary, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, ItineraryDay, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PartnerBookingCreatedEmail, PartnerConfirmationEmail, PaymentAmountSelector, PaymentDetailsBlock, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PaymentReminderEmail, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationProgressBar, RegistrationReminderEmail, RegistrationReminderIndividualEmail, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TransferDetailsBlock, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, TrustpilotEmbed, buttonVariants, cn, emailTokens, formatCpf, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, validateCpf, wrapEmailHtml };
13987
14250
  //# sourceMappingURL=index.js.map
13988
14251
  //# sourceMappingURL=index.js.map