@planetaexo/design-system 0.65.0 → 0.67.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 CHANGED
@@ -1327,7 +1327,7 @@ function AdventureCard({
1327
1327
  labels,
1328
1328
  interactionsDisabled
1329
1329
  }) {
1330
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
1330
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
1331
1331
  const isControlled = (_b = (_a = adventure.optionals) == null ? void 0 : _a.some((o) => o.onCheckedChange !== void 0)) != null ? _b : false;
1332
1332
  const [checkedInternal, setCheckedInternal] = React32__namespace.useState(
1333
1333
  new Set((_d = (_c = adventure.optionals) == null ? void 0 : _c.filter((o) => o.defaultChecked).map((o) => o.id)) != null ? _d : [])
@@ -1501,6 +1501,29 @@ function AdventureCard({
1501
1501
  }
1502
1502
  )
1503
1503
  ] }),
1504
+ adventure.rooms && adventure.rooms.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-5 mt-1", children: adventure.rooms.map((room, i) => {
1505
+ var _a2, _b2;
1506
+ const bedLabel = (_b2 = (_a2 = adventure.bedArrangementLabels) == null ? void 0 : _a2[room.bedArrangement]) != null ? _b2 : room.bedArrangement === "DOUBLE" ? "Double" : room.bedArrangement === "TWIN" ? "Twin" : room.bedArrangement === "SINGLE" ? "Single" : "Triple";
1507
+ const heading = adventure.accommodationRoomHeading ? adventure.accommodationRoomHeading(room.roomName) : `Accommodation: ${room.roomName}`;
1508
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
1509
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-lg font-semibold text-foreground font-heading", children: heading }),
1510
+ room.imageUrl && // eslint-disable-next-line @next/next/no-img-element
1511
+ /* @__PURE__ */ jsxRuntime.jsx(
1512
+ "img",
1513
+ {
1514
+ src: room.imageUrl,
1515
+ alt: room.roomName,
1516
+ className: "w-full h-auto max-w-full rounded"
1517
+ }
1518
+ ),
1519
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-semibold text-foreground", children: `${room.qty}\xD7 ${room.roomName}` }),
1520
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-sm text-foreground/70 flex items-center gap-2 flex-wrap", children: [
1521
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: room.accommodationName }),
1522
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-block px-2 py-0.5 text-xs font-semibold bg-primary/10 text-primary rounded uppercase tracking-wide", children: bedLabel })
1523
+ ] }),
1524
+ room.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground/70 leading-snug", children: room.description })
1525
+ ] }, i);
1526
+ }) }),
1504
1527
  (adventure.description || adventure.detailsSlot) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1505
