@planetaexo/design-system 0.15.1 → 0.17.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
@@ -3787,7 +3787,8 @@ var DEFAULT_LABELS = {
3787
3787
  balanceDueLabel: "Balance due",
3788
3788
  paidInFullLabel: "\u2705 Paid in full",
3789
3789
  footerMessage: "All travellers have been registered for this booking. Each person will receive a separate email with their individual details and any pre-departure information.",
3790
- footerContact: (agent) => `If you have any questions, just reply to this email or contact ${agent} \u2014 happy to help.`
3790
+ footerContact: (agent) => `If you have any questions, just reply to this email or contact ${agent} \u2014 happy to help.`,
3791
+ closingMessage: "You can access your booking at any time through the link below."
3791
3792
  };
3792
3793
  function BookingConfirmation({
3793
3794
  recipientName,
@@ -3801,13 +3802,15 @@ function BookingConfirmation({
3801
3802
  agent,
3802
3803
  viewBookingUrl,
3803
3804
  labels,
3804
- className
3805
+ className,
3806
+ flow = "auto"
3805
3807
  }) {
3806
3808
  const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS), labels);
3807
3809
  const allTravellers = adventures.flatMap((a) => {
3808
3810
  var _a;
3809
3811
  return (_a = a.travellers) != null ? _a : [];
3810
3812
  });
3813
+ const isManualFlow = flow === "manual";
3811
3814
  const ctaStyle = {
3812
3815
  display: "inline-block",
3813
3816
  backgroundColor: emailTokens.primary,
@@ -3840,31 +3843,33 @@ function BookingConfirmation({
3840
3843
  /* @__PURE__ */ jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt, paddingTop: "40px", paddingX: "32px" }),
3841
3844
  /* @__PURE__ */ jsxs("div", { style: { paddingLeft: "32px", paddingRight: "32px" }, children: [
3842
3845
  /* @__PURE__ */ jsx("p", { style: { marginBottom: "20px", marginTop: 0, fontSize: "16px" }, children: l.greeting(recipientName) }),
3843
- /* @__PURE__ */ jsx("p", { style: { marginBottom: "20px", marginTop: 0, fontSize: "16px" }, children: l.confirmationMessage }),
3844
- /* @__PURE__ */ jsx("p", { style: { marginBottom: "32px", marginTop: 0, fontSize: "16px" }, children: l.detailsIntro }),
3845
- /* @__PURE__ */ jsx("div", { style: { marginBottom: "40px" }, children: ViewBookingCta })
3846
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: isManualFlow ? "32px" : "20px", marginTop: 0, fontSize: "16px" }, children: l.confirmationMessage }),
3847
+ !isManualFlow && /* @__PURE__ */ jsx("p", { style: { marginBottom: "32px", marginTop: 0, fontSize: "16px" }, children: l.detailsIntro }),
3848
+ !isManualFlow && /* @__PURE__ */ jsx("div", { style: { marginBottom: "40px" }, children: ViewBookingCta })
3846
3849
  ] }),
