@planetaexo/design-system 0.24.3 → 0.26.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,700 @@ ${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 = {
4476
+ heading: "PAYMENT DETAILS"
4477
+ };
4478
+ function PaymentDetailsBlock({
4479
+ rows,
4480
+ footerBanner,
4481
+ labels,
4482
+ className
4483
+ }) {
4484
+ var _a;
4485
+ const l = {
4486
+ heading: (_a = labels == null ? void 0 : labels.heading) != null ? _a : DEFAULT_LABELS2.heading
4487
+ };
4488
+ const hasBanner = !!footerBanner;
4489
+ return /* @__PURE__ */ jsxRuntime.jsxs(
4490
+ "div",
4491
+ {
4492
+ style: {
4493
+ borderRadius: "12px",
4494
+ border: `1px solid ${emailTokens.border}`,
4495
+ overflow: "hidden"
4496
+ },
4497
+ className,
4498
+ children: [
4499
+ /* @__PURE__ */ jsxRuntime.jsx(
4500
+ "div",
4501
+ {
4502
+ style: {
4503
+ padding: "12px 16px",
4504
+ backgroundColor: emailTokens.muted,
4505
+ borderBottom: `1px solid ${emailTokens.border}`
4506
+ },
4507
+ children: /* @__PURE__ */ jsxRuntime.jsx(
4508
+ "p",
4509
+ {
4510
+ style: {
4511
+ fontSize: "10px",
4512
+ fontWeight: 700,
4513
+ color: emailTokens.mutedForeground,
4514
+ textTransform: "uppercase",
4515
+ letterSpacing: "0.1em",
4516
+ margin: 0
4517
+ },
4518
+ children: l.heading
4519
+ }
4520
+ )
4521
+ }
4522
+ ),
4523
+ /* @__PURE__ */ jsxRuntime.jsx("table", { style: { width: "100%", fontSize: "14px", borderCollapse: "collapse" }, children: /* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
4524
+ rows.map((row, i) => {
4525
+ const isLast = i === rows.length - 1;
4526
+ const showBorder = !isLast;
4527
+ const valueStyle = {
4528
+ padding: "10px 16px",
4529
+ textAlign: "right",
4530
+ fontWeight: row.emphasis ? 700 : 500,
4531
+ color: row.emphasis ? emailTokens.primary : emailTokens.foreground,
4532
+ whiteSpace: "nowrap"
4533
+ };
4534
+ return /* @__PURE__ */ jsxRuntime.jsxs(
4535
+ "tr",
4536
+ {
4537
+ style: showBorder ? { borderBottom: `1px solid ${emailTokens.border}` } : {},
4538
+ children: [
4539
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", color: emailTokens.mutedForeground }, children: row.label }),
4540
+ /* @__PURE__ */ jsxRuntime.jsx("td", { style: valueStyle, children: row.value })
4541
+ ]
4542
+ },
4543
+ i
4544
+ );
4545
+ }),
4546
+ hasBanner && /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
4547
+ "td",
4548
+ {
4549
+ colSpan: 2,
4550
+ style: {
4551
+ padding: "12px 16px",
4552
+ textAlign: "center",
4553
+ fontWeight: 600,
4554
+ color: emailTokens.green,
4555
+ backgroundColor: emailTokens.greenBg
4556
+ },
4557
+ children: footerBanner.text
4558
+ }
4559
+ ) })
4560
+ ] }) })
4561
+ ]
4562
+ }
4563
+ );
4564
+ }
4565
+ var DEFAULT_LABELS3 = {
3872
4566
  ctaButton: "View booking details",
3873
4567
  logoAlt: "PlanetaEXO",
3874
4568
  greeting: (recipientName) => `Hi ${recipientName},`,
@@ -3920,7 +4614,7 @@ function BookingConfirmation({
3920
4614
  className,
3921
4615
  flow = "auto"
3922
4616
  }) {
3923
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS), labels);
4617
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS3), labels);
3924
4618
  const allTravellers = adventures.flatMap((a) => {
3925
4619
  var _a;
3926
4620
  return (_a = a.travellers) != null ? _a : [];
@@ -4008,115 +4702,57 @@ function BookingConfirmation({
4008
4702
  ] }),
4009
4703
  /* @__PURE__ */ jsxRuntime.jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, margin: "0 32px" } }),
