@planetaexo/design-system 0.15.0 → 0.16.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
@@ -1478,7 +1478,7 @@ function OfferSidebar({
1478
1478
  bookDisabled,
1479
1479
  labels
1480
1480
  }) {
1481
- var _a, _b;
1481
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
1482
1482
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
1483
1483
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden lg:flex rounded-2xl border border-border bg-card p-5 flex-col gap-4", children: [
1484
1484
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -1520,7 +1520,7 @@ function OfferSidebar({
1520
1520
  labels.agentContactTemplate(agent.name),
1521
1521
  agent.company && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1522
1522
  " ",
1523
- "at",
1523
+ (_d = (_c = labels == null ? void 0 : labels.agentContact) == null ? void 0 : _c.atCompanyLabel) != null ? _d : "at",
1524
1524
  " ",
1525
1525
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-bold text-foreground font-heading", children: agent.company })
1526
1526
  ] })
@@ -1531,7 +1531,7 @@ function OfferSidebar({
1531
1531
  " your travel advisor",
1532
1532
  agent.company && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1533
1533
  " ",
1534
- "at",
1534
+ (_f = (_e = labels == null ? void 0 : labels.agentContact) == null ? void 0 : _e.atCompanyLabel) != null ? _f : "at",
1535
1535
  " ",
1536
1536
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-bold text-foreground font-heading", children: agent.company })
1537
1537
  ] })
@@ -1549,7 +1549,7 @@ function OfferSidebar({
1549
1549
  className: "flex items-center gap-2.5 rounded-lg border border-border px-4 py-2.5 text-sm font-sans text-foreground hover:bg-muted/50 transition-colors",
1550
1550
  children: [
1551
1551
  /* @__PURE__ */ jsxRuntime.jsx("svg", { className: "w-4 h-4 shrink-0 text-[#25D366]", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z" }) }),
1552
- "WhatsApp"
1552
+ (_h = (_g = labels == null ? void 0 : labels.agentContact) == null ? void 0 : _g.whatsappLabel) != null ? _h : "WhatsApp"
1553
1553
  ]
1554
1554
  }
1555
1555
  ),
@@ -1560,7 +1560,7 @@ function OfferSidebar({
1560
1560
  className: "flex items-center gap-2.5 rounded-lg border border-border px-4 py-2.5 text-sm font-sans text-foreground hover:bg-muted/50 transition-colors",
1561
1561
  children: [
1562
1562
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MailIcon, { className: "w-4 h-4 shrink-0 text-primary" }),
1563
- "Email"
1563
+ (_j = (_i = labels == null ? void 0 : labels.agentContact) == null ? void 0 : _i.emailLabel) != null ? _j : "Email"
1564
1564
  ]
1565
1565
  }
1566
1566
  ),
@@ -1573,7 +1573,7 @@ function OfferSidebar({
1573
1573
  className: "flex items-center gap-2.5 rounded-lg border border-border px-4 py-2.5 text-sm font-sans text-foreground hover:bg-muted/50 transition-colors",
1574
1574
  children: [
1575
1575
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PhoneIcon, { className: "w-4 h-4 shrink-0 text-primary" }),
1576
- "Schedule a call"
1576
+ (_l = (_k = labels == null ? void 0 : labels.agentContact) == null ? void 0 : _k.scheduleCallLabel) != null ? _l : "Schedule a call"
1577
1577
  ]
1578
1578
  }
1579
1579
  )
@@ -3909,7 +3909,7 @@ function BookingConfirmation({
3909
3909
  ] }),
3910
3910
  /* @__PURE__ */ jsxRuntime.jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, margin: "0 32px" } }),
3911
3911
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { paddingLeft: "32px", paddingRight: "32px", paddingTop: "32px", paddingBottom: "32px" }, children: adventures.map((adventure, adIdx) => {
3912
- var _a;
3912
+ var _a, _b, _c, _d, _e;
3913
3913
  return /* @__PURE__ */ jsxRuntime.jsxs(
3914
3914
  "div",
3915
3915
  {
@@ -3930,7 +3930,7 @@ function BookingConfirmation({
3930
3930
  }
3931
3931
  ) }),
3932
3932
  /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { padding: "20px" }, children: [
3933
- adventure.reference && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: {
3933
+ ((_b = adventure.code) != null ? _b : adventure.reference) && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: {
3934
3934
  display: "inline-block",
3935
3935
  backgroundColor: emailTokens.primaryLight,
3936
3936
  color: emailTokens.primary,
@@ -3939,46 +3939,30 @@ function BookingConfirmation({
3939
3939
  fontSize: "12px",
3940
3940
  fontWeight: "600",
3941
3941
  letterSpacing: "0.05em"
3942
- }, children: adventure.reference }) }),
3942
+ }, children: (_c = adventure.code) != null ? _c : adventure.reference }) }),
3943
3943
  /* @__PURE__ */ jsxRuntime.jsx("h3", { style: { fontSize: "20px", fontWeight: "700", color: emailTokens.foreground, lineHeight: "1.3", margin: "0 0 10px 0" }, children: adventure.title }),
