@planetaexo/design-system 0.24.3 → 0.25.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
@@ -3869,6 +3869,610 @@ ${content}
3869
3869
  </html>`;
3870
3870
  }
3871
3871
  var DEFAULT_LABELS = {
3872
+ travellersHeading: "TRAVELLERS",
3873
+ detailsHeading: "DETAILS",
3874
+ pricesHeading: "PRICES",
3875
+ subtotalLabel: "Subtotal",
3876
+ travellersCountLabel: (n) => `${n} traveller(s)`,
3877
+ lineItemSeparator: "\xD7",
3878
+ lineItemEquals: "=",
3879
+ includedHeading: "O que est\xE1 incluso",
3880
+ notIncludedHeading: "O que n\xE3o est\xE1 incluso",
3881
+ childBadge: "child",
3882
+ adultsUnit: "adult(s)",
3883
+ childrenUnit: "child(ren)"
3884
+ };
3885
+ function BookingAdventureCard({
3886
+ tag,
3887
+ name,
3888
+ startDate,
3889
+ endDate,
3890
+ travellerCount,
3891
+ slots,
3892
+ travellers,
3893
+ itinerary,
3894
+ description,
3895
+ image,
3896
+ imageAlt,
3897
+ location,
3898
+ destination,
3899
+ included,
3900
+ notIncluded,
3901
+ lineItems,
3902
+ subtotal,
3903
+ labels,
3904
+ className
3905
+ }) {
3906
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
3907
+ const l = {
3908
+ travellersHeading: (_a = labels == null ? void 0 : labels.travellersHeading) != null ? _a : DEFAULT_LABELS.travellersHeading,
3909
+ detailsHeading: (_b = labels == null ? void 0 : labels.detailsHeading) != null ? _b : DEFAULT_LABELS.detailsHeading,
3910
+ pricesHeading: (_c = labels == null ? void 0 : labels.pricesHeading) != null ? _c : DEFAULT_LABELS.pricesHeading,
3911
+ subtotalLabel: (_d = labels == null ? void 0 : labels.subtotalLabel) != null ? _d : DEFAULT_LABELS.subtotalLabel,
3912
+ travellersCountLabel: (_e = labels == null ? void 0 : labels.travellersCountLabel) != null ? _e : DEFAULT_LABELS.travellersCountLabel,
3913
+ lineItemSeparator: (_f = labels == null ? void 0 : labels.lineItemSeparator) != null ? _f : DEFAULT_LABELS.lineItemSeparator,
3914
+ lineItemEquals: (_g = labels == null ? void 0 : labels.lineItemEquals) != null ? _g : DEFAULT_LABELS.lineItemEquals,
3915
+ includedHeading: (_h = labels == null ? void 0 : labels.includedHeading) != null ? _h : DEFAULT_LABELS.includedHeading,
3916
+ notIncludedHeading: (_i = labels == null ? void 0 : labels.notIncludedHeading) != null ? _i : DEFAULT_LABELS.notIncludedHeading,
3917
+ childBadge: (_j = labels == null ? void 0 : labels.childBadge) != null ? _j : DEFAULT_LABELS.childBadge,
3918
+ adultsUnit: (_k = labels == null ? void 0 : labels.adultsUnit) != null ? _k : DEFAULT_LABELS.adultsUnit,
3919
+ childrenUnit: (_l = labels == null ? void 0 : labels.childrenUnit) != null ? _l : DEFAULT_LABELS.childrenUnit
3920
+ };
3921
+ const hasTravellers = !!travellers && travellers.length > 0;
3922
+ const hasItinerary = !!itinerary && itinerary.length > 0;
3923
+ const hasDescription = !!description && description.trim().length > 0;
3924
+ const hasIncluded = !!included && included.length > 0;
3925
+ const hasNotIncluded = !!notIncluded && notIncluded.length > 0;
3926
+ const hasLineItems = lineItems.length > 0;
3927
+ const dateRange = endDate ? `${startDate} \u2192 ${endDate}` : startDate;
3928
+ const showSlots = !!slots;
3929
+ const slotsText = showSlots ? [
3930
+ slots.adults ? `${slots.adults} ${l.adultsUnit}` : null,
3931
+ slots.children ? `${slots.children} ${l.childrenUnit}` : null
3932
+ ].filter(Boolean).join(" \xB7 ") : "";
3933
+ const showTravellersCount = !showSlots && typeof travellerCount === "number" && travellerCount > 0;
3934
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3935
+ "div",
3936
+ {
3937
+ style: {
3938
+ borderRadius: "16px",
3939
+ border: `1px solid ${emailTokens.border}`,
3940
+ backgroundColor: emailTokens.white,
3941
+ overflow: "hidden"
3942
+ },
3943
+ className,
3944
+ children: [
3945
+ image && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { overflow: "hidden", backgroundColor: emailTokens.muted }, children: /* @__PURE__ */ jsxRuntime.jsx(
3946
+ "img",
3947
+ {
3948
+ src: image,
3949
+ alt: imageAlt != null ? imageAlt : name,
3950
+ style: { width: "100%", height: "auto", display: "block" }
3951
+ }
3952
+ ) }),
3953
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { padding: "20px" }, children: [
3954
+ tag && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
3955
+ "span",
3956
+ {
3957
+ style: {
3958
+ display: "inline-block",
3959
+ backgroundColor: emailTokens.primaryLight,
3960
+ color: emailTokens.primary,
3961
+ padding: "2px 8px",
3962
+ borderRadius: "6px",
3963
+ fontSize: "12px",
3964
+ fontWeight: 600,
3965
+ letterSpacing: "0.05em"
3966
+ },
3967
+ children: tag
3968
+ }
3969
+ ) }),
3970
+ /* @__PURE__ */ jsxRuntime.jsx(
3971
+ "h3",
3972
+ {
3973
+ style: {
3974
+ fontSize: "20px",
3975
+ fontWeight: 700,
3976
+ color: emailTokens.foreground,
3977
+ lineHeight: "1.3",
3978
+ margin: "0 0 10px 0"
3979
+ },
3980
+ children: name
3981
+ }
3982
+ ),
3983
+ /* @__PURE__ */ jsxRuntime.jsx(
3984
+ "table",
3985
+ {
3986
+ cellPadding: 0,
3987
+ cellSpacing: 0,
3988
+ style: { borderCollapse: "collapse", marginBottom: "10px" },
3989
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
3990
+ /* @__PURE__ */ jsxRuntime.jsx(
3991
+ "td",
3992
+ {
3993
+ style: {
3994
+ verticalAlign: "middle",
3995
+ paddingRight: "6px",
3996
+ width: "16px"
3997
+ },
3998
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F4C5}" })
3999
+ }
4000
+ ),
4001
+ /* @__PURE__ */ jsxRuntime.jsx(
4002
+ "td",
4003
+ {
4004
+ style: {
4005
+ verticalAlign: "middle",
4006
+ fontSize: "14px",
4007
+ color: emailTokens.mutedForeground,
4008
+ lineHeight: "1"
4009
+ },
4010
+ children: dateRange
4011
+ }
4012
+ )
4013
+ ] }) })
4014
+ }
4015
+ ),
4016
+ location && /* @__PURE__ */ jsxRuntime.jsx(
4017
+ "table",
4018
+ {
4019
+ cellPadding: 0,
4020
+ cellSpacing: 0,
4021
+ style: { borderCollapse: "collapse", marginBottom: "10px" },
4022
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4023
+ /* @__PURE__ */ jsxRuntime.jsx(
4024
+ "td",
4025
+ {
4026
+ style: {
4027
+ verticalAlign: "middle",
4028
+ paddingRight: "6px",
4029
+ width: "16px"
4030
+ },
4031
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F4CD}" })
4032
+ }
4033
+ ),
4034
+ /* @__PURE__ */ jsxRuntime.jsx(
4035
+ "td",
4036
+ {
4037
+ style: {
4038
+ verticalAlign: "middle",
4039
+ fontSize: "14px",
4040
+ color: emailTokens.mutedForeground,
4041
+ lineHeight: "1"
4042
+ },
4043
+ children: location
4044
+ }
4045
+ )
4046
+ ] }) })
4047
+ }
4048
+ ),
4049
+ showSlots && slotsText && /* @__PURE__ */ jsxRuntime.jsx(
4050
+ "table",
4051
+ {
4052
+ cellPadding: 0,
4053
+ cellSpacing: 0,
4054
+ style: { borderCollapse: "collapse", marginBottom: "10px" },
4055
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4056
+ /* @__PURE__ */ jsxRuntime.jsx(
4057
+ "td",
4058
+ {
4059
+ style: {
4060
+ verticalAlign: "middle",
4061
+ paddingRight: "6px",
4062
+ width: "16px"
4063
+ },
4064
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F465}" })
4065
+ }
4066
+ ),
4067
+ /* @__PURE__ */ jsxRuntime.jsx(
4068
+ "td",
4069
+ {
4070
+ style: {
4071
+ verticalAlign: "middle",
4072
+ fontSize: "14px",
4073
+ color: emailTokens.mutedForeground,
4074
+ lineHeight: "1"
4075
+ },
4076
+ children: slotsText
4077
+ }
4078
+ )
4079
+ ] }) })
4080
+ }
4081
+ ),
4082
+ showTravellersCount && /* @__PURE__ */ jsxRuntime.jsx(
4083
+ "table",
4084
+ {
4085
+ cellPadding: 0,
4086
+ cellSpacing: 0,
4087
+ style: { borderCollapse: "collapse", marginBottom: "10px" },
4088
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4089
+ /* @__PURE__ */ jsxRuntime.jsx(
4090
+ "td",
4091
+ {
4092
+ style: {
4093
+ verticalAlign: "middle",
4094
+ paddingRight: "6px",
4095
+ width: "16px"
4096
+ },
4097
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F465}" })
4098
+ }
4099
+ ),
4100
+ /* @__PURE__ */ jsxRuntime.jsx(
4101
+ "td",
4102
+ {
4103
+ style: {
4104
+ verticalAlign: "middle",
4105
+ fontSize: "14px",
4106
+ color: emailTokens.mutedForeground,
4107
+ lineHeight: "1"
4108
+ },
4109
+ children: l.travellersCountLabel(travellerCount)
4110
+ }
4111
+ )
4112
+ ] }) })
4113
+ }
4114
+ ),
4115
+ destination && /* @__PURE__ */ jsxRuntime.jsx(
4116
+ "table",
4117
+ {
4118
+ cellPadding: 0,
4119
+ cellSpacing: 0,
4120
+ style: { borderCollapse: "collapse", marginBottom: "10px" },
4121
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4122
+ /* @__PURE__ */ jsxRuntime.jsx(
4123
+ "td",
4124
+ {
4125
+ style: {
4126
+ verticalAlign: "middle",
4127
+ paddingRight: "6px",
4128
+ width: "16px"
4129
+ },
4130
+ children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F9ED}" })
4131
+ }
4132
+ ),
4133
+ /* @__PURE__ */ jsxRuntime.jsx(
4134
+ "td",
4135
+ {
4136
+ style: {
4137
+ verticalAlign: "middle",
4138
+ fontSize: "14px",
4139
+ color: emailTokens.mutedForeground,
4140
+ lineHeight: "1"
4141
+ },
4142
+ children: destination
4143
+ }
4144
+ )
4145
+ ] }) })
4146
+ }
4147
+ ),
4148
+ hasTravellers && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4149
+ /* @__PURE__ */ jsxRuntime.jsx(
4150
+ "hr",
4151
+ {
4152
+ style: {
4153
+ border: "none",
4154
+ borderTop: `1px solid ${emailTokens.border}`,
4155
+ marginBottom: "10px"
4156
+ }
4157
+ }
4158
+ ),
4159
+ /* @__PURE__ */ jsxRuntime.jsx(
4160
+ "p",
4161
+ {
4162
+ style: {
4163
+ fontSize: "10px",
4164
+ fontWeight: 700,
4165
+ color: emailTokens.mutedForeground,
4166
+ textTransform: "uppercase",
4167
+ letterSpacing: "0.1em",
4168
+ margin: "0 0 8px 0"
4169
+ },
4170
+ children: l.travellersHeading
4171
+ }
4172
+ ),
4173
+ travellers.map((tr, i) => {
4174
+ var _a2;
4175
+ const isObj = typeof tr === "object";
4176
+ const fullName = isObj ? tr.fullName : tr;
4177
+ const isChild = isObj && tr.isChild === true;
4178
+ const childLabel = isObj ? (_a2 = tr.childBadgeLabel) != null ? _a2 : l.childBadge : l.childBadge;
4179
+ return /* @__PURE__ */ jsxRuntime.jsx(
4180
+ "table",
4181
+ {
4182
+ cellPadding: 0,
4183
+ cellSpacing: 0,
4184
+ style: {
4185
+ borderCollapse: "collapse",
4186
+ width: "100%",
4187
+ marginBottom: "6px"
4188
+ },
4189
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4190
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle" }, children: /* @__PURE__ */ jsxRuntime.jsx(
4191
+ "span",
4192
+ {
4193
+ style: {
4194
+ fontSize: "14px",
4195
+ fontWeight: 500,
4196
+ color: emailTokens.foreground
4197
+ },
4198
+ children: fullName
4199
+ }
4200
+ ) }),
4201
+ isChild && /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", textAlign: "right" }, children: /* @__PURE__ */ jsxRuntime.jsx(
4202
+ "span",
4203
+ {
4204
+ style: {
4205
+ fontSize: "10px",
4206
+ fontWeight: 600,
4207
+ color: emailTokens.mutedForeground,
4208
+ backgroundColor: emailTokens.muted,
4209
+ borderRadius: "9999px",
4210
+ padding: "2px 8px",
4211
+ textTransform: "uppercase",
4212
+ letterSpacing: "0.05em"
4213
+ },
4214
+ children: childLabel
4215
+ }
4216
+ ) })
4217
+ ] }) })
4218
+ },
4219
+ i
4220
+ );
4221
+ })
4222
+ ] }),
4223
+ (hasDescription || hasItinerary) && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4224
+ /* @__PURE__ */ jsxRuntime.jsx(
4225
+ "hr",
4226
+ {
4227
+ style: {
4228
+ border: "none",
4229
+ borderTop: `1px solid ${emailTokens.border}`,
4230
+ marginBottom: "10px"
4231
+ }
4232
+ }
4233
+ ),
4234
+ /* @__PURE__ */ jsxRuntime.jsx(
4235
+ "p",
4236
+ {
4237
+ style: {
4238
+ fontSize: "10px",
4239
+ fontWeight: 700,
4240
+ color: emailTokens.mutedForeground,
4241
+ textTransform: "uppercase",
4242
+ letterSpacing: "0.1em",
4243
+ margin: "0 0 8px 0"
4244
+ },
4245
+ children: l.detailsHeading
4246
+ }
4247
+ ),
4248
+ hasDescription ? /* @__PURE__ */ jsxRuntime.jsx(
4249
+ "div",
4250
+ {
4251
+ style: {
4252
+ fontSize: "14px",
4253
+ color: emailTokens.bodyText,
4254
+ lineHeight: "1.4",
4255
+ margin: 0
4256
+ },
4257
+ dangerouslySetInnerHTML: { __html: description }
4258
+ }
4259
+ ) : itinerary.map((line, i) => /* @__PURE__ */ jsxRuntime.jsx(
4260
+ "p",
4261
+ {
4262
+ style: {
4263
+ fontSize: "14px",
4264
+ color: emailTokens.bodyText,
4265
+ lineHeight: "1.4",
4266
+ margin: "0 0 6px 0"
4267
+ },
4268
+ children: line
4269
+ },
4270
+ i
4271
+ ))
4272
+ ] }),
4273
+ hasIncluded && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "10px" }, children: [
4274
+ /* @__PURE__ */ jsxRuntime.jsx(
4275
+ "h4",
4276
+ {
4277
+ style: {
4278
+ fontSize: "14px",
4279
+ fontWeight: 700,
4280
+ color: emailTokens.foreground,
4281
+ margin: "0 0 8px 0"
4282
+ },
4283
+ children: l.includedHeading
4284
+ }
4285
+ ),
4286
+ included.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(
4287
+ "table",
4288
+ {
4289
+ cellPadding: 0,
4290
+ cellSpacing: 0,
4291
+ style: {
4292
+ borderCollapse: "collapse",
4293
+ width: "100%",
4294
+ marginBottom: "6px"
4295
+ },
4296
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4297
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
4298
+ "span",
4299
+ {
4300
+ style: {
4301
+ display: "inline-block",
4302
+ fontSize: "14px",
4303
+ color: emailTokens.primary,
4304
+ lineHeight: "1.2",
4305
+ fontWeight: 700
4306
+ },
4307
+ children: "\u2713"
4308
+ }
4309
+ ) }),
4310
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4311
+ ] }) })
4312
+ },
4313
+ i
4314
+ ))
4315
+ ] }),
4316
+ hasNotIncluded && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "10px" }, children: [
4317
+ /* @__PURE__ */ jsxRuntime.jsx(
4318
+ "h4",
4319
+ {
4320
+ style: {
4321
+ fontSize: "14px",
4322
+ fontWeight: 700,
4323
+ color: emailTokens.foreground,
4324
+ margin: "0 0 8px 0"
4325
+ },
4326
+ children: l.notIncludedHeading
4327
+ }
4328
+ ),
4329
+ notIncluded.map((item, i) => /* @__PURE__ */ jsxRuntime.jsx(
4330
+ "table",
4331
+ {
4332
+ cellPadding: 0,
4333
+ cellSpacing: 0,
4334
+ style: {
4335
+ borderCollapse: "collapse",
4336
+ width: "100%",
4337
+ marginBottom: "6px"
4338
+ },
4339
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4340
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
4341
+ "span",
4342
+ {
4343
+ style: {
4344
+ display: "inline-block",
4345
+ fontSize: "14px",
4346
+ color: emailTokens.destructive,
4347
+ lineHeight: "1.2",
4348
+ fontWeight: 700
4349
+ },
4350
+ children: "\u2717"
4351
+ }
4352
+ ) }),
4353
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4354
+ ] }) })
4355
+ },
4356
+ i
4357
+ ))
4358
+ ] }),
4359
+ hasLineItems && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4360
+ /* @__PURE__ */ jsxRuntime.jsx(
4361
+ "hr",
4362
+ {
4363
+ style: {
4364
+ border: "none",
4365
+ borderTop: `1px solid ${emailTokens.border}`,
4366
+ marginBottom: "10px"
4367
+ }
4368
+ }
4369
+ ),
4370
+ /* @__PURE__ */ jsxRuntime.jsx(
4371
+ "p",
4372
+ {
4373
+ style: {
4374
+ fontSize: "10px",
4375
+ fontWeight: 700,
4376
+ color: emailTokens.mutedForeground,
4377
+ textTransform: "uppercase",
4378
+ letterSpacing: "0.1em",
4379
+ margin: "0 0 8px 0"
4380
+ },
4381
+ children: l.pricesHeading
4382
+ }
4383
+ ),
4384
+ lineItems.map((li, j) => {
4385
+ var _a2, _b2, _c2;
4386
+ const useLabel = typeof li.label === "string" && li.label.length > 0;
4387
+ const valueText = li.subtotal;
4388
+ const rightStyle = {
4389
+ verticalAlign: "middle",
4390
+ textAlign: "right",
4391
+ fontSize: "14px",
4392
+ fontWeight: 500,
4393
+ whiteSpace: "nowrap",
4394
+ color: li.isDiscount ? emailTokens.green : emailTokens.foreground
4395
+ };
4396
+ return /* @__PURE__ */ jsxRuntime.jsx(
4397
+ "table",
4398
+ {
4399
+ cellPadding: 0,
4400
+ cellSpacing: 0,
4401
+ style: {
4402
+ borderCollapse: "collapse",
4403
+ width: "100%",
4404
+ marginBottom: "4px"
4405
+ },
4406
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4407
+ /* @__PURE__ */ jsxRuntime.jsx(
4408
+ "td",
4409
+ {
4410
+ style: {
4411
+ verticalAlign: "middle",
4412
+ fontSize: "14px",
4413
+ color: emailTokens.mutedForeground
4414
+ },
4415
+ children: useLabel ? li.label : `${(_a2 = li.unitPrice) != null ? _a2 : ""} ${l.lineItemSeparator} ${(_b2 = li.quantity) != null ? _b2 : ""} ${(_c2 = li.categoryLabel) != null ? _c2 : ""} ${l.lineItemEquals}`
4416
+ }
4417
+ ),
4418
+ /* @__PURE__ */ jsxRuntime.jsxs("td", { style: rightStyle, children: [
4419
+ li.isDiscount ? "\u2212" : "",
4420
+ valueText
4421
+ ] })
4422
+ ] }) })
4423
+ },
4424
+ j
4425
+ );
4426
+ }),
4427
+ subtotal && /* @__PURE__ */ jsxRuntime.jsx(
4428
+ "table",
4429
+ {
4430
+ cellPadding: 0,
4431
+ cellSpacing: 0,
4432
+ style: {
4433
+ borderCollapse: "collapse",
4434
+ width: "100%",
4435
+ paddingTop: "8px",
4436
+ marginTop: "4px",
4437
+ borderTop: `1px solid ${emailTokens.border}`
4438
+ },
4439
+ children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4440
+ /* @__PURE__ */ jsxRuntime.jsx(
4441
+ "td",
4442
+ {
4443
+ style: {
4444
+ verticalAlign: "middle",
4445
+ fontSize: "14px",
4446
+ fontWeight: 700,
4447
+ color: emailTokens.foreground
4448
+ },
4449
+ children: l.subtotalLabel
4450
+ }
4451
+ ),
4452
+ /* @__PURE__ */ jsxRuntime.jsx(
4453
+ "td",
4454
+ {
4455
+ style: {
4456
+ verticalAlign: "middle",
4457
+ textAlign: "right",
4458
+ fontSize: "14px",
4459
+ fontWeight: 700,
4460
+ color: emailTokens.foreground,
4461
+ whiteSpace: "nowrap"
4462
+ },
4463
+ children: subtotal
4464
+ }
4465
+ )
4466
+ ] }) })
4467
+ }
4468
+ )
4469
+ ] })
4470
+ ] })
4471
+ ]
4472
+ }
4473
+ );
4474
+ }
4475
+ var DEFAULT_LABELS2 = {
3872
4476
  ctaButton: "View booking details",
3873
4477
  logoAlt: "PlanetaEXO",
3874
4478
  greeting: (recipientName) => `Hi ${recipientName},`,
@@ -3920,7 +4524,7 @@ function BookingConfirmation({
3920
4524
  className,
3921
4525
  flow = "auto"
3922
4526
  }) {
3923
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS), labels);
4527
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS2), labels);
3924
4528
  const allTravellers = adventures.flatMap((a) => {
3925
4529
  var _a;
3926
4530
  return (_a = a.travellers) != null ? _a : [];
@@ -4008,115 +4612,57 @@ function BookingConfirmation({
4008
4612
  ] }),
4009
4613
  /* @__PURE__ */ jsxRuntime.jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, margin: "0 32px" } }),
4010
4614
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { paddingLeft: "32px", paddingRight: "32px", paddingTop: "32px", paddingBottom: "32px" }, children: adventures.map((adventure, adIdx) => {
4011
- var _a, _b, _c, _d, _e;
4012
- return /* @__PURE__ */ jsxRuntime.jsxs(
4615
+ var _a, _b, _c, _d;
4616
+ const locationToPass = adventure.location && !adventure.destinationName ? adventure.location : void 0;
4617
+ const destinationToPass = (_a = adventure.destinationName) != null ? _a : adventure.partner;
4618
+ const tagToPass = (_b = adventure.code) != null ? _b : adventure.reference;
4619
+ const travellersToPass = (_c = adventure.travellers) == null ? void 0 : _c.map((tr) => ({
4620
+ fullName: `${tr.firstName} ${tr.lastName}`,
4621
+ isChild: tr.isChild,
4622
+ childBadgeLabel: l.childBadge
4623
+ }));
4624
+ const lineItemsToPass = ((_d = adventure.lineItems) != null ? _d : []).map((it) => ({
4625
+ label: it.label,
4626
+ subtotal: it.price,
4627
+ isDiscount: it.isDiscount
4628
+ }));
4629
+ return /* @__PURE__ */ jsxRuntime.jsx(
4013
4630
  "div",
4014
4631
  {
4015
4632
  style: {
4016
- borderRadius: "16px",
4017
- border: `1px solid ${emailTokens.border}`,
4018
- backgroundColor: emailTokens.white,
4019
- overflow: "hidden",
4020
4633
  marginBottom: adIdx < adventures.length - 1 ? "24px" : "0"
4021
4634
  },
4022
- children: [
4023
- adventure.image && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { overflow: "hidden", backgroundColor: emailTokens.muted }, children: /* @__PURE__ */ jsxRuntime.jsx(
4024
- "img",
4025
- {
4026
- src: adventure.image,
4027
- alt: (_a = adventure.imageAlt) != null ? _a : adventure.title,
4028
- style: { width: "100%", height: "auto", display: "block" }
4635
+ children: /* @__PURE__ */ jsxRuntime.jsx(
4636
+ BookingAdventureCard,
4637
+ {
4638
+ tag: tagToPass,
4639
+ name: adventure.title,
4640
+ startDate: adventure.dateFrom,
4641
+ endDate: adventure.dateTo,
4642
+ slots: adventure.slots,
4643
+ travellers: travellersToPass,
4644
+ description: adventure.description,
4645
+ image: adventure.image,
4646
+ imageAlt: adventure.imageAlt,
4647
+ location: locationToPass,
4648
+ destination: destinationToPass,
4649
+ included: adventure.included,
4650
+ notIncluded: adventure.notIncluded,
4651
+ lineItems: lineItemsToPass,
4652
+ subtotal: adventure.subtotal,
4653
+ labels: {
4654
+ travellersHeading: l.travellersLabel,
4655
+ detailsHeading: l.itineraryLabel,
4656
+ pricesHeading: l.pricingLabel,
4657
+ subtotalLabel: l.subtotalLabel,
4658
+ includedHeading: l.includedLabel,
4659
+ notIncludedHeading: l.notIncludedLabel,
4660
+ childBadge: l.childBadge,
4661
+ adultsUnit: l.adultsUnit,
4662
+ childrenUnit: l.childrenUnit
4029
4663
  }
4030
- ) }),
4031
- /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { padding: "20px" }, children: [
4032
- ((_b = adventure.code) != null ? _b : adventure.reference) && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: {
4033
- display: "inline-block",
4034
- backgroundColor: emailTokens.primaryLight,
4035
- color: emailTokens.primary,
4036
- padding: "2px 8px",
4037
- borderRadius: "6px",
4038
- fontSize: "12px",
4039
- fontWeight: "600",
4040
- letterSpacing: "0.05em"
4041
- }, children: (_c = adventure.code) != null ? _c : adventure.reference }) }),
4042
- /* @__PURE__ */ jsxRuntime.jsx("h3", { style: { fontSize: "20px", fontWeight: "700", color: emailTokens.foreground, lineHeight: "1.3", margin: "0 0 10px 0" }, children: adventure.title }),
4043
- /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4044
- /* @__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}" }) }),
4045
- /* @__PURE__ */ jsxRuntime.jsxs("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: [
4046
- adventure.dateFrom,
4047
- " \u2192 ",
4048
- adventure.dateTo
4049
- ] })
4050
- ] }) }) }),
4051
- 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: [
4052
- /* @__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}" }) }),
4053
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: adventure.location })
4054
- ] }) }) }),
4055
- 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: [
4056
- /* @__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}" }) }),
4057
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: [
4058
- adventure.slots.adults ? `${adventure.slots.adults} ${l.adultsUnit}` : null,
4059
- adventure.slots.children ? `${adventure.slots.children} ${l.childrenUnit}` : null
4060
- ].filter(Boolean).join(" \xB7 ") })
4061
- ] }) }) }),
4062
- ((_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: [
4063
- /* @__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}" }) }),
4064
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: (_e = adventure.destinationName) != null ? _e : adventure.partner })
4065
- ] }) }) }),
4066
- adventure.travellers && adventure.travellers.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4067
- /* @__PURE__ */ jsxRuntime.jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "10px" } }),
4068
- /* @__PURE__ */ jsxRuntime.jsx("p", { style: { fontSize: "10px", fontWeight: "700", color: emailTokens.mutedForeground, textTransform: "uppercase", letterSpacing: "0.1em", margin: "0 0 8px 0" }, children: l.travellersLabel }),
4069
- adventure.travellers.map((traveller) => /* @__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: [
4070
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle" }, children: /* @__PURE__ */ jsxRuntime.jsxs("span", { style: { fontSize: "14px", fontWeight: "500", color: emailTokens.foreground }, children: [
4071
- traveller.firstName,
4072
- " ",
4073
- traveller.lastName
4074
- ] }) }),
4075
- traveller.isChild && /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", textAlign: "right" }, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { fontSize: "10px", fontWeight: "600", color: emailTokens.mutedForeground, backgroundColor: emailTokens.muted, borderRadius: "9999px", padding: "2px 8px", textTransform: "uppercase", letterSpacing: "0.05em" }, children: l.childBadge }) })
4076
- ] }) }) }, traveller.id))
4077
- ] }),
4078
- adventure.description && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4079
- /* @__PURE__ */ jsxRuntime.jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "10px" } }),
4080
- /* @__PURE__ */ jsxRuntime.jsx("p", { style: { fontSize: "10px", fontWeight: "700", color: emailTokens.mutedForeground, textTransform: "uppercase", letterSpacing: "0.1em", margin: "0 0 8px 0" }, children: l.itineraryLabel }),
4081
- /* @__PURE__ */ jsxRuntime.jsx(
4082
- "div",
4083
- {
4084
- style: { fontSize: "14px", color: emailTokens.bodyText, lineHeight: "1.4", margin: 0 },
4085
- dangerouslySetInnerHTML: { __html: adventure.description }
4086
- }
4087
- )
4088
- ] }),
4089
- adventure.included && adventure.included.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "10px" }, children: [
4090
- /* @__PURE__ */ jsxRuntime.jsx("h4", { style: { fontSize: "14px", fontWeight: "700", color: emailTokens.foreground, margin: "0 0 8px 0" }, children: l.includedLabel }),
4091
- 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: [
4092
- /* @__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" }) }),
4093
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4094
- ] }) }) }, i))
4095
- ] }),
4096
- adventure.notIncluded && adventure.notIncluded.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "10px" }, children: [
4097
- /* @__PURE__ */ jsxRuntime.jsx("h4", { style: { fontSize: "14px", fontWeight: "700", color: emailTokens.foreground, margin: "0 0 8px 0" }, children: l.notIncludedLabel }),
4098
- 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: [
4099
- /* @__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" }) }),
4100
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4101
- ] }) }) }, i))
4102
- ] }),
4103
- adventure.lineItems && adventure.lineItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { marginTop: "4px" }, children: [
4104
- /* @__PURE__ */ jsxRuntime.jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "10px" } }),
4105
- /* @__PURE__ */ jsxRuntime.jsx("p", { style: { fontSize: "10px", fontWeight: "700", color: emailTokens.mutedForeground, textTransform: "uppercase", letterSpacing: "0.1em", margin: "0 0 8px 0" }, children: l.pricingLabel }),
4106
- adventure.lineItems.map((item, j) => /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: "4px" }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4107
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground }, children: item.label }),
4108
- /* @__PURE__ */ jsxRuntime.jsxs("td", { style: { verticalAlign: "middle", textAlign: "right", fontSize: "14px", fontWeight: "500", whiteSpace: "nowrap", color: item.isDiscount ? emailTokens.green : emailTokens.foreground }, children: [
4109
- item.isDiscount ? "\u2212" : "",
4110
- item.price
4111
- ] })
4112
- ] }) }) }, j)),
4113
- adventure.subtotal && /* @__PURE__ */ jsxRuntime.jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", paddingTop: "8px", marginTop: "4px", borderTop: `1px solid ${emailTokens.border}` }, children: /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4114
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", fontWeight: "700", color: emailTokens.foreground }, children: l.subtotalLabel }),
4115
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { verticalAlign: "middle", textAlign: "right", fontSize: "14px", fontWeight: "700", color: emailTokens.foreground, whiteSpace: "nowrap" }, children: adventure.subtotal })
4116
- ] }) }) })
4117
- ] })
4118
- ] })
4119
- ]
4664
+ }
4665
+ )
4120
4666
  },
4121
4667
  adventure.id
4122
4668
  );
@@ -4175,7 +4721,7 @@ function BookingConfirmation({
4175
4721
  }
4176
4722
  );
4177
4723
  }
4178
- var DEFAULT_LABELS2 = {
4724
+ var DEFAULT_LABELS3 = {
4179
4725
  ctaButton: "Add travellers to your booking",
4180
4726
  logoAlt: "PlanetaEXO",
4181
4727
  greeting: (recipientName) => `Hi ${recipientName},`,
@@ -4208,7 +4754,7 @@ function BookingConfirmationEmail({
4208
4754
  nextStepsImportant,
4209
4755
  directBookingLinkLabel
4210
4756
  }) {
4211
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS2), labels);
4757
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS3), labels);
4212
4758
  const ctaStyle = {
4213
4759
  display: "inline-block",
4214
4760
  backgroundColor: emailTokens.primary,
@@ -4295,7 +4841,7 @@ function BookingConfirmationEmail({
4295
4841
  }
4296
4842
  );
4297
4843
  }
4298
- var DEFAULT_LABELS3 = {
4844
+ var DEFAULT_LABELS4 = {
4299
4845
  logoAlt: "PlanetaEXO",
4300
4846
  greeting: (name) => `Hi ${name},`,
4301
4847
  receiptHeading: "Payment receipt",
@@ -4334,7 +4880,7 @@ function PaymentReceiptEmail({
4334
4880
  labels,
4335
4881
  className
4336
4882
  }) {
4337
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS3), labels);
4883
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS4), labels);
4338
4884
  const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
4339
4885
  const interestRow = chargedAmount && chargedAmount !== amount;
4340
4886
  const receiptRows = [
@@ -4431,7 +4977,7 @@ function PaymentReceiptEmail({
4431
4977
  );
4432
4978
  }
4433
4979
  var EMPTY_AGENT_FN = (_agentName) => "";
4434
- var DEFAULT_LABELS4 = {
4980
+ var DEFAULT_LABELS5 = {
4435
4981
  logoAlt: "PlanetaEXO",
4436
4982
  greeting: (name) => `Hi ${name},`,
4437
4983
  intermediateHello: "Hope you're doing well.",
@@ -4443,6 +4989,15 @@ var DEFAULT_LABELS4 = {
4443
4989
  teamSignature: "The PlanetaEXO Team",
4444
4990
  closingAgent: (agentName) => `If you need any assistance or would like to discuss your payment, feel free to contact your agent ${agentName} via WhatsApp or email.`,
4445
4991
  closingNoAgent: "If you need any assistance or would like to discuss your payment, feel free to contact us via WhatsApp or email.",
4992
+ adventureCard: {
4993
+ travellersHeading: "TRAVELLERS",
4994
+ detailsHeading: "DETAILS",
4995
+ pricesHeading: "PRICES",
4996
+ subtotalLabel: "Subtotal",
4997
+ travellersCountLabel: (n) => `${n} traveller(s)`,
4998
+ lineItemSeparator: "\xD7",
4999
+ lineItemEquals: "="
5000
+ },
4446
5001
  variants: {
4447
5002
  dMinus1: {
4448
5003
  intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due tomorrow (${d}).`,