4010
4704
  /* @__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(
4705
+ var _a, _b, _c, _d;
4706
+ const locationToPass = adventure.location && !adventure.destinationName ? adventure.location : void 0;
4707
+ const destinationToPass = (_a = adventure.destinationName) != null ? _a : adventure.partner;
4708
+ const tagToPass = (_b = adventure.code) != null ? _b : adventure.reference;
4709
+ const travellersToPass = (_c = adventure.travellers) == null ? void 0 : _c.map((tr) => ({
4710
+ fullName: `${tr.firstName} ${tr.lastName}`,
4711
+ isChild: tr.isChild,
4712
+ childBadgeLabel: l.childBadge
4713
+ }));
4714
+ const lineItemsToPass = ((_d = adventure.lineItems) != null ? _d : []).map((it) => ({
4715
+ label: it.label,
4716
+ subtotal: it.price,
4717
+ isDiscount: it.isDiscount
4718
+ }));
4719
+ return /* @__PURE__ */ jsxRuntime.jsx(
4013
4720
  "div",
4014
4721
  {
4015
4722
  style: {
4016
- borderRadius: "16px",
4017
- border: `1px solid ${emailTokens.border}`,
4018
- backgroundColor: emailTokens.white,
4019
- overflow: "hidden",
4020
4723
  marginBottom: adIdx < adventures.length - 1 ? "24px" : "0"
4021
4724
  },
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" }
4725
+ children: /* @__PURE__ */ jsxRuntime.jsx(
4726
+ BookingAdventureCard,
4727
+ {
4728
+ tag: tagToPass,
4729
+ name: adventure.title,
4730
+ startDate: adventure.dateFrom,
4731
+ endDate: adventure.dateTo,
4732
+ slots: adventure.slots,
4733
+ travellers: travellersToPass,
4734
+ description: adventure.description,
4735
+ image: adventure.image,
4736
+ imageAlt: adventure.imageAlt,
4737
+ location: locationToPass,
4738
+ destination: destinationToPass,
4739
+ included: adventure.included,
4740
+ notIncluded: adventure.notIncluded,
4741
+ lineItems: lineItemsToPass,
4742
+ subtotal: adventure.subtotal,
4743
+ labels: {
4744
+ travellersHeading: l.travellersLabel,
4745
+ detailsHeading: l.itineraryLabel,
4746
+ pricesHeading: l.pricingLabel,
4747
+ subtotalLabel: l.subtotalLabel,
4748
+ includedHeading: l.includedLabel,
4749
+ notIncludedHeading: l.notIncludedLabel,
4750
+ childBadge: l.childBadge,
4751
+ adultsUnit: l.adultsUnit,
4752
+ childrenUnit: l.childrenUnit
4029
4753
  }
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
- ]
4754
+ }
4755
+ )
4120
4756
  },
4121
4757
  adventure.id
4122
4758
  );
@@ -4141,24 +4777,32 @@ function BookingConfirmation({
4141
4777
  /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "16px", textAlign: "right", fontWeight: "700", color: emailTokens.primary, fontSize: "20px", whiteSpace: "nowrap" }, children: total })
4142
4778
  ] })
4143
4779
  ] }) }) }),
