@planetaexo/design-system 0.58.3 → 0.59.1

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
@@ -1326,7 +1326,7 @@ function AdventureCard({
1326
1326
  labels,
1327
1327
  interactionsDisabled
1328
1328
  }) {
1329
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
1329
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
1330
1330
  const isControlled = (_b = (_a = adventure.optionals) == null ? void 0 : _a.some((o) => o.onCheckedChange !== void 0)) != null ? _b : false;
1331
1331
  const [checkedInternal, setCheckedInternal] = React31__namespace.useState(
1332
1332
  new Set((_d = (_c = adventure.optionals) == null ? void 0 : _c.filter((o) => o.defaultChecked).map((o) => o.id)) != null ? _d : [])
@@ -1528,22 +1528,48 @@ function AdventureCard({
1528
1528
  ), children: adventure.detailsSlot })
1529
1529
  ] })
1530
1530
  ] }),
1531
+ adventure.rooms && adventure.rooms.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1532
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_p = adventure.accommodationsLabel) != null ? _p : "Accommodations" }),
1533
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-3", children: adventure.rooms.map((room, i) => {
1534
+ var _a2, _b2;
1535
+ 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";
1536
+ return /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-3", children: [
1537
+ room.imageUrl && // eslint-disable-next-line @next/next/no-img-element
1538
+ /* @__PURE__ */ jsxRuntime.jsx(
1539
+ "img",
1540
+ {
1541
+ src: room.imageUrl,
1542
+ alt: room.roomName,
1543
+ className: "w-20 h-16 object-cover rounded shrink-0"
1544
+ }
1545
+ ),
1546
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
1547
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base font-semibold text-foreground", children: `${room.qty}\xD7 ${room.roomName}` }),
1548
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-sm text-foreground/70 flex items-center gap-2 flex-wrap", children: [
1549
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: room.accommodationName }),
1550
+ /* @__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 })
1551
+ ] }),
1552
+ room.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground/70 mt-1 leading-snug", children: room.description })
1553
+ ] })
1554
+ ] }, i);
1555
+ }) })
1556
+ ] }),
1531
1557
  adventure.included && adventure.included.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1532
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_p = adventure.includedLabel) != null ? _p : "What's included" }),
1558
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_q = adventure.includedLabel) != null ? _q : "What's included" }),
1533
1559
  /* @__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: [
1534
1560
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "w-4 h-4 text-primary shrink-0 mt-1" }),
1535
1561
  item
1536
1562
  ] }, i)) })
1537
1563
  ] }),
1538
1564
  adventure.notIncluded && adventure.notIncluded.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1539
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_q = adventure.notIncludedLabel) != null ? _q : "What's not included" }),
1565
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_r = adventure.notIncludedLabel) != null ? _r : "What's not included" }),
1540
1566
  /* @__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: [
1541
1567
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "w-4 h-4 text-destructive shrink-0 mt-1" }),
1542
1568
  item
1543
1569
  ] }, i)) })
1544
1570
  ] }),
1545
1571
  adventure.cancellationPolicy && adventure.cancellationPolicy.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
1546
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_r = adventure.cancellationPolicyLabel) != null ? _r : "Cancellation policy" }),
1572
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_s = adventure.cancellationPolicyLabel) != null ? _s : "Cancellation policy" }),
1547
1573
  /* @__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: [
1548
1574
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-primary shrink-0 mt-2.5" }),
1549
1575
  item
@@ -2723,7 +2749,7 @@ function AdventureSection({
2723
2749
  cannotRemoveLastTravellerLabel,
2724
2750
  labels
2725
2751
  }) {
2726
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
2752
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
2727
2753
  const [detailsOpen, setDetailsOpen] = React31__namespace.useState(false);
2728
2754
  const handleCopyUrl = (url) => {
2729
2755
  if (onCopyFormLink) {
@@ -2858,10 +2884,36 @@ function AdventureSection({
2858
2884
  )) })
2859
2885
  ] })
2860
2886
  ] }),
2887
+ adventure.rooms && adventure.rooms.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-border px-5 lg:px-6 py-5 flex flex-col gap-3", children: [
2888
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_l = labels == null ? void 0 : labels.accommodationsHeading) != null ? _l : "ACCOMMODATIONS" }),
2889
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-3", children: adventure.rooms.map((room, i) => {
2890
+ var _a2, _b2;
2891
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
2892
+ room.imageUrl && // eslint-disable-next-line @next/next/no-img-element
2893
+ /* @__PURE__ */ jsxRuntime.jsx(
2894
+ "img",
2895
+ {
2896
+ src: room.imageUrl,
2897
+ alt: room.roomName,
2898
+ className: "w-20 h-15 object-cover rounded-md shrink-0",
2899
+ style: { width: "80px", height: "60px" }
2900
+ }
2901
+ ),
2902
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
2903
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-semibold text-foreground font-sans", children: `${room.qty}\xD7 ${room.roomName}` }),
2904
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 flex-wrap text-xs text-muted-foreground font-sans", children: [
2905
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: room.accommodationName }),
2906
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "inline-block px-1.5 py-0.5 text-[10px] font-semibold text-primary bg-primary/10 rounded uppercase tracking-wider", children: (_b2 = (_a2 = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _a2[room.bedArrangement]) != null ? _b2 : room.bedArrangement })
2907
+ ] }),
2908
+ room.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-foreground/80 font-sans mt-1 leading-snug", children: room.description })
2909
+ ] })
2910
+ ] }, i);
2911
+ }) })
2912
+ ] }),
2861
2913
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-border px-5 lg:px-6 py-5 flex flex-col gap-4", children: [
2862
2914
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-3 flex-wrap", children: [
2863
2915
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
2864
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_l = labels == null ? void 0 : labels.travellersSection) != null ? _l : "Travellers" }),
2916
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_m = labels == null ? void 0 : labels.travellersSection) != null ? _m : "Travellers" }),
2865
2917
  adventure.formName && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs font-semibold text-muted-foreground/50 font-heading tracking-wide", children: [
