@planetaexo/design-system 0.29.0 → 0.31.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
@@ -4599,7 +4599,7 @@ var DEFAULT_LABELS3 = {
4599
4599
  footerContact: (agent) => `If you have any questions, just reply to this email or contact ${agent} \u2014 happy to help.`,
4600
4600
  closingMessage: "You can access your booking at any time through the link below."
4601
4601
  };
4602
- function BookingConfirmation({
4602
+ function BookingPaymentConfirmationEmail({
4603
4603
  recipientName,
4604
4604
  logoUrl,
4605
4605
  bookingReference,
@@ -4819,32 +4819,93 @@ function BookingConfirmation({
4819
4819
  }
4820
4820
  );
4821
4821
  }
4822
- function BookingSummary({ heading, rows, className }) {
4823
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, style: { marginBottom: "32px" }, children: [
4822
+ function BookingSummary({ heading, rows, footer, className }) {
4823
+ var _a, _b;
4824
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, style: { marginBottom: "24px" }, children: [
4824
4825
  /* @__PURE__ */ jsxRuntime.jsx(
4825
4826
  "p",
4826
4827
  {
4827
4828
  style: {
4828
- marginBottom: "16px",
4829
- fontWeight: "700",
4829
+ marginBottom: "12px",
4830
+ fontWeight: 700,
4830
4831
  color: emailTokens.foreground,
4832
+ fontSize: "16px",
4831
4833
  fontFamily: emailTokens.fontFamily
4832
4834
  },
4833
4835
  children: heading
4834
4836
  }
4835
4837
  ),
4836
4838
  /* @__PURE__ */ jsxRuntime.jsx(
4837
- "table",
4839
+ "div",
4838
4840
  {
4839
4841
  style: {
4840
- width: "100%",
4841
- fontSize: "14px",
4842
- borderCollapse: "collapse"
4842
+ borderRadius: "12px",
4843
+ border: `1px solid ${emailTokens.border}`,
4844
+ overflow: "hidden"
4843
4845
  },
4844
- children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((row, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {}, children: [
4845
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "4px 16px 4px 0", color: emailTokens.mutedForeground }, children: row.label }),
4846
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "4px 0", fontWeight: "500", color: emailTokens.foreground }, children: row.value })
4847
- ] }, i)) })
4846
+ children: /* @__PURE__ */ jsxRuntime.jsx(
4847
+ "table",
4848
+ {
4849
+ style: {
4850
+ width: "100%",
4851
+ fontSize: "14px",
4852
+ borderCollapse: "collapse"
4853
+ },
4854
+ children: /* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
4855
+ rows.map((row, i) => {
4856
+ var _a2;
4857
+ return /* @__PURE__ */ jsxRuntime.jsxs(
4858
+ "tr",
4859
+ {
4860
+ style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {},
4861
+ children: [
4862
+ /* @__PURE__ */ jsxRuntime.jsx(
4863
+ "td",
4864
+ {
4865
+ style: {
4866
+ padding: "10px 16px",
4867
+ color: emailTokens.mutedForeground,
4868
+ verticalAlign: "top"
4869
+ },
4870
+ children: row.label
4871
+ }
4872
+ ),
4873
+ /* @__PURE__ */ jsxRuntime.jsx(
4874
+ "td",
4875
+ {
4876
+ style: {
4877
+ padding: "10px 16px",
4878
+ textAlign: "right",
4879
+ fontWeight: 500,
4880
+ color: (_a2 = row.valueColor) != null ? _a2 : emailTokens.foreground,
4881
+ whiteSpace: "nowrap"
4882
+ },
4883
+ children: row.value
4884
+ }
4885
+ )
4886
+ ]
4887
+ },
4888
+ i
4889
+ );
4890
+ }),
4891
+ footer && /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
4892
+ "td",
4893
+ {
4894
+ colSpan: 2,
4895
+ style: {
4896
+ padding: "12px 16px",
4897
+ textAlign: "center",
4898
+ fontWeight: (_a = footer.fontWeight) != null ? _a : 600,
4899
+ color: (_b = footer.color) != null ? _b : emailTokens.foreground,
4900
+ backgroundColor: footer.backgroundColor,
4901
+ borderTop: `1px solid ${emailTokens.border}`
4902
+ },
4903
+ children: footer.text
4904
+ }
4905
+ ) })
4906
+ ] })
4907
+ }
4908
+ )
4848
4909
  }
4849
4910
  )