4144
- depositInfo && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { borderRadius: "12px", border: `1px solid ${emailTokens.border}`, marginTop: "16px", overflow: "hidden" }, children: [
4145
- /* @__PURE__ */ jsxRuntime.jsx("div", { style: { padding: "12px 16px", backgroundColor: emailTokens.muted, borderBottom: `1px solid ${emailTokens.border}` }, children: /* @__PURE__ */ jsxRuntime.jsx("p", { style: { fontSize: "10px", fontWeight: "700", color: emailTokens.mutedForeground, textTransform: "uppercase", letterSpacing: "0.1em", margin: 0 }, children: l.paymentDetailsHeading }) }),
4146
- /* @__PURE__ */ jsxRuntime.jsx("table", { style: { width: "100%", fontSize: "14px", borderCollapse: "collapse" }, children: /* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
4147
- /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: { borderBottom: `1px solid ${emailTokens.border}` }, children: [
4148
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", color: emailTokens.mutedForeground }, children: l.depositLabel(depositInfo.depositPercent) }),
4149
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", textAlign: "right", fontWeight: "500", color: emailTokens.foreground, whiteSpace: "nowrap" }, children: depositInfo.depositAmount })
4150
- ] }),
4151
- /* @__PURE__ */ jsxRuntime.jsxs("tr", { style: depositInfo.isPaidInFull ? {} : { borderBottom: `1px solid ${emailTokens.border}` }, children: [
4152
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", color: emailTokens.mutedForeground }, children: l.remainingBalanceLabel }),
4153
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", textAlign: "right", fontWeight: "500", color: emailTokens.foreground, whiteSpace: "nowrap" }, children: depositInfo.remainingAmount })
4154
- ] }),
4155
- !depositInfo.isPaidInFull && /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
4156
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", color: emailTokens.mutedForeground }, children: l.balanceDueLabel }),
4157
- /* @__PURE__ */ jsxRuntime.jsx("td", { style: { padding: "10px 16px", textAlign: "right", fontWeight: "500", color: emailTokens.foreground, whiteSpace: "nowrap" }, children: depositInfo.balanceDueDate })
4158
- ] }),
4159
- depositInfo.isPaidInFull && /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: 2, style: { padding: "12px 16px", textAlign: "center", fontWeight: "600", color: emailTokens.green, backgroundColor: emailTokens.greenBg }, children: l.paidInFullLabel }) })
4160
- ] }) })
4161
- ] })
4780
+ depositInfo && /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: "16px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
4781
+ PaymentDetailsBlock,
4782
+ {
4783
+ labels: { heading: l.paymentDetailsHeading },
4784
+ rows: (() => {
4785
+ const rows = [
4786
+ {
4787
+ label: l.depositLabel(depositInfo.depositPercent),
4788
+ value: depositInfo.depositAmount
4789
+ },
4790
+ {
4791
+ label: l.remainingBalanceLabel,
4792
+ value: depositInfo.remainingAmount
4793
+ }
4794
+ ];
4795
+ if (!depositInfo.isPaidInFull) {
4796
+ rows.push({
4797
+ label: l.balanceDueLabel,
4798
+ value: depositInfo.balanceDueDate
4799
+ });
4800
+ }
4801
+ return rows;
4802
+ })(),
4803
+ footerBanner: depositInfo.isPaidInFull ? { text: l.paidInFullLabel, kind: "success" } : void 0
4804
+ }
4805
+ ) })
4162
4806
  ] }),
4163
4807
  /* @__PURE__ */ jsxRuntime.jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, margin: "0 32px" } }),
4164
4808
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { paddingLeft: "32px", paddingRight: "32px", paddingTop: "32px", paddingBottom: "40px" }, children: isManualFlow ? (
@@ -4175,7 +4819,7 @@ function BookingConfirmation({
4175
4819
  }
4176
4820
  );
4177
4821
  }
4178
- var DEFAULT_LABELS2 = {
4822
+ var DEFAULT_LABELS4 = {
4179
4823
  ctaButton: "Add travellers to your booking",
4180
4824
  logoAlt: "PlanetaEXO",
4181
4825
  greeting: (recipientName) => `Hi ${recipientName},`,
@@ -4208,7 +4852,7 @@ function BookingConfirmationEmail({
4208
4852
  nextStepsImportant,
4209
4853
  directBookingLinkLabel
4210
4854
  }) {
4211
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS2), labels);
4855
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS4), labels);
4212
4856
  const ctaStyle = {
4213
4857
  display: "inline-block",
4214
4858
  backgroundColor: emailTokens.primary,
@@ -4295,7 +4939,7 @@ function BookingConfirmationEmail({
4295
4939
  }
4296
4940
  );
4297
4941
  }
4298
- var DEFAULT_LABELS3 = {
4942
+ var DEFAULT_LABELS5 = {
4299
4943
  logoAlt: "PlanetaEXO",
4300
4944
  greeting: (name) => `Hi ${name},`,
4301
4945
  receiptHeading: "Payment receipt",
@@ -4334,7 +4978,7 @@ function PaymentReceiptEmail({
4334
4978
  labels,
4335
4979
  className
4336
4980
  }) {
4337
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS3), labels);
4981
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS5), labels);
4338
4982
  const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