1528
  /* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-1" }),
1506
1529
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -1529,48 +1552,22 @@ function AdventureCard({
1529
1552
  ), children: adventure.detailsSlot })
1530
1553
  ] })
1531
1554
  ] }),
1532
- adventure.rooms && adventure.rooms.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1533
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_p = adventure.accommodationsLabel) != null ? _p : "Accommodations" }),
1534
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-3", children: adventure.rooms.map((room, i) => {
1535
- var _a2, _b2;
1536
- const bedLabel = (_b2 = (_a2 = adventure.bedArrangementLabels) == null ? void 0 : _a2[room.bedArrangement]) != null ? _b2 : room.bedArrangement === "DOUBLE" ? "Double" : room.bedArrangement === "TWIN" ? "Twin" : room.bedArrangement === "SINGLE" ? "Single" : "Triple";
1537
- return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-3", children: [
1538
- room.imageUrl && // eslint-disable-next-line @next/next/no-img-element
1539
- /* @__PURE__ */ jsxRuntime.jsx(
1540
- "img",
1541
- {
1542
- src: room.imageUrl,
1543
- alt: room.roomName,
1544
- className: "w-20 h-16 object-cover rounded shrink-0"
1545
- }
1546
- ),
1547
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
1548
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-semibold text-foreground", children: `${room.qty}\xD7 ${room.roomName}` }),
1549
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-sm text-foreground/70 flex items-center gap-2 flex-wrap", children: [
1550
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: room.accommodationName }),
1551
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-block px-2 py-0.5 text-xs font-semibold bg-primary/10 text-primary rounded uppercase tracking-wide", children: bedLabel })
1552
- ] }),
1553
- room.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground/70 mt-1 leading-snug", children: room.description })
1554
- ] })
1555
- ] }, i);
1556
- }) })
1557
- ] }),
1558
1555
  adventure.included && adventure.included.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1559
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_q = adventure.includedLabel) != null ? _q : "What's included" }),
1556
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_p = adventure.includedLabel) != null ? _p : "What's included" }),
1560
1557
  /* @__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: [
1561
1558
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "w-4 h-4 text-primary shrink-0 mt-1" }),
1562
1559
  item
1563
1560
  ] }, i)) })
1564
1561
  ] }),
1565
1562
  adventure.notIncluded && adventure.notIncluded.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1566
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_r = adventure.notIncludedLabel) != null ? _r : "What's not included" }),
1563
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_q = adventure.notIncludedLabel) != null ? _q : "What's not included" }),
1567
1564
  /* @__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: [
1568
1565
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "w-4 h-4 text-destructive shrink-0 mt-1" }),
1569
1566
  item
1570
1567
  ] }, i)) })
1571
1568
  ] }),
1572
1569
  adventure.cancellationPolicy && adventure.cancellationPolicy.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1573
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_s = adventure.cancellationPolicyLabel) != null ? _s : "Cancellation policy" }),
1570
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_r = adventure.cancellationPolicyLabel) != null ? _r : "Cancellation policy" }),
1574
1571
  /* @__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: [
1575
1572
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-primary shrink-0 mt-2.5" }),
1576
1573
  item
@@ -4147,6 +4144,7 @@ var DEFAULT_LABELS = {
4147
4144
  adultsUnit: "adult(s)",
4148
4145
  childrenUnit: "child(ren)",
4149
4146
  accommodationsHeading: "ACCOMMODATIONS",
4147
+ accommodationRoomHeading: (name) => `Accommodation: ${name}`,
4150
4148
  bedArrangementLabels: {
4151
4149
  DOUBLE: "Double",
4152
4150
  TWIN: "Twin",
@@ -4174,10 +4172,11 @@ function BookingAdventureCard({
4174
4172
  lineItems,
4175
4173
  subtotal,
4176
4174
  rooms,
4175
+ roomLayout = "compact",
4177
4176
  labels,
4178
4177
  className
4179
4178
  }) {
4180
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
4179
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v;
4181
4180
  const l = {
4182
4181
  travellersHeading: (_a = labels == null ? void 0 : labels.travellersHeading) != null ? _a : DEFAULT_LABELS.travellersHeading,
4183
4182
  detailsHeading: (_b = labels == null ? void 0 : labels.detailsHeading) != null ? _b : DEFAULT_LABELS.detailsHeading,
@@ -4192,11 +4191,12 @@ function BookingAdventureCard({
4192
4191
  adultsUnit: (_k = labels == null ? void 0 : labels.adultsUnit) != null ? _k : DEFAULT_LABELS.adultsUnit,
4193
4192
  childrenUnit: (_l = labels == null ? void 0 : labels.childrenUnit) != null ? _l : DEFAULT_LABELS.childrenUnit,
4194
4193
  accommodationsHeading: (_m = labels == null ? void 0 : labels.accommodationsHeading) != null ? _m : DEFAULT_LABELS.accommodationsHeading,
4194
+ accommodationRoomHeading: (_n = labels == null ? void 0 : labels.accommodationRoomHeading) != null ? _n : DEFAULT_LABELS.accommodationRoomHeading,
4195
4195
  bedArrangementLabels: {
4196
- DOUBLE: (_o = (_n = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _n.DOUBLE) != null ? _o : DEFAULT_LABELS.bedArrangementLabels.DOUBLE,
4197
- TWIN: (_q = (_p = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _p.TWIN) != null ? _q : DEFAULT_LABELS.bedArrangementLabels.TWIN,
4198
- SINGLE: (_s = (_r = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _r.SINGLE) != null ? _s : DEFAULT_LABELS.bedArrangementLabels.SINGLE,
4199
- TRIPLE: (_u = (_t = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _t.TRIPLE) != null ? _u : DEFAULT_LABELS.bedArrangementLabels.TRIPLE
4196
+ DOUBLE: (_p = (_o = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _o.DOUBLE) != null ? _p : DEFAULT_LABELS.bedArrangementLabels.DOUBLE,
4197
+ TWIN: (_r = (_q = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _q.TWIN) != null ? _r : DEFAULT_LABELS.bedArrangementLabels.TWIN,
4198
+ SINGLE: (_t = (_s = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _s.SINGLE) != null ? _t : DEFAULT_LABELS.bedArrangementLabels.SINGLE,
4199
+ TRIPLE: (_v = (_u = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _u.TRIPLE) != null ? _v : DEFAULT_LABELS.bedArrangementLabels.TRIPLE
4200
4200
  }
4201
4201
  };
4202
4202
  const hasTravellers = !!travellers && travellers.length > 0;
@@ -4535,7 +4535,116 @@ function BookingAdventureCard({
4535
4535
  );
4536
4536
  })
4537
4537
  ] }),
4538
- hasRooms && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4538
+ hasRooms && roomLayout === "feature" && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4539
+ /* @__PURE__ */ jsxRuntime.jsx(
4540
+ "hr",
4541
+ {
4542
+ style: {
4543
+ border: "none",
4544
+ borderTop: `1px solid ${emailTokens.border}`,
4545
+ marginBottom: "10px"
4546
+ }
4547
+ }
4548
+ ),
4549
+ /* @__PURE__ */ jsxRuntime.jsx(
4550
+ "p",
4551
+ {
4552
+ style: {
4553
+ fontSize: "10px",
4554
+ fontWeight: 700,
4555
+ color: emailTokens.mutedForeground,
4556
+ textTransform: "uppercase",
4557
+ letterSpacing: "0.1em",
4558
+ margin: "0 0 10px 0"
4559
+ },
4560
+ children: l.accommodationsHeading
4561
+ }
4562
+ ),
4563
+ rooms.map((room, i) => /* @__PURE__ */ jsxRuntime.jsxs(
4564
+ "div",
4565
+ {
4566
+ style: {
4567
+ marginBottom: i < rooms.length - 1 ? "16px" : "0"
4568
+ },
4569
+ children: [
4570
+ /* @__PURE__ */ jsxRuntime.jsx(
4571
+ "p",
4572
+ {
4573
+ style: {
4574
+ fontSize: "16px",
4575
+ fontWeight: 700,
4576
+ color: emailTokens.foreground,
4577
+ lineHeight: "1.3",
4578
+ margin: "0 0 8px 0"
4579
+ },
4580
+ children: l.accommodationRoomHeading(room.roomName)
4581
+ }
4582
+ ),
4583
+ room.imageUrl && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "8px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
4584
+ "img",
4585
+ {
4586
+ src: room.imageUrl,
4587
+ alt: room.roomName,
4588
+ style: {
4589
+ width: "100%",
4590
+ height: "auto",
4591
+ maxWidth: "100%",
4592
+ display: "block",
4593
+ borderRadius: "8px"
4594
+ }
4595
+ }
4596
+ ) }),
4597
+ /* @__PURE__ */ jsxRuntime.jsx(
4598
+ "div",
4599
+ {
4600
+ style: {
4601
+ fontSize: "14px",
4602
+ fontWeight: 600,
4603
+ color: emailTokens.foreground,
4604
+ marginBottom: "2px"
4605
+ },
4606
+ children: `${room.qty}\xD7 ${room.roomName}`
4607
+ }
4608
+ ),
4609
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: "12px", color: emailTokens.mutedForeground }, children: [
4610
+ room.accommodationName,
4611
+ /* @__PURE__ */ jsxRuntime.jsx(
4612
+ "span",
4613
+ {
4614
+ style: {
4615
+ display: "inline-block",
4616
+ marginLeft: "8px",
4617
+ padding: "1px 6px",
4618
+ fontSize: "10px",
4619
+ fontWeight: 600,
4620
+ color: emailTokens.primary,
4621
+ backgroundColor: emailTokens.primaryLight,
4622
+ borderRadius: "4px",
4623
+ textTransform: "uppercase",
4624
+ letterSpacing: "0.05em"
4625
+ },
4626
+ children: l.bedArrangementLabels[room.bedArrangement]
4627
+ }
4628
+ )
4629
+ ] }),
4630
+ room.description && /* @__PURE__ */ jsxRuntime.jsx(
4631
+ "div",
4632
+ {
4633
+ style: {
4634
+ fontSize: "12px",
4635
+ color: emailTokens.bodyText,
4636
+ marginTop: "4px",
4637
+ lineHeight: "1.4"
4638
+ },
4639
+ children: room.description
4640
+ }
4641
+ )
4642
+ ]
4643
+ },
4644
+ i
4645
+ ))
4646
+ ] }),
4647
+ hasRooms && roomLayout === "compact" && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4539
4648
  /* @__PURE__ */ jsxRuntime.jsx(
4540
4649
  "hr",
4541
4650
  {
@@ -5174,6 +5283,14 @@ var DEFAULT_LABELS3 = {
5174
5283
  pricingLabel: "Pricing",
5175
5284
  subtotalLabel: "Subtotal",
5176
5285
  totalLabel: "Total",
5286
+ accommodationsLabel: "ACCOMMODATIONS",
5287
+ accommodationRoomHeading: (name) => `Accommodation: ${name}`,
5288
+ bedArrangementLabels: {
5289
+ DOUBLE: "Double",
5290
+ TWIN: "Twin",
5291
+ SINGLE: "Single",
5292
+ TRIPLE: "Triple"
5293
+ },
5177
5294
  paymentSummaryHeading: "\u{1F4B0} Payment Summary",
5178
5295
  paymentDetailsHeading: "Payment Details",
5179
5296
  depositLabel: (percent) => `Deposit (${percent}%)`,
@@ -5342,6 +5459,7 @@ function BookingPaymentConfirmationEmail({
5342
5459
  lineItems: lineItemsToPass,
5343
5460
  subtotal: adventure.subtotal,
5344
5461
  rooms: adventure.rooms,
5462
+ roomLayout: "feature",
5345
5463
  labels: {
5346
5464
  travellersHeading: l.travellersLabel,
5347
5465
  detailsHeading: l.itineraryLabel,
@@ -5351,7 +5469,10 @@ function BookingPaymentConfirmationEmail({
5351
5469
  notIncludedHeading: l.notIncludedLabel,
5352
5470
  childBadge: l.childBadge,
5353
5471
  adultsUnit: l.adultsUnit,
5354
- childrenUnit: l.childrenUnit
5472
+ childrenUnit: l.childrenUnit,
5473
+ accommodationsHeading: l.accommodationsLabel,
5474
+ accommodationRoomHeading: l.accommodationRoomHeading,
5475
+ bedArrangementLabels: l.bedArrangementLabels
5355
5476
  }
5356
5477
  }
5357
5478
  )
@@ -5809,6 +5930,195 @@ function BookingCancellationEmail({
5809
5930
  }
5810
5931
  );
5811
5932
  }
5933
+ var INLINE_LINK_STYLE2 = {
5934
+ color: emailTokens.primary,
5935
+ textDecoration: "underline"
5936
+ };
5937
+ function renderWhatsappLink2(contact, label) {
5938
+ if (contact.whatsappUrl) {
5939
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE2, children: label });
5940
+ }
5941
+ return label;
5942
+ }
5943
+ function renderEmailLink2(contact, label) {
5944
+ if (contact.email) {
5945
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE2, children: label });
5946
+ }
5947
+ return label;
5948
+ }
5949
+ function hasText2(s) {
5950
+ return typeof s === "string" && s.trim().length > 0;
5951
+ }
5952
+ var DEFAULT_LABELS6 = {
5953
+ logoAlt: "PlanetaEXO",
5954
+ greeting: (recipientName) => `Hi ${recipientName},`,
5955
+ title: "We've received your cancellation request",
5956
+ intro: (bookingRef) => `We've received your request to cancel booking ${bookingRef}. Our team will review it according to our cancellation policy and get back to you within 2 business days.`,
5957
+ summaryHeading: "Your request",
5958
+ bookingNumberLabel: "Booking number",
5959
+ adventuresLabel: "Adventure",
5960
+ datesLabel: "Dates",
5961
+ travellersLabel: "Travellers",
5962
+ nextStepsHeading: "What happens next",
5963
+ nextStepsNote: "No action is needed from you right now. We'll be in touch soon with the next steps.",
5964
+ closingAgent: (agentName, contact) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5965
+ "If you have any questions, your agent ",
5966
+ agentName,
5967
+ " is available via",
5968
+ " ",
5969
+ renderWhatsappLink2(contact, "WhatsApp"),
5970
+ " or ",
5971
+ renderEmailLink2(contact, "email"),
5972
+ "."
5973
+ ] }),
5974
+ closingNoAgent: "If you have any questions, our team is available via WhatsApp or email.",
5975
+ teamSignature: "The PlanetaEXO Team"
5976
+ };
5977
+ function CancellationRequestReceivedEmail({
5978
+ recipientName,
5979
+ bookingRef,
5980
+ adventures,
5981
+ travellersCount,
5982
+ agentName,
5983
+ agentContactLinks,
5984
+ logoUrl,
5985
+ labels,
5986
+ className
5987
+ }) {
5988
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS6), labels);
5989
+ const adventureLines = adventures.map((a) => a.name).join("\n");
5990
+ const dateLines = adventures.map((a) => `${a.startDate} \u2013 ${a.endDate}`).join("\n");
5991
+ const summaryRows = [
5992
+ {
5993
+ label: l.bookingNumberLabel,
5994
+ value: `#${bookingRef}`,
5995
+ valueColor: emailTokens.primary
5996
+ },
5997
+ { label: l.adventuresLabel, value: adventureLines },
5998
+ { label: l.datesLabel, value: dateLines },
5999
+ { label: l.travellersLabel, value: travellersCount }
6000
+ ];
6001
+ const agentNameTrimmed = agentName == null ? void 0 : agentName.trim();
6002
+ const contact = agentContactLinks != null ? agentContactLinks : {};
6003
+ const closingNode = agentNameTrimmed ? l.closingAgent(agentNameTrimmed, contact) : l.closingNoAgent;
6004
+ const sectionDivider = /* @__PURE__ */ jsxRuntime.jsx(
6005
+ "hr",
6006
+ {
6007
+ style: {
6008
+ border: "none",
6009
+ borderTop: `1px solid ${emailTokens.border}`,
6010
+ marginTop: 0,
6011
+ marginBottom: "24px"
6012
+ }
6013
+ }
6014
+ );
6015
+ return /* @__PURE__ */ jsxRuntime.jsxs(
6016
+ "div",
6017
+ {
6018
+ style: {
6019
+ maxWidth: "576px",
6020
+ margin: "0 auto",
6021
+ backgroundColor: emailTokens.white,
6022
+ color: emailTokens.foreground,
6023
+ fontFamily: emailTokens.fontFamily,
6024
+ fontSize: "16px",
6025
+ lineHeight: "1.6",
6026
+ border: `1px solid ${emailTokens.border}`,
6027
+ borderRadius: "12px",
6028
+ overflow: "hidden",
6029
+ padding: "32px"
6030
+ },
6031
+ className,
6032
+ children: [
6033
+ /* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
6034
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientName) }),
6035
+ /* @__PURE__ */ jsxRuntime.jsx(
6036
+ "p",
6037
+ {
6038
+ style: {
6039
+ marginTop: 0,
6040
+ marginBottom: "16px",
6041
+ fontWeight: 700,
6042
+ color: emailTokens.foreground,
6043
+ fontSize: "20px",
6044
+ lineHeight: "1.3",
6045
+ fontFamily: emailTokens.fontFamily
6046
+ },
6047
+ children: l.title
6048
+ }
6049
+ ),
6050
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "24px" }, children: l.intro(`#${bookingRef}`) }),
6051
+ sectionDivider,
6052
+ /* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.summaryHeading, rows: summaryRows }),
6053
+ (hasText2(l.nextStepsHeading) || hasText2(l.nextStepsNote)) && /* @__PURE__ */ jsxRuntime.jsxs(
6054
+ "div",
6055
+ {
6056
+ style: {
6057
+ marginBottom: "24px",
6058
+ padding: "16px 20px",
6059
+ borderRadius: "12px",
6060
+ border: `1px solid ${emailTokens.border}`,
6061
+ backgroundColor: emailTokens.muted
6062
+ },
6063
+ children: [
6064
+ hasText2(l.nextStepsHeading) && /* @__PURE__ */ jsxRuntime.jsx(
6065
+ "p",
6066
+ {
6067
+ style: {
6068
+ margin: "0 0 8px 0",
6069
+ fontSize: "12px",
6070
+ fontWeight: 700,
6071
+ color: emailTokens.mutedForeground,
6072
+ textTransform: "uppercase",
6073
+ letterSpacing: "0.08em",
6074
+ fontFamily: emailTokens.fontFamily
6075
+ },
6076
+ children: l.nextStepsHeading
6077
+ }
6078
+ ),
6079
+ hasText2(l.nextStepsNote) && /* @__PURE__ */ jsxRuntime.jsx(
6080
+ "p",
6081
+ {
6082
+ style: {
6083
+ margin: 0,
6084
+ fontSize: "14px",
6085
+ color: emailTokens.bodyText
6086
+ },
6087
+ children: l.nextStepsNote
6088
+ }
6089
+ )
6090
+ ]
6091
+ }
6092
+ ),
6093
+ sectionDivider,
6094
+ /* @__PURE__ */ jsxRuntime.jsx(
6095
+ "p",
6096
+ {
6097
+ style: {
6098
+ marginBottom: "16px",
6099
+ fontSize: "14px",
6100
+ fontWeight: 700,
6101
+ color: emailTokens.bodyText
6102
+ },
6103
+ children: closingNode
6104
+ }
6105
+ ),
6106
+ /* @__PURE__ */ jsxRuntime.jsx(
6107
+ "p",
6108
+ {
6109
+ style: {
6110
+ marginTop: 0,
6111
+ marginBottom: 0,
6112
+ fontSize: "14px",
6113
+ color: emailTokens.bodyText
6114
+ },
6115
+ children: l.teamSignature
6116
+ }
6117
+ )
6118
+ ]
6119
+ }
6120
+ );
6121
+ }
5812
6122
  function RegistrationProgressBar({
5813
6123
  tone,
5814
6124
  pct,
@@ -5871,23 +6181,23 @@ function RegistrationProgressBar({
5871
6181
  }
5872
6182
  ) });