3847
3850
  /* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, margin: "0 32px" } }),
3848
- /* @__PURE__ */ jsxs("div", { style: { paddingLeft: "32px", paddingRight: "32px", paddingTop: "32px", paddingBottom: "32px" }, children: [
3849
- /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: "20px", fontWeight: "700", color: emailTokens.foreground, fontSize: "18px", fontFamily: emailTokens.fontFamily }, children: l.nextStepsHeading }),
3850
- /* @__PURE__ */ jsx("div", { style: { borderRadius: "12px", border: `1px solid ${emailTokens.border}`, padding: "20px" }, children: l.nextSteps.map((step, i) => /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: i < l.nextSteps.length - 1 ? "16px" : "0" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3851
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", width: "32px", paddingRight: "14px" }, children: /* @__PURE__ */ jsx("span", { style: {
3852
- display: "inline-block",
3853
- height: "24px",
3854
- width: "24px",
3855
- lineHeight: "24px",
3856
- textAlign: "center",
3857
- borderRadius: "9999px",
3858
- backgroundColor: emailTokens.primaryLight,
3859
- fontSize: "12px",
3860
- fontWeight: "700",
3861
- color: emailTokens.primary,
3862
- marginTop: "2px"
3863
- }, children: i + 1 }) }),
3864
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top" }, children: /* @__PURE__ */ jsx("p", { style: { fontSize: "14px", color: emailTokens.bodyText, lineHeight: "1.6", margin: 0 }, children: step }) })
3865
- ] }) }) }, i)) })
3851
+ !isManualFlow && /* @__PURE__ */ jsxs(Fragment, { children: [
3852
+ /* @__PURE__ */ jsxs("div", { style: { paddingLeft: "32px", paddingRight: "32px", paddingTop: "32px", paddingBottom: "32px" }, children: [
3853
+ /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: "20px", fontWeight: "700", color: emailTokens.foreground, fontSize: "18px", fontFamily: emailTokens.fontFamily }, children: l.nextStepsHeading }),
3854
+ /* @__PURE__ */ jsx("div", { style: { borderRadius: "12px", border: `1px solid ${emailTokens.border}`, padding: "20px" }, children: l.nextSteps.map((step, i) => /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: i < l.nextSteps.length - 1 ? "16px" : "0" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3855
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", width: "32px", paddingRight: "14px" }, children: /* @__PURE__ */ jsx("span", { style: {
3856
+ display: "inline-block",
3857
+ height: "24px",
3858
+ width: "24px",
3859
+ lineHeight: "24px",
3860
+ textAlign: "center",
3861
+ borderRadius: "9999px",
3862
+ backgroundColor: emailTokens.primaryLight,
3863
+ fontSize: "12px",
3864
+ fontWeight: "700",
3865
+ color: emailTokens.primary,
3866
+ marginTop: "2px"
3867
+ }, children: i + 1 }) }),
3868
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top" }, children: /* @__PURE__ */ jsx("p", { style: { fontSize: "14px", color: emailTokens.bodyText, lineHeight: "1.6", margin: 0 }, children: step }) })
3869
+ ] }) }) }, i)) })
3870
+ ] }),
3871
+ /* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, margin: "0 32px" } })
3866
3872
  ] }),
3867
- /* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, margin: "0 32px" } }),
3868
3873
  /* @__PURE__ */ jsxs("div", { style: { paddingLeft: "32px", paddingRight: "32px", paddingTop: "32px", paddingBottom: "32px" }, children: [
3869
3874
  /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: "20px", fontWeight: "700", color: emailTokens.foreground, fontSize: "18px", fontFamily: emailTokens.fontFamily }, children: l.bookingSummaryHeading }),
3870
3875
  /* @__PURE__ */ jsx("div", { style: { borderRadius: "12px", border: `1px solid ${emailTokens.border}`, overflow: "hidden" }, children: /* @__PURE__ */ jsx("table", { style: { width: "100%", fontSize: "14px", borderCollapse: "collapse" }, children: /* @__PURE__ */ jsxs("tbody", { children: [
@@ -3888,7 +3893,7 @@ function BookingConfirmation({
3888
3893
  ] }),
3889
3894
  /* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, margin: "0 32px" } }),
3890
3895
  /* @__PURE__ */ jsx("div", { style: { paddingLeft: "32px", paddingRight: "32px", paddingTop: "32px", paddingBottom: "32px" }, children: adventures.map((adventure, adIdx) => {
3891
- var _a;
3896
+ var _a, _b, _c, _d, _e;
3892
3897
  return /* @__PURE__ */ jsxs(
3893
3898
  "div",
3894
3899
  {
@@ -3909,7 +3914,7 @@ function BookingConfirmation({
3909
3914
  }
3910
3915
  ) }),
3911
3916
  /* @__PURE__ */ jsxs("div", { style: { padding: "20px" }, children: [
3912
- adventure.reference && /* @__PURE__ */ jsx("div", { style: { marginBottom: "10px" }, children: /* @__PURE__ */ jsx("span", { style: {
3917
+ ((_b = adventure.code) != null ? _b : adventure.reference) && /* @__PURE__ */ jsx("div", { style: { marginBottom: "10px" }, children: /* @__PURE__ */ jsx("span", { style: {
3913
3918
  display: "inline-block",
3914
3919
  backgroundColor: emailTokens.primaryLight,
3915
3920
  color: emailTokens.primary,
@@ -3918,46 +3923,30 @@ function BookingConfirmation({
3918
3923
  fontSize: "12px",
3919
3924
  fontWeight: "600",
3920
3925
  letterSpacing: "0.05em"
3921
- }, children: adventure.reference }) }),
3926
+ }, children: (_c = adventure.code) != null ? _c : adventure.reference }) }),
3922
3927
  /* @__PURE__ */ jsx("h3", { style: { fontSize: "20px", fontWeight: "700", color: emailTokens.foreground, lineHeight: "1.3", margin: "0 0 10px 0" }, children: adventure.title }),
3923
3928
  /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3924
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "14px" }, children: /* @__PURE__ */ 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: [
3925
- /* @__PURE__ */ jsx("rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", ry: "2" }),
3926
- /* @__PURE__ */ jsx("line", { x1: "16", x2: "16", y1: "2", y2: "6" }),
3927
- /* @__PURE__ */ jsx("line", { x1: "8", x2: "8", y1: "2", y2: "6" }),
3928
- /* @__PURE__ */ jsx("line", { x1: "3", x2: "21", y1: "10", y2: "10" })
3929
- ] }) }),
3929
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F4C5}" }) }),
3930
3930
  /* @__PURE__ */ jsxs("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: [
3931
3931
  adventure.dateFrom,
3932
3932
  " \u2192 ",
3933
3933
  adventure.dateTo
3934
3934
  ] })
3935
3935
  ] }) }) }),