4339
4983
  const interestRow = chargedAmount && chargedAmount !== amount;
4340
4984
  const receiptRows = [
@@ -4430,8 +5074,24 @@ function PaymentReceiptEmail({
4430
5074
  }
4431
5075
  );
4432
5076
  }
4433
- var EMPTY_AGENT_FN = (_agentName) => "";
4434
- var DEFAULT_LABELS4 = {
5077
+ var INLINE_LINK_STYLE = {
5078
+ color: emailTokens.primary,
5079
+ textDecoration: "underline"
5080
+ };
5081
+ function renderWhatsappLink(contact, label) {
5082
+ if (contact.whatsappUrl) {
5083
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: contact.whatsappUrl, style: INLINE_LINK_STYLE, children: label });
5084
+ }
5085
+ return label;
5086
+ }
5087
+ function renderEmailLink(contact, label) {
5088
+ if (contact.email) {
5089
+ return /* @__PURE__ */ jsxRuntime.jsx("a", { href: `mailto:${contact.email}`, style: INLINE_LINK_STYLE, children: label });
5090
+ }
5091
+ return label;
5092
+ }
5093
+ var EMPTY_CLOSING_ALTERNATIVE = (_agentName, _contact) => null;
5094
+ var DEFAULT_LABELS6 = {
4435
5095
  logoAlt: "PlanetaEXO",
4436
5096
  greeting: (name) => `Hi ${name},`,
4437
5097
  intermediateHello: "Hope you're doing well.",
@@ -4439,38 +5099,64 @@ var DEFAULT_LABELS4 = {
4439
5099
  amountAlreadyPaidLabel: "Amount already paid",
4440
5100
  remainingBalanceDueLabel: "Remaining balance due",
4441
5101
  totalBookingAmountLabel: "Total booking amount",
5102
+ paymentDetailsHeading: "PAYMENT DETAILS",
4442
5103
  ctaLabel: "Complete Payment",
4443
5104
  teamSignature: "The PlanetaEXO Team",
4444
- 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.`,
5105
+ closingAgent: (agentName, contact) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5106
+ "If you need any assistance or would like to discuss your payment, feel free to contact your agent ",
5107
+ agentName,
5108
+ " via ",
5109
+ renderWhatsappLink(contact, "WhatsApp"),
5110
+ " or ",
5111
+ renderEmailLink(contact, "email"),
5112
+ "."
5113
+ ] }),
4445
5114
  closingNoAgent: "If you need any assistance or would like to discuss your payment, feel free to contact us via WhatsApp or email.",
5115
+ adventureCard: {
5116
+ travellersHeading: "TRAVELLERS",
5117
+ detailsHeading: "DETAILS",
5118
+ pricesHeading: "PRICES",
5119
+ subtotalLabel: "Subtotal",
5120
+ travellersCountLabel: (n) => `${n} traveller(s)`,
5121
+ lineItemSeparator: "\xD7",
5122
+ lineItemEquals: "="
5123
+ },
4446
5124
  variants: {
4447
5125
  dMinus1: {
4448
5126
  intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due tomorrow (${d}).`,
4449
5127
  secureLine: "To secure your booking, please complete the payment through your booking page using the button below:",
4450
5128
  closingThanks: "Many thanks, and we look forward to helping you experience your next adventure with us.",
4451
5129
  disregardIfPaid: "",
4452
- closingAlternative: EMPTY_AGENT_FN
5130
+ closingAlternative: EMPTY_CLOSING_ALTERNATIVE
4453
5131
  },
4454
5132
  dZero: {
4455
5133
  intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due today (${d}).`,
4456
5134
  secureLine: "To keep your booking confirmed, please complete the payment through your booking page using the button below:",
4457
5135
  closingThanks: "Many thanks, and we look forward to welcoming you soon.",
4458
5136
  disregardIfPaid: "",
4459
- closingAlternative: EMPTY_AGENT_FN
5137
+ closingAlternative: EMPTY_CLOSING_ALTERNATIVE
4460
5138
  },
4461
5139
  dPlus1: {
4462
5140
  intro: (b, d) => `We noticed that the remaining balance for your booking #${b} with PlanetaEXO was due yesterday (${d}) and is still pending.`,
4463
5141
  secureLine: "To avoid any impact on your booking confirmation, we kindly ask you to complete the payment as soon as possible through your booking page:",
4464
5142
  closingThanks: "Thank you, and we hope to welcome you on your upcoming adventure soon.",
4465
5143
  disregardIfPaid: "If you have already completed the payment, please disregard this message.",
4466
- closingAlternative: EMPTY_AGENT_FN
5144
+ closingAlternative: EMPTY_CLOSING_ALTERNATIVE
4467
5145
  },
4468
5146
  dPlus2: {
4469
5147
  intro: (b, d) => `This is a final reminder regarding the remaining balance for your booking #${b} with PlanetaEXO, which was due on ${d} and is still pending.`,
4470
5148
  secureLine: "To avoid any impact on your booking status or availability, we kindly ask you to complete the payment as soon as possible through your booking page:",
4471
5149
  closingThanks: "Thank you for your attention, and we hope to welcome you on this adventure soon.",
4472
5150
  disregardIfPaid: "If you have already completed the payment, please disregard this message.",
4473
- closingAlternative: (agentName) => `If you are experiencing any issues with payment or need additional time, please contact your agent ${agentName} via WhatsApp or email. We'll be happy to assist.`
5151
+ closingAlternative: (agentName, contact) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5152
+ "If you are experiencing any issues with payment or need additional time, please contact your agent ",
5153
+ agentName,
5154
+ " via ",
5155
+ renderWhatsappLink(contact, "WhatsApp"),
5156
+ " or ",
5157
+ renderEmailLink(contact, "email"),
5158
+ ". We'll be happy to assist."
5159
+ ] })
4474
5160
  }