5873
6183
  }
5874
- var INLINE_LINK_STYLE2 = {
6184
+ var INLINE_LINK_STYLE3 = {
5875
6185
  color: emailTokens.primary,
5876
6186
  textDecoration: "underline"
5877
6187
  };
5878
- function renderWhatsappLink2(contact, label) {
6188
+ function renderWhatsappLink3(contact, label) {
5879
6189
  if (contact.whatsappUrl) {
5880
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE2, children: label });
6190
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE3, children: label });
5881
6191
  }
5882
6192
  return label;
5883
6193
  }
5884
- function renderEmailLink2(contact, label) {
6194
+ function renderEmailLink3(contact, label) {
5885
6195
  if (contact.email) {
5886
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE2, children: label });
6196
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE3, children: label });
5887
6197
  }
5888
6198
  return label;
5889
6199
  }
5890
- var DEFAULT_LABELS6 = {
6200
+ var DEFAULT_LABELS7 = {
5891
6201
  logoAlt: "PlanetaEXO",
5892
6202
  greeting: (n) => `Hi ${n},`,
5893
6203
  intermediateHello: "Hope you're doing well.",
@@ -5906,9 +6216,9 @@ var DEFAULT_LABELS6 = {
5906
6216
  "If you need any assistance with the traveller registrations, feel free to contact your agent ",
5907
6217
  agentName,
5908
6218
  " via ",
5909
- renderWhatsappLink2(contact, "WhatsApp"),
6219
+ renderWhatsappLink3(contact, "WhatsApp"),
5910
6220
  " or ",
5911
- renderEmailLink2(contact, "email"),
6221
+ renderEmailLink3(contact, "email"),
5912
6222
  "."
5913
6223
  ] }),