@@ -4489,9 +5044,9 @@ function PaymentReminderEmail({
4489
5044
  labels,
4490
5045
  className
4491
5046
  }) {
4492
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
5047
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
4493
5048
  const lOverride = labels != null ? labels : {};
4494
- const variantDefaults = DEFAULT_LABELS4.variants[variant];
5049
+ const variantDefaults = DEFAULT_LABELS5.variants[variant];
4495
5050
  const variantOverride = (_b = (_a = lOverride.variants) == null ? void 0 : _a[variant]) != null ? _b : {};
4496
5051
  const variantLabels = {
4497
5052
  intro: (_c = variantOverride.intro) != null ? _c : variantDefaults.intro,
@@ -4501,17 +5056,18 @@ function PaymentReminderEmail({
4501
5056
  closingAlternative: (_f = variantOverride.closingAlternative) != null ? _f : variantDefaults.closingAlternative
4502
5057
  };
4503
5058
  const l = {
4504
- logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS4.logoAlt,
4505
- greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS4.greeting,
4506
- intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS4.intermediateHello,
4507
- bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS4.bookingSummaryHeader,
4508
- amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS4.amountAlreadyPaidLabel,
4509
- remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS4.remainingBalanceDueLabel,
4510
- totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS4.totalBookingAmountLabel,
4511
- ctaLabel: (_n = lOverride.ctaLabel) != null ? _n : DEFAULT_LABELS4.ctaLabel,
4512
- teamSignature: (_o = lOverride.teamSignature) != null ? _o : DEFAULT_LABELS4.teamSignature,
4513
- closingAgent: (_p = lOverride.closingAgent) != null ? _p : DEFAULT_LABELS4.closingAgent,
4514
- closingNoAgent: (_q = lOverride.closingNoAgent) != null ? _q : DEFAULT_LABELS4.closingNoAgent
5059
+ logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS5.logoAlt,
5060
+ greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS5.greeting,
5061
+ intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS5.intermediateHello,
5062
+ bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS5.bookingSummaryHeader,
5063
+ amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS5.amountAlreadyPaidLabel,
5064
+ remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS5.remainingBalanceDueLabel,
5065
+ totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS5.totalBookingAmountLabel,
5066
+ ctaLabel: (_n = lOverride.ctaLabel) != null ? _n : DEFAULT_LABELS5.ctaLabel,
5067
+ teamSignature: (_o = lOverride.teamSignature) != null ? _o : DEFAULT_LABELS5.teamSignature,
5068
+ closingAgent: (_p = lOverride.closingAgent) != null ? _p : DEFAULT_LABELS5.closingAgent,
5069
+ closingNoAgent: (_q = lOverride.closingNoAgent) != null ? _q : DEFAULT_LABELS5.closingNoAgent,
5070
+ adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS5.adventureCard), (_r = lOverride.adventureCard) != null ? _r : {})
4515
5071
  };
4516
5072
  const ctaStyle = {
4517
5073
  display: "inline-block",
@@ -4580,41 +5136,38 @@ function PaymentReminderEmail({
4580
5136
  children: l.bookingSummaryHeader
4581
5137
  }
4582
5138
  ),
4583
- adventures.map((adv, advIdx) => /* @__PURE__ */ jsxRuntime.jsxs(
4584
- "div",
4585
- {
4586
- style: {
4587
- marginBottom: "20px",
4588
- paddingBottom: "16px",
4589
- borderBottom: advIdx < adventures.length - 1 ? `1px solid ${emailTokens.border}` : "none"
4590
- },
4591
- children: [
4592
- /* @__PURE__ */ jsxRuntime.jsx(
4593
- "p",
5139
+ adventures.map((adv, advIdx) => {
5140
+ var _a2;
5141
+ return /* @__PURE__ */ jsxRuntime.jsx(
5142
+ "div",
5143
+ {
5144
+ style: {
5145
+ marginBottom: advIdx < adventures.length - 1 ? "16px" : "20px"
5146
+ },
5147
+ children: /* @__PURE__ */ jsxRuntime.jsx(
5148
+ BookingAdventureCard,
4594
5149
  {
4595
- style: {
4596
- margin: "0 0 8px",
4597
- fontSize: "15px",
4598
- fontWeight: 600,
4599
- color: emailTokens.foreground
4600
- },
4601
- children: adv.name
5150
+ tag: adv.tag,
5151
+ name: adv.name,
5152
+ startDate: (_a2 = adv.startDate) != null ? _a2 : "",
5153
+ endDate: adv.endDate,
5154
+ travellerCount: adv.travellerCount,
5155
+ travellers: adv.travellers,
5156
+ itinerary: adv.itinerary,
5157
+ lineItems: adv.lineItems.map((li) => ({
5158
+ unitPrice: li.unitPrice,
5159
+ quantity: li.quantity,
5160
+ categoryLabel: li.categoryLabel,
5161
+ subtotal: li.subtotal
5162
+ })),
5163
+ subtotal: adv.subtotal,
5164
+ labels: l.adventureCard
4602
5165
  }
4603
- ),
4604
- adv.lineItems.map((li, liIdx) => /* @__PURE__ */ jsxRuntime.jsxs("p", { style: summaryRowStyle, children: [
4605
- li.unitPrice,
4606
- " \xD7 ",
4607
- li.quantity,
4608
- " ",
4609
- li.categoryLabel,
4610
- " =",
4611
- " ",
4612
- /* @__PURE__ */ jsxRuntime.jsx("strong", { children: li.subtotal })
4613
- ] }, liIdx))
4614
- ]
4615
- },
4616
- advIdx
4617
- )),
5166
+ )
5167
+ },
5168
+ advIdx
5169
+ );
5170
+ }),
4618
5171
  /* @__PURE__ */ jsxRuntime.jsx(
4619
5172
  "hr",
4620
5173
  {
@@ -5349,7 +5902,7 @@ function BookingForm({
5349
5902
  }
5350
5903
  );
5351
5904
  }
5352
- var DEFAULT_LABELS5 = {
5905
+ var DEFAULT_LABELS6 = {
5353
5906
  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.",
5354
5907
  detailsSectionTitle: "Your details",
5355
5908
  tripInfoSectionTitle: "Trip info",
@@ -6014,7 +6567,7 @@ function RegistrationForm({
6014
6567
  }) {
6015
6568
  var _a;
6016
6569
  const L = React25__namespace.useMemo(
6017
- () => __spreadValues(__spreadValues({}, DEFAULT_LABELS5), labels != null ? labels : {}),
6570
+ () => __spreadValues(__spreadValues({}, DEFAULT_LABELS6), labels != null ? labels : {}),
6018
6571
  [labels]
6019
6572
  );
6020
6573
  const sortedFields = React25__namespace.useMemo(
@@ -10616,6 +11169,7 @@ exports.ActivityCard = ActivityCard;
10616
11169
  exports.AgentContactCard = AgentContactCard;
10617
11170
  exports.Alert = Alert;
10618
11171
  exports.BirthDateField = BirthDateField;
11172
+ exports.BookingAdventureCard = BookingAdventureCard;
10619
11173
  exports.BookingConfirmation = BookingConfirmation;
10620
11174
  exports.BookingConfirmationEmail = BookingConfirmationEmail;
10621
11175
  exports.BookingConfirmedCard = BookingConfirmedCard;