4850
4911
  ] });
@@ -4855,7 +4916,7 @@ var DEFAULT_LABELS4 = {
4855
4916
  greeting: (recipientName) => `Hi ${recipientName},`,
4856
4917
  thankYouMessage: "Thank you for booking your adventure with PlanetaEXO \u2014 we\u2019re really looking forward to your adventure.",
4857
4918
  addTravellersInstruction: "To move forward, the first step is to add all travellers included in your booking. Once you do this, each person \u2014 including you \u2014 will receive an email with a link to complete their individual registration.",
4858
- summaryHeading: "\u{1F4DD} Here\u2019s a quick summary of your booking:",
4919
+ summaryHeading: "\u{1F4DD} Booking Summary",
4859
4920
  bookingNumberLabel: "Booking Number:",
4860
4921
  activityLabel: "Activity:",
4861
4922
  adventureLabel: "Adventure:",
@@ -4866,7 +4927,7 @@ var DEFAULT_LABELS4 = {
4866
4927
  closingMessage: "If you have any questions, just reply to this email \u2014 happy to help.",
4867
4928
  nextStepsHeading: "Next steps:"
4868
4929
  };
4869
- function BookingConfirmationEmail({
4930
+ function BookingCreatedEmail({
4870
4931
  recipientName,
4871
4932
  addTravellersUrl,
4872
4933
  logoUrl,
@@ -4896,7 +4957,7 @@ function BookingConfirmationEmail({
4896
4957
  };
4897
4958
  const AddTravellersCta = addTravellersUrl ? /* @__PURE__ */ jsxRuntime.jsx("a", { href: addTravellersUrl, style: ctaStyle, children: l.ctaButton }) : /* @__PURE__ */ jsxRuntime.jsx("span", { style: ctaStyle, role: "presentation", children: l.ctaButton });
4898
4959
  const tableRows = [
4899
- { label: l.bookingNumberLabel, value: bookingNumber },
4960
+ { label: l.bookingNumberLabel, value: bookingNumber, valueColor: emailTokens.primary },
4900
4961
  ...activity && activity.trim().length > 0 ? [{ label: l.activityLabel, value: activity }] : [],
4901
4962
  { label: l.adventureLabel, value: adventure },
4902
4963
  { label: l.startingDateLabel, value: startingDate },
@@ -5027,22 +5088,46 @@ function RegistrationProgressBar({
5027
5088
  }
5028
5089
  ) });
5029
5090
  }
5091
+ var INLINE_LINK_STYLE = {
5092
+ color: emailTokens.primary,
5093
+ textDecoration: "underline"
5094
+ };
5095
+ function renderWhatsappLink(contact, label) {
5096
+ if (contact.whatsappUrl) {
5097
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE, children: label });
5098
+ }
5099
+ return label;
5100
+ }
5101
+ function renderEmailLink(contact, label) {
5102
+ if (contact.email) {
5103
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE, children: label });
5104
+ }
5105
+ return label;
5106
+ }
5030
5107
  var DEFAULT_LABELS5 = {
5031
5108
  logoAlt: "PlanetaEXO",
5032
5109
  greeting: (n) => `Hi ${n},`,
5033
5110
  intermediateHello: "Hope you're doing well.",
5034
- bookingSummaryHeader: "Booking summary",
5035
- bookingNumberLabel: "Booking number",
5036
- adventuresCountLabel: (c) => `${c} adventure${c === 1 ? "" : "s"}`,
5037
- travellersCountLabel: (c) => `${c} traveller${c === 1 ? "" : "s"}`,
5111
+ bookingSummaryHeader: "\u{1F4DD} Booking Summary",
5112
+ bookingNumberLabel: "Booking Number",
5113
+ adventuresCountLabel: (c) => String(c),
5114
+ travellersCountLabel: (c) => String(c),
5038
5115
  adventuresRowLabel: "Adventures",
5039
- travellersRowLabel: "Total travellers",
5116
+ travellersRowLabel: "Total Travellers",
5040
5117
  agentRowLabel: "Agent",
5041
5118
  progressHeader: "Registration progress",
5042
5119
  startsLabel: "Starts",
5043
5120
  completedFractionLabel: (c, total) => `Completed: ${c} / ${total} travellers`,
5044
5121
  ctaLabel: "View Booking & Registrations",
5045
- closingAgent: (n) => `If you need any assistance with the traveller registrations, feel free to contact your agent ${n} via WhatsApp or email.`,
5122
+ closingAgent: (agentName, contact) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5123
+ "If you need any assistance with the traveller registrations, feel free to contact your agent ",
5124
+ agentName,
5125
+ " via ",
5126
+ renderWhatsappLink(contact, "WhatsApp"),
5127
+ " or ",
5128
+ renderEmailLink(contact, "email"),
5129
+ "."
5130
+ ] }),
5046
5131
  closingNoAgent: "If you need any assistance with the traveller registrations, feel free to contact us via WhatsApp or email.",