3936
- adventure.location && /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3937
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "14px" }, children: /* @__PURE__ */ 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: [
3938
- /* @__PURE__ */ jsx("path", { d: "M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z" }),
3939
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "10", r: "3" })
3940
- ] }) }),
3936
+ adventure.location && !adventure.destinationName && /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3937
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F4CD}" }) }),
3941
3938
  /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: adventure.location })
3942
3939
  ] }) }) }),
3943
3940
  adventure.slots && /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3944
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "14px" }, children: /* @__PURE__ */ 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: [
3945
- /* @__PURE__ */ jsx("path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" }),
3946
- /* @__PURE__ */ jsx("circle", { cx: "9", cy: "7", r: "4" }),
3947
- /* @__PURE__ */ jsx("path", { d: "M22 21v-2a4 4 0 0 0-3-3.87" }),
3948
- /* @__PURE__ */ jsx("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })
3949
- ] }) }),
3941
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F465}" }) }),
3950
3942
  /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: [
3951
3943
  adventure.slots.adults ? `${adventure.slots.adults} ${l.adultsUnit}` : null,
3952
3944
  adventure.slots.children ? `${adventure.slots.children} ${l.childrenUnit}` : null
3953
3945
  ].filter(Boolean).join(" \xB7 ") })
3954
3946
  ] }) }) }),
3955
- adventure.partner && /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3956
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "14px" }, children: /* @__PURE__ */ 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: [
3957
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
3958
- /* @__PURE__ */ jsx("polygon", { points: "16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76" })
3959
- ] }) }),
3960
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: adventure.partner })
3947
+ ((_d = adventure.destinationName) != null ? _d : adventure.partner) && /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3948
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F9ED}" }) }),
3949
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: (_e = adventure.destinationName) != null ? _e : adventure.partner })
3961
3950
  ] }) }) }),
3962
3951
  adventure.travellers && adventure.travellers.length > 0 && /* @__PURE__ */ jsxs("div", { style: { marginTop: "4px" }, children: [
3963
3952
  /* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "10px" } }),
@@ -3985,17 +3974,14 @@ function BookingConfirmation({
3985
3974
  adventure.included && adventure.included.length > 0 && /* @__PURE__ */ jsxs("div", { style: { marginTop: "10px" }, children: [
3986
3975
  /* @__PURE__ */ jsx("h4", { style: { fontSize: "14px", fontWeight: "700", color: emailTokens.foreground, margin: "0 0 8px 0" }, children: l.includedLabel }),
3987
3976
  adventure.included.map((item, i) => /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: "6px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3988
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ 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__ */ jsx("polyline", { points: "20 6 9 17 4 12" }) }) }),
3977
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", color: emailTokens.primary, lineHeight: "1.2", fontWeight: 700 }, children: "\u2713" }) }),
3989
3978
  /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
3990
3979
  ] }) }) }, i))
3991
3980
  ] }),