5914
6224
  closingNoAgent: "If you need any assistance with the traveller registrations, feel free to contact us via WhatsApp or email.",
@@ -5981,7 +6291,7 @@ var DEFAULT_LABELS6 = {
5981
6291
  }
5982
6292
  }
5983
6293
  };
5984
- function hasText2(s) {
6294
+ function hasText3(s) {
5985
6295
  return typeof s === "string" && s.trim().length > 0;
5986
6296
  }
5987
6297
  function hasItems(arr) {
@@ -6001,12 +6311,12 @@ function RegistrationReminderEmail({
6001
6311
  className
6002
6312
  }) {
6003
6313
  var _a, _b, _c, _d, _e, _f, _g, _h;
6004
- const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS6), labels), {
6314
+ const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS7), labels), {
6005
6315
  variants: {
6006
- 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 : {}),
6007
- 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 : {}),
6008
- 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 : {}),
6009
- 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 : {})
6316
+ 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 : {}),
6317
+ 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 : {}),
6318
+ 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 : {}),
6319
+ 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 : {})
6010
6320
  }
6011
6321
  });
6012
6322
  const v = l.variants[slug];
@@ -6027,14 +6337,14 @@ function RegistrationReminderEmail({
6027
6337
  { label: l.travellersRowLabel, value: l.travellersCountLabel(totalTravellers) },
6028
6338
  ...(agent == null ? void 0 : agent.name) ? [{ label: l.agentRowLabel, value: agent.name }] : []
6029
6339
  ];
6030
- const showPleaseNote = hasText2(v.pleaseNoteHeader) && hasItems(v.pleaseNoteBullets);
6031
- const showBookerCoord = hasText2(v.bookerCoordinationNote);
6032
- const showEarlyBenefit = hasText2(v.earlyCompletionBenefit);
6033
- const showImportant = hasText2(v.importantNote);
6034
- const showFinalTagline = hasText2(v.finalReminderTagline);
6035
- hasText2(v.multiTravellerNote);
6036
- const showDisregard = hasText2(v.disregardIfCompleted);
6037
- const showClosingThanks = hasText2(v.closingThanks);
6340
+ const showPleaseNote = hasText3(v.pleaseNoteHeader) && hasItems(v.pleaseNoteBullets);
6341
+ const showBookerCoord = hasText3(v.bookerCoordinationNote);
6342
+ const showEarlyBenefit = hasText3(v.earlyCompletionBenefit);
6343
+ const showImportant = hasText3(v.importantNote);
6344
+ const showFinalTagline = hasText3(v.finalReminderTagline);
6345
+ hasText3(v.multiTravellerNote);
6346
+ const showDisregard = hasText3(v.disregardIfCompleted);
6347
+ const showClosingThanks = hasText3(v.closingThanks);
6038
6348
  const sectionDivider = /* @__PURE__ */ jsxRuntime.jsx(
6039
6349
  "hr",
6040
6350
  {
@@ -6046,7 +6356,7 @@ function RegistrationReminderEmail({
6046
6356
  }
6047
6357
  }
6048
6358
  );
6049
- const hasIntroBlock = hasText2(v.intro) || hasText2(v.contextNote);
6359
+ const hasIntroBlock = hasText3(v.intro) || hasText3(v.contextNote);
6050
6360
  const hasPleaseNote = showPleaseNote;
6051
6361
  const hasD7Highlight = showImportant && slug === "d_minus_7";
6052
6362
  const hasD2Highlight = showFinalTagline || showImportant && slug === "d_minus_2";
@@ -6070,9 +6380,9 @@ function RegistrationReminderEmail({
6070
6380
  children: [
6071
6381
  /* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
6072
6382
  /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientFirstName) }),
6073
- hasText2(l.intermediateHello) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
6074
- hasText2(v.intro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.intro }),
6075
- hasText2(v.contextNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
6383
+ hasText3(l.intermediateHello) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
6384
+ hasText3(v.intro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.intro }),
6385
+ hasText3(v.contextNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
6076
6386
  hasIntroBlock && sectionDivider,
6077
6387
  slug === "d_minus_15" && showBookerCoord && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.bookerCoordinationNote }),
6078
6388
  hasItems(adventures) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -6090,7 +6400,7 @@ function RegistrationReminderEmail({
6090
6400
  children: l.progressHeader
6091
6401
  }
6092
6402
  ),
6093
- hasText2(v.progressIntro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.progressIntro }),
6403
+ hasText3(v.progressIntro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.progressIntro }),
6094
6404
  adventures.map((adv, i) => /* @__PURE__ */ jsxRuntime.jsxs(
6095
6405
  "div",
6096
6406
  {
@@ -6226,23 +6536,23 @@ function RegistrationReminderEmail({
6226
6536
  }
6227
6537
  );
6228
6538
  }
6229
- var INLINE_LINK_STYLE3 = {
6539
+ var INLINE_LINK_STYLE4 = {
6230
6540
  color: emailTokens.primary,
6231
6541
  textDecoration: "underline"
6232
6542
  };
6233
- function renderWhatsappLink3(contact, label) {
6543
+ function renderWhatsappLink4(contact, label) {
6234
6544
  if (contact.whatsappUrl) {
6235
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE3, children: label });
6545
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE4, children: label });
6236
6546
  }
6237
6547
  return label;
6238
6548
  }
6239
- function renderEmailLink3(contact, label) {
6549
+ function renderEmailLink4(contact, label) {
6240
6550
  if (contact.email) {
6241
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE3, children: label });
6551
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE4, children: label });
6242
6552
  }
6243
6553
  return label;
6244
6554
  }
6245
- var DEFAULT_LABELS7 = {
6555
+ var DEFAULT_LABELS8 = {
6246
6556
  logoAlt: "PlanetaEXO",
6247
6557
  greeting: (n) => `Hi ${n},`,
6248
6558
  tripDetailsHeader: "\u{1F4CB} Trip details",
@@ -6258,9 +6568,9 @@ var DEFAULT_LABELS7 = {
6258
6568
  "If you have questions, your agent ",
6259
6569
  agentName,
6260
6570
  " is available via ",
6261
- renderWhatsappLink3(contact, "WhatsApp"),
6571
+ renderWhatsappLink4(contact, "WhatsApp"),
6262
6572
  " or ",
6263
- renderEmailLink3(contact, "email"),
6573
+ renderEmailLink4(contact, "email"),
6264
6574
  "."
6265
6575
  ] }),
6266
6576
  closingNoAgent: "If you have questions or need assistance, our team is available via WhatsApp or email.",
@@ -6308,7 +6618,7 @@ var DEFAULT_LABELS7 = {
6308
6618
  }
6309
6619
  }