4475
5161
  }
4476
5162
  };
@@ -4485,13 +5171,14 @@ function PaymentReminderEmail({
4485
5171
  totalBookingAmount,
4486
5172
  viewBookingUrl,
4487
5173
  agentName,
5174
+ agentContactLinks,
4488
5175
  logoUrl,
4489
5176
  labels,
4490
5177
  className
4491
5178
  }) {
4492
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
5179
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s;
4493
5180
  const lOverride = labels != null ? labels : {};
4494
- const variantDefaults = DEFAULT_LABELS4.variants[variant];
5181
+ const variantDefaults = DEFAULT_LABELS6.variants[variant];
4495
5182
  const variantOverride = (_b = (_a = lOverride.variants) == null ? void 0 : _a[variant]) != null ? _b : {};
4496
5183
  const variantLabels = {
4497
5184
  intro: (_c = variantOverride.intro) != null ? _c : variantDefaults.intro,
@@ -4501,17 +5188,19 @@ function PaymentReminderEmail({
4501
5188
  closingAlternative: (_f = variantOverride.closingAlternative) != null ? _f : variantDefaults.closingAlternative
4502
5189
  };
4503
5190
  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
5191
+ logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS6.logoAlt,
5192
+ greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS6.greeting,
5193
+ intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS6.intermediateHello,
5194
+ bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS6.bookingSummaryHeader,
5195
+ amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS6.amountAlreadyPaidLabel,
5196
+ remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS6.remainingBalanceDueLabel,
5197
+ totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS6.totalBookingAmountLabel,
5198
+ paymentDetailsHeading: (_n = lOverride.paymentDetailsHeading) != null ? _n : DEFAULT_LABELS6.paymentDetailsHeading,
5199
+ ctaLabel: (_o = lOverride.ctaLabel) != null ? _o : DEFAULT_LABELS6.ctaLabel,
5200
+ teamSignature: (_p = lOverride.teamSignature) != null ? _p : DEFAULT_LABELS6.teamSignature,
5201
+ closingAgent: (_q = lOverride.closingAgent) != null ? _q : DEFAULT_LABELS6.closingAgent,
5202
+ closingNoAgent: (_r = lOverride.closingNoAgent) != null ? _r : DEFAULT_LABELS6.closingNoAgent,
5203
+ adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS6.adventureCard), (_s = lOverride.adventureCard) != null ? _s : {})
4515
5204
  };