2866
2918
  "\xB7 ",
2867
2919
  adventure.formName
@@ -2882,8 +2934,8 @@ function AdventureSection({
2882
2934
  ),
2883
2935
  children: [
2884
2936
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserPlusIcon, { className: "w-3 h-3" }),
2885
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: (_m = labels == null ? void 0 : labels.addContactAsTraveller) != null ? _m : "Add contact as traveller" }),
2886
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:hidden", children: (_n = labels == null ? void 0 : labels.addContactAsTravellerShort) != null ? _n : "Add contact" })
2937
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: (_n = labels == null ? void 0 : labels.addContactAsTraveller) != null ? _n : "Add contact as traveller" }),
2938
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:hidden", children: (_o = labels == null ? void 0 : labels.addContactAsTravellerShort) != null ? _o : "Add contact" })
2887
2939
  ]
2888
2940
  }
2889
2941
  ),
@@ -2901,8 +2953,8 @@ function AdventureSection({
2901
2953
  className: "flex items-center gap-1.5 rounded-full border border-border px-3 py-1.5 text-xs font-ui text-primary hover:border-primary hover:bg-primary/5 transition-colors",
2902
2954
  children: [
2903
2955
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PlusIcon, { className: "w-3 h-3" }),
2904
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: (_o = adventure.addTravellerLabel) != null ? _o : "More travellers" }),
2905
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:hidden", children: (_q = (_p = adventure.addTravellerShortLabel) != null ? _p : adventure.addTravellerLabel) != null ? _q : "Add" })
2956
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: (_p = adventure.addTravellerLabel) != null ? _p : "More travellers" }),
2957
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:hidden", children: (_r = (_q = adventure.addTravellerShortLabel) != null ? _q : adventure.addTravellerLabel) != null ? _r : "Add" })
2906
2958
  ]
2907
2959
  }
2908
2960
  )
@@ -3094,7 +3146,7 @@ function AdventureSection({
3094
3146
  )) })
3095
3147
  ] });