5047
5132
  teamSignature: "The PlanetaEXO Team",
5048
5133
  variants: {
@@ -5087,7 +5172,7 @@ var DEFAULT_LABELS5 = {
5087
5172
  contextNote: "Please ensure all pending registrations are completed as soon as possible.",
5088
5173
  importantNote: "Important: Registration is mandatory and required for participation in the adventure.",
5089
5174
  progressIntro: "Review your booking page to complete missing information:",
5090
- multiTravellerNote: "If your booking includes multiple travellers, please ensure every traveller completes their registration before departure.",
5175
+ multiTravellerNote: "",
5091
5176
  pleaseNoteHeader: "",
5092
5177
  pleaseNoteBullets: [],
5093
5178
  bookerCoordinationNote: "",
@@ -5102,7 +5187,7 @@ var DEFAULT_LABELS5 = {
5102
5187
  finalReminderTagline: "This is a final reminder.",
5103
5188
  importantNote: "Traveller registration is mandatory. Without completed registration forms, we may be unable to confirm logistics and travellers may not be allowed to board transfers, flights, boats, or participate in activities.",
5104
5189
  progressIntro: "Please complete all pending registrations immediately through your booking page:",
5105
- disregardIfCompleted: "If registrations have already been completed, please disregard this email.",
5190
+ disregardIfCompleted: "",
5106
5191
  closingThanks: "We look forward to welcoming you soon.",
5107
5192
  contextNote: "",
5108
5193
  pleaseNoteHeader: "",
@@ -5154,7 +5239,7 @@ function RegistrationReminderEmail({
5154
5239
  fontFamily: emailTokens.fontFamily
5155
5240
  };
5156
5241
  const summaryRows = [
5157
- { label: l.bookingNumberLabel, value: `#${bookingNumber}` },
5242
+ { label: l.bookingNumberLabel, value: bookingNumber, valueColor: emailTokens.primary },
5158
5243
  { label: l.adventuresRowLabel, value: l.adventuresCountLabel(totalAdventures) },
5159
5244
  { label: l.travellersRowLabel, value: l.travellersCountLabel(totalTravellers) },
5160
5245
  ...(agent == null ? void 0 : agent.name) ? [{ label: l.agentRowLabel, value: agent.name }] : []
@@ -5164,9 +5249,24 @@ function RegistrationReminderEmail({
5164
5249
  const showEarlyBenefit = hasText(v.earlyCompletionBenefit);
5165
5250
  const showImportant = hasText(v.importantNote);
5166
5251
  const showFinalTagline = hasText(v.finalReminderTagline);
5167
- const showMultiTraveller = hasText(v.multiTravellerNote);
5252
+ hasText(v.multiTravellerNote);
5168
5253
  const showDisregard = hasText(v.disregardIfCompleted);
5169
5254
  const showClosingThanks = hasText(v.closingThanks);
5255
+ const sectionDivider = /* @__PURE__ */ jsxRuntime.jsx(
5256
+ "hr",
5257
+ {
5258
+ style: {
5259
+ border: "none",
5260
+ borderTop: `1px solid ${emailTokens.border}`,
5261
+ marginTop: 0,
5262
+ marginBottom: "24px"
5263
+ }
5264
+ }
5265
+ );
5266
+ const hasIntroBlock = hasText(v.intro) || hasText(v.contextNote);
5267
+ const hasPleaseNote = showPleaseNote;
5268
+ const hasD7Highlight = showImportant && slug === "d_minus_7";
5269
+ const hasD2Highlight = showFinalTagline || showImportant && slug === "d_minus_2";
5170
5270
  return /* @__PURE__ */ jsxRuntime.jsxs(
5171
5271
  "div",
5172
5272
  {
@@ -5190,45 +5290,18 @@ function RegistrationReminderEmail({
5190
5290
  hasText(l.intermediateHello) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
5191
5291
  hasText(v.intro) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.intro }),
5192
5292
  hasText(v.contextNote) && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.contextNote }),
5193
- showPleaseNote && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginBottom: "24px" }, children: [
5194
- /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "8px", fontWeight: 700, color: emailTokens.foreground }, children: v.pleaseNoteHeader }),
5195
- /* @__PURE__ */ jsxRuntime.jsx("ul", { style: { paddingLeft: "20px", margin: 0 }, children: v.pleaseNoteBullets.map((b, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { style: { marginBottom: "6px", color: emailTokens.bodyText }, children: b }, i)) })
5196
- ] }),
5197
- showBookerCoord && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.bookerCoordinationNote }),
5198
- /* @__PURE__ */ jsxRuntime.jsx(
5199
- "hr",
5200
- {
5201
- style: {
5202
- border: "none",
5203
- borderTop: `1px solid ${emailTokens.border}`,
5204
- marginBottom: "24px"
5205
- }
5206
- }
5207
- ),
5208
- /* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.bookingSummaryHeader, rows: summaryRows }),
5209
- showImportant && slug === "d_minus_7" && /* @__PURE__ */ jsxRuntime.jsx(
5210
- "p",
5211
- {
5212
- style: {
5213
- marginBottom: "20px",
5214
- padding: "12px 16px",
5215
- borderRadius: "8px",
5216
- backgroundColor: "#fef3c7",
5217
- color: "#78350f",
5218
- fontWeight: 600
5219
- },
5220
- children: v.importantNote
5221
- }
5222
- ),
5293
+ hasIntroBlock && sectionDivider,
5294
+ slug === "d_minus_30" && /* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.bookingSummaryHeader, rows: summaryRows }),
5295
+ slug === "d_minus_15" && showBookerCoord && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.bookerCoordinationNote }),
5223
5296
  hasItems(adventures) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5224
5297
  /* @__PURE__ */ jsxRuntime.jsx(
5225
5298
  "p",
5226
5299
  {
5227
5300
  style: {
5228
- marginTop: "8px",
5301
+ marginTop: 0,
5229
5302
  marginBottom: "12px",
5230
5303
  fontWeight: 700,
5231
- fontSize: "15px",
5304
+ fontSize: "16px",
5232
5305
  color: emailTokens.foreground
5233
5306
  },
5234
5307
  children: l.progressHeader
@@ -5294,8 +5367,8 @@ function RegistrationReminderEmail({
5294
5367
  `${adv.name}-${i}`
5295
5368
  ))
5296
5369
  ] }),