3944
3944
  /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
3945
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "14px" }, children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { style: { display: "block", width: "14px", height: "14px", color: emailTokens.primary }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
3946
- /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", ry: "2" }),
3947
- /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "16", x2: "16", y1: "2", y2: "6" }),
3948
- /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "8", x2: "8", y1: "2", y2: "6" }),
3949
- /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "3", x2: "21", y1: "10", y2: "10" })
3950
- ] }) }),
3945
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F4C5}" }) }),
3951
3946
  /* @__PURE__ */ jsxRuntime.jsxs("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: [
3952
3947
  adventure.dateFrom,
3953
3948
  " \u2192 ",
3954
3949
  adventure.dateTo
3955
3950
  ] })
3956
3951
  ] }) }) }),
3957
- adventure.location && /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
3958
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "14px" }, children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { style: { display: "block", width: "14px", height: "14px", color: emailTokens.primary }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
3959
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z" }),
3960
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "10", r: "3" })
3961
- ] }) }),
3952
+ adventure.location && !adventure.destinationName && /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
3953
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F4CD}" }) }),
3962
3954
  /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: adventure.location })
3963
3955
  ] }) }) }),
3964
3956
  adventure.slots && /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
3965
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "14px" }, children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { style: { display: "block", width: "14px", height: "14px", color: emailTokens.primary }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
3966
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" }),
3967
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "9", cy: "7", r: "4" }),
3968
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M22 21v-2a4 4 0 0 0-3-3.87" }),
3969
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })
3970
- ] }) }),
3957
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F465}" }) }),
3971
3958
  /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: [
3972
3959
  adventure.slots.adults ? `${adventure.slots.adults} ${l.adultsUnit}` : null,
3973
3960
  adventure.slots.children ? `${adventure.slots.children} ${l.childrenUnit}` : null
3974
3961
  ].filter(Boolean).join(" \xB7 ") })
3975
3962
  ] }) }) }),
3976
- adventure.partner && /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
3977
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "14px" }, children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { style: { display: "block", width: "14px", height: "14px", color: emailTokens.primary }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
3978
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10" }),
3979
- /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76" })
3980
- ] }) }),
3981
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: adventure.partner })
3963
+ ((_d = adventure.destinationName) != null ? _d : adventure.partner) && /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
3964
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F9ED}" }) }),
3965
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: (_e = adventure.destinationName) != null ? _e : adventure.partner })
3982
3966
  ] }) }) }),
3983
3967
  adventure.travellers && adventure.travellers.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
3984
3968
  /* @__PURE__ */ jsxRuntime.jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "10px" } }),
@@ -4006,17 +3990,14 @@ function BookingConfirmation({
4006
3990
  adventure.included && adventure.included.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "10px" }, children: [
4007
3991
  /* @__PURE__ */ jsxRuntime.jsx("h4", { style: { fontSize: "14px", fontWeight: "700", color: emailTokens.foreground, margin: "0 0 8px 0" }, children: l.includedLabel }),
4008
3992
  adventure.included.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: "6px" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4009
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx("svg", { style: { display: "block", width: "16px", height: "16px", color: emailTokens.primary, marginTop: "2px" }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "20 6 9 17 4 12" }) }) }),
3993
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", color: emailTokens.primary, lineHeight: "1.2", fontWeight: 700 }, children: "\u2713" }) }),
4010
3994
  /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4011
3995
  ] }) }) }, i))
4012
3996
  ] }),
4013
3997
  adventure.notIncluded && adventure.notIncluded.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "10px" }, children: [
4014
3998
  /* @__PURE__ */ jsxRuntime.jsx("h4", { style: { fontSize: "14px", fontWeight: "700", color: emailTokens.foreground, margin: "0 0 8px 0" }, children: l.notIncludedLabel }),
4015
3999
  adventure.notIncluded.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: "6px" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4016
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { style: { display: "block", width: "16px", height: "16px", color: emailTokens.destructive, marginTop: "2px" }, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
4017
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M18 6 6 18" }),
4018
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m6 6 12 12" })
4019
- ] }) }),
4000
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", color: emailTokens.destructive, lineHeight: "1.2", fontWeight: 700 }, children: "\u2717" }) }),
4020
4001
  /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4021