6310
6620
  };
6311
- function hasText3(s) {
6621
+ function hasText4(s) {
6312
6622
  return typeof s === "string" && s.trim().length > 0;
6313
6623
  }
6314
6624
  function RegistrationReminderIndividualEmail({
@@ -6329,12 +6639,12 @@ function RegistrationReminderIndividualEmail({
6329
6639
  className
6330
6640
  }) {
6331
6641
  var _a, _b, _c, _d, _e, _f, _g, _h;
6332
- const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS7), labels), {
6642
+ const l = __spreadProps(__spreadValues(__spreadValues({}, DEFAULT_LABELS8), labels), {
6333
6643
  variants: {
6334
- 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 : {}),
6335
- 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 : {}),
6336
- 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 : {}),
6337
- 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 : {})
6644
+ d_minus_30: __spreadValues(__spreadValues({}, DEFAULT_LABELS8.variants.d_minus_30), (_b = (_a = labels == null ? void 0 : labels.variants) == null ? void 0 : _a.d_minus_30) != null ? _b : {}),
6645
+ d_minus_15: __spreadValues(__spreadValues({}, DEFAULT_LABELS8.variants.d_minus_15), (_d = (_c = labels == null ? void 0 : labels.variants) == null ? void 0 : _c.d_minus_15) != null ? _d : {}),
6646
+ d_minus_7: __spreadValues(__spreadValues({}, DEFAULT_LABELS8.variants.d_minus_7), (_f = (_e = labels == null ? void 0 : labels.variants) == null ? void 0 : _e.d_minus_7) != null ? _f : {}),
6647
+ d_minus_2: __spreadValues(__spreadValues({}, DEFAULT_LABELS8.variants.d_minus_2), (_h = (_g = labels == null ? void 0 : labels.variants) == null ? void 0 : _g.d_minus_2) != null ? _h : {})
6338
6648
  }
6339
6649
  });
6340
6650
  const v = l.variants[slug];