3992
3981
  adventure.notIncluded && adventure.notIncluded.length > 0 && /* @__PURE__ */ jsxs("div", { style: { marginTop: "10px" }, children: [
3993
3982
  /* @__PURE__ */ jsx("h4", { style: { fontSize: "14px", fontWeight: "700", color: emailTokens.foreground, margin: "0 0 8px 0" }, children: l.notIncludedLabel }),
3994
3983
  adventure.notIncluded.map((item, i) => /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: "6px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3995
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ 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: [
3996
- /* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
3997
- /* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
3998
- ] }) }),
3984
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", color: emailTokens.destructive, lineHeight: "1.2", fontWeight: 700 }, children: "\u2717" }) }),
3999
3985
  /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4000
3986
  ] }) }) }, i))
4001
3987
  ] }),
@@ -4047,11 +4033,11 @@ function BookingConfirmation({
4047
4033
  /* @__PURE__ */ jsx("td", { style: { padding: "10px 16px", color: emailTokens.mutedForeground }, children: l.depositLabel(depositInfo.depositPercent) }),
4048
4034
  /* @__PURE__ */ jsx("td", { style: { padding: "10px 16px", textAlign: "right", fontWeight: "500", color: emailTokens.foreground, whiteSpace: "nowrap" }, children: depositInfo.depositAmount })
4049
4035
  ] }),
4050
- /* @__PURE__ */ jsxs("tr", { style: { borderBottom: `1px solid ${emailTokens.border}` }, children: [
4036
+ /* @__PURE__ */ jsxs("tr", { style: depositInfo.isPaidInFull ? {} : { borderBottom: `1px solid ${emailTokens.border}` }, children: [
4051
4037
  /* @__PURE__ */ jsx("td", { style: { padding: "10px 16px", color: emailTokens.mutedForeground }, children: l.remainingBalanceLabel }),
4052
4038
  /* @__PURE__ */ jsx("td", { style: { padding: "10px 16px", textAlign: "right", fontWeight: "500", color: emailTokens.foreground, whiteSpace: "nowrap" }, children: depositInfo.remainingAmount })
4053
4039
  ] }),
4054
- /* @__PURE__ */ jsxs("tr", { style: depositInfo.isPaidInFull ? { borderBottom: `1px solid ${emailTokens.border}` } : {}, children: [
4040
+ !depositInfo.isPaidInFull && /* @__PURE__ */ jsxs("tr", { children: [
4055
4041
  /* @__PURE__ */ jsx("td", { style: { padding: "10px 16px", color: emailTokens.mutedForeground }, children: l.balanceDueLabel }),
4056
4042
  /* @__PURE__ */ jsx("td", { style: { padding: "10px 16px", textAlign: "right", fontWeight: "500", color: emailTokens.foreground, whiteSpace: "nowrap" }, children: depositInfo.balanceDueDate })
4057
4043
  ] }),
@@ -4060,10 +4046,16 @@ function BookingConfirmation({
4060
4046
  ] })
4061
4047
  ] }),
4062
4048
  /* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, margin: "0 32px" } }),
4063
- /* @__PURE__ */ jsxs("div", { style: { paddingLeft: "32px", paddingRight: "32px", paddingTop: "32px", paddingBottom: "40px" }, children: [
4049
+ /* @__PURE__ */ jsx("div", { style: { paddingLeft: "32px", paddingRight: "32px", paddingTop: "32px", paddingBottom: "40px" }, children: isManualFlow ? (
4050
+ // Manual flow: closing message + CTA no rodapé (substitui footerMessage/footerContact).
4051
+ /* @__PURE__ */ jsxs(Fragment, { children: [
4052
+ /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: "32px", fontSize: "16px" }, children: l.closingMessage }),
4053
+ /* @__PURE__ */ jsx("div", { children: ViewBookingCta })
4054
+ ] })
4055
+ ) : /* @__PURE__ */ jsxs(Fragment, { children: [
4064
4056
  /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: "20px", fontSize: "16px" }, children: l.footerMessage }),
4065
4057
  /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "16px" }, children: l.footerContact(agent) })
4066
- ] })
4058
+ ] }) })
4067
4059
  ]
4068
4060
  }
4069
4061
  );
@@ -4188,6 +4180,141 @@ function BookingConfirmationEmail({
4188
4180
  }
4189
4181
  );
4190
4182
  }