3096
3148
  })(),
3097
- adventure.registrationNotRequired ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 mt-1", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-ui text-muted-foreground", children: (_r = adventure.noRegistrationRequiredLabel) != null ? _r : "No registration required" }) }) : adventure.travellers.length > 0 && totalSlots > 0 && (() => {
3149
+ adventure.registrationNotRequired ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 mt-1", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-ui text-muted-foreground", children: (_s = adventure.noRegistrationRequiredLabel) != null ? _s : "No registration required" }) }) : adventure.travellers.length > 0 && totalSlots > 0 && (() => {
3098
3150
  var _a2, _b2;
3099
3151
  const completed = adventure.travellers.filter((t) => t.status === "completed").length;
3100
3152
  const percent = Math.round(completed / totalSlots * 100);
@@ -4092,7 +4144,14 @@ var DEFAULT_LABELS = {
4092
4144
  notIncludedHeading: "O que n\xE3o est\xE1 incluso",
4093
4145
  childBadge: "child",
4094
4146
  adultsUnit: "adult(s)",
4095
- childrenUnit: "child(ren)"
4147
+ childrenUnit: "child(ren)",
4148
+ accommodationsHeading: "ACCOMMODATIONS",
4149
+ bedArrangementLabels: {
4150
+ DOUBLE: "Double",
4151
+ TWIN: "Twin",
4152
+ SINGLE: "Single",
4153
+ TRIPLE: "Triple"
4154
+ }
4096
4155
  };
4097
4156
  function BookingAdventureCard({
4098
4157
  tag,
@@ -4112,10 +4171,11 @@ function BookingAdventureCard({
4112
4171
  notIncluded,
4113
4172
  lineItems,
4114
4173
  subtotal,
4174
+ rooms,
4115
4175
  labels,
4116
4176
  className
4117
4177
  }) {
4118
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
4178
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
4119
4179
  const l = {
4120
4180
  travellersHeading: (_a = labels == null ? void 0 : labels.travellersHeading) != null ? _a : DEFAULT_LABELS.travellersHeading,
4121
4181
  detailsHeading: (_b = labels == null ? void 0 : labels.detailsHeading) != null ? _b : DEFAULT_LABELS.detailsHeading,
@@ -4128,7 +4188,14 @@ function BookingAdventureCard({
4128
4188
  notIncludedHeading: (_i = labels == null ? void 0 : labels.notIncludedHeading) != null ? _i : DEFAULT_LABELS.notIncludedHeading,
4129
4189
  childBadge: (_j = labels == null ? void 0 : labels.childBadge) != null ? _j : DEFAULT_LABELS.childBadge,
4130
4190
  adultsUnit: (_k = labels == null ? void 0 : labels.adultsUnit) != null ? _k : DEFAULT_LABELS.adultsUnit,
4131
- childrenUnit: (_l = labels == null ? void 0 : labels.childrenUnit) != null ? _l : DEFAULT_LABELS.childrenUnit
4191
+ childrenUnit: (_l = labels == null ? void 0 : labels.childrenUnit) != null ? _l : DEFAULT_LABELS.childrenUnit,
4192
+ accommodationsHeading: (_m = labels == null ? void 0 : labels.accommodationsHeading) != null ? _m : DEFAULT_LABELS.accommodationsHeading,
4193
+ bedArrangementLabels: {
4194
+ DOUBLE: (_o = (_n = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _n.DOUBLE) != null ? _o : DEFAULT_LABELS.bedArrangementLabels.DOUBLE,
4195
+ TWIN: (_q = (_p = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _p.TWIN) != null ? _q : DEFAULT_LABELS.bedArrangementLabels.TWIN,
4196
+ SINGLE: (_s = (_r = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _r.SINGLE) != null ? _s : DEFAULT_LABELS.bedArrangementLabels.SINGLE,
4197
+ TRIPLE: (_u = (_t = labels == null ? void 0 : labels.bedArrangementLabels) == null ? void 0 : _t.TRIPLE) != null ? _u : DEFAULT_LABELS.bedArrangementLabels.TRIPLE
4198
+ }
4132
4199
  };
4133
4200
  const hasTravellers = !!travellers && travellers.length > 0;
4134
4201
  const hasItinerary = !!itinerary && itinerary.length > 0;
@@ -4136,6 +4203,7 @@ function BookingAdventureCard({
4136
4203
  const hasIncluded = !!included && included.length > 0;
4137
4204
  const hasNotIncluded = !!notIncluded && notIncluded.length > 0;
4138
4205
  const hasLineItems = lineItems.length > 0;
4206
+ const hasRooms = !!rooms && rooms.length > 0;
4139
4207
  const dateRange = endDate ? `${startDate} \u2192 ${endDate}` : startDate;
4140
4208
  const showSlots = !!slots;
4141
4209
  const slotsText = showSlots ? [
@@ -4432,6 +4500,118 @@ function BookingAdventureCard({
4432
4500
  );
4433
4501
  })
4434
4502
  ] }),
4503
+ hasRooms && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4504
+ /* @__PURE__ */ jsxRuntime.jsx(
4505
+ "hr",
4506
+ {
4507
+ style: {
4508
+ border: "none",
4509
+ borderTop: `1px solid ${emailTokens.border}`,
4510
+ marginBottom: "10px"
4511
+ }
4512
+ }
4513
+ ),
4514
+ /* @__PURE__ */ jsxRuntime.jsx(
4515
+ "p",
4516
+ {
4517
+ style: {
4518
+ fontSize: "10px",
4519
+ fontWeight: 700,
4520
+ color: emailTokens.mutedForeground,
4521
+ textTransform: "uppercase",
4522
+ letterSpacing: "0.1em",
4523
+ margin: "0 0 10px 0"
4524
+ },
4525
+ children: l.accommodationsHeading
4526
+ }
4527
+ ),
4528
+ rooms.map((room, i) => /* @__PURE__ */ jsxRuntime.jsx(
4529
+ "table",
4530
+ {
4531
+ cellPadding: 0,
4532
+ cellSpacing: 0,
4533
+ style: {
4534
+ borderCollapse: "collapse",
4535
+ width: "100%",
4536
+ marginBottom: i < rooms.length - 1 ? "10px" : "0"
4537
+ },
4538
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4539
+ room.imageUrl && /* @__PURE__ */ jsxRuntime.jsx(
4540
+ "td",
4541
+ {
4542
+ style: {
4543
+ width: "80px",
4544
+ verticalAlign: "top",
4545
+ paddingRight: "10px"
4546
+ },
4547
+ children: /* @__PURE__ */ jsxRuntime.jsx(
4548
+ "img",
4549
+ {
4550
+ src: room.imageUrl,
4551
+ alt: room.roomName,
4552
+ style: {
4553
+ width: "80px",
4554
+ height: "60px",
4555
+ objectFit: "cover",
4556
+ display: "block",
4557
+ borderRadius: "6px"
4558
+ }
4559
+ }
4560
+ )
4561
+ }
4562
+ ),
4563
+ /* @__PURE__ */ jsxRuntime.jsxs("td", { style: { verticalAlign: "top" }, children: [
4564
+ /* @__PURE__ */ jsxRuntime.jsx(
4565
+ "div",
4566
+ {
4567
+ style: {
4568
+ fontSize: "14px",
4569
+ fontWeight: 600,
4570
+ color: emailTokens.foreground,
4571
+ marginBottom: "2px"
4572
+ },
4573
+ children: `${room.qty}\xD7 ${room.roomName}`
4574
+ }
4575
+ ),
4576
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { fontSize: "12px", color: emailTokens.mutedForeground }, children: [
4577
+ room.accommodationName,
4578
+ /* @__PURE__ */ jsxRuntime.jsx(
4579
+ "span",
4580
+ {
4581
+ style: {
4582
+ display: "inline-block",
4583
+ marginLeft: "8px",
4584
+ padding: "1px 6px",
4585
+ fontSize: "10px",
4586
+ fontWeight: 600,
4587
+ color: emailTokens.primary,
4588
+ backgroundColor: emailTokens.primaryLight,
4589
+ borderRadius: "4px",
4590
+ textTransform: "uppercase",
4591
+ letterSpacing: "0.05em"
4592
+ },
4593
+ children: l.bedArrangementLabels[room.bedArrangement]
4594
+ }
4595
+ )
4596
+ ] }),
4597
+ room.description && /* @__PURE__ */ jsxRuntime.jsx(
4598
+ "div",
4599
+ {
4600
+ style: {
4601
+ fontSize: "12px",
4602
+ color: emailTokens.bodyText,
4603
+ marginTop: "4px",
4604
+ lineHeight: "1.4"
4605
+ },
4606
+ children: room.description
4607
+ }
4608
+ )
4609
+ ] })
4610
+ ] }) })
4611
+ },
4612
+ i
4613
+ ))
4614
+ ] }),
4435
4615
  (hasDescription || hasItinerary) && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4436