5297
- showEarlyBenefit && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.earlyCompletionBenefit }),
5298
- (showFinalTagline || showImportant && slug === "d_minus_2") && /* @__PURE__ */ jsxRuntime.jsxs(
5370
+ slug === "d_minus_15" && showEarlyBenefit && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.earlyCompletionBenefit }),
5371
+ slug === "d_minus_2" && hasD2Highlight && /* @__PURE__ */ jsxRuntime.jsxs(
5299
5372
  "div",
5300
5373
  {
5301
5374
  style: {
@@ -5308,18 +5381,51 @@ function RegistrationReminderEmail({
5308
5381
  },
5309
5382
  children: [
5310
5383
  showFinalTagline && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0, marginBottom: showImportant ? "8px" : 0, fontWeight: 700 }, children: v.finalReminderTagline }),
5311
- showImportant && slug === "d_minus_2" && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: v.importantNote })
5384
+ showImportant && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0 }, children: v.importantNote })
5312
5385
  ]
5313
5386
  }
5314
5387
  ),
5315
- showMultiTraveller && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", color: emailTokens.bodyText }, children: v.multiTravellerNote }),
5316
5388
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "24px", textAlign: "left" }, children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: ctaUrl, style: ctaStyle, children: l.ctaLabel }) }),
5317
- /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontWeight: 700, color: emailTokens.foreground }, children: (agent == null ? void 0 : agent.name) ? l.closingAgent(agent.name) : l.closingNoAgent }),
5318
- (agent == null ? void 0 : agent.name) && (agent.whatsappUrl || agent.email) && /* @__PURE__ */ jsxRuntime.jsxs("p", { style: { marginBottom: "16px", fontSize: "14px" }, children: [
5319
- agent.whatsappUrl && /* @__PURE__ */ jsxRuntime.jsx("a", { href: agent.whatsappUrl, style: { color: emailTokens.primary, textDecoration: "none" }, children: "WhatsApp" }),
5320
- agent.whatsappUrl && agent.email && " \xB7 ",
5321
- agent.email && /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${agent.email}`, style: { color: emailTokens.primary, textDecoration: "none" }, children: agent.email })
5389
+ slug === "d_minus_7" && hasD7Highlight && /* @__PURE__ */ jsxRuntime.jsx(
5390
+ "p",
5391
+ {
5392
+ style: {
5393
+ marginBottom: "20px",
5394
+ padding: "12px 16px",
5395
+ borderRadius: "8px",
5396
+ backgroundColor: "#fef3c7",
5397
+ color: "#78350f",
5398
+ fontWeight: 600
5399
+ },
5400
+ children: v.importantNote
5401
+ }
5402
+ ),
5403
+ slug !== "d_minus_30" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5404
+ sectionDivider,
5405
+ /* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.bookingSummaryHeader, rows: summaryRows })
5406
+ ] }),
5407
+ hasPleaseNote && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5408
+ sectionDivider,
5409
+ /* @__PURE__ */ jsxRuntime.jsx(
5410
+ "p",
5411
+ {
5412
+ style: {
5413
+ marginTop: 0,
5414
+ marginBottom: "12px",
5415
+ fontWeight: 700,
5416
+ fontSize: "16px",
5417
+ color: emailTokens.foreground
5418
+ },
5419
+ children: v.pleaseNoteHeader
5420
+ }
5421
+ ),
5422
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { style: { paddingLeft: "20px", margin: 0, marginBottom: "24px" }, children: v.pleaseNoteBullets.map((b, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { style: { marginBottom: "6px", color: emailTokens.bodyText }, children: b }, i)) })
5322
5423
  ] }),
5424
+ sectionDivider,
5425
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", fontWeight: 700, color: emailTokens.bodyText }, children: (agent == null ? void 0 : agent.name) ? l.closingAgent(agent.name, {
5426
+ whatsappUrl: agent.whatsappUrl,
5427
+ email: agent.email
5428
+ }) : l.closingNoAgent }),
5323
5429
  showDisregard && /* @__PURE__ */ jsxRuntime.jsx(
5324
5430
  "p",
5325
5431
  {
@@ -5332,8 +5438,8 @@ function RegistrationReminderEmail({
5332
5438
  children: v.disregardIfCompleted
5333
5439
  }
5334
5440
  ),
5335
- showClosingThanks && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: v.closingThanks }),
5336
- /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: 0, color: emailTokens.mutedForeground }, children: l.teamSignature })
5441
+ showClosingThanks && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: v.closingThanks }),
5442
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "14px", color: emailTokens.bodyText }, children: l.teamSignature })
5337
5443
  ]
5338
5444
  }
5339
5445
  );
@@ -5434,37 +5540,16 @@ function PaymentReceiptEmail({
5434
5540
  ] }) })
5435
5541
  }
5436
5542
  ),
5437
- /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "12px", fontWeight: 700, color: emailTokens.foreground, fontSize: "16px" }, children: l.summaryHeading }),
5438
5543
  /* @__PURE__ */ jsxRuntime.jsx(
5439
- "div",
5544
+ BookingSummary,
5440
5545
  {
5441
- style: {
5442
- borderRadius: "12px",
5443
- border: `1px solid ${emailTokens.border}`,
5444
- overflow: "hidden",
5445
- marginBottom: "24px"
5446
- },
5447
- children: /* @__PURE__ */ jsxRuntime.jsx("table", { style: { width: "100%", fontSize: "14px", borderCollapse: "collapse" }, children: /* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
5448
- summaryRows.map((row, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: i > 0 ? { borderTop: `1px solid ${emailTokens.border}` } : {}, children: [
5449
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", color: emailTokens.mutedForeground, verticalAlign: "top" }, children: row.label }),
5450
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", textAlign: "right", fontWeight: 500, color: emailTokens.foreground, whiteSpace: "nowrap" }, children: row.value })
5451
- ] }, i)),
5452
- isPaidInFull && /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
5453
- "td",
5454
- {
5455
- colSpan: 2,
5456
- style: {
5457
- padding: "12px 16px",
5458
- textAlign: "center",
5459
- fontWeight: 600,
5460
- color: emailTokens.green,
5461
- backgroundColor: emailTokens.greenBg,
5462
- borderTop: `1px solid ${emailTokens.border}`
5463
- },
5464
- children: l.paidInFullMessage
5465
- }
5466
- ) })
5467
- ] }) })
5546
+ heading: l.summaryHeading,
5547
+ rows: summaryRows,
5548
+ footer: isPaidInFull ? {
5549
+ text: l.paidInFullMessage,
5550
+ color: emailTokens.green,
5551
+ backgroundColor: emailTokens.greenBg
5552
+ } : void 0
5468
5553
  }
5469
5554
  ),
5470
5555
  /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: l.closingMessage }),
@@ -5473,19 +5558,19 @@ function PaymentReceiptEmail({
5473
5558
  }
5474
5559
  );
5475
5560
  }
5476
- var INLINE_LINK_STYLE = {
5561
+ var INLINE_LINK_STYLE2 = {
5477
5562
  color: emailTokens.primary,
5478
5563
  textDecoration: "underline"
5479
5564
  };
5480
- function renderWhatsappLink(contact, label) {
5565
+ function renderWhatsappLink2(contact, label) {
5481
5566
  if (contact.whatsappUrl) {
5482
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE, children: label });
5567
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE2, children: label });
5483
5568
  }
5484
5569
  return label;
5485
5570
  }
5486
- function renderEmailLink(contact, label) {
5571
+ function renderEmailLink2(contact, label) {
5487
5572
  if (contact.email) {
5488
- return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE, children: label });
5573
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE2, children: label });
5489
5574
  }
5490
5575
  return label;
5491
5576
  }
@@ -5505,9 +5590,9 @@ var DEFAULT_LABELS7 = {
5505
5590
  "If you need any assistance or would like to discuss your payment, feel free to contact your agent ",
5506
5591
  agentName,
5507
5592
  " via ",
5508
- renderWhatsappLink(contact, "WhatsApp"),
5593
+ renderWhatsappLink2(contact, "WhatsApp"),
5509
5594
  " or ",
5510
- renderEmailLink(contact, "email"),
5595
+ renderEmailLink2(contact, "email"),
5511
5596
  "."
5512
5597
  ] }),
5513
5598
  closingNoAgent: "If you need any assistance or would like to discuss your payment, feel free to contact us via WhatsApp or email.",
@@ -5551,9 +5636,9 @@ var DEFAULT_LABELS7 = {
5551
5636
  "If you are experiencing any issues with payment or need additional time, please contact your agent ",
5552
5637
  agentName,
5553
5638
  " via ",
5554
- renderWhatsappLink(contact, "WhatsApp"),
5639
+ renderWhatsappLink2(contact, "WhatsApp"),
5555
5640
  " or ",
5556
- renderEmailLink(contact, "email"),
5641
+ renderEmailLink2(contact, "email"),
5557
5642
  ". We'll be happy to assist."
5558
5643
  ] })
5559
5644
  }
@@ -5716,6 +5801,17 @@ function PaymentReminderEmail({
5716
5801
  ]
5717
5802
  }
5718
5803
  ) }),
5804
+ /* @__PURE__ */ jsxRuntime.jsx(
5805
+ "hr",
5806
+ {
5807
+ style: {
5808
+ border: "none",
5809
+ borderTop: `1px solid ${emailTokens.border}`,
5810
+ marginTop: 0,
5811
+ marginBottom: "24px"
5812
+ }
5813
+ }
5814
+ ),
5719
5815
  showDisregard && /* @__PURE__ */ jsxRuntime.jsx(
5720
5816
  "p",
5721
5817
  {
@@ -11683,12 +11779,12 @@ exports.AgentContactCard = AgentContactCard;
11683
11779
  exports.Alert = Alert;
11684
11780
  exports.BirthDateField = BirthDateField;
11685
11781
  exports.BookingAdventureCard = BookingAdventureCard;
11686
- exports.BookingConfirmation = BookingConfirmation;
11687
- exports.BookingConfirmationEmail = BookingConfirmationEmail;
11688
11782
  exports.BookingConfirmedCard = BookingConfirmedCard;
11783
+ exports.BookingCreatedEmail = BookingCreatedEmail;
11689
11784
  exports.BookingDetails = BookingDetails;
11690
11785
  exports.BookingForm = BookingForm;
11691
11786
  exports.BookingOtpEmail = BookingOtpEmail;
11787
+ exports.BookingPaymentConfirmationEmail = BookingPaymentConfirmationEmail;
11692
11788
  exports.BookingShell = BookingShell;
11693
11789
  exports.BookingSummary = BookingSummary;
11694
11790
  exports.Button = Button;