4183
+ var DEFAULT_LABELS3 = {
4184
+ logoAlt: "PlanetaEXO",
4185
+ greeting: (name) => `Hi ${name},`,
4186
+ receiptHeading: "Payment receipt",
4187
+ bookingNumberLabel: "Booking number",
4188
+ paymentMethodLabel: "Payment method",
4189
+ paymentDateLabel: "Payment date",
4190
+ amountLabel: "Amount",
4191
+ chargedAmountLabel: "Charged amount",
4192
+ interestSurchargeLabel: "Interest / surcharge",
4193
+ statusLabel: "Status",
4194
+ travellersLabel: "Travellers",
4195
+ summaryHeading: "Booking summary",
4196
+ totalOrderLabel: "Total order",
4197
+ totalPaidLabel: "Total paid",
4198
+ remainingBalanceLabel: "Remaining balance",
4199
+ balanceDueDateLabel: "Balance due",
4200
+ paidInFullMessage: "\u2705 Paid in full",
4201
+ closingMessage: "If you have any questions, just reply to this email \u2014 happy to help.",
4202
+ teamSignature: "PlanetaEXO Team"
4203
+ };
4204
+ function PaymentReceiptEmail({
4205
+ recipientName,
4206
+ bookingNumber,
4207
+ paymentMethodLabel,
4208
+ paymentDate,
4209
+ amount,
4210
+ chargedAmount,
4211
+ statusLabel,
4212
+ travellers,
4213
+ totalOrderAmount,
4214
+ totalPaidCumulative,
4215
+ remainingBalance,
4216
+ balanceDueDate,
4217
+ isPaidInFull,
4218
+ logoUrl,
4219
+ labels,
4220
+ className
4221
+ }) {
4222
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS3), labels);
4223
+ const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
4224
+ const interestRow = chargedAmount && chargedAmount !== amount;
4225
+ const receiptRows = [
4226
+ { label: l.bookingNumberLabel, value: bookingNumber },
4227
+ { label: l.paymentMethodLabel, value: paymentMethodLabel },
4228
+ { label: l.paymentDateLabel, value: paymentDate },
4229
+ { label: l.amountLabel, value: amount },
4230
+ ...interestRow ? [{ label: l.chargedAmountLabel, value: chargedAmount }] : [],
4231
+ { label: l.statusLabel, value: statusLabel },
4232
+ ...travellersLine.length > 0 ? [{ label: l.travellersLabel, value: travellersLine }] : []
4233
+ ];
4234
+ const summaryRows = [
4235
+ { label: l.totalOrderLabel, value: totalOrderAmount },
4236
+ { label: l.totalPaidLabel, value: totalPaidCumulative },
4237
+ { label: l.remainingBalanceLabel, value: remainingBalance },
4238
+ ...balanceDueDate ? [{ label: l.balanceDueDateLabel, value: balanceDueDate }] : []
4239
+ ];
4240
+ return /* @__PURE__ */ jsxs(
4241
+ "div",
4242
+ {
4243
+ style: {
4244
+ maxWidth: "576px",
4245
+ margin: "0 auto",
4246
+ backgroundColor: emailTokens.white,
4247
+ color: emailTokens.foreground,
4248
+ fontFamily: emailTokens.fontFamily,
4249
+ fontSize: "16px",
4250
+ lineHeight: "1.6",
4251
+ border: `1px solid ${emailTokens.border}`,
4252
+ borderRadius: "12px",
4253
+ overflow: "hidden",
4254
+ padding: "32px"
4255
+ },
4256
+ className,
4257
+ children: [
4258
+ /* @__PURE__ */ jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
4259
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientName) }),
4260
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "12px", fontWeight: 700, color: emailTokens.foreground, fontSize: "16px" }, children: l.receiptHeading }),
4261
+ /* @__PURE__ */ jsx(
4262
+ "div",
4263
+ {
4264
+ style: {
4265
+ borderRadius: "12px",
4266
+ border: `1px solid ${emailTokens.border}`,
4267
+ padding: "20px",
4268
+ marginBottom: "24px"
4269
+ },
4270
+ children: /* @__PURE__ */ jsx("table", { style: { width: "100%", fontSize: "14px", borderCollapse: "collapse" }, children: /* @__PURE__ */ jsxs("tbody", { children: [
4271
+ receiptRows.map((row, i) => /* @__PURE__ */ jsxs("tr", { style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {}, children: [
4272
+ /* @__PURE__ */ jsx("td", { style: { padding: "8px 12px 8px 0", color: emailTokens.mutedForeground, verticalAlign: "top", whiteSpace: "nowrap" }, children: row.label }),
4273
+ /* @__PURE__ */ jsx("td", { style: { padding: "8px 0", fontWeight: 500, color: emailTokens.foreground, verticalAlign: "top" }, children: row.value })
4274
+ ] }, i)),
4275
+ interestRow && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: 2, style: { paddingTop: "8px", fontSize: "12px", color: emailTokens.mutedForeground, fontStyle: "italic" }, children: l.interestSurchargeLabel }) })
4276
+ ] }) })
4277
+ }
4278
+ ),
4279
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "12px", fontWeight: 700, color: emailTokens.foreground, fontSize: "16px" }, children: l.summaryHeading }),
4280
+ /* @__PURE__ */ jsx(
4281
+ "div",
4282
+ {
4283
+ style: {
4284
+ borderRadius: "12px",
4285
+ border: `1px solid ${emailTokens.border}`,
4286
+ overflow: "hidden",
4287
+ marginBottom: "24px"
4288
+ },
4289
+ children: /* @__PURE__ */ jsx("table", { style: { width: "100%", fontSize: "14px", borderCollapse: "collapse" }, children: /* @__PURE__ */ jsxs("tbody", { children: [
4290
+ summaryRows.map((row, i) => /* @__PURE__ */ jsxs("tr", { style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {}, children: [
4291
+ /* @__PURE__ */ jsx("td", { style: { padding: "10px 16px", color: emailTokens.mutedForeground, verticalAlign: "top" }, children: row.label }),
4292
+ /* @__PURE__ */ jsx("td", { style: { padding: "10px 16px", textAlign: "right", fontWeight: 500, color: emailTokens.foreground, whiteSpace: "nowrap" }, children: row.value })
4293
+ ] }, i)),
4294
+ isPaidInFull && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx(
4295
+ "td",
4296
+ {
4297
+ colSpan: 2,
4298
+ style: {
4299
+ padding: "12px 16px",
4300
+ textAlign: "center",
4301
+ fontWeight: 600,
4302
+ color: emailTokens.green,
4303
+ backgroundColor: emailTokens.greenBg,
4304
+ borderTop: `1px solid ${emailTokens.border}`
4305
+ },
4306
+ children: l.paidInFullMessage
4307
+ }
4308
+ ) })
4309
+ ] }) })
4310
+ }
4311
+ ),
4312
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: l.closingMessage }),
4313
+ /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "14px", color: emailTokens.bodyText }, children: l.teamSignature })
4314
+ ]
4315
+ }
4316
+ );
4317
+ }
4191
4318
  function BookingOtpEmail({
4192
4319
  greeting,
4193
4320
  intro,
@@ -4868,7 +4995,7 @@ function BookingForm({
4868
4995
  }
4869
4996
  );
4870
4997
  }
4871
- var DEFAULT_LABELS3 = {
4998
+ var DEFAULT_LABELS4 = {
4872
4999
  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.",
4873
5000
  detailsSectionTitle: "Your details",
4874
5001
  tripInfoSectionTitle: "Trip info",
@@ -5532,7 +5659,7 @@ function RegistrationForm({
5532
5659
  }) {
5533
5660
  var _a;
5534
5661
  const L = React23.useMemo(
5535
- () => __spreadValues(__spreadValues({}, DEFAULT_LABELS3), labels != null ? labels : {}),
5662
+ () => __spreadValues(__spreadValues({}, DEFAULT_LABELS4), labels != null ? labels : {}),
5536
5663
  [labels]
5537
5664
  );
5538
5665
  const sortedFields = React23.useMemo(
@@ -9595,6 +9722,6 @@ function LeadCapturePopup({
9595
9722
  );
9596
9723
  }
9597
9724
 
9598
- export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PaymentModalShell, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, buttonVariants, cn, emailTokens, getStripeAppearance, stripeAppearance, wrapEmailHtml };
9725
+ export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, buttonVariants, cn, emailTokens, getStripeAppearance, stripeAppearance, wrapEmailHtml };
9599
9726
  //# sourceMappingURL=index.js.map
9600
9727
  //# sourceMappingURL=index.js.map