4516
5205
  const ctaStyle = {
4517
5206
  display: "inline-block",
@@ -4524,16 +5213,15 @@ function PaymentReminderEmail({
4524
5213
  textDecoration: "none",
4525
5214
  fontFamily: emailTokens.fontFamily
4526
5215
  };
4527
- const summaryRowStyle = {
4528
- margin: "0 0 8px",
4529
- fontSize: "14px",
4530
- color: emailTokens.foreground
4531
- };
4532
5216
  const agentNameTrimmed = agentName == null ? void 0 : agentName.trim();
4533
- const closingMain = agentNameTrimmed ? l.closingAgent(agentNameTrimmed) : l.closingNoAgent;
5217
+ const contact = agentContactLinks != null ? agentContactLinks : {};
5218
+ let closingMainNode;
5219
+ if (variant === "dPlus2") {
5220
+ closingMainNode = agentNameTrimmed ? variantLabels.closingAlternative(agentNameTrimmed, contact) : l.closingNoAgent;
5221
+ } else {
5222
+ closingMainNode = agentNameTrimmed ? l.closingAgent(agentNameTrimmed, contact) : l.closingNoAgent;
5223
+ }
4534
5224
  const showDisregard = typeof variantLabels.disregardIfPaid === "string" && variantLabels.disregardIfPaid.trim().length > 0;
4535
- const closingAlternativeText = agentNameTrimmed && variantLabels.closingAlternative ? variantLabels.closingAlternative(agentNameTrimmed) : "";
4536
- const showClosingAlternative = closingAlternativeText.trim().length > 0;
4537
5225
  return /* @__PURE__ */ jsxRuntime.jsxs(
4538
5226
  "div",
4539
5227
  {
@@ -4580,75 +5268,53 @@ function PaymentReminderEmail({
4580
5268
  children: l.bookingSummaryHeader
4581
5269
  }
4582
5270
  ),
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",
5271
+ adventures.map((adv, advIdx) => {
5272
+ var _a2;
5273
+ return /* @__PURE__ */ jsxRuntime.jsx(
5274
+ "div",
5275
+ {
5276
+ style: {
5277
+ marginBottom: advIdx < adventures.length - 1 ? "16px" : "20px"
5278
+ },
5279
+ children: /* @__PURE__ */ jsxRuntime.jsx(
5280
+ BookingAdventureCard,
4594
5281
  {
4595
- style: {
4596
- margin: "0 0 8px",
4597
- fontSize: "15px",
4598
- fontWeight: 600,
4599
- color: emailTokens.foreground
4600
- },
4601
- children: adv.name
5282
+ tag: adv.tag,
5283
+ name: adv.name,
5284
+ startDate: (_a2 = adv.startDate) != null ? _a2 : "",
5285
+ endDate: adv.endDate,
5286
+ travellerCount: adv.travellerCount,
5287
+ travellers: adv.travellers,
5288
+ itinerary: adv.itinerary,
5289
+ lineItems: adv.lineItems.map((li) => ({
5290
+ unitPrice: li.unitPrice,
5291
+ quantity: li.quantity,
5292
+ categoryLabel: li.categoryLabel,
5293
+ subtotal: li.subtotal
5294
+ })),
5295
+ subtotal: adv.subtotal,
5296
+ labels: l.adventureCard
4602
5297
  }
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
- )),
4618
- /* @__PURE__ */ jsxRuntime.jsx(
4619
- "hr",
5298
+ )
5299
+ },
5300
+ advIdx
5301
+ );
5302
+ }),
5303
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { marginTop: "8px", marginBottom: "24px" }, children: /* @__PURE__ */ jsxRuntime.jsx(
5304
+ PaymentDetailsBlock,
4620
5305
  {
4621
- style: {
4622
- border: "none",
4623
- borderTop: `1px solid ${emailTokens.border}`,
4624
- marginBottom: "16px"
4625
- }
5306
+ labels: { heading: l.paymentDetailsHeading },
5307
+ rows: [
5308
+ { label: l.amountAlreadyPaidLabel, value: amountAlreadyPaid },
5309
+ {
5310
+ label: l.remainingBalanceDueLabel,
5311
+ value: remainingBalanceDue,
5312
+ emphasis: true
5313
+ },
5314
+ { label: l.totalBookingAmountLabel, value: totalBookingAmount }
5315
+ ]
4626
5316
  }
4627
- ),
4628
- /* @__PURE__ */ jsxRuntime.jsxs("p", { style: summaryRowStyle, children: [
4629
- /* @__PURE__ */ jsxRuntime.jsxs("strong", { children: [
4630
- l.amountAlreadyPaidLabel,
4631
- ":"
4632
- ] }),
4633
- " ",
4634
- amountAlreadyPaid
4635
- ] }),
4636
- /* @__PURE__ */ jsxRuntime.jsxs("p", { style: summaryRowStyle, children: [
4637
- /* @__PURE__ */ jsxRuntime.jsxs("strong", { children: [
4638
- l.remainingBalanceDueLabel,
4639
- ":"
4640
- ] }),
4641
- " ",
4642
- remainingBalanceDue
4643
- ] }),
4644
- /* @__PURE__ */ jsxRuntime.jsxs("p", { style: __spreadProps(__spreadValues({}, summaryRowStyle), { marginBottom: "24px" }), children: [
4645
- /* @__PURE__ */ jsxRuntime.jsxs("strong", { children: [
4646
- l.totalBookingAmountLabel,
4647
- ":"
4648
- ] }),
4649
- " ",
4650
- totalBookingAmount
4651
- ] }),
5317
+ ) }),
4652
5318
  showDisregard && /* @__PURE__ */ jsxRuntime.jsx(
4653
5319
  "p",
4654
5320
  {
@@ -4661,8 +5327,7 @@ function PaymentReminderEmail({
4661
5327
  children: variantLabels.disregardIfPaid
4662
5328
  }
4663
5329
  ),
4664
- showClosingAlternative && /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: closingAlternativeText }),
4665
- /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: closingMain }),
5330
+ /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: closingMainNode }),
4666
5331
  /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: variantLabels.closingThanks }),