4002
  ] }) }) }, i))
4022
4003
  ] }),
@@ -4209,6 +4190,141 @@ function BookingConfirmationEmail({
4209
4190
  }
4210
4191
  );
4211
4192
  }
4193
+ var DEFAULT_LABELS3 = {
4194
+ logoAlt: "PlanetaEXO",
4195
+ greeting: (name) => `Hi ${name},`,
4196
+ receiptHeading: "Payment receipt",
4197
+ bookingNumberLabel: "Booking number",
4198
+ paymentMethodLabel: "Payment method",
4199
+ paymentDateLabel: "Payment date",
4200
+ amountLabel: "Amount",
4201
+ chargedAmountLabel: "Charged amount",
4202
+ interestSurchargeLabel: "Interest / surcharge",
4203
+ statusLabel: "Status",
4204
+ travellersLabel: "Travellers",
4205
+ summaryHeading: "Booking summary",
4206
+ totalOrderLabel: "Total order",
4207
+ totalPaidLabel: "Total paid",
4208
+ remainingBalanceLabel: "Remaining balance",
4209
+ balanceDueDateLabel: "Balance due",
4210
+ paidInFullMessage: "\u2705 Paid in full",
4211
+ closingMessage: "If you have any questions, just reply to this email \u2014 happy to help.",
4212
+ teamSignature: "PlanetaEXO Team"
4213
+ };
4214
+ function PaymentReceiptEmail({
4215
+ recipientName,
4216
+ bookingNumber,
4217
+ paymentMethodLabel,
4218
+ paymentDate,
4219
+ amount,
4220
+ chargedAmount,
4221
+ statusLabel,
4222
+ travellers,
4223
+ totalOrderAmount,
4224
+ totalPaidCumulative,
4225
+ remainingBalance,
4226
+ balanceDueDate,
4227
+ isPaidInFull,
4228
+ logoUrl,
4229
+ labels,
4230
+ className
4231
+ }) {
4232
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS3), labels);
4233
+ const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
4234
+ const interestRow = chargedAmount && chargedAmount !== amount;
4235
+ const receiptRows = [
4236
+ { label: l.bookingNumberLabel, value: bookingNumber },
4237
+ { label: l.paymentMethodLabel, value: paymentMethodLabel },
4238
+ { label: l.paymentDateLabel, value: paymentDate },
4239
+ { label: l.amountLabel, value: amount },
4240
+ ...interestRow ? [{ label: l.chargedAmountLabel, value: chargedAmount }] : [],
4241
+ { label: l.statusLabel, value: statusLabel },
4242
+ ...travellersLine.length > 0 ? [{ label: l.travellersLabel, value: travellersLine }] : []
4243
+ ];
4244
+ const summaryRows = [
4245
+ { label: l.totalOrderLabel, value: totalOrderAmount },
4246
+ { label: l.totalPaidLabel, value: totalPaidCumulative },
4247
+ { label: l.remainingBalanceLabel, value: remainingBalance },
4248
+ ...balanceDueDate ? [{ label: l.balanceDueDateLabel, value: balanceDueDate }] : []
4249
+ ];
4250
+ return /* @__PURE__ */ jsxRuntime.jsxs(
4251
+ "div",
4252
+ {
4253
+ style: {
4254
+ maxWidth: "576px",
4255
+ margin: "0 auto",
4256
+ backgroundColor: emailTokens.white,
4257
+ color: emailTokens.foreground,
4258
+ fontFamily: emailTokens.fontFamily,
4259
+ fontSize: "16px",
4260
+ lineHeight: "1.6",
4261
+ border: `1px solid ${emailTokens.border}`,
4262
+ borderRadius: "12px",
4263
+ overflow: "hidden",
4264
+ padding: "32px"
4265
+ },
4266
+ className,
4267
+ children: [
4268
+ /* @__PURE__ */ jsxRuntime.jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
4269
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientName) }),
4270
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "12px", fontWeight: 700, color: emailTokens.foreground, fontSize: "16px" }, children: l.receiptHeading }),
4271
+ /* @__PURE__ */ jsxRuntime.jsx(
4272
+ "div",
4273
+ {
4274
+ style: {
4275
+ borderRadius: "12px",
4276
+ border: `1px solid ${emailTokens.border}`,
4277
+ padding: "20px",
4278
+ marginBottom: "24px"
4279
+ },
4280
+ children: /* @__PURE__ */ jsxRuntime.jsx("table", { style: { width: "100%", fontSize: "14px", borderCollapse: "collapse" }, children: /* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
4281
+ receiptRows.map((row, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {}, children: [
4282
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "8px 12px 8px 0", color: emailTokens.mutedForeground, verticalAlign: "top", whiteSpace: "nowrap" }, children: row.label }),
4283
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "8px 0", fontWeight: 500, color: emailTokens.foreground, verticalAlign: "top" }, children: row.value })
4284
+ ] }, i)),
4285
+ interestRow && /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 2, style: { paddingTop: "8px", fontSize: "12px", color: emailTokens.mutedForeground, fontStyle: "italic" }, children: l.interestSurchargeLabel }) })
4286
+ ] }) })
4287
+ }
4288
+ ),
4289
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "12px", fontWeight: 700, color: emailTokens.foreground, fontSize: "16px" }, children: l.summaryHeading }),
4290
+ /* @__PURE__ */ jsxRuntime.jsx(
4291
+ "div",
4292
+ {
4293
+ style: {
4294
+ borderRadius: "12px",
4295
+ border: `1px solid ${emailTokens.border}`,
4296
+ overflow: "hidden",
4297
+ marginBottom: "24px"
4298
+ },
4299
+ children: /* @__PURE__ */ jsxRuntime.jsx("table", { style: { width: "100%", fontSize: "14px", borderCollapse: "collapse" }, children: /* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
4300
+ summaryRows.map((row, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {}, children: [
4301
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", color: emailTokens.mutedForeground, verticalAlign: "top" }, children: row.label }),
4302
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", textAlign: "right", fontWeight: 500, color: emailTokens.foreground, whiteSpace: "nowrap" }, children: row.value })
4303
+ ] }, i)),
4304
+ isPaidInFull && /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
4305
+ "td",
4306
+ {
4307
+ colSpan: 2,
4308
+ style: {
4309
+ padding: "12px 16px",
4310
+ textAlign: "center",
4311
+ fontWeight: 600,
4312
+ color: emailTokens.green,
4313
+ backgroundColor: emailTokens.greenBg,
4314
+ borderTop: `1px solid ${emailTokens.border}`
4315
+ },
4316
+ children: l.paidInFullMessage
4317
+ }
4318
+ ) })
4319
+ ] }) })
4320
+ }
4321
+ ),
4322
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: l.closingMessage }),
4323
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "14px", color: emailTokens.bodyText }, children: l.teamSignature })
4324
+ ]
4325
+ }
4326
+ );
4327
+ }
4212
4328
  function BookingOtpEmail({
4213
4329
  greeting,
4214
4330
  intro,
@@ -4889,7 +5005,7 @@ function BookingForm({
4889
5005
  }
4890
5006
  );
4891
5007
  }
4892
- var DEFAULT_LABELS3 = {
5008
+ var DEFAULT_LABELS4 = {
4893
5009
  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.",
4894
5010
  detailsSectionTitle: "Your details",
4895
5011
  tripInfoSectionTitle: "Trip info",
@@ -5553,7 +5669,7 @@ function RegistrationForm({
5553
5669
  }) {
5554
5670
  var _a;
5555
5671
  const L = React23__namespace.useMemo(
5556
- () => __spreadValues(__spreadValues({}, DEFAULT_LABELS3), labels != null ? labels : {}),
5672
+ () => __spreadValues(__spreadValues({}, DEFAULT_LABELS4), labels != null ? labels : {}),
5557
5673
  [labels]
5558
5674
  );
5559
5675
  const sortedFields = React23__namespace.useMemo(
@@ -9654,6 +9770,7 @@ exports.OfferAdventureCard = OfferAdventureCard;
9654
9770
  exports.PaymentAmountSelector = PaymentAmountSelector;
9655
9771
  exports.PaymentMethodSelector = PaymentMethodSelector;
9656
9772
  exports.PaymentModalShell = PaymentModalShell;
9773
+ exports.PaymentReceiptEmail = PaymentReceiptEmail;
9657
9774
  exports.PhoneCountrySelect = PhoneCountrySelect;
9658
9775
  exports.PhotoGallery = PhotoGallery;
9659
9776
  exports.PricingTrip = PricingTrip;