4616
  /* @__PURE__ */ jsxRuntime.jsx(
4437
4617
  "hr",
@@ -4684,8 +4864,21 @@ function BookingAdventureCard({
4684
4864
  }
4685
4865
  );
4686
4866
  }
4687
- function BookingSummary({ heading, rows, footer, className }) {
4688
- var _a, _b;
4867
+ var DEFAULT_BED_LABELS = {
4868
+ DOUBLE: "Double",
4869
+ TWIN: "Twin",
4870
+ SINGLE: "Single",
4871
+ TRIPLE: "Triple"
4872
+ };
4873
+ function BookingSummary({ heading, rows, rooms, roomsHeading, bedArrangementLabels, footer, className }) {
4874
+ var _a, _b, _c, _d, _e, _f;
4875
+ const hasRooms = !!rooms && rooms.length > 0;
4876
+ const bedLabels = {
4877
+ DOUBLE: (_a = bedArrangementLabels == null ? void 0 : bedArrangementLabels.DOUBLE) != null ? _a : DEFAULT_BED_LABELS.DOUBLE,
4878
+ TWIN: (_b = bedArrangementLabels == null ? void 0 : bedArrangementLabels.TWIN) != null ? _b : DEFAULT_BED_LABELS.TWIN,
4879
+ SINGLE: (_c = bedArrangementLabels == null ? void 0 : bedArrangementLabels.SINGLE) != null ? _c : DEFAULT_BED_LABELS.SINGLE,
4880
+ TRIPLE: (_d = bedArrangementLabels == null ? void 0 : bedArrangementLabels.TRIPLE) != null ? _d : DEFAULT_BED_LABELS.TRIPLE
4881
+ };
4689
4882
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className, style: { marginBottom: "24px" }, children: [
4690
4883
  heading && /* @__PURE__ */ jsxRuntime.jsx(
4691
4884
  "p",
@@ -4720,7 +4913,7 @@ function BookingSummary({ heading, rows, footer, className }) {
4720
4913
  children: /* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
4721
4914
  rows.map((row, i) => {
4722
4915
  var _a2;
4723
- const isLastRowWithoutFooter = i === rows.length - 1 && !footer;
4916
+ const isLastRowWithoutFooter = i === rows.length - 1 && !footer && !hasRooms;
4724
4917
  return /* @__PURE__ */ jsxRuntime.jsxs(
4725
4918
  "tr",
4726
4919
  {
@@ -4758,6 +4951,50 @@ function BookingSummary({ heading, rows, footer, className }) {
4758
4951
  i
4759
4952
  );
4760
4953
  }),
4954
+ hasRooms && /* @__PURE__ */ jsxRuntime.jsx(
4955
+ "tr",
4956
+ {
4957
+ style: !footer ? {} : { borderBottom: `1px solid ${emailTokens.border}` },
4958
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
4959
+ "td",
4960
+ {
4961
+ colSpan: 2,
4962
+ style: {
4963
+ padding: "12px 20px",
4964
+ backgroundColor: emailTokens.muted
4965
+ },
4966
+ children: [
4967
+ /* @__PURE__ */ jsxRuntime.jsx(
4968
+ "div",
4969
+ {
4970
+ style: {
4971
+ fontSize: "10px",
4972
+ fontWeight: 700,
4973
+ color: emailTokens.mutedForeground,
4974
+ textTransform: "uppercase",
4975
+ letterSpacing: "0.1em",
4976
+ marginBottom: "6px"
4977
+ },
4978
+ children: roomsHeading != null ? roomsHeading : "Accommodations"
4979
+ }
4980
+ ),
4981
+ rooms.map((room, i) => /* @__PURE__ */ jsxRuntime.jsx(
4982
+ "div",
4983
+ {
4984
+ style: {
4985
+ fontSize: "14px",
4986
+ color: emailTokens.foreground,
4987
+ marginBottom: i < rooms.length - 1 ? "4px" : 0
4988
+ },
4989
+ children: `${room.qty}\xD7 ${room.roomName} \u2014 ${bedLabels[room.bedArrangement]}`
4990
+ },
4991
+ i
4992
+ ))
4993
+ ]
4994
+ }
4995
+ )
4996
+ }
4997
+ ),
4761
4998
  footer && /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
4762
4999
  "td",
4763
5000
  {
@@ -4765,8 +5002,8 @@ function BookingSummary({ heading, rows, footer, className }) {
4765
5002
  style: {
4766
5003
  padding: "12px 20px",
4767
5004
  textAlign: "center",
4768
- fontWeight: (_a = footer.fontWeight) != null ? _a : 600,
4769
- color: (_b = footer.color) != null ? _b : emailTokens.foreground,
5005
+ fontWeight: (_e = footer.fontWeight) != null ? _e : 600,
5006
+ color: (_f = footer.color) != null ? _f : emailTokens.foreground,
4770
5007
  backgroundColor: footer.backgroundColor
4771
5008
  },
4772
5009
  children: footer.text
@@ -6433,6 +6670,13 @@ var DEFAULT_LABELS9 = {
6433
6670
  datesLabel: "Dates",
6434
6671
  numberOfPeopleLabel: "Number of Travellers",
6435
6672
  optionalsLabel: "Optionals",
6673
+ accommodationsHeading: "Accommodations",
6674
+ bedArrangementLabels: {
6675
+ DOUBLE: "Double",
6676
+ TWIN: "Twin",
6677
+ SINGLE: "Single",
6678
+ TRIPLE: "Triple"
6679
+ },
6436
6680
  registrationPendingNotice: "The travellers' registration details will be sent to you as soon as all travellers have completed their forms.",
6437
6681
  mustReplyToConfirm: "Please reply to this email to confirm the booking.",
6438
6682
  closingAgent: (agentName, contact) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -6456,6 +6700,7 @@ function PartnerBookingCreatedEmail({
6456
6700
  dateRange,
6457
6701
  travellersCount,
6458
6702
  optionals,
6703
+ rooms,
6459
6704
  booker,
6460
6705
  agent,
6461
6706
  logoUrl,
@@ -6520,7 +6765,16 @@ function PartnerBookingCreatedEmail({
6520
6765
  /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(partnerName) }),
6521
6766
  /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "24px" }, children: l.intro(adventureName) }),
6522
6767
  sectionDivider,
6523
- /* @__PURE__ */ jsxRuntime.jsx(BookingSummary, { heading: l.summaryHeading, rows: summaryRows }),
6768
+ /* @__PURE__ */ jsxRuntime.jsx(
6769
+ BookingSummary,
6770
+ {
6771
+ heading: l.summaryHeading,
6772
+ rows: summaryRows,
6773
+ rooms,
6774
+ roomsHeading: l.accommodationsHeading,
6775
+ bedArrangementLabels: l.bedArrangementLabels
6776
+ }
6777
+ ),
6524
6778
  sectionDivider,
6525
6779
  /* @__PURE__ */ jsxRuntime.jsxs(
6526
6780
  "div",