4667
5332
  /* @__PURE__ */ jsxRuntime.jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "14px", color: emailTokens.bodyText }, children: l.teamSignature })
4668
5333
  ]
@@ -5349,7 +6014,7 @@ function BookingForm({
5349
6014
  }
5350
6015
  );
5351
6016
  }
5352
- var DEFAULT_LABELS5 = {
6017
+ var DEFAULT_LABELS7 = {
5353
6018
  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
6019
  detailsSectionTitle: "Your details",
5355
6020
  tripInfoSectionTitle: "Trip info",
@@ -6014,7 +6679,7 @@ function RegistrationForm({
6014
6679
  }) {
6015
6680
  var _a;
6016
6681
  const L = React25__namespace.useMemo(
6017
- () => __spreadValues(__spreadValues({}, DEFAULT_LABELS5), labels != null ? labels : {}),
6682
+ () => __spreadValues(__spreadValues({}, DEFAULT_LABELS7), labels != null ? labels : {}),
6018
6683
  [labels]
6019
6684
  );
6020
6685
  const sortedFields = React25__namespace.useMemo(
@@ -10616,6 +11281,7 @@ exports.ActivityCard = ActivityCard;
10616
11281
  exports.AgentContactCard = AgentContactCard;
10617
11282
  exports.Alert = Alert;
10618
11283
  exports.BirthDateField = BirthDateField;
11284
+ exports.BookingAdventureCard = BookingAdventureCard;
10619
11285
  exports.BookingConfirmation = BookingConfirmation;
10620
11286
  exports.BookingConfirmationEmail = BookingConfirmationEmail;
10621
11287
  exports.BookingConfirmedCard = BookingConfirmedCard;
@@ -10649,6 +11315,7 @@ exports.OTPCodeInput = OTPCodeInput;
10649
11315
  exports.Offer = Offer;
10650
11316
  exports.OfferAdventureCard = OfferAdventureCard;
10651
11317
  exports.PaymentAmountSelector = PaymentAmountSelector;
11318
+ exports.PaymentDetailsBlock = PaymentDetailsBlock;
10652
11319
  exports.PaymentMethodSelector = PaymentMethodSelector;
10653
11320
  exports.PaymentModalShell = PaymentModalShell;
10654
11321
  exports.PaymentReceiptEmail = PaymentReceiptEmail;