@@ -6354,7 +6664,7 @@ function RegistrationReminderIndividualEmail({
6354
6664
  { label: l.leadTravellerLabel, value: leadTravellerName },
6355
6665
  { label: l.adventureLabel, value: adventureName },
6356
6666
  { label: l.startingDateLabel, value: startDateFormatted },
6357
- ...hasText3(partnerName) ? [{ label: l.partnerLabel, value: partnerName }] : []
6667
+ ...hasText4(partnerName) ? [{ label: l.partnerLabel, value: partnerName }] : []
6358
6668
  ];
6359
6669
  const sectionDivider = /* @__PURE__ */ jsxRuntime.jsx(
6360
6670
  "hr",
@@ -6389,7 +6699,7 @@ function RegistrationReminderIndividualEmail({
6389
6699
  children: [
6390
6700
  /* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
6391
6701
  /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientFirstName) }),
6392
- hasText3(routingNote) && /* @__PURE__ */ jsxRuntime.jsx(
6702
+ hasText4(routingNote) && /* @__PURE__ */ jsxRuntime.jsx(
6393
6703
  "p",
6394
6704
  {
6395
6705
  style: {
@@ -6404,8 +6714,8 @@ function RegistrationReminderIndividualEmail({
6404
6714
  }
6405
6715
  ),
6406
6716
  /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: introText }),
6407
- hasText3(v.contextNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
6408
- slug === "d_minus_2" && (hasText3(v.finalReminderTagline) || hasText3(v.consequencesNote)) && /* @__PURE__ */ jsxRuntime.jsxs(
6717
+ hasText4(v.contextNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
6718
+ slug === "d_minus_2" && (hasText4(v.finalReminderTagline) || hasText4(v.consequencesNote)) && /* @__PURE__ */ jsxRuntime.jsxs(
6409
6719
  "div",
6410
6720
  {
6411
6721
  style: {
@@ -6417,23 +6727,23 @@ function RegistrationReminderIndividualEmail({
6417
6727
  color: "#7f1d1d"
6418
6728
  },
6419
6729
  children: [
6420
- hasText3(v.finalReminderTagline) && /* @__PURE__ */ jsxRuntime.jsx(
6730
+ hasText4(v.finalReminderTagline) && /* @__PURE__ */ jsxRuntime.jsx(
6421
6731
  "p",
6422
6732
  {
6423
6733
  style: {
6424
6734
  margin: 0,
6425
- marginBottom: hasText3(v.consequencesNote) ? "8px" : 0,
6735
+ marginBottom: hasText4(v.consequencesNote) ? "8px" : 0,
6426
6736
  fontWeight: 700
6427
6737
  },
6428
6738
  children: v.finalReminderTagline
6429
6739
  }
6430
6740
  ),
6431
- hasText3(v.consequencesNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: v.consequencesNote })
6741
+ hasText4(v.consequencesNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: v.consequencesNote })
6432
6742
  ]
6433
6743
  }
6434
6744
  ),
6435
6745
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "24px", textAlign: "left" }, children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: ctaUrl, style: ctaStyle, children: l.ctaLabel }) }),
6436
- slug === "d_minus_7" && hasText3(v.mandatoryNote) && /* @__PURE__ */ jsxRuntime.jsx(
6746
+ slug === "d_minus_7" && hasText4(v.mandatoryNote) && /* @__PURE__ */ jsxRuntime.jsx(
6437
6747
  "p",
6438
6748
  {
6439
6749
  style: {
@@ -6449,8 +6759,8 @@ function RegistrationReminderIndividualEmail({
6449
6759
  ),
6450
6760
  sectionDivider,
6451
6761
  /* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.tripDetailsHeader, rows: tripRows }),
6452
- (slug === "d_minus_30" || slug === "d_minus_15") && hasText3(v.mandatoryNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.mandatoryNote }),
6453
- slug === "d_minus_2" && hasText3(v.disregardIfCompleted) && /* @__PURE__ */ jsxRuntime.jsx(
6762
+ (slug === "d_minus_30" || slug === "d_minus_15") && hasText4(v.mandatoryNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.mandatoryNote }),
6763
+ slug === "d_minus_2" && hasText4(v.disregardIfCompleted) && /* @__PURE__ */ jsxRuntime.jsx(
6454
6764
  "p",
6455
6765
  {
6456
6766
  style: {
@@ -6467,29 +6777,29 @@ function RegistrationReminderIndividualEmail({
6467
6777
  whatsappUrl: agent.whatsappUrl,
6468
6778
  email: agent.email
6469
6779
  }) : l.closingNoAgent }),
6470
- hasText3(v.closingThanks) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: v.closingThanks }),
6780
+ hasText4(v.closingThanks) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: v.closingThanks }),
6471
6781
  /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "14px", color: emailTokens.bodyText }, children: l.teamSignature })
6472
6782
  ]
6473
6783
  }
6474
6784
  );
6475
6785
  }
6476
- var INLINE_LINK_STYLE4 = {
6786
+ var INLINE_LINK_STYLE5 = {
6477
6787
  color: emailTokens.primary,
6478
6788
  textDecoration: "underline"
6479
6789
  };
6480
- function renderWhatsappLink4(contact, label) {
6790
+ function renderWhatsappLink5(contact, label) {
6481
6791
  if (contact.whatsappUrl) {
6482
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE4, children: label });
6792
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE5, children: label });
6483
6793
  }
6484
6794
  return label;
6485
6795
  }
6486
- function renderEmailLink4(contact, label) {
6796
+ function renderEmailLink5(contact, label) {
6487
6797
  if (contact.email) {
6488
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE4, children: label });
6798
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE5, children: label });
6489
6799
  }
6490
6800
  return label;
6491
6801
  }
