@planetaexo/design-system 0.23.4 → 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.js CHANGED
@@ -3848,6 +3848,610 @@ ${content}
3848
3848
  </html>`;
3849
3849
  }
3850
3850
  var DEFAULT_LABELS = {
3851
+ travellersHeading: "TRAVELLERS",
3852
+ detailsHeading: "DETAILS",
3853
+ pricesHeading: "PRICES",
3854
+ subtotalLabel: "Subtotal",
3855
+ travellersCountLabel: (n) => `${n} traveller(s)`,
3856
+ lineItemSeparator: "\xD7",
3857
+ lineItemEquals: "=",
3858
+ includedHeading: "O que est\xE1 incluso",
3859
+ notIncludedHeading: "O que n\xE3o est\xE1 incluso",
3860
+ childBadge: "child",
3861
+ adultsUnit: "adult(s)",
3862
+ childrenUnit: "child(ren)"
3863
+ };
3864
+ function BookingAdventureCard({
3865
+ tag,
3866
+ name,
3867
+ startDate,
3868
+ endDate,
3869
+ travellerCount,
3870
+ slots,
3871
+ travellers,
3872
+ itinerary,
3873
+ description,
3874
+ image,
3875
+ imageAlt,
3876
+ location,
3877
+ destination,
3878
+ included,
3879
+ notIncluded,
3880
+ lineItems,
3881
+ subtotal,
3882
+ labels,
3883
+ className
3884
+ }) {
3885
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
3886
+ const l = {
3887
+ travellersHeading: (_a = labels == null ? void 0 : labels.travellersHeading) != null ? _a : DEFAULT_LABELS.travellersHeading,
3888
+ detailsHeading: (_b = labels == null ? void 0 : labels.detailsHeading) != null ? _b : DEFAULT_LABELS.detailsHeading,
3889
+ pricesHeading: (_c = labels == null ? void 0 : labels.pricesHeading) != null ? _c : DEFAULT_LABELS.pricesHeading,
3890
+ subtotalLabel: (_d = labels == null ? void 0 : labels.subtotalLabel) != null ? _d : DEFAULT_LABELS.subtotalLabel,
3891
+ travellersCountLabel: (_e = labels == null ? void 0 : labels.travellersCountLabel) != null ? _e : DEFAULT_LABELS.travellersCountLabel,
3892
+ lineItemSeparator: (_f = labels == null ? void 0 : labels.lineItemSeparator) != null ? _f : DEFAULT_LABELS.lineItemSeparator,
3893
+ lineItemEquals: (_g = labels == null ? void 0 : labels.lineItemEquals) != null ? _g : DEFAULT_LABELS.lineItemEquals,
3894
+ includedHeading: (_h = labels == null ? void 0 : labels.includedHeading) != null ? _h : DEFAULT_LABELS.includedHeading,
3895
+ notIncludedHeading: (_i = labels == null ? void 0 : labels.notIncludedHeading) != null ? _i : DEFAULT_LABELS.notIncludedHeading,
3896
+ childBadge: (_j = labels == null ? void 0 : labels.childBadge) != null ? _j : DEFAULT_LABELS.childBadge,
3897
+ adultsUnit: (_k = labels == null ? void 0 : labels.adultsUnit) != null ? _k : DEFAULT_LABELS.adultsUnit,
3898
+ childrenUnit: (_l = labels == null ? void 0 : labels.childrenUnit) != null ? _l : DEFAULT_LABELS.childrenUnit
3899
+ };
3900
+ const hasTravellers = !!travellers && travellers.length > 0;
3901
+ const hasItinerary = !!itinerary && itinerary.length > 0;
3902
+ const hasDescription = !!description && description.trim().length > 0;
3903
+ const hasIncluded = !!included && included.length > 0;
3904
+ const hasNotIncluded = !!notIncluded && notIncluded.length > 0;
3905
+ const hasLineItems = lineItems.length > 0;
3906
+ const dateRange = endDate ? `${startDate} \u2192 ${endDate}` : startDate;
3907
+ const showSlots = !!slots;
3908
+ const slotsText = showSlots ? [
3909
+ slots.adults ? `${slots.adults} ${l.adultsUnit}` : null,
3910
+ slots.children ? `${slots.children} ${l.childrenUnit}` : null
3911
+ ].filter(Boolean).join(" \xB7 ") : "";
3912
+ const showTravellersCount = !showSlots && typeof travellerCount === "number" && travellerCount > 0;
3913
+ return /* @__PURE__ */ jsxs(
3914
+ "div",
3915
+ {
3916
+ style: {
3917
+ borderRadius: "16px",
3918
+ border: `1px solid ${emailTokens.border}`,
3919
+ backgroundColor: emailTokens.white,
3920
+ overflow: "hidden"
3921
+ },
3922
+ className,
3923
+ children: [
3924
+ image && /* @__PURE__ */ jsx("div", { style: { overflow: "hidden", backgroundColor: emailTokens.muted }, children: /* @__PURE__ */ jsx(
3925
+ "img",
3926
+ {
3927
+ src: image,
3928
+ alt: imageAlt != null ? imageAlt : name,
3929
+ style: { width: "100%", height: "auto", display: "block" }
3930
+ }
3931
+ ) }),
3932
+ /* @__PURE__ */ jsxs("div", { style: { padding: "20px" }, children: [
3933
+ tag && /* @__PURE__ */ jsx("div", { style: { marginBottom: "10px" }, children: /* @__PURE__ */ jsx(
3934
+ "span",
3935
+ {
3936
+ style: {
3937
+ display: "inline-block",
3938
+ backgroundColor: emailTokens.primaryLight,
3939
+ color: emailTokens.primary,
3940
+ padding: "2px 8px",
3941
+ borderRadius: "6px",
3942
+ fontSize: "12px",
3943
+ fontWeight: 600,
3944
+ letterSpacing: "0.05em"
3945
+ },
3946
+ children: tag
3947
+ }
3948
+ ) }),
3949
+ /* @__PURE__ */ jsx(
3950
+ "h3",
3951
+ {
3952
+ style: {
3953
+ fontSize: "20px",
3954
+ fontWeight: 700,
3955
+ color: emailTokens.foreground,
3956
+ lineHeight: "1.3",
3957
+ margin: "0 0 10px 0"
3958
+ },
3959
+ children: name
3960
+ }
3961
+ ),
3962
+ /* @__PURE__ */ jsx(
3963
+ "table",
3964
+ {
3965
+ cellPadding: 0,
3966
+ cellSpacing: 0,
3967
+ style: { borderCollapse: "collapse", marginBottom: "10px" },
3968
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
3969
+ /* @__PURE__ */ jsx(
3970
+ "td",
3971
+ {
3972
+ style: {
3973
+ verticalAlign: "middle",
3974
+ paddingRight: "6px",
3975
+ width: "16px"
3976
+ },
3977
+ children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F4C5}" })
3978
+ }
3979
+ ),
3980
+ /* @__PURE__ */ jsx(
3981
+ "td",
3982
+ {
3983
+ style: {
3984
+ verticalAlign: "middle",
3985
+ fontSize: "14px",
3986
+ color: emailTokens.mutedForeground,
3987
+ lineHeight: "1"
3988
+ },
3989
+ children: dateRange
3990
+ }
3991
+ )
3992
+ ] }) })
3993
+ }
3994
+ ),
3995
+ location && /* @__PURE__ */ jsx(
3996
+ "table",
3997
+ {
3998
+ cellPadding: 0,
3999
+ cellSpacing: 0,
4000
+ style: { borderCollapse: "collapse", marginBottom: "10px" },
4001
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4002
+ /* @__PURE__ */ jsx(
4003
+ "td",
4004
+ {
4005
+ style: {
4006
+ verticalAlign: "middle",
4007
+ paddingRight: "6px",
4008
+ width: "16px"
4009
+ },
4010
+ children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F4CD}" })
4011
+ }
4012
+ ),
4013
+ /* @__PURE__ */ jsx(
4014
+ "td",
4015
+ {
4016
+ style: {
4017
+ verticalAlign: "middle",
4018
+ fontSize: "14px",
4019
+ color: emailTokens.mutedForeground,
4020
+ lineHeight: "1"
4021
+ },
4022
+ children: location
4023
+ }
4024
+ )
4025
+ ] }) })
4026
+ }
4027
+ ),
4028
+ showSlots && slotsText && /* @__PURE__ */ jsx(
4029
+ "table",
4030
+ {
4031
+ cellPadding: 0,
4032
+ cellSpacing: 0,
4033
+ style: { borderCollapse: "collapse", marginBottom: "10px" },
4034
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4035
+ /* @__PURE__ */ jsx(
4036
+ "td",
4037
+ {
4038
+ style: {
4039
+ verticalAlign: "middle",
4040
+ paddingRight: "6px",
4041
+ width: "16px"
4042
+ },
4043
+ children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F465}" })
4044
+ }
4045
+ ),
4046
+ /* @__PURE__ */ jsx(
4047
+ "td",
4048
+ {
4049
+ style: {
4050
+ verticalAlign: "middle",
4051
+ fontSize: "14px",
4052
+ color: emailTokens.mutedForeground,
4053
+ lineHeight: "1"
4054
+ },
4055
+ children: slotsText
4056
+ }
4057
+ )
4058
+ ] }) })
4059
+ }
4060
+ ),
4061
+ showTravellersCount && /* @__PURE__ */ jsx(
4062
+ "table",
4063
+ {
4064
+ cellPadding: 0,
4065
+ cellSpacing: 0,
4066
+ style: { borderCollapse: "collapse", marginBottom: "10px" },
4067
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4068
+ /* @__PURE__ */ jsx(
4069
+ "td",
4070
+ {
4071
+ style: {
4072
+ verticalAlign: "middle",
4073
+ paddingRight: "6px",
4074
+ width: "16px"
4075
+ },
4076
+ children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F465}" })
4077
+ }
4078
+ ),
4079
+ /* @__PURE__ */ jsx(
4080
+ "td",
4081
+ {
4082
+ style: {
4083
+ verticalAlign: "middle",
4084
+ fontSize: "14px",
4085
+ color: emailTokens.mutedForeground,
4086
+ lineHeight: "1"
4087
+ },
4088
+ children: l.travellersCountLabel(travellerCount)
4089
+ }
4090
+ )
4091
+ ] }) })
4092
+ }
4093
+ ),
4094
+ destination && /* @__PURE__ */ jsx(
4095
+ "table",
4096
+ {
4097
+ cellPadding: 0,
4098
+ cellSpacing: 0,
4099
+ style: { borderCollapse: "collapse", marginBottom: "10px" },
4100
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4101
+ /* @__PURE__ */ jsx(
4102
+ "td",
4103
+ {
4104
+ style: {
4105
+ verticalAlign: "middle",
4106
+ paddingRight: "6px",
4107
+ width: "16px"
4108
+ },
4109
+ children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F9ED}" })
4110
+ }
4111
+ ),
4112
+ /* @__PURE__ */ jsx(
4113
+ "td",
4114
+ {
4115
+ style: {
4116
+ verticalAlign: "middle",
4117
+ fontSize: "14px",
4118
+ color: emailTokens.mutedForeground,
4119
+ lineHeight: "1"
4120
+ },
4121
+ children: destination
4122
+ }
4123
+ )
4124
+ ] }) })
4125
+ }
4126
+ ),
4127
+ hasTravellers && /* @__PURE__ */ jsxs("div", { style: { marginTop: "4px" }, children: [
4128
+ /* @__PURE__ */ jsx(
4129
+ "hr",
4130
+ {
4131
+ style: {
4132
+ border: "none",
4133
+ borderTop: `1px solid ${emailTokens.border}`,
4134
+ marginBottom: "10px"
4135
+ }
4136
+ }
4137
+ ),
4138
+ /* @__PURE__ */ jsx(
4139
+ "p",
4140
+ {
4141
+ style: {
4142
+ fontSize: "10px",
4143
+ fontWeight: 700,
4144
+ color: emailTokens.mutedForeground,
4145
+ textTransform: "uppercase",
4146
+ letterSpacing: "0.1em",
4147
+ margin: "0 0 8px 0"
4148
+ },
4149
+ children: l.travellersHeading
4150
+ }
4151
+ ),
4152
+ travellers.map((tr, i) => {
4153
+ var _a2;
4154
+ const isObj = typeof tr === "object";
4155
+ const fullName = isObj ? tr.fullName : tr;
4156
+ const isChild = isObj && tr.isChild === true;
4157
+ const childLabel = isObj ? (_a2 = tr.childBadgeLabel) != null ? _a2 : l.childBadge : l.childBadge;
4158
+ return /* @__PURE__ */ jsx(
4159
+ "table",
4160
+ {
4161
+ cellPadding: 0,
4162
+ cellSpacing: 0,
4163
+ style: {
4164
+ borderCollapse: "collapse",
4165
+ width: "100%",
4166
+ marginBottom: "6px"
4167
+ },
4168
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4169
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle" }, children: /* @__PURE__ */ jsx(
4170
+ "span",
4171
+ {
4172
+ style: {
4173
+ fontSize: "14px",
4174
+ fontWeight: 500,
4175
+ color: emailTokens.foreground
4176
+ },
4177
+ children: fullName
4178
+ }
4179
+ ) }),
4180
+ isChild && /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", textAlign: "right" }, children: /* @__PURE__ */ jsx(
4181
+ "span",
4182
+ {
4183
+ style: {
4184
+ fontSize: "10px",
4185
+ fontWeight: 600,
4186
+ color: emailTokens.mutedForeground,
4187
+ backgroundColor: emailTokens.muted,
4188
+ borderRadius: "9999px",
4189
+ padding: "2px 8px",
4190
+ textTransform: "uppercase",
4191
+ letterSpacing: "0.05em"
4192
+ },
4193
+ children: childLabel
4194
+ }
4195
+ ) })
4196
+ ] }) })
4197
+ },
4198
+ i
4199
+ );
4200
+ })
4201
+ ] }),
4202
+ (hasDescription || hasItinerary) && /* @__PURE__ */ jsxs("div", { style: { marginTop: "4px" }, children: [
4203
+ /* @__PURE__ */ jsx(
4204
+ "hr",
4205
+ {
4206
+ style: {
4207
+ border: "none",
4208
+ borderTop: `1px solid ${emailTokens.border}`,
4209
+ marginBottom: "10px"
4210
+ }
4211
+ }
4212
+ ),
4213
+ /* @__PURE__ */ jsx(
4214
+ "p",
4215
+ {
4216
+ style: {
4217
+ fontSize: "10px",
4218
+ fontWeight: 700,
4219
+ color: emailTokens.mutedForeground,
4220
+ textTransform: "uppercase",
4221
+ letterSpacing: "0.1em",
4222
+ margin: "0 0 8px 0"
4223
+ },
4224
+ children: l.detailsHeading
4225
+ }
4226
+ ),
4227
+ hasDescription ? /* @__PURE__ */ jsx(
4228
+ "div",
4229
+ {
4230
+ style: {
4231
+ fontSize: "14px",
4232
+ color: emailTokens.bodyText,
4233
+ lineHeight: "1.4",
4234
+ margin: 0
4235
+ },
4236
+ dangerouslySetInnerHTML: { __html: description }
4237
+ }
4238
+ ) : itinerary.map((line, i) => /* @__PURE__ */ jsx(
4239
+ "p",
4240
+ {
4241
+ style: {
4242
+ fontSize: "14px",
4243
+ color: emailTokens.bodyText,
4244
+ lineHeight: "1.4",
4245
+ margin: "0 0 6px 0"
4246
+ },
4247
+ children: line
4248
+ },
4249
+ i
4250
+ ))
4251
+ ] }),
4252
+ hasIncluded && /* @__PURE__ */ jsxs("div", { style: { marginTop: "10px" }, children: [
4253
+ /* @__PURE__ */ jsx(
4254
+ "h4",
4255
+ {
4256
+ style: {
4257
+ fontSize: "14px",
4258
+ fontWeight: 700,
4259
+ color: emailTokens.foreground,
4260
+ margin: "0 0 8px 0"
4261
+ },
4262
+ children: l.includedHeading
4263
+ }
4264
+ ),
4265
+ included.map((item, i) => /* @__PURE__ */ jsx(
4266
+ "table",
4267
+ {
4268
+ cellPadding: 0,
4269
+ cellSpacing: 0,
4270
+ style: {
4271
+ borderCollapse: "collapse",
4272
+ width: "100%",
4273
+ marginBottom: "6px"
4274
+ },
4275
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4276
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsx(
4277
+ "span",
4278
+ {
4279
+ style: {
4280
+ display: "inline-block",
4281
+ fontSize: "14px",
4282
+ color: emailTokens.primary,
4283
+ lineHeight: "1.2",
4284
+ fontWeight: 700
4285
+ },
4286
+ children: "\u2713"
4287
+ }
4288
+ ) }),
4289
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4290
+ ] }) })
4291
+ },
4292
+ i
4293
+ ))
4294
+ ] }),
4295
+ hasNotIncluded && /* @__PURE__ */ jsxs("div", { style: { marginTop: "10px" }, children: [
4296
+ /* @__PURE__ */ jsx(
4297
+ "h4",
4298
+ {
4299
+ style: {
4300
+ fontSize: "14px",
4301
+ fontWeight: 700,
4302
+ color: emailTokens.foreground,
4303
+ margin: "0 0 8px 0"
4304
+ },
4305
+ children: l.notIncludedHeading
4306
+ }
4307
+ ),
4308
+ notIncluded.map((item, i) => /* @__PURE__ */ jsx(
4309
+ "table",
4310
+ {
4311
+ cellPadding: 0,
4312
+ cellSpacing: 0,
4313
+ style: {
4314
+ borderCollapse: "collapse",
4315
+ width: "100%",
4316
+ marginBottom: "6px"
4317
+ },
4318
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4319
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsx(
4320
+ "span",
4321
+ {
4322
+ style: {
4323
+ display: "inline-block",
4324
+ fontSize: "14px",
4325
+ color: emailTokens.destructive,
4326
+ lineHeight: "1.2",
4327
+ fontWeight: 700
4328
+ },
4329
+ children: "\u2717"
4330
+ }
4331
+ ) }),
4332
+ /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4333
+ ] }) })
4334
+ },
4335
+ i
4336
+ ))
4337
+ ] }),
4338
+ hasLineItems && /* @__PURE__ */ jsxs("div", { style: { marginTop: "4px" }, children: [
4339
+ /* @__PURE__ */ jsx(
4340
+ "hr",
4341
+ {
4342
+ style: {
4343
+ border: "none",
4344
+ borderTop: `1px solid ${emailTokens.border}`,
4345
+ marginBottom: "10px"
4346
+ }
4347
+ }
4348
+ ),
4349
+ /* @__PURE__ */ jsx(
4350
+ "p",
4351
+ {
4352
+ style: {
4353
+ fontSize: "10px",
4354
+ fontWeight: 700,
4355
+ color: emailTokens.mutedForeground,
4356
+ textTransform: "uppercase",
4357
+ letterSpacing: "0.1em",
4358
+ margin: "0 0 8px 0"
4359
+ },
4360
+ children: l.pricesHeading
4361
+ }
4362
+ ),
4363
+ lineItems.map((li, j) => {
4364
+ var _a2, _b2, _c2;
4365
+ const useLabel = typeof li.label === "string" && li.label.length > 0;
4366
+ const valueText = li.subtotal;
4367
+ const rightStyle = {
4368
+ verticalAlign: "middle",
4369
+ textAlign: "right",
4370
+ fontSize: "14px",
4371
+ fontWeight: 500,
4372
+ whiteSpace: "nowrap",
4373
+ color: li.isDiscount ? emailTokens.green : emailTokens.foreground
4374
+ };
4375
+ return /* @__PURE__ */ jsx(
4376
+ "table",
4377
+ {
4378
+ cellPadding: 0,
4379
+ cellSpacing: 0,
4380
+ style: {
4381
+ borderCollapse: "collapse",
4382
+ width: "100%",
4383
+ marginBottom: "4px"
4384
+ },
4385
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4386
+ /* @__PURE__ */ jsx(
4387
+ "td",
4388
+ {
4389
+ style: {
4390
+ verticalAlign: "middle",
4391
+ fontSize: "14px",
4392
+ color: emailTokens.mutedForeground
4393
+ },
4394
+ children: useLabel ? li.label : `${(_a2 = li.unitPrice) != null ? _a2 : ""} ${l.lineItemSeparator} ${(_b2 = li.quantity) != null ? _b2 : ""} ${(_c2 = li.categoryLabel) != null ? _c2 : ""} ${l.lineItemEquals}`
4395
+ }
4396
+ ),
4397
+ /* @__PURE__ */ jsxs("td", { style: rightStyle, children: [
4398
+ li.isDiscount ? "\u2212" : "",
4399
+ valueText
4400
+ ] })
4401
+ ] }) })
4402
+ },
4403
+ j
4404
+ );
4405
+ }),
4406
+ subtotal && /* @__PURE__ */ jsx(
4407
+ "table",
4408
+ {
4409
+ cellPadding: 0,
4410
+ cellSpacing: 0,
4411
+ style: {
4412
+ borderCollapse: "collapse",
4413
+ width: "100%",
4414
+ paddingTop: "8px",
4415
+ marginTop: "4px",
4416
+ borderTop: `1px solid ${emailTokens.border}`
4417
+ },
4418
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4419
+ /* @__PURE__ */ jsx(
4420
+ "td",
4421
+ {
4422
+ style: {
4423
+ verticalAlign: "middle",
4424
+ fontSize: "14px",
4425
+ fontWeight: 700,
4426
+ color: emailTokens.foreground
4427
+ },
4428
+ children: l.subtotalLabel
4429
+ }
4430
+ ),
4431
+ /* @__PURE__ */ jsx(
4432
+ "td",
4433
+ {
4434
+ style: {
4435
+ verticalAlign: "middle",
4436
+ textAlign: "right",
4437
+ fontSize: "14px",
4438
+ fontWeight: 700,
4439
+ color: emailTokens.foreground,
4440
+ whiteSpace: "nowrap"
4441
+ },
4442
+ children: subtotal
4443
+ }
4444
+ )
4445
+ ] }) })
4446
+ }
4447
+ )
4448
+ ] })
4449
+ ] })
4450
+ ]
4451
+ }
4452
+ );
4453
+ }
4454
+ var DEFAULT_LABELS2 = {
3851
4455
  ctaButton: "View booking details",
3852
4456
  logoAlt: "PlanetaEXO",
3853
4457
  greeting: (recipientName) => `Hi ${recipientName},`,
@@ -3899,7 +4503,7 @@ function BookingConfirmation({
3899
4503
  className,
3900
4504
  flow = "auto"
3901
4505
  }) {
3902
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS), labels);
4506
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS2), labels);
3903
4507
  const allTravellers = adventures.flatMap((a) => {
3904
4508
  var _a;
3905
4509
  return (_a = a.travellers) != null ? _a : [];
@@ -3987,115 +4591,57 @@ function BookingConfirmation({
3987
4591
  ] }),
3988
4592
  /* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, margin: "0 32px" } }),
3989
4593
  /* @__PURE__ */ jsx("div", { style: { paddingLeft: "32px", paddingRight: "32px", paddingTop: "32px", paddingBottom: "32px" }, children: adventures.map((adventure, adIdx) => {
3990
- var _a, _b, _c, _d, _e;
3991
- return /* @__PURE__ */ jsxs(
4594
+ var _a, _b, _c, _d;
4595
+ const locationToPass = adventure.location && !adventure.destinationName ? adventure.location : void 0;
4596
+ const destinationToPass = (_a = adventure.destinationName) != null ? _a : adventure.partner;
4597
+ const tagToPass = (_b = adventure.code) != null ? _b : adventure.reference;
4598
+ const travellersToPass = (_c = adventure.travellers) == null ? void 0 : _c.map((tr) => ({
4599
+ fullName: `${tr.firstName} ${tr.lastName}`,
4600
+ isChild: tr.isChild,
4601
+ childBadgeLabel: l.childBadge
4602
+ }));
4603
+ const lineItemsToPass = ((_d = adventure.lineItems) != null ? _d : []).map((it) => ({
4604
+ label: it.label,
4605
+ subtotal: it.price,
4606
+ isDiscount: it.isDiscount
4607
+ }));
4608
+ return /* @__PURE__ */ jsx(
3992
4609
  "div",
3993
4610
  {
3994
4611
  style: {
3995
- borderRadius: "16px",
3996
- border: `1px solid ${emailTokens.border}`,
3997
- backgroundColor: emailTokens.white,
3998
- overflow: "hidden",
3999
4612
  marginBottom: adIdx < adventures.length - 1 ? "24px" : "0"
4000
4613
  },
4001
- children: [
4002
- adventure.image && /* @__PURE__ */ jsx("div", { style: { overflow: "hidden", backgroundColor: emailTokens.muted }, children: /* @__PURE__ */ jsx(
4003
- "img",
4004
- {
4005
- src: adventure.image,
4006
- alt: (_a = adventure.imageAlt) != null ? _a : adventure.title,
4007
- style: { width: "100%", height: "auto", display: "block" }
4614
+ children: /* @__PURE__ */ jsx(
4615
+ BookingAdventureCard,
4616
+ {
4617
+ tag: tagToPass,
4618
+ name: adventure.title,
4619
+ startDate: adventure.dateFrom,
4620
+ endDate: adventure.dateTo,
4621
+ slots: adventure.slots,
4622
+ travellers: travellersToPass,
4623
+ description: adventure.description,
4624
+ image: adventure.image,
4625
+ imageAlt: adventure.imageAlt,
4626
+ location: locationToPass,
4627
+ destination: destinationToPass,
4628
+ included: adventure.included,
4629
+ notIncluded: adventure.notIncluded,
4630
+ lineItems: lineItemsToPass,
4631
+ subtotal: adventure.subtotal,
4632
+ labels: {
4633
+ travellersHeading: l.travellersLabel,
4634
+ detailsHeading: l.itineraryLabel,
4635
+ pricesHeading: l.pricingLabel,
4636
+ subtotalLabel: l.subtotalLabel,
4637
+ includedHeading: l.includedLabel,
4638
+ notIncludedHeading: l.notIncludedLabel,
4639
+ childBadge: l.childBadge,
4640
+ adultsUnit: l.adultsUnit,
4641
+ childrenUnit: l.childrenUnit
4008
4642
  }
4009
- ) }),
4010
- /* @__PURE__ */ jsxs("div", { style: { padding: "20px" }, children: [
4011
- ((_b = adventure.code) != null ? _b : adventure.reference) && /* @__PURE__ */ jsx("div", { style: { marginBottom: "10px" }, children: /* @__PURE__ */ jsx("span", { style: {
4012
- display: "inline-block",
4013
- backgroundColor: emailTokens.primaryLight,
4014
- color: emailTokens.primary,
4015
- padding: "2px 8px",
4016
- borderRadius: "6px",
4017
- fontSize: "12px",
4018
- fontWeight: "600",
4019
- letterSpacing: "0.05em"
4020
- }, children: (_c = adventure.code) != null ? _c : adventure.reference }) }),
4021
- /* @__PURE__ */ jsx("h3", { style: { fontSize: "20px", fontWeight: "700", color: emailTokens.foreground, lineHeight: "1.3", margin: "0 0 10px 0" }, children: adventure.title }),
4022
- /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4023
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F4C5}" }) }),
4024
- /* @__PURE__ */ jsxs("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: [
4025
- adventure.dateFrom,
4026
- " \u2192 ",
4027
- adventure.dateTo
4028
- ] })
4029
- ] }) }) }),
4030
- adventure.location && !adventure.destinationName && /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4031
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F4CD}" }) }),
4032
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: adventure.location })
4033
- ] }) }) }),
4034
- adventure.slots && /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4035
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F465}" }) }),
4036
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: [
4037
- adventure.slots.adults ? `${adventure.slots.adults} ${l.adultsUnit}` : null,
4038
- adventure.slots.children ? `${adventure.slots.children} ${l.childrenUnit}` : null
4039
- ].filter(Boolean).join(" \xB7 ") })
4040
- ] }) }) }),
4041
- ((_d = adventure.destinationName) != null ? _d : adventure.partner) && /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", marginBottom: "10px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4042
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", paddingRight: "6px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", lineHeight: "1" }, children: "\u{1F9ED}" }) }),
4043
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground, lineHeight: "1" }, children: (_e = adventure.destinationName) != null ? _e : adventure.partner })
4044
- ] }) }) }),
4045
- adventure.travellers && adventure.travellers.length > 0 && /* @__PURE__ */ jsxs("div", { style: { marginTop: "4px" }, children: [
4046
- /* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "10px" } }),
4047
- /* @__PURE__ */ jsx("p", { style: { fontSize: "10px", fontWeight: "700", color: emailTokens.mutedForeground, textTransform: "uppercase", letterSpacing: "0.1em", margin: "0 0 8px 0" }, children: l.travellersLabel }),
4048
- adventure.travellers.map((traveller) => /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: "6px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4049
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle" }, children: /* @__PURE__ */ jsxs("span", { style: { fontSize: "14px", fontWeight: "500", color: emailTokens.foreground }, children: [
4050
- traveller.firstName,
4051
- " ",
4052
- traveller.lastName
4053
- ] }) }),
4054
- traveller.isChild && /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", textAlign: "right" }, children: /* @__PURE__ */ 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 }) })
4055
- ] }) }) }, traveller.id))
4056
- ] }),
4057
- adventure.description && /* @__PURE__ */ jsxs("div", { style: { marginTop: "4px" }, children: [
4058
- /* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "10px" } }),
4059
- /* @__PURE__ */ jsx("p", { style: { fontSize: "10px", fontWeight: "700", color: emailTokens.mutedForeground, textTransform: "uppercase", letterSpacing: "0.1em", margin: "0 0 8px 0" }, children: l.itineraryLabel }),
4060
- /* @__PURE__ */ jsx(
4061
- "div",
4062
- {
4063
- style: { fontSize: "14px", color: emailTokens.bodyText, lineHeight: "1.4", margin: 0 },
4064
- dangerouslySetInnerHTML: { __html: adventure.description }
4065
- }
4066
- )
4067
- ] }),
4068
- adventure.included && adventure.included.length > 0 && /* @__PURE__ */ jsxs("div", { style: { marginTop: "10px" }, children: [
4069
- /* @__PURE__ */ jsx("h4", { style: { fontSize: "14px", fontWeight: "700", color: emailTokens.foreground, margin: "0 0 8px 0" }, children: l.includedLabel }),
4070
- adventure.included.map((item, i) => /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: "6px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4071
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", color: emailTokens.primary, lineHeight: "1.2", fontWeight: 700 }, children: "\u2713" }) }),
4072
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4073
- ] }) }) }, i))
4074
- ] }),
4075
- adventure.notIncluded && adventure.notIncluded.length > 0 && /* @__PURE__ */ jsxs("div", { style: { marginTop: "10px" }, children: [
4076
- /* @__PURE__ */ jsx("h4", { style: { fontSize: "14px", fontWeight: "700", color: emailTokens.foreground, margin: "0 0 8px 0" }, children: l.notIncludedLabel }),
4077
- adventure.notIncluded.map((item, i) => /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: "6px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4078
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", paddingRight: "8px", width: "16px" }, children: /* @__PURE__ */ jsx("span", { style: { display: "inline-block", fontSize: "14px", color: emailTokens.destructive, lineHeight: "1.2", fontWeight: 700 }, children: "\u2717" }) }),
4079
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "top", fontSize: "14px", color: emailTokens.bodyText }, children: item })
4080
- ] }) }) }, i))
4081
- ] }),
4082
- adventure.lineItems && adventure.lineItems.length > 0 && /* @__PURE__ */ jsxs("div", { style: { marginTop: "4px" }, children: [
4083
- /* @__PURE__ */ jsx("hr", { style: { border: "none", borderTop: `1px solid ${emailTokens.border}`, marginBottom: "10px" } }),
4084
- /* @__PURE__ */ jsx("p", { style: { fontSize: "10px", fontWeight: "700", color: emailTokens.mutedForeground, textTransform: "uppercase", letterSpacing: "0.1em", margin: "0 0 8px 0" }, children: l.pricingLabel }),
4085
- adventure.lineItems.map((item, j) => /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", marginBottom: "4px" }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4086
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", color: emailTokens.mutedForeground }, children: item.label }),
4087
- /* @__PURE__ */ jsxs("td", { style: { verticalAlign: "middle", textAlign: "right", fontSize: "14px", fontWeight: "500", whiteSpace: "nowrap", color: item.isDiscount ? emailTokens.green : emailTokens.foreground }, children: [
4088
- item.isDiscount ? "\u2212" : "",
4089
- item.price
4090
- ] })
4091
- ] }) }) }, j)),
4092
- adventure.subtotal && /* @__PURE__ */ jsx("table", { cellPadding: "0", cellSpacing: "0", style: { borderCollapse: "collapse", width: "100%", paddingTop: "8px", marginTop: "4px", borderTop: `1px solid ${emailTokens.border}` }, children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsxs("tr", { children: [
4093
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", fontSize: "14px", fontWeight: "700", color: emailTokens.foreground }, children: l.subtotalLabel }),
4094
- /* @__PURE__ */ jsx("td", { style: { verticalAlign: "middle", textAlign: "right", fontSize: "14px", fontWeight: "700", color: emailTokens.foreground, whiteSpace: "nowrap" }, children: adventure.subtotal })
4095
- ] }) }) })
4096
- ] })
4097
- ] })
4098
- ]
4643
+ }
4644
+ )
4099
4645
  },
4100
4646
  adventure.id
4101
4647
  );
@@ -4154,7 +4700,7 @@ function BookingConfirmation({
4154
4700
  }
4155
4701
  );
4156
4702
  }
4157
- var DEFAULT_LABELS2 = {
4703
+ var DEFAULT_LABELS3 = {
4158
4704
  ctaButton: "Add travellers to your booking",
4159
4705
  logoAlt: "PlanetaEXO",
4160
4706
  greeting: (recipientName) => `Hi ${recipientName},`,
@@ -4187,7 +4733,7 @@ function BookingConfirmationEmail({
4187
4733
  nextStepsImportant,
4188
4734
  directBookingLinkLabel
4189
4735
  }) {
4190
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS2), labels);
4736
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS3), labels);
4191
4737
  const ctaStyle = {
4192
4738
  display: "inline-block",
4193
4739
  backgroundColor: emailTokens.primary,
@@ -4274,7 +4820,7 @@ function BookingConfirmationEmail({
4274
4820
  }
4275
4821
  );
4276
4822
  }
4277
- var DEFAULT_LABELS3 = {
4823
+ var DEFAULT_LABELS4 = {
4278
4824
  logoAlt: "PlanetaEXO",
4279
4825
  greeting: (name) => `Hi ${name},`,
4280
4826
  receiptHeading: "Payment receipt",
@@ -4313,7 +4859,7 @@ function PaymentReceiptEmail({
4313
4859
  labels,
4314
4860
  className
4315
4861
  }) {
4316
- const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS3), labels);
4862
+ const l = __spreadValues(__spreadValues({}, DEFAULT_LABELS4), labels);
4317
4863
  const travellersLine = travellers.filter((s) => s.trim().length > 0).join(", ");
4318
4864
  const interestRow = chargedAmount && chargedAmount !== amount;
4319
4865
  const receiptRows = [
@@ -4409,6 +4955,252 @@ function PaymentReceiptEmail({
4409
4955
  }
4410
4956
  );
4411
4957
  }
4958
+ var EMPTY_AGENT_FN = (_agentName) => "";
4959
+ var DEFAULT_LABELS5 = {
4960
+ logoAlt: "PlanetaEXO",
4961
+ greeting: (name) => `Hi ${name},`,
4962
+ intermediateHello: "Hope you're doing well.",
4963
+ bookingSummaryHeader: "Booking summary",
4964
+ amountAlreadyPaidLabel: "Amount already paid",
4965
+ remainingBalanceDueLabel: "Remaining balance due",
4966
+ totalBookingAmountLabel: "Total booking amount",
4967
+ ctaLabel: "Complete Payment",
4968
+ teamSignature: "The PlanetaEXO Team",
4969
+ 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.`,
4970
+ closingNoAgent: "If you need any assistance or would like to discuss your payment, feel free to contact us via WhatsApp or email.",
4971
+ adventureCard: {
4972
+ travellersHeading: "TRAVELLERS",
4973
+ detailsHeading: "DETAILS",
4974
+ pricesHeading: "PRICES",
4975
+ subtotalLabel: "Subtotal",
4976
+ travellersCountLabel: (n) => `${n} traveller(s)`,
4977
+ lineItemSeparator: "\xD7",
4978
+ lineItemEquals: "="
4979
+ },
4980
+ variants: {
4981
+ dMinus1: {
4982
+ intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due tomorrow (${d}).`,
4983
+ secureLine: "To secure your booking, please complete the payment through your booking page using the button below:",
4984
+ closingThanks: "Many thanks, and we look forward to helping you experience your next adventure with us.",
4985
+ disregardIfPaid: "",
4986
+ closingAlternative: EMPTY_AGENT_FN
4987
+ },
4988
+ dZero: {
4989
+ intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due today (${d}).`,
4990
+ secureLine: "To keep your booking confirmed, please complete the payment through your booking page using the button below:",
4991
+ closingThanks: "Many thanks, and we look forward to welcoming you soon.",
4992
+ disregardIfPaid: "",
4993
+ closingAlternative: EMPTY_AGENT_FN
4994
+ },
4995
+ dPlus1: {
4996
+ intro: (b, d) => `We noticed that the remaining balance for your booking #${b} with PlanetaEXO was due yesterday (${d}) and is still pending.`,
4997
+ 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:",
4998
+ closingThanks: "Thank you, and we hope to welcome you on your upcoming adventure soon.",
4999
+ disregardIfPaid: "If you have already completed the payment, please disregard this message.",
5000
+ closingAlternative: EMPTY_AGENT_FN
5001
+ },
5002
+ dPlus2: {
5003
+ 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.`,
5004
+ 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:",
5005
+ closingThanks: "Thank you for your attention, and we hope to welcome you on this adventure soon.",
5006
+ disregardIfPaid: "If you have already completed the payment, please disregard this message.",
5007
+ 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.`
5008
+ }
5009
+ }
5010
+ };
5011
+ function PaymentReminderEmail({
5012
+ variant,
5013
+ recipientName,
5014
+ bookingNumber,
5015
+ balanceDueDate,
5016
+ adventures,
5017
+ amountAlreadyPaid,
5018
+ remainingBalanceDue,
5019
+ totalBookingAmount,
5020
+ viewBookingUrl,
5021
+ agentName,
5022
+ logoUrl,
5023
+ labels,
5024
+ className
5025
+ }) {
5026
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
5027
+ const lOverride = labels != null ? labels : {};
5028
+ const variantDefaults = DEFAULT_LABELS5.variants[variant];
5029
+ const variantOverride = (_b = (_a = lOverride.variants) == null ? void 0 : _a[variant]) != null ? _b : {};
5030
+ const variantLabels = {
5031
+ intro: (_c = variantOverride.intro) != null ? _c : variantDefaults.intro,
5032
+ secureLine: (_d = variantOverride.secureLine) != null ? _d : variantDefaults.secureLine,
5033
+ closingThanks: (_e = variantOverride.closingThanks) != null ? _e : variantDefaults.closingThanks,
5034
+ disregardIfPaid: variantOverride.disregardIfPaid !== void 0 ? variantOverride.disregardIfPaid : variantDefaults.disregardIfPaid,
5035
+ closingAlternative: (_f = variantOverride.closingAlternative) != null ? _f : variantDefaults.closingAlternative
5036
+ };
5037
+ const l = {
5038
+ logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS5.logoAlt,
5039
+ greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS5.greeting,
5040
+ intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS5.intermediateHello,
5041
+ bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS5.bookingSummaryHeader,
5042
+ amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS5.amountAlreadyPaidLabel,
5043
+ remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS5.remainingBalanceDueLabel,
5044
+ totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS5.totalBookingAmountLabel,
5045
+ ctaLabel: (_n = lOverride.ctaLabel) != null ? _n : DEFAULT_LABELS5.ctaLabel,
5046
+ teamSignature: (_o = lOverride.teamSignature) != null ? _o : DEFAULT_LABELS5.teamSignature,
5047
+ closingAgent: (_p = lOverride.closingAgent) != null ? _p : DEFAULT_LABELS5.closingAgent,
5048
+ closingNoAgent: (_q = lOverride.closingNoAgent) != null ? _q : DEFAULT_LABELS5.closingNoAgent,
5049
+ adventureCard: __spreadValues(__spreadValues({}, DEFAULT_LABELS5.adventureCard), (_r = lOverride.adventureCard) != null ? _r : {})
5050
+ };
5051
+ const ctaStyle = {
5052
+ display: "inline-block",
5053
+ backgroundColor: emailTokens.primary,
5054
+ color: emailTokens.primaryForeground,
5055
+ padding: "12px 24px",
5056
+ borderRadius: "8px",
5057
+ fontSize: "14px",
5058
+ fontWeight: 700,
5059
+ textDecoration: "none",
5060
+ fontFamily: emailTokens.fontFamily
5061
+ };
5062
+ const summaryRowStyle = {
5063
+ margin: "0 0 8px",
5064
+ fontSize: "14px",
5065
+ color: emailTokens.foreground
5066
+ };
5067
+ const agentNameTrimmed = agentName == null ? void 0 : agentName.trim();
5068
+ const closingMain = agentNameTrimmed ? l.closingAgent(agentNameTrimmed) : l.closingNoAgent;
5069
+ const showDisregard = typeof variantLabels.disregardIfPaid === "string" && variantLabels.disregardIfPaid.trim().length > 0;
5070
+ const closingAlternativeText = agentNameTrimmed && variantLabels.closingAlternative ? variantLabels.closingAlternative(agentNameTrimmed) : "";
5071
+ const showClosingAlternative = closingAlternativeText.trim().length > 0;
5072
+ return /* @__PURE__ */ jsxs(
5073
+ "div",
5074
+ {
5075
+ style: {
5076
+ maxWidth: "576px",
5077
+ margin: "0 auto",
5078
+ backgroundColor: emailTokens.white,
5079
+ color: emailTokens.foreground,
5080
+ fontFamily: emailTokens.fontFamily,
5081
+ fontSize: "16px",
5082
+ lineHeight: "1.6",
5083
+ border: `1px solid ${emailTokens.border}`,
5084
+ borderRadius: "12px",
5085
+ overflow: "hidden",
5086
+ padding: "32px"
5087
+ },
5088
+ className,
5089
+ children: [
5090
+ /* @__PURE__ */ jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
5091
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientName) }),
5092
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
5093
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "12px" }, children: variantLabels.intro(bookingNumber, balanceDueDate) }),
5094
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "24px" }, children: variantLabels.secureLine }),
5095
+ /* @__PURE__ */ jsx("div", { style: { marginBottom: "32px", textAlign: "center" }, children: /* @__PURE__ */ jsx("a", { href: viewBookingUrl, style: ctaStyle, children: l.ctaLabel }) }),
5096
+ /* @__PURE__ */ jsx(
5097
+ "hr",
5098
+ {
5099
+ style: {
5100
+ border: "none",
5101
+ borderTop: `1px solid ${emailTokens.border}`,
5102
+ marginBottom: "24px"
5103
+ }
5104
+ }
5105
+ ),
5106
+ /* @__PURE__ */ jsx(
5107
+ "p",
5108
+ {
5109
+ style: {
5110
+ marginBottom: "16px",
5111
+ fontWeight: 700,
5112
+ color: emailTokens.foreground,
5113
+ fontSize: "16px"
5114
+ },
5115
+ children: l.bookingSummaryHeader
5116
+ }
5117
+ ),
5118
+ adventures.map((adv, advIdx) => {
5119
+ var _a2;
5120
+ return /* @__PURE__ */ jsx(
5121
+ "div",
5122
+ {
5123
+ style: {
5124
+ marginBottom: advIdx < adventures.length - 1 ? "16px" : "20px"
5125
+ },
5126
+ children: /* @__PURE__ */ jsx(
5127
+ BookingAdventureCard,
5128
+ {
5129
+ tag: adv.tag,
5130
+ name: adv.name,
5131
+ startDate: (_a2 = adv.startDate) != null ? _a2 : "",
5132
+ endDate: adv.endDate,
5133
+ travellerCount: adv.travellerCount,
5134
+ travellers: adv.travellers,
5135
+ itinerary: adv.itinerary,
5136
+ lineItems: adv.lineItems.map((li) => ({
5137
+ unitPrice: li.unitPrice,
5138
+ quantity: li.quantity,
5139
+ categoryLabel: li.categoryLabel,
5140
+ subtotal: li.subtotal
5141
+ })),
5142
+ subtotal: adv.subtotal,
5143
+ labels: l.adventureCard
5144
+ }
5145
+ )
5146
+ },
5147
+ advIdx
5148
+ );
5149
+ }),
5150
+ /* @__PURE__ */ jsx(
5151
+ "hr",
5152
+ {
5153
+ style: {
5154
+ border: "none",
5155
+ borderTop: `1px solid ${emailTokens.border}`,
5156
+ marginBottom: "16px"
5157
+ }
5158
+ }
5159
+ ),
5160
+ /* @__PURE__ */ jsxs("p", { style: summaryRowStyle, children: [
5161
+ /* @__PURE__ */ jsxs("strong", { children: [
5162
+ l.amountAlreadyPaidLabel,
5163
+ ":"
5164
+ ] }),
5165
+ " ",
5166
+ amountAlreadyPaid
5167
+ ] }),
5168
+ /* @__PURE__ */ jsxs("p", { style: summaryRowStyle, children: [
5169
+ /* @__PURE__ */ jsxs("strong", { children: [
5170
+ l.remainingBalanceDueLabel,
5171
+ ":"
5172
+ ] }),
5173
+ " ",
5174
+ remainingBalanceDue
5175
+ ] }),
5176
+ /* @__PURE__ */ jsxs("p", { style: __spreadProps(__spreadValues({}, summaryRowStyle), { marginBottom: "24px" }), children: [
5177
+ /* @__PURE__ */ jsxs("strong", { children: [
5178
+ l.totalBookingAmountLabel,
5179
+ ":"
5180
+ ] }),
5181
+ " ",
5182
+ totalBookingAmount
5183
+ ] }),
5184
+ showDisregard && /* @__PURE__ */ jsx(
5185
+ "p",
5186
+ {
5187
+ style: {
5188
+ marginBottom: "16px",
5189
+ fontSize: "14px",
5190
+ color: emailTokens.mutedForeground,
5191
+ fontStyle: "italic"
5192
+ },
5193
+ children: variantLabels.disregardIfPaid
5194
+ }
5195
+ ),
5196
+ showClosingAlternative && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: closingAlternativeText }),
5197
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: closingMain }),
5198
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: variantLabels.closingThanks }),
5199
+ /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "14px", color: emailTokens.bodyText }, children: l.teamSignature })
5200
+ ]
5201
+ }
5202
+ );
5203
+ }
4412
5204
  function BookingOtpEmail({
4413
5205
  greeting,
4414
5206
  intro,
@@ -5089,7 +5881,7 @@ function BookingForm({
5089
5881
  }
5090
5882
  );
5091
5883
  }
5092
- var DEFAULT_LABELS4 = {
5884
+ var DEFAULT_LABELS6 = {
5093
5885
  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.",
5094
5886
  detailsSectionTitle: "Your details",
5095
5887
  tripInfoSectionTitle: "Trip info",
@@ -5754,7 +6546,7 @@ function RegistrationForm({
5754
6546
  }) {
5755
6547
  var _a;
5756
6548
  const L = React25.useMemo(
5757
- () => __spreadValues(__spreadValues({}, DEFAULT_LABELS4), labels != null ? labels : {}),
6549
+ () => __spreadValues(__spreadValues({}, DEFAULT_LABELS6), labels != null ? labels : {}),
5758
6550
  [labels]
5759
6551
  );
5760
6552
  const sortedFields = React25.useMemo(
@@ -10352,6 +11144,6 @@ function LeadCapturePopup({
10352
11144
  );
10353
11145
  }
10354
11146
 
10355
- export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, ItineraryDay, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TransferDetailsBlock, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, TrustpilotEmbed, buttonVariants, cn, emailTokens, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, wrapEmailHtml };
11147
+ export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingAdventureCard, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, ItineraryDay, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PaymentReminderEmail, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TransferDetailsBlock, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, TrustpilotEmbed, buttonVariants, cn, emailTokens, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, wrapEmailHtml };
10356
11148
  //# sourceMappingURL=index.js.map
10357
11149
  //# sourceMappingURL=index.js.map