6492
- var DEFAULT_LABELS8 = {
6802
+ var DEFAULT_LABELS9 = {
6493
6803
  logoAlt: "PlanetaEXO",
6494
6804
  greeting: (n) => `Hi ${n},`,
6495
6805
  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.`,
@@ -6511,15 +6821,15 @@ var DEFAULT_LABELS8 = {
6511
6821
  agentName,
6512
6822
  " is available via",
6513
6823
  " ",
6514
- renderWhatsappLink4(contact, "WhatsApp"),
6824
+ renderWhatsappLink5(contact, "WhatsApp"),
6515
6825
  " or ",
6516
- renderEmailLink4(contact, "email"),
6826
+ renderEmailLink5(contact, "email"),
6517
6827
  "."
6518
6828
  ] }),
6519
6829
  closingNoAgent: "If you have any questions, our team is available via WhatsApp or email.",
6520
6830
  teamSignature: "The PlanetaEXO Team"
6521
6831
  };
6522
- function hasText4(s) {
6832
+ function hasText5(s) {
6523
6833
  return typeof s === "string" && s.trim().length > 0;
6524
6834
  }
6525
6835
  function PartnerRegistrationCompleteEmail({
@@ -6539,14 +6849,14 @@ function PartnerRegistrationCompleteEmail({
6539
6849
  labels,
6540
6850
  className
6541
6851
  }) {
6542
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS8), labels);
6852
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS9), labels);
6543
6853
  const tripRows = [
6544
6854
  { label: l.bookingNumberLabel, value: `#${bookingNumber}`, valueColor: emailTokens.primary },
6545
6855
  { label: l.adventureLabel, value: adventureName },
6546
6856
  { label: l.datesLabel, value: dateRange },
6547
6857
  { label: l.partnerLabel, value: partnerName },
6548
- ...hasText4(bookingPersonName) ? [{ label: l.bookingPersonLabel, value: bookingPersonName }] : [],
6549
- ...hasText4(bookingPersonPassport) ? [{ label: l.passportLabel, value: bookingPersonPassport }] : []
6858
+ ...hasText5(bookingPersonName) ? [{ label: l.bookingPersonLabel, value: bookingPersonName }] : [],
6859
+ ...hasText5(bookingPersonPassport) ? [{ label: l.passportLabel, value: bookingPersonPassport }] : []
6550
6860
  ];
6551
6861
  const sectionDivider = /* @__PURE__ */ jsxRuntime.jsx(
6552
6862
  "hr",
@@ -6580,7 +6890,7 @@ function PartnerRegistrationCompleteEmail({
6580
6890
  className,
6581
6891
  children: [
6582
6892
  /* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
6583
- hasText4(topNotice) && /* @__PURE__ */ jsxRuntime.jsx(
6893
+ hasText5(topNotice) && /* @__PURE__ */ jsxRuntime.jsx(
6584
6894
  "div",
6585
6895
  {
6586
6896
  style: {
@@ -6657,7 +6967,7 @@ function PartnerRegistrationCompleteEmail({
6657
6967
  }) })
6658
6968
  }
6659
6969
  ) : /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginTop: 0, marginBottom: "24px", color: emailTokens.bodyText }, children: l.expectationsEmptyNote }),
6660
- pdfAttached && hasText4(l.pdfNote) && /* @__PURE__ */ jsxRuntime.jsx(
6970
+ pdfAttached && hasText5(l.pdfNote) && /* @__PURE__ */ jsxRuntime.jsx(
6661
6971
  "div",
6662
6972
  {
6663
6973
  style: {
@@ -6682,26 +6992,26 @@ function PartnerRegistrationCompleteEmail({
6682
6992
  }
6683
6993
  );
6684
6994
  }
6685
- var INLINE_LINK_STYLE5 = {
6995
+ var INLINE_LINK_STYLE6 = {
6686
6996
  color: emailTokens.primary,
6687
6997
  textDecoration: "underline"
6688
6998
  };
6689
- function renderWhatsappLink5(contact, label) {
6999
+ function renderWhatsappLink6(contact, label) {
6690
7000
  if (contact.whatsappUrl) {
6691
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE5, children: label });
7001
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE6, children: label });
6692
7002
  }
6693
7003
  return label;
6694
7004
  }
6695
- function renderEmailLink5(contact, label) {
7005
+ function renderEmailLink6(contact, label) {
6696
7006
  if (contact.email) {
6697
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE5, children: label });
7007
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE6, children: label });
6698
7008
  }
6699
7009
  return label;
6700
7010
  }
6701
- function hasText5(s) {
7011
+ function hasText6(s) {
6702
7012
  return typeof s === "string" && s.trim().length > 0;
6703
7013
  }
6704
- var DEFAULT_LABELS9 = {
7014
+ var DEFAULT_LABELS10 = {
6705
7015
  logoAlt: "PlanetaEXO",
6706
7016
  greeting: (n) => `Hi ${n},`,
6707
7017
  intro: (adv) => `You have a new booking for your adventure ${adv}. Here are the details:`,
@@ -6727,9 +7037,9 @@ var DEFAULT_LABELS9 = {
6727
7037
  agentName,
6728
7038
  " is available via",
6729
7039
  " ",
6730
- renderWhatsappLink5(contact, "WhatsApp"),
7040
+ renderWhatsappLink6(contact, "WhatsApp"),
6731
7041
  " or ",
6732
- renderEmailLink5(contact, "email"),
7042
+ renderEmailLink6(contact, "email"),
6733
7043
  "."
6734
7044
  ] }),
6735
7045
  closingNoAgent: "If you have any questions, our team is available via WhatsApp or email.",
@@ -6750,10 +7060,10 @@ function PartnerBookingCreatedEmail({
6750
7060
  labels,
6751
7061
  className
6752
7062
  }) {
6753
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS9), labels);
7063
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS10), labels);
6754
7064
  const summaryRows = [
6755
7065
  { label: l.bookerNameLabel, value: booker.name },
6756
- ...hasText5(booker.country) ? [{ label: l.bookerCountryLabel, value: booker.country }] : [],
7066
+ ...hasText6(booker.country) ? [{ label: l.bookerCountryLabel, value: booker.country }] : [],
6757
7067
  { label: l.bookingNumberLabel, value: `#${bookingNumber}`, valueColor: emailTokens.primary },
6758
7068
  { label: l.adventureLabel, value: adventureName },
6759
7069
  { label: l.datesLabel, value: dateRange },
@@ -6790,7 +7100,7 @@ function PartnerBookingCreatedEmail({
6790
7100
  className,
6791
7101
  children: [
6792
7102
  /* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
6793
- hasText5(topNotice) && /* @__PURE__ */ jsxRuntime.jsx(
7103
+ hasText6(topNotice) && /* @__PURE__ */ jsxRuntime.jsx(
6794
7104
  "div",
6795
7105
  {
6796
7106
  style: {
@@ -6849,7 +7159,7 @@ function PartnerBookingCreatedEmail({
6849
7159
  }
6850
7160
  );
6851
7161
  }
6852
- var DEFAULT_LABELS10 = {
7162
+ var DEFAULT_LABELS11 = {
6853
7163
  logoAlt: "PlanetaEXO",
6854
7164
  greeting: (name) => `Hi ${name},`,
6855
7165
  introMessage: "",
@@ -6892,7 +7202,7 @@ function PaymentReceiptEmail({
6892
7202
  labels,
6893
7203
  className
6894
7204
  }) {
6895
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS10), labels);
7205
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS11), labels);
6896
7206
  const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
6897
7207
  const interestRow = chargedAmount && chargedAmount !== amount;
6898
7208
  const receiptRows = [
@@ -7036,24 +7346,24 @@ function PaymentReceiptEmail({
7036
7346
  }
7037
7347
  );
7038
7348
  }
7039
- var INLINE_LINK_STYLE6 = {
7349
+ var INLINE_LINK_STYLE7 = {
7040
7350
  color: emailTokens.primary,
7041
7351
  textDecoration: "underline"
7042
7352
  };
7043
- function renderWhatsappLink6(contact, label) {
7353
+ function renderWhatsappLink7(contact, label) {
7044
7354
  if (contact.whatsappUrl) {
7045
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE6, children: label });
7355
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE7, children: label });
7046
7356
  }
7047
7357
  return label;
7048
7358
  }
7049
- function renderEmailLink6(contact, label) {
7359
+ function renderEmailLink7(contact, label) {
7050
7360
  if (contact.email) {
7051
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE6, children: label });
7361
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE7, children: label });
7052
7362
  }
7053
7363
  return label;
7054
7364
  }
7055
7365
  var EMPTY_CLOSING_ALTERNATIVE = (_agentName, _contact) => null;
7056
- var DEFAULT_LABELS11 = {
7366
+ var DEFAULT_LABELS12 = {
7057
7367
  logoAlt: "PlanetaEXO",
7058
7368
  greeting: (name) => `Hi ${name},`,
7059
7369
  intermediateHello: "Hope you're doing well.",
@@ -7068,9 +7378,9 @@ var DEFAULT_LABELS11 = {
7068
7378
  "If you need any assistance or would like to discuss your payment, feel free to contact your agent ",
7069
7379
  agentName,
7070
7380
  " via ",
7071
- renderWhatsappLink6(contact, "WhatsApp"),
7381
+ renderWhatsappLink7(contact, "WhatsApp"),
7072
7382
  " or ",
7073
- renderEmailLink6(contact, "email"),
7383
+ renderEmailLink7(contact, "email"),
7074
7384
  "."
7075
7385
  ] }),
7076
7386
  closingNoAgent: "If you need any assistance or would like to discuss your payment, feel free to contact us via WhatsApp or email.",
@@ -7114,9 +7424,9 @@ var DEFAULT_LABELS11 = {
7114
7424
  "If you are experiencing any issues with payment or need additional time, please contact your agent ",
7115
7425
  agentName,
7116
7426
  " via ",
7117
- renderWhatsappLink6(contact, "WhatsApp"),
7427
+ renderWhatsappLink7(contact, "WhatsApp"),
7118
7428
  " or ",
7119
- renderEmailLink6(contact, "email"),
7429
+ renderEmailLink7(contact, "email"),
7120
7430
  ". We'll be happy to assist."
7121
7431
  ] })
7122
7432
  }
@@ -7140,7 +7450,7 @@ function PaymentReminderEmail({
7140
7450
  }) {
7141
7451
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
7142
7452
  const lOverride = labels != null ? labels : {};
7143
- const variantDefaults = DEFAULT_LABELS11.variants[variant];
7453
+ const variantDefaults = DEFAULT_LABELS12.variants[variant];
7144
7454
  const variantOverride = (_b = (_a = lOverride.variants) == null ? void 0 : _a[variant]) != null ? _b : {};
7145
7455
  const variantLabels = {
7146
7456
  intro: (_c = variantOverride.intro) != null ? _c : variantDefaults.intro,
@@ -7150,19 +7460,19 @@ function PaymentReminderEmail({
7150
7460
  closingAlternative: (_f = variantOverride.closingAlternative) != null ? _f : variantDefaults.closingAlternative
7151
7461
  };
7152
7462
  const l = {
7153
- logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS11.logoAlt,
7154
- greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS11.greeting,
7155
- intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS11.intermediateHello,
7156
- bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS11.bookingSummaryHeader,
7157
- amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS11.amountAlreadyPaidLabel,
7158
- remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS11.remainingBalanceDueLabel,
7159
- totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS11.totalBookingAmountLabel,
7160
- paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n : DEFAULT_LABELS11.paymentDetailsHeading,
7161
- ctaLabel: (_o = lOverride.ctaLabel) != null ? _o : DEFAULT_LABELS11.ctaLabel,
7162
- teamSignature: (_p = lOverride.teamSignature) != null ? _p : DEFAULT_LABELS11.teamSignature,
7163
- closingAgent: (_q = lOverride.closingAgent) != null ? _q : DEFAULT_LABELS11.closingAgent,
7164
- closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r : DEFAULT_LABELS11.closingNoAgent,
7165
- adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS11.adventureCard), (_s = lOverride.adventureCard) != null ? _s : {})
7463
+ logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS12.logoAlt,
7464
+ greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS12.greeting,
7465
+ intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS12.intermediateHello,
7466
+ bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS12.bookingSummaryHeader,
7467
+ amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS12.amountAlreadyPaidLabel,
7468
+ remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS12.remainingBalanceDueLabel,
7469
+ totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS12.totalBookingAmountLabel,
7470
+ paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n : DEFAULT_LABELS12.paymentDetailsHeading,
7471
+ ctaLabel: (_o = lOverride.ctaLabel) != null ? _o : DEFAULT_LABELS12.ctaLabel,
7472
+ teamSignature: (_p = lOverride.teamSignature) != null ? _p : DEFAULT_LABELS12.teamSignature,
7473
+ closingAgent: (_q = lOverride.closingAgent) != null ? _q : DEFAULT_LABELS12.closingAgent,
7474
+ closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r : DEFAULT_LABELS12.closingNoAgent,
7475
+ adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS12.adventureCard), (_s = lOverride.adventureCard) != null ? _s : {})
7166
7476
  };
7167
7477
  const ctaStyle = {
7168
7478
  display: "inline-block",
@@ -8443,7 +8753,7 @@ function validateCpf(value) {
8443
8753
  if (secondDigit !== parseInt(digits[10], 10)) return false;
8444
8754
  return true;
8445
8755
  }
8446
- var DEFAULT_LABELS12 = {
8756
+ var DEFAULT_LABELS13 = {
8447
8757
  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.",
8448
8758
  detailsSectionTitle: "Your details",
8449
8759
  tripInfoSectionTitle: "Trip info",
@@ -9187,7 +9497,7 @@ function RegistrationForm({
9187
9497
  }) {
9188
9498
  var _a;
9189
9499
  const L = React32__namespace.useMemo(
9190
- () => __spreadValues(__spreadValues({}, DEFAULT_LABELS12), labels != null ? labels : {}),
9500
+ () => __spreadValues(__spreadValues({}, DEFAULT_LABELS13), labels != null ? labels : {}),
9191
9501
  [labels]
9192
9502
  );
9193
9503
  const sortedFields = React32__namespace.useMemo(
@@ -18832,6 +19142,7 @@ exports.BookingSummary = BookingSummary;
18832
19142
  exports.Button = Button;
18833
19143
  exports.COUNTRIES = COUNTRIES;
18834
19144
  exports.CancellationForm = CancellationForm;
19145
+ exports.CancellationRequestReceivedEmail = CancellationRequestReceivedEmail;
18835
19146
  exports.CategoryPage2 = CategoryPage2;
18836
19147
  exports.Chip = Chip;
18837
19148
  exports.CounterField = CounterField;