@planetaexo/design-system 0.14.0 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +161 -155
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +111 -19
- package/dist/index.d.ts +111 -19
- package/dist/index.js +161 -155
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1282,8 +1282,8 @@ function Alert({ variant = "info", children, className }) {
|
|
|
1282
1282
|
}
|
|
1283
1283
|
);
|
|
1284
1284
|
}
|
|
1285
|
-
function AdventureCard({ adventure }) {
|
|
1286
|
-
var _a, _b, _c, _d, _e, _f;
|
|
1285
|
+
function AdventureCard({ adventure, labels }) {
|
|
1286
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
|
|
1287
1287
|
const isControlled = (_b = (_a = adventure.optionals) == null ? void 0 : _a.some((o) => o.onCheckedChange !== void 0)) != null ? _b : false;
|
|
1288
1288
|
const [checkedInternal, setCheckedInternal] = React23__namespace.useState(
|
|
1289
1289
|
new Set((_d = (_c = adventure.optionals) == null ? void 0 : _c.filter((o) => o.defaultChecked).map((o) => o.id)) != null ? _d : [])
|
|
@@ -1324,7 +1324,7 @@ function AdventureCard({ adventure }) {
|
|
|
1324
1324
|
className: "flex items-center gap-1.5 rounded-full border border-border px-3 py-1 text-xs text-muted-foreground font-ui hover:border-destructive hover:text-destructive transition-colors",
|
|
1325
1325
|
children: [
|
|
1326
1326
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "w-3 h-3" }),
|
|
1327
|
-
"Remove"
|
|
1327
|
+
(_f = labels == null ? void 0 : labels.remove) != null ? _f : "Remove"
|
|
1328
1328
|
]
|
|
1329
1329
|
}
|
|
1330
1330
|
)
|
|
@@ -1341,7 +1341,7 @@ function AdventureCard({ adventure }) {
|
|
|
1341
1341
|
adventure.location
|
|
1342
1342
|
] }),
|
|
1343
1343
|
adventure.optionals && adventure.optionals.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 rounded-xl border border-border bg-muted/30 p-4 flex flex-col gap-3", children: [
|
|
1344
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest", children: "Available optionals" }),
|
|
1344
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_g = labels == null ? void 0 : labels.availableOptionals) != null ? _g : "Available optionals" }),
|
|
1345
1345
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-2", children: adventure.optionals.map((opt) => {
|
|
1346
1346
|
var _a2, _b2, _c2, _d2, _e2;
|
|
1347
1347
|
const checked = isChecked(opt);
|
|
@@ -1421,7 +1421,7 @@ function AdventureCard({ adventure }) {
|
|
|
1421
1421
|
(adventure.description || adventure.detailsSlot) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1422
1422
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-1" }),
|
|
1423
1423
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1424
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest mb-3", children: (
|
|
1424
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-bold text-muted-foreground font-heading uppercase tracking-widest mb-3", children: (_h = adventure.itineraryLabel) != null ? _h : "Details" }),
|
|
1425
1425
|
adventure.description && !adventure.detailsSlot && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base text-foreground/80 leading-snug font-sans", children: adventure.description }),
|
|
1426
1426
|
adventure.detailsSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(
|
|
1427
1427
|
"text-foreground",
|
|
@@ -1447,21 +1447,21 @@ function AdventureCard({ adventure }) {
|
|
|
1447
1447
|
] })
|
|
1448
1448
|
] }),
|
|
1449
1449
|
adventure.included && adventure.included.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
|
|
1450
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children:
|
|
1450
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_i = adventure.includedLabel) != null ? _i : "What's included" }),
|
|
1451
1451
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-1.5", children: adventure.included.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2 text-base text-foreground/80 font-sans", children: [
|
|
1452
1452
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "w-4 h-4 text-primary shrink-0 mt-1" }),
|
|
1453
1453
|
item
|
|
1454
1454
|
] }, i)) })
|
|
1455
1455
|
] }),
|
|
1456
1456
|
adventure.notIncluded && adventure.notIncluded.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
|
|
1457
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children:
|
|
1457
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_j = adventure.notIncludedLabel) != null ? _j : "What's not included" }),
|
|
1458
1458
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-1.5", children: adventure.notIncluded.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2 text-base text-foreground/80 font-sans", children: [
|
|
1459
1459
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "w-4 h-4 text-destructive shrink-0 mt-1" }),
|
|
1460
1460
|
item
|
|
1461
1461
|
] }, i)) })
|
|
1462
1462
|
] }),
|
|
1463
1463
|
adventure.cancellationPolicy && adventure.cancellationPolicy.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2.5 mt-1", children: [
|
|
1464
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children:
|
|
1464
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-base font-bold text-foreground font-heading", children: (_k = adventure.cancellationPolicyLabel) != null ? _k : "Cancellation policy" }),
|
|
1465
1465
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "flex flex-col gap-1.5", children: adventure.cancellationPolicy.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-2 text-base text-muted-foreground font-sans", children: [
|
|
1466
1466
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-1.5 h-1.5 rounded-full bg-primary shrink-0 mt-2.5" }),
|
|
1467
1467
|
item
|
|
@@ -1475,12 +1475,14 @@ function OfferSidebar({
|
|
|
1475
1475
|
agent,
|
|
1476
1476
|
onBook,
|
|
1477
1477
|
bookLabel,
|
|
1478
|
-
bookDisabled
|
|
1478
|
+
bookDisabled,
|
|
1479
|
+
labels
|
|
1479
1480
|
}) {
|
|
1481
|
+
var _a, _b;
|
|
1480
1482
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
|
|
1481
1483
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden lg:flex rounded-2xl border border-border bg-card p-5 flex-col gap-4", children: [
|
|
1482
1484
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1483
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs uppercase tracking-widest text-muted-foreground font-heading mb-1", children: "Booking Total" }),
|
|
1485
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs uppercase tracking-widest text-muted-foreground font-heading mb-1", children: (_a = labels == null ? void 0 : labels.bookingTotal) != null ? _a : "Booking Total" }),
|
|
1484
1486
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-3xl font-black text-primary font-heading leading-none", children: total })
|
|
1485
1487
|
] }),
|
|
1486
1488
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1513,7 +1515,7 @@ function OfferSidebar({
|
|
|
1513
1515
|
)
|
|
1514
1516
|
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-bold text-primary font-heading", children: agent.name.charAt(0) }) }),
|
|
1515
1517
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1516
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: "Need help with your offer?" }),
|
|
1518
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: (_b = labels == null ? void 0 : labels.needHelp) != null ? _b : "Need help with your offer?" }),
|
|
1517
1519
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-sm font-sans text-foreground mt-0.5", children: [
|
|
1518
1520
|
"Contact",
|
|
1519
1521
|
" ",
|
|
@@ -1580,10 +1582,12 @@ function OfferSummarySection({
|
|
|
1580
1582
|
continueLabel,
|
|
1581
1583
|
summaryNotesSlot,
|
|
1582
1584
|
summaryDiscountLine,
|
|
1583
|
-
continueDisabled
|
|
1585
|
+
continueDisabled,
|
|
1586
|
+
labels
|
|
1584
1587
|
}) {
|
|
1588
|
+
var _a, _b, _c, _d, _e;
|
|
1585
1589
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-2xl border border-border bg-card p-5 flex flex-col gap-4", children: [
|
|
1586
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-bold text-foreground font-heading text-base", children: "Summary" }),
|
|
1590
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-bold text-foreground font-heading text-base", children: (_a = labels == null ? void 0 : labels.summary) != null ? _a : "Summary" }),
|
|
1587
1591
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
|
|
1588
1592
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-4", children: adventures.map((adventure, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1589
1593
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-3", children: [
|
|
@@ -1602,7 +1606,7 @@ function OfferSummarySection({
|
|
|
1602
1606
|
summaryNotesSlot,
|
|
1603
1607
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
|
|
1604
1608
|
subtotal && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1605
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-sans", children: "Subtotal" }),
|
|
1609
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-sans", children: (_b = labels == null ? void 0 : labels.subtotal) != null ? _b : "Subtotal" }),
|
|
1606
1610
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-foreground font-sans", children: subtotal })
|
|
1607
1611
|
] }),
|
|
1608
1612
|
summaryDiscountLine && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between text-success", children: [
|
|
@@ -1622,16 +1626,16 @@ function OfferSummarySection({
|
|
|
1622
1626
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-foreground font-sans", children: depositInfo.depositAmount })
|
|
1623
1627
|
] }),
|
|
1624
1628
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1625
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground font-sans", children: "Remaining balance" }),
|
|
1629
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground font-sans", children: (_c = labels == null ? void 0 : labels.remainingBalance) != null ? _c : "Remaining balance" }),
|
|
1626
1630
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-foreground font-sans", children: depositInfo.remainingAmount })
|
|
1627
1631
|
] }),
|
|
1628
1632
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
1629
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground font-sans", children: "Balance due" }),
|
|
1633
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground font-sans", children: (_d = labels == null ? void 0 : labels.balanceDue) != null ? _d : "Balance due" }),
|
|
1630
1634
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold text-foreground font-sans", children: depositInfo.balanceDueDate })
|
|
1631
1635
|
] })
|
|
1632
1636
|
] }),
|
|
1633
1637
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between pt-1", children: [
|
|
1634
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-bold text-foreground font-heading", children: "Total" }),
|
|
1638
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-bold text-foreground font-heading", children: (_e = labels == null ? void 0 : labels.total) != null ? _e : "Total" }),
|
|
1635
1639
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-2xl font-black text-primary font-heading", children: total })
|
|
1636
1640
|
] }),
|
|
1637
1641
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1946,17 +1950,23 @@ function BookingConfirmedCard({
|
|
|
1946
1950
|
)
|
|
1947
1951
|
] });
|
|
1948
1952
|
}
|
|
1949
|
-
var
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1953
|
+
var WIZARD_STEPS_FN = (l) => {
|
|
1954
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1955
|
+
return [
|
|
1956
|
+
{ id: "responsible", label: (_b = (_a = l == null ? void 0 : l.wizardSteps) == null ? void 0 : _a.responsible) != null ? _b : "Responsible party details" },
|
|
1957
|
+
{ id: "travellers", label: (_d = (_c = l == null ? void 0 : l.wizardSteps) == null ? void 0 : _c.travellers) != null ? _d : "Travellers" },
|
|
1958
|
+
{ id: "payment", label: (_f = (_e = l == null ? void 0 : l.wizardSteps) == null ? void 0 : _e.paymentAndTerms) != null ? _f : "Payment and terms" }
|
|
1959
|
+
];
|
|
1960
|
+
};
|
|
1954
1961
|
function BookingWizard({
|
|
1955
1962
|
adventures,
|
|
1956
1963
|
total,
|
|
1957
1964
|
depositInfo,
|
|
1958
|
-
onCancel
|
|
1965
|
+
onCancel,
|
|
1966
|
+
labels
|
|
1959
1967
|
}) {
|
|
1968
|
+
var _a;
|
|
1969
|
+
const wizardSteps = WIZARD_STEPS_FN(labels);
|
|
1960
1970
|
const [step, setStep] = React23__namespace.useState("responsible");
|
|
1961
1971
|
const [error, setError] = React23__namespace.useState(null);
|
|
1962
1972
|
const [responsible, setResponsible] = React23__namespace.useState({
|
|
@@ -1970,12 +1980,12 @@ function BookingWizard({
|
|
|
1970
1980
|
notes: ""
|
|
1971
1981
|
});
|
|
1972
1982
|
const totalAdults = adventures.reduce((s, a) => {
|
|
1973
|
-
var
|
|
1974
|
-
return s + ((_b = (
|
|
1983
|
+
var _a2, _b;
|
|
1984
|
+
return s + ((_b = (_a2 = a.slots) == null ? void 0 : _a2.adults) != null ? _b : 1);
|
|
1975
1985
|
}, 0);
|
|
1976
1986
|
const totalChildren = adventures.reduce((s, a) => {
|
|
1977
|
-
var
|
|
1978
|
-
return s + ((_b = (
|
|
1987
|
+
var _a2, _b;
|
|
1988
|
+
return s + ((_b = (_a2 = a.slots) == null ? void 0 : _a2.children) != null ? _b : 0);
|
|
1979
1989
|
}, 0);
|
|
1980
1990
|
const totalPax = totalAdults + totalChildren;
|
|
1981
1991
|
const [travellers, setTravellers] = React23__namespace.useState(
|
|
@@ -1992,7 +2002,7 @@ function BookingWizard({
|
|
|
1992
2002
|
const setR = (k, v) => setResponsible((p) => __spreadProps(__spreadValues({}, p), { [k]: v }));
|
|
1993
2003
|
const setT = (i, k, v) => setTravellers((prev) => prev.map((t, idx) => idx === i ? __spreadProps(__spreadValues({}, t), { [k]: v }) : t));
|
|
1994
2004
|
const setTDob = (i, v) => setTravellers((prev) => prev.map((t, idx) => idx === i ? __spreadProps(__spreadValues({}, t), { dateOfBirth: v }) : t));
|
|
1995
|
-
const stepIndex =
|
|
2005
|
+
const stepIndex = wizardSteps.findIndex((s) => s.id === step);
|
|
1996
2006
|
const goNext = () => {
|
|
1997
2007
|
setError(null);
|
|
1998
2008
|
if (step === "responsible") {
|
|
@@ -2025,15 +2035,16 @@ function BookingWizard({
|
|
|
2025
2035
|
if (step === "travellers") setStep("responsible");
|
|
2026
2036
|
else if (step === "payment") setStep("travellers");
|
|
2027
2037
|
};
|
|
2028
|
-
const
|
|
2038
|
+
const payDepositLabel = (_a = labels == null ? void 0 : labels.payDeposit) != null ? _a : "Pay deposit";
|
|
2039
|
+
const depositLabel = depositInfo ? `${payDepositLabel} (${depositInfo.depositPercent}%) \u2014 ${depositInfo.depositAmount}` : payDepositLabel;
|
|
2029
2040
|
const fullLabel = `Pay full amount \u2014 ${total}`;
|
|
2030
2041
|
if (step === "confirmed") {
|
|
2031
|
-
return /* @__PURE__ */ jsxRuntime.jsx(BookingConfirmedCard, { email: responsible.email, onBack: onCancel });
|
|
2042
|
+
return /* @__PURE__ */ jsxRuntime.jsx(BookingConfirmedCard, { title: labels == null ? void 0 : labels.bookingConfirmed, email: responsible.email, onBack: onCancel });
|
|
2032
2043
|
}
|
|
2033
2044
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2034
2045
|
BookingShell,
|
|
2035
2046
|
{
|
|
2036
|
-
steps:
|
|
2047
|
+
steps: wizardSteps.map((s) => s.label),
|
|
2037
2048
|
currentStep: stepIndex,
|
|
2038
2049
|
title: "Booking details",
|
|
2039
2050
|
onNext: goNext,
|
|
@@ -2093,6 +2104,7 @@ function BookingWizard({
|
|
|
2093
2104
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-bold text-foreground font-heading text-base", children: "Traveller details" })
|
|
2094
2105
|
] }),
|
|
2095
2106
|
travellers.map((t, i) => {
|
|
2107
|
+
var _a2, _b;
|
|
2096
2108
|
const isChild = i >= totalAdults;
|
|
2097
2109
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-border p-4 flex flex-col gap-3", children: [
|
|
2098
2110
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
@@ -2103,7 +2115,7 @@ function BookingWizard({
|
|
|
2103
2115
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(
|
|
2104
2116
|
"text-xs font-semibold font-heading rounded-full px-2.5 py-0.5",
|
|
2105
2117
|
isChild ? "bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400" : "bg-primary/10 text-primary"
|
|
2106
|
-
), children: isChild ? "
|
|
2118
|
+
), children: isChild ? (_a2 = labels == null ? void 0 : labels.childLabel) != null ? _a2 : "Child" : (_b = labels == null ? void 0 : labels.adultLabel) != null ? _b : "Adult" })
|
|
2107
2119
|
] }),
|
|
2108
2120
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [
|
|
2109
2121
|
/* @__PURE__ */ jsxRuntime.jsx(FloatingInput, { label: "First name", required: true, value: t.firstName, onChange: (e) => setT(i, "firstName", e.target.value) }),
|
|
@@ -2146,6 +2158,7 @@ function BookingWizard({
|
|
|
2146
2158
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2147
2159
|
PaymentMethodSelector,
|
|
2148
2160
|
{
|
|
2161
|
+
title: labels == null ? void 0 : labels.paymentMethod,
|
|
2149
2162
|
methods: [
|
|
2150
2163
|
{ id: "stripe", label: "Credit / Debit card", description: "Secure payment via Stripe" },
|
|
2151
2164
|
{ id: "pix", label: "PIX", description: "Instant transfer \u2014 Brazil only" },
|
|
@@ -2172,7 +2185,7 @@ function OfferAdventureCard({ adventure }) {
|
|
|
2172
2185
|
}
|
|
2173
2186
|
function Offer({
|
|
2174
2187
|
logo = "/logo-planetaexo.png",
|
|
2175
|
-
logoAlt = "
|
|
2188
|
+
logoAlt = "Planeta EXO",
|
|
2176
2189
|
title,
|
|
2177
2190
|
subtitle,
|
|
2178
2191
|
adventures,
|
|
@@ -2187,8 +2200,10 @@ function Offer({
|
|
|
2187
2200
|
summaryNotesSlot,
|
|
2188
2201
|
summaryDiscountLine,
|
|
2189
2202
|
continueDisabled,
|
|
2203
|
+
labels,
|
|
2190
2204
|
className
|
|
2191
2205
|
}) {
|
|
2206
|
+
var _a, _b;
|
|
2192
2207
|
const [showBooking, setShowBooking] = React23__namespace.useState(false);
|
|
2193
2208
|
const isShowingCheckout = !!checkoutSlot || showBooking;
|
|
2194
2209
|
const handleBook = () => {
|
|
@@ -2204,9 +2219,9 @@ function Offer({
|
|
|
2204
2219
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "flex flex-col gap-5", children: [
|
|
2205
2220
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2206
2221
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.MapIcon, { className: "w-5 h-5 text-primary shrink-0" }),
|
|
2207
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-bold text-foreground font-heading text-base", children: "Included Adventures" })
|
|
2222
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-bold text-foreground font-heading text-base", children: (_a = labels == null ? void 0 : labels.includedAdventures) != null ? _a : "Included Adventures" })
|
|
2208
2223
|
] }),
|
|
2209
|
-
adventures.map((adventure) => /* @__PURE__ */ jsxRuntime.jsx(AdventureCard, { adventure }, adventure.id))
|
|
2224
|
+
adventures.map((adventure) => /* @__PURE__ */ jsxRuntime.jsx(AdventureCard, { adventure, labels }, adventure.id))
|
|
2210
2225
|
] }),
|
|
2211
2226
|
!isShowingCheckout && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2212
2227
|
OfferSummarySection,
|
|
@@ -2219,7 +2234,8 @@ function Offer({
|
|
|
2219
2234
|
continueLabel,
|
|
2220
2235
|
summaryNotesSlot,
|
|
2221
2236
|
summaryDiscountLine,
|
|
2222
|
-
continueDisabled
|
|
2237
|
+
continueDisabled,
|
|
2238
|
+
labels
|
|
2223
2239
|
}
|
|
2224
2240
|
),
|
|
2225
2241
|
isShowingCheckout && (checkoutSlot != null ? checkoutSlot : /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2228,7 +2244,8 @@ function Offer({
|
|
|
2228
2244
|
adventures,
|
|
2229
2245
|
total,
|
|
2230
2246
|
depositInfo,
|
|
2231
|
-
onCancel: () => setShowBooking(false)
|
|
2247
|
+
onCancel: () => setShowBooking(false),
|
|
2248
|
+
labels
|
|
2232
2249
|
}
|
|
2233
2250
|
))
|
|
2234
2251
|
] }),
|
|
@@ -2239,13 +2256,14 @@ function Offer({
|
|
|
2239
2256
|
agent,
|
|
2240
2257
|
onBook: handleBook,
|
|
2241
2258
|
bookLabel: continueLabel,
|
|
2242
|
-
bookDisabled: continueDisabled
|
|
2259
|
+
bookDisabled: continueDisabled,
|
|
2260
|
+
labels
|
|
2243
2261
|
}
|
|
2244
2262
|
) })
|
|
2245
2263
|
] }),
|
|
2246
2264
|
!isShowingCheckout && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "fixed bottom-0 inset-x-0 z-40 border-t border-border bg-background/95 backdrop-blur-sm px-4 py-3 lg:hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4 max-w-5xl mx-auto", children: [
|
|
2247
2265
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
|
|
2248
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] uppercase tracking-widest text-muted-foreground font-heading", children: "Total" }),
|
|
2266
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] uppercase tracking-widest text-muted-foreground font-heading", children: (_b = labels == null ? void 0 : labels.total) != null ? _b : "Total" }),
|
|
2249
2267
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xl font-black text-primary font-heading leading-tight", children: total })
|
|
2250
2268
|
] }),
|
|
2251
2269
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2524,9 +2542,10 @@ function AdventureSection({
|
|
|
2524
2542
|
onRequestOpenAddModal,
|
|
2525
2543
|
onRequestOpenEditModal,
|
|
2526
2544
|
onRequestOpenDeleteModal,
|
|
2527
|
-
cannotRemoveLastTravellerLabel
|
|
2545
|
+
cannotRemoveLastTravellerLabel,
|
|
2546
|
+
labels
|
|
2528
2547
|
}) {
|
|
2529
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2548
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
|
2530
2549
|
const [detailsOpen, setDetailsOpen] = React23__namespace.useState(false);
|
|
2531
2550
|
const handleCopyUrl = (url) => {
|
|
2532
2551
|
if (onCopyFormLink) {
|
|
@@ -2664,7 +2683,7 @@ function AdventureSection({
|
|
|
2664
2683
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-t border-border px-5 lg:px-6 py-5 flex flex-col gap-4", children: [
|
|
2665
2684
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-3 flex-wrap", children: [
|
|
2666
2685
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2667
|
-
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: "Travellers" }),
|
|
2686
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_f = labels == null ? void 0 : labels.travellersSection) != null ? _f : "Travellers" }),
|
|
2668
2687
|
adventure.formName && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs font-semibold text-muted-foreground/50 font-heading tracking-wide", children: [
|
|
2669
2688
|
"\xB7 ",
|
|
2670
2689
|
adventure.formName
|
|
@@ -2684,8 +2703,8 @@ function AdventureSection({
|
|
|
2684
2703
|
),
|
|
2685
2704
|
children: [
|
|
2686
2705
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserPlusIcon, { className: "w-3 h-3" }),
|
|
2687
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: "Add contact as traveller" }),
|
|
2688
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:hidden", children: "Add contact" })
|
|
2706
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: (_g = labels == null ? void 0 : labels.addContactAsTraveller) != null ? _g : "Add contact as traveller" }),
|
|
2707
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:hidden", children: (_h = labels == null ? void 0 : labels.addContactAsTravellerShort) != null ? _h : "Add contact" })
|
|
2689
2708
|
]
|
|
2690
2709
|
}
|
|
2691
2710
|
),
|
|
@@ -2703,14 +2722,15 @@ function AdventureSection({
|
|
|
2703
2722
|
className: "flex items-center gap-1.5 rounded-full border border-border px-3 py-1.5 text-xs font-ui text-primary hover:border-primary hover:bg-primary/5 transition-colors",
|
|
2704
2723
|
children: [
|
|
2705
2724
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.PlusIcon, { className: "w-3 h-3" }),
|
|
2706
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: (
|
|
2707
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:hidden", children: (
|
|
2725
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: (_i = adventure.addTravellerLabel) != null ? _i : "More travellers" }),
|
|
2726
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:hidden", children: (_k = (_j = adventure.addTravellerShortLabel) != null ? _j : adventure.addTravellerLabel) != null ? _k : "Add" })
|
|
2708
2727
|
]
|
|
2709
2728
|
}
|
|
2710
2729
|
)
|
|
2711
2730
|
] })
|
|
2712
2731
|
] }),
|
|
2713
2732
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col divide-y divide-border", children: adventure.travellers.map((t) => {
|
|
2733
|
+
var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2, _j2, _k2;
|
|
2714
2734
|
const canRemoveTraveller = adventure.travellers.length > 1;
|
|
2715
2735
|
const disabledRemoveTitle = canRemoveTraveller ? void 0 : cannotRemoveLastTravellerLabel != null ? cannotRemoveLastTravellerLabel : "Cannot remove last traveller";
|
|
2716
2736
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2725,7 +2745,7 @@ function AdventureSection({
|
|
|
2725
2745
|
" ",
|
|
2726
2746
|
t.lastName
|
|
2727
2747
|
] }),
|
|
2728
|
-
t.isChild && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold font-heading rounded-full px-2 py-0.5 bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400 shrink-0", children: "Child" })
|
|
2748
|
+
t.isChild && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-semibold font-heading rounded-full px-2 py-0.5 bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400 shrink-0", children: (_a2 = labels == null ? void 0 : labels.childBadge) != null ? _a2 : "Child" })
|
|
2729
2749
|
] }),
|
|
2730
2750
|
t.formUrl && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
2731
2751
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2737,7 +2757,7 @@ function AdventureSection({
|
|
|
2737
2757
|
className: "flex items-center gap-1 text-xs text-primary hover:text-primary/80 transition-colors font-ui",
|
|
2738
2758
|
children: [
|
|
2739
2759
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ExternalLinkIcon, { className: "w-3 h-3" }),
|
|
2740
|
-
"Open"
|
|
2760
|
+
(_b2 = labels == null ? void 0 : labels.openFormLink) != null ? _b2 : "Open"
|
|
2741
2761
|
]
|
|
2742
2762
|
}
|
|
2743
2763
|
),
|
|
@@ -2747,7 +2767,7 @@ function AdventureSection({
|
|
|
2747
2767
|
type: "button",
|
|
2748
2768
|
onClick: () => handleCopyUrl(t.formUrl),
|
|
2749
2769
|
className: "flex items-center text-xs text-muted-foreground hover:text-primary transition-colors font-ui",
|
|
2750
|
-
"aria-label": "Copy form URL",
|
|
2770
|
+
"aria-label": (_c2 = labels == null ? void 0 : labels.copyFormUrlAria) != null ? _c2 : "Copy form URL",
|
|
2751
2771
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CopyIcon, { className: "w-3 h-3" })
|
|
2752
2772
|
}
|
|
2753
2773
|
)
|
|
@@ -2761,7 +2781,7 @@ function AdventureSection({
|
|
|
2761
2781
|
"inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-bold font-heading uppercase tracking-wider shrink-0",
|
|
2762
2782
|
t.status === "completed" ? "bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400" : "bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-400"
|
|
2763
2783
|
),
|
|
2764
|
-
children: t.status
|
|
2784
|
+
children: t.status === "completed" ? (_d2 = labels == null ? void 0 : labels.travellerStatusCompleted) != null ? _d2 : t.status : (_e2 = labels == null ? void 0 : labels.travellerStatusPending) != null ? _e2 : t.status
|
|
2765
2785
|
}
|
|
2766
2786
|
),
|
|
2767
2787
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-0.5 shrink-0", children: [
|
|
@@ -2777,7 +2797,7 @@ function AdventureSection({
|
|
|
2777
2797
|
}
|
|
2778
2798
|
},
|
|
2779
2799
|
className: "flex h-8 w-8 sm:h-7 sm:w-7 items-center justify-center rounded-lg text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors",
|
|
2780
|
-
"aria-label": `Edit ${t.firstName}`,
|
|
2800
|
+
"aria-label": (_g2 = (_f2 = labels == null ? void 0 : labels.editTravellerAria) == null ? void 0 : _f2.call(labels, t.firstName)) != null ? _g2 : `Edit ${t.firstName}`,
|
|
2781
2801
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PencilIcon, { className: "w-3.5 h-3.5" })
|
|
2782
2802
|
}
|
|
2783
2803
|
),
|
|
@@ -2800,7 +2820,7 @@ function AdventureSection({
|
|
|
2800
2820
|
"flex h-8 w-8 sm:h-7 sm:w-7 items-center justify-center rounded-lg text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors",
|
|
2801
2821
|
"disabled:opacity-40 disabled:cursor-not-allowed disabled:pointer-events-none disabled:hover:text-muted-foreground disabled:hover:bg-transparent"
|
|
2802
2822
|
),
|
|
2803
|
-
"aria-label": `Delete ${t.firstName}`,
|
|
2823
|
+
"aria-label": (_i2 = (_h2 = labels == null ? void 0 : labels.deleteTravellerAria) == null ? void 0 : _h2.call(labels, t.firstName)) != null ? _i2 : `Delete ${t.firstName}`,
|
|
2804
2824
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2Icon, { className: "w-3.5 h-3.5" })
|
|
2805
2825
|
}
|
|
2806
2826
|
),
|
|
@@ -2825,7 +2845,7 @@ function AdventureSection({
|
|
|
2825
2845
|
"flex h-8 w-8 sm:h-7 sm:w-7 items-center justify-center rounded-lg text-muted-foreground hover:text-amber-500 hover:bg-amber-500/10 transition-colors",
|
|
2826
2846
|
"disabled:opacity-40 disabled:cursor-not-allowed disabled:pointer-events-none disabled:hover:text-muted-foreground disabled:hover:bg-transparent"
|
|
2827
2847
|
),
|
|
2828
|
-
"aria-label": `Remove ${t.firstName} from adventure`,
|
|
2848
|
+
"aria-label": (_k2 = (_j2 = labels == null ? void 0 : labels.removeFromAdventureAria) == null ? void 0 : _j2.call(labels, t.firstName)) != null ? _k2 : `Remove ${t.firstName} from adventure`,
|
|
2829
2849
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UserMinusIcon, { className: "w-3.5 h-3.5" })
|
|
2830
2850
|
}
|
|
2831
2851
|
)
|
|
@@ -2837,11 +2857,11 @@ function AdventureSection({
|
|
|
2837
2857
|
);
|
|
2838
2858
|
}) }),
|
|
2839
2859
|
adventure.suggestedTravellers && adventure.suggestedTravellers.length > 0 && (() => {
|
|
2840
|
-
var _a2;
|
|
2860
|
+
var _a2, _b2;
|
|
2841
2861
|
const atCapacity = totalSlots > 0 && adventure.travellers.length >= totalSlots;
|
|
2842
2862
|
const atCapacityTooltip = atCapacity ? (_a2 = adventure.atCapacityLabel) != null ? _a2 : "Adventure full" : void 0;
|
|
2843
2863
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 pt-2", children: [
|
|
2844
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground font-ui", children: "Add to this adventure" }),
|
|
2864
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground font-ui", children: (_b2 = labels == null ? void 0 : labels.addToThisAdventure) != null ? _b2 : "Add to this adventure" }),
|
|
2845
2865
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2", children: adventure.suggestedTravellers.map((st) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2846
2866
|
"button",
|
|
2847
2867
|
{
|
|
@@ -2868,7 +2888,8 @@ function AdventureSection({
|
|
|
2868
2888
|
)) })
|
|
2869
2889
|
] });
|
|
2870
2890
|
})(),
|
|
2871
|
-
adventure.travellers.length > 0 && totalSlots > 0 && (() => {
|
|
2891
|
+
adventure.registrationNotRequired ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 mt-1", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-ui text-muted-foreground", children: (_l = adventure.noRegistrationRequiredLabel) != null ? _l : "No registration required" }) }) : adventure.travellers.length > 0 && totalSlots > 0 && (() => {
|
|
2892
|
+
var _a2, _b2;
|
|
2872
2893
|
const completed = adventure.travellers.filter((t) => t.status === "completed").length;
|
|
2873
2894
|
const percent = Math.round(completed / totalSlots * 100);
|
|
2874
2895
|
const isComplete = completed >= totalSlots;
|
|
@@ -2887,10 +2908,7 @@ function AdventureSection({
|
|
|
2887
2908
|
"text-xs font-semibold font-ui shrink-0 flex items-center gap-1",
|
|
2888
2909
|
textColor
|
|
2889
2910
|
), children: [
|
|
2890
|
-
completed,
|
|
2891
|
-
" of ",
|
|
2892
|
-
totalSlots,
|
|
2893
|
-
" travellers registered",
|
|
2911
|
+
(_b2 = (_a2 = labels == null ? void 0 : labels.travellersRegistered) == null ? void 0 : _a2.call(labels, { completed, total: totalSlots })) != null ? _b2 : `${completed} of ${totalSlots} travellers registered`,
|
|
2894
2912
|
isComplete ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "w-3 h-3" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangleIcon, { className: "w-3 h-3" })
|
|
2895
2913
|
] })
|
|
2896
2914
|
] });
|
|
@@ -3200,52 +3218,56 @@ function OrderSummary({
|
|
|
3200
3218
|
total,
|
|
3201
3219
|
depositInfo,
|
|
3202
3220
|
balanceDueLabel,
|
|
3203
|
-
totalPaidLabel
|
|
3221
|
+
totalPaidLabel,
|
|
3222
|
+
labels
|
|
3204
3223
|
}) {
|
|
3205
|
-
var _a;
|
|
3224
|
+
var _a, _b, _c, _d, _e;
|
|
3206
3225
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-2xl border border-border bg-card p-5 lg:p-6 flex flex-col gap-4", children: [
|
|
3207
|
-
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: "Order Summary" }),
|
|
3226
|
+
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_a = labels == null ? void 0 : labels.orderSummary) != null ? _a : "Order Summary" }),
|
|
3208
3227
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
|
|
3209
|
-
adventures.map((adventure, i) =>
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
"
|
|
3213
|
-
{
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3228
|
+
adventures.map((adventure, i) => {
|
|
3229
|
+
var _a2;
|
|
3230
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
3231
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base font-bold text-foreground font-heading", children: adventure.title }),
|
|
3232
|
+
adventure.lineItems && adventure.lineItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1.5 pl-3 border-l-2 border-primary/20 ml-1", children: adventure.lineItems.map((item, j) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3233
|
+
"div",
|
|
3234
|
+
{
|
|
3235
|
+
className: "flex items-start justify-between gap-3",
|
|
3236
|
+
children: [
|
|
3237
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3238
|
+
"span",
|
|
3239
|
+
{
|
|
3240
|
+
className: cn(
|
|
3241
|
+
"text-sm font-sans leading-tight",
|
|
3242
|
+
item.isBold ? "font-semibold text-foreground" : "text-muted-foreground"
|
|
3243
|
+
),
|
|
3244
|
+
children: item.label
|
|
3245
|
+
}
|
|
3246
|
+
),
|
|
3247
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3248
|
+
"span",
|
|
3249
|
+
{
|
|
3250
|
+
className: cn(
|
|
3251
|
+
"text-sm font-sans shrink-0",
|
|
3252
|
+
item.isDiscount ? "text-green-600 dark:text-green-400" : item.isBold ? "font-semibold text-foreground" : "text-foreground"
|
|
3253
|
+
),
|
|
3254
|
+
children: [
|
|
3255
|
+
item.isDiscount ? "\u2212" : "",
|
|
3256
|
+
item.price
|
|
3257
|
+
]
|
|
3258
|
+
}
|
|
3259
|
+
)
|
|
3260
|
+
]
|
|
3261
|
+
},
|
|
3262
|
+
j
|
|
3263
|
+
)) }),
|
|
3264
|
+
adventure.subtotal && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mt-1", children: [
|
|
3265
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-sans", children: (_a2 = labels == null ? void 0 : labels.subtotalThisAdventure) != null ? _a2 : "Subtotal this adventure" }),
|
|
3266
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-foreground font-sans", children: adventure.subtotal })
|
|
3267
|
+
] }),
|
|
3268
|
+
i < adventures.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "mt-2" })
|
|
3269
|
+
] }, adventure.id);
|
|
3270
|
+
}),
|
|
3249
3271
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, {}),
|
|
3250
3272
|
summaryLineItems && summaryLineItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3251
3273
|
summaryLineItems.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
@@ -3276,11 +3298,11 @@ function OrderSummary({
|
|
|
3276
3298
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, {})
|
|
3277
3299
|
] }),
|
|
3278
3300
|
subtotal && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
3279
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-sans", children: "Subtotal" }),
|
|
3301
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-sans", children: (_b = labels == null ? void 0 : labels.subtotal) != null ? _b : "Subtotal" }),
|
|
3280
3302
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-foreground font-sans", children: subtotal })
|
|
3281
3303
|
] }),
|
|
3282
3304
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between pt-1", children: [
|
|
3283
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-bold text-foreground font-heading", children: "Total" }),
|
|
3305
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-bold text-foreground font-heading", children: (_c = labels == null ? void 0 : labels.total) != null ? _c : "Total" }),
|
|
3284
3306
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-2xl font-black text-primary font-heading", children: total })
|
|
3285
3307
|
] }),
|
|
3286
3308
|
(depositInfo == null ? void 0 : depositInfo.totalPaid) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
@@ -3290,7 +3312,7 @@ function OrderSummary({
|
|
|
3290
3312
|
depositInfo && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 rounded-lg bg-muted/50 border border-border p-4", children: [
|
|
3291
3313
|
!depositInfo.hideDepositLine && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
3292
3314
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-muted-foreground font-sans", children: [
|
|
3293
|
-
(
|
|
3315
|
+
(_d = depositInfo.depositLabel) != null ? _d : "Deposit",
|
|
3294
3316
|
" (",
|
|
3295
3317
|
depositInfo.depositPercent,
|
|
3296
3318
|
"%)"
|
|
@@ -3298,7 +3320,7 @@ function OrderSummary({
|
|
|
3298
3320
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-foreground font-sans", children: depositInfo.depositAmount })
|
|
3299
3321
|
] }),
|
|
3300
3322
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
3301
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-sans", children: "Remaining balance" }),
|
|
3323
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-sans", children: (_e = labels == null ? void 0 : labels.remainingBalance) != null ? _e : "Remaining balance" }),
|
|
3302
3324
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-semibold text-foreground font-sans", children: depositInfo.remainingAmount })
|
|
3303
3325
|
] }),
|
|
3304
3326
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
@@ -3351,9 +3373,10 @@ function BookingDetails({
|
|
|
3351
3373
|
logoAlt,
|
|
3352
3374
|
onSignOut,
|
|
3353
3375
|
signOutLabel,
|
|
3376
|
+
labels,
|
|
3354
3377
|
className
|
|
3355
3378
|
}) {
|
|
3356
|
-
var _a, _b, _c, _d;
|
|
3379
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
|
|
3357
3380
|
const people = totalPeople(adventures);
|
|
3358
3381
|
const hasSubmitAddTraveller = !!onSubmitAddTraveller;
|
|
3359
3382
|
const hasSubmitEditTraveller = !!onSubmitEditTraveller;
|
|
@@ -3463,15 +3486,12 @@ function BookingDetails({
|
|
|
3463
3486
|
bookingId
|
|
3464
3487
|
] })
|
|
3465
3488
|
] }),
|
|
3466
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3467
|
-
"Created on ",
|
|
3468
|
-
createdAt
|
|
3469
|
-
] })
|
|
3489
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground font-sans", children: (_b = (_a = labels == null ? void 0 : labels.createdOn) == null ? void 0 : _a.call(labels, createdAt)) != null ? _b : `Created on ${createdAt}` })
|
|
3470
3490
|
] }),
|
|
3471
3491
|
/* @__PURE__ */ jsxRuntime.jsx(StatusBadge, { status, label: statusLabel })
|
|
3472
3492
|
] }),
|
|
3473
3493
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-3 gap-3", children: [
|
|
3474
|
-
/* @__PURE__ */ jsxRuntime.jsxs(InfoCard, { label: "Contact", children: [
|
|
3494
|
+
/* @__PURE__ */ jsxRuntime.jsxs(InfoCard, { label: (_c = labels == null ? void 0 : labels.contactInfo) != null ? _c : "Contact", children: [
|
|
3475
3495
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold", children: contact.name }),
|
|
3476
3496
|
contact.email && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground font-sans truncate", children: contact.email })
|
|
3477
3497
|
] }),
|
|
@@ -3479,7 +3499,7 @@ function BookingDetails({
|
|
|
3479
3499
|
AgentContactCard,
|
|
3480
3500
|
{
|
|
3481
3501
|
layout: "compact",
|
|
3482
|
-
name: (
|
|
3502
|
+
name: (_d = agent == null ? void 0 : agent.name) != null ? _d : agentName,
|
|
3483
3503
|
avatar: agent == null ? void 0 : agent.avatar,
|
|
3484
3504
|
email: agent == null ? void 0 : agent.email,
|
|
3485
3505
|
whatsappUrl: agent == null ? void 0 : agent.whatsappUrl,
|
|
@@ -3489,27 +3509,20 @@ function BookingDetails({
|
|
|
3489
3509
|
legacyContactLabel: agentContactLabel
|
|
3490
3510
|
}
|
|
3491
3511
|
),
|
|
3492
|
-
/* @__PURE__ */ jsxRuntime.jsxs(InfoCard, { label: "Total People", children: [
|
|
3512
|
+
/* @__PURE__ */ jsxRuntime.jsxs(InfoCard, { label: (_e = labels == null ? void 0 : labels.totalPeople) != null ? _e : "Total People", children: [
|
|
3493
3513
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3494
3514
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.UsersIcon, { className: "w-4 h-4 text-primary shrink-0" }),
|
|
3495
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3496
|
-
people.total,
|
|
3497
|
-
" person(s)"
|
|
3498
|
-
] })
|
|
3515
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: (_g = (_f = labels == null ? void 0 : labels.personCount) == null ? void 0 : _f.call(labels, people.total)) != null ? _g : `${people.total} person(s)` })
|
|
3499
3516
|
] }),
|
|
3500
3517
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground font-sans", children: [
|
|
3501
|
-
people.adults > 0 ? `Adults: ${people.adults}` : null,
|
|
3502
|
-
people.children > 0 ? `Children: ${people.children}` : null,
|
|
3503
|
-
people.seniors > 0 ? `Seniors: ${people.seniors}` : null
|
|
3518
|
+
people.adults > 0 ? (_j = (_i = (_h = labels == null ? void 0 : labels.peopleBreakdown) == null ? void 0 : _h.adults) == null ? void 0 : _i.call(_h, people.adults)) != null ? _j : `Adults: ${people.adults}` : null,
|
|
3519
|
+
people.children > 0 ? (_m = (_l = (_k = labels == null ? void 0 : labels.peopleBreakdown) == null ? void 0 : _k.children) == null ? void 0 : _l.call(_k, people.children)) != null ? _m : `Children: ${people.children}` : null,
|
|
3520
|
+
people.seniors > 0 ? (_p = (_o = (_n = labels == null ? void 0 : labels.peopleBreakdown) == null ? void 0 : _n.seniors) == null ? void 0 : _o.call(_n, people.seniors)) != null ? _p : `Seniors: ${people.seniors}` : null
|
|
3504
3521
|
].filter(Boolean).join(" \xB7 ") })
|
|
3505
3522
|
] })
|
|
3506
3523
|
] }),
|
|
3507
3524
|
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "flex flex-col gap-4", children: [
|
|
3508
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3509
|
-
"Adventures (",
|
|
3510
|
-
adventures.length,
|
|
3511
|
-
")"
|
|
3512
|
-
] }),
|
|
3525
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: (_r = (_q = labels == null ? void 0 : labels.adventuresSection) == null ? void 0 : _q.call(labels, adventures.length)) != null ? _r : `Adventures (${adventures.length})` }),
|
|
3513
3526
|
adventures.map((adventure) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
3514
3527
|
AdventureSection,
|
|
3515
3528
|
{
|
|
@@ -3527,7 +3540,8 @@ function BookingDetails({
|
|
|
3527
3540
|
onRequestOpenAddModal: handleRequestOpenAddModal,
|
|
3528
3541
|
onRequestOpenEditModal: handleRequestOpenEditModal,
|
|
3529
3542
|
onRequestOpenDeleteModal: handleRequestOpenDeleteModal,
|
|
3530
|
-
cannotRemoveLastTravellerLabel
|
|
3543
|
+
cannotRemoveLastTravellerLabel,
|
|
3544
|
+
labels
|
|
3531
3545
|
},
|
|
3532
3546
|
adventure.id
|
|
3533
3547
|
))
|
|
@@ -3541,7 +3555,8 @@ function BookingDetails({
|
|
|
3541
3555
|
total,
|
|
3542
3556
|
depositInfo,
|
|
3543
3557
|
balanceDueLabel,
|
|
3544
|
-
totalPaidLabel
|
|
3558
|
+
totalPaidLabel,
|
|
3559
|
+
labels
|
|
3545
3560
|
}
|
|
3546
3561
|
),
|
|
3547
3562
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-2xl border border-border bg-card p-5 lg:p-6 flex flex-col gap-4", children: [
|
|
@@ -3553,15 +3568,15 @@ function BookingDetails({
|
|
|
3553
3568
|
] }),
|
|
3554
3569
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3555
3570
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Email" }),
|
|
3556
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans truncate", children: (
|
|
3571
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans truncate", children: (_s = contact.email) != null ? _s : "\u2014" })
|
|
3557
3572
|
] }),
|
|
3558
3573
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3559
3574
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Phone" }),
|
|
3560
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: (
|
|
3575
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: (_t = contact.phone) != null ? _t : "\u2014" })
|
|
3561
3576
|
] }),
|
|
3562
3577
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3563
3578
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Country" }),
|
|
3564
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: (
|
|
3579
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-foreground font-sans", children: (_u = contact.country) != null ? _u : "\u2014" })
|
|
3565
3580
|
] }),
|
|
3566
3581
|
contact.passport && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3567
3582
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-bold text-muted-foreground/60 font-heading uppercase tracking-widest mb-0.5", children: "Passport / CPF" }),
|
|
@@ -4871,9 +4886,7 @@ var DEFAULT_LABELS3 = {
|
|
|
4871
4886
|
nationalityLabel: "Nationality",
|
|
4872
4887
|
selectPlaceholder: "Select an option\u2026",
|
|
4873
4888
|
optionalLabel: "(optional)",
|
|
4874
|
-
requiredFieldError: "Required"
|
|
4875
|
-
dateLabel: "Date",
|
|
4876
|
-
datesLabel: "Dates"
|
|
4889
|
+
requiredFieldError: "Required"
|
|
4877
4890
|
};
|
|
4878
4891
|
var TERMS_ACCEPT_KEY = "__registrationTermsAccepted";
|
|
4879
4892
|
function emptyName() {
|
|
@@ -5484,7 +5497,7 @@ function FieldRenderer({
|
|
|
5484
5497
|
}
|
|
5485
5498
|
function RegistrationForm({
|
|
5486
5499
|
logo = "/logo-planetaexo.png",
|
|
5487
|
-
logoAlt = "
|
|
5500
|
+
logoAlt = "Planeta EXO",
|
|
5488
5501
|
heroImage,
|
|
5489
5502
|
heroImageAlt = "",
|
|
5490
5503
|
title,
|
|
@@ -5654,7 +5667,7 @@ function RegistrationForm({
|
|
|
5654
5667
|
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "text-foreground font-medium text-right min-w-0 break-words", children: adventure.name })
|
|
5655
5668
|
] }),
|
|
5656
5669
|
dateRange && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-x-4", children: [
|
|
5657
|
-
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: (adventure == null ? void 0 : adventure.startDate) && (adventure == null ? void 0 : adventure.endDate) ?
|
|
5670
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: (adventure == null ? void 0 : adventure.startDate) && (adventure == null ? void 0 : adventure.endDate) ? "Dates" : "Date" }),
|
|
5658
5671
|
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "text-foreground text-right min-w-0", children: dateRange })
|
|
5659
5672
|
] }),
|
|
5660
5673
|
(adventure == null ? void 0 : adventure.partnerName) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-x-4", children: [
|
|
@@ -5838,7 +5851,7 @@ function phoneCountryDial(code) {
|
|
|
5838
5851
|
var _a, _b;
|
|
5839
5852
|
return (_b = (_a = PHONE_COUNTRIES.find((c) => c.code === code)) == null ? void 0 : _a.dial) != null ? _b : code;
|
|
5840
5853
|
}
|
|
5841
|
-
function defaultFormatAnswer(field, value, fmtDate
|
|
5854
|
+
function defaultFormatAnswer(field, value, fmtDate) {
|
|
5842
5855
|
var _a, _b, _c, _d, _e, _f;
|
|
5843
5856
|
if (value == null || value === "") return "\u2014";
|
|
5844
5857
|
if (value instanceof Date) return fmtDate(value);
|
|
@@ -5848,7 +5861,7 @@ function defaultFormatAnswer(field, value, fmtDate, booleanLabels = { yes: "Yes"
|
|
|
5848
5861
|
}
|
|
5849
5862
|
return value.filter(Boolean).join(", ") || "\u2014";
|
|
5850
5863
|
}
|
|
5851
|
-
if (typeof value === "boolean") return value ?
|
|
5864
|
+
if (typeof value === "boolean") return value ? "Yes" : "No";
|
|
5852
5865
|
if (typeof value === "object") {
|
|
5853
5866
|
if ("contactName" in value) {
|
|
5854
5867
|
const ec = value;
|
|
@@ -5903,12 +5916,11 @@ function RegistrationSuccessCard({
|
|
|
5903
5916
|
booking,
|
|
5904
5917
|
traveller,
|
|
5905
5918
|
tripInfoLabels,
|
|
5906
|
-
booleanLabels,
|
|
5907
5919
|
density = "comfortable",
|
|
5908
5920
|
submissionTimestamps,
|
|
5909
5921
|
submissionTimestampsLabels
|
|
5910
5922
|
}) {
|
|
5911
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j
|
|
5923
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
5912
5924
|
const isMinimal = variant === "minimal";
|
|
5913
5925
|
const isCompact = density === "compact";
|
|
5914
5926
|
const sorted = isMinimal ? [] : [...fields].sort((a, b) => {
|
|
@@ -5922,17 +5934,11 @@ function RegistrationSuccessCard({
|
|
|
5922
5934
|
adventureLabel: (_b = tripInfoLabels == null ? void 0 : tripInfoLabels.adventureLabel) != null ? _b : "Adventure",
|
|
5923
5935
|
bookingLabel: (_c = tripInfoLabels == null ? void 0 : tripInfoLabels.bookingLabel) != null ? _c : "Booking",
|
|
5924
5936
|
partnerLabel: (_d = tripInfoLabels == null ? void 0 : tripInfoLabels.partnerLabel) != null ? _d : "Partner",
|
|
5925
|
-
travellerLabel: (_e = tripInfoLabels == null ? void 0 : tripInfoLabels.travellerLabel) != null ? _e : "Traveller"
|
|
5926
|
-
dateLabel: (_f = tripInfoLabels == null ? void 0 : tripInfoLabels.dateLabel) != null ? _f : "Date",
|
|
5927
|
-
datesLabel: (_g = tripInfoLabels == null ? void 0 : tripInfoLabels.datesLabel) != null ? _g : "Dates"
|
|
5928
|
-
};
|
|
5929
|
-
const BL = {
|
|
5930
|
-
yes: (_h = booleanLabels == null ? void 0 : booleanLabels.yes) != null ? _h : "Yes",
|
|
5931
|
-
no: (_i = booleanLabels == null ? void 0 : booleanLabels.no) != null ? _i : "No"
|
|
5937
|
+
travellerLabel: (_e = tripInfoLabels == null ? void 0 : tripInfoLabels.travellerLabel) != null ? _e : "Traveller"
|
|
5932
5938
|
};
|
|
5933
5939
|
const STL = {
|
|
5934
|
-
submittedAt: (
|
|
5935
|
-
lastUpdatedAt: (
|
|
5940
|
+
submittedAt: (_f = submissionTimestampsLabels == null ? void 0 : submissionTimestampsLabels.submittedAt) != null ? _f : "Submitted",
|
|
5941
|
+
lastUpdatedAt: (_g = submissionTimestampsLabels == null ? void 0 : submissionTimestampsLabels.lastUpdatedAt) != null ? _g : "Last updated"
|
|
5936
5942
|
};
|
|
5937
5943
|
const hasTimestamps = !isMinimal && !!submissionTimestamps && (!!submissionTimestamps.submittedAt || !!submissionTimestamps.lastUpdatedAt);
|
|
5938
5944
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -5983,7 +5989,7 @@ function RegistrationSuccessCard({
|
|
|
5983
5989
|
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "w-1/2 text-foreground font-medium text-right min-w-0 break-words", children: adventure.name })
|
|
5984
5990
|
] }),
|
|
5985
5991
|
dateRange && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-x-4", children: [
|
|
5986
|
-
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "w-1/2 text-muted-foreground break-words", children: (adventure == null ? void 0 : adventure.startDate) && (adventure == null ? void 0 : adventure.endDate) ?
|
|
5992
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "w-1/2 text-muted-foreground break-words", children: (adventure == null ? void 0 : adventure.startDate) && (adventure == null ? void 0 : adventure.endDate) ? "Dates" : "Date" }),
|
|
5987
5993
|
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "w-1/2 text-foreground text-right min-w-0 break-words", children: dateRange })
|
|
5988
5994
|
] }),
|
|
5989
5995
|
(adventure == null ? void 0 : adventure.partnerName) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-x-4", children: [
|
|
@@ -6001,18 +6007,18 @@ function RegistrationSuccessCard({
|
|
|
6001
6007
|
] }) }),
|
|
6002
6008
|
sorted.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(FormSection2, { title: answersTitle, children: /* @__PURE__ */ jsxRuntime.jsx("dl", { className: "flex flex-col gap-y-3 text-sm font-ui", children: sorted.map((f) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-x-4", children: [
|
|
6003
6009
|
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "w-1/2 text-muted-foreground break-words", children: f.label }),
|
|
6004
|
-
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "w-1/2 text-foreground text-right min-w-0 break-words", children: (formatAnswer != null ? formatAnswer : ((field, v) => defaultFormatAnswer(field, v, dateFormatter
|
|
6010
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "w-1/2 text-foreground text-right min-w-0 break-words", children: (formatAnswer != null ? formatAnswer : ((field, v) => defaultFormatAnswer(field, v, dateFormatter)))(
|
|
6005
6011
|
f,
|
|
6006
6012
|
answers[f.id]
|
|
6007
6013
|
) })
|
|
6008
6014
|
] }, f.id)) }) }),
|
|
6009
|
-
!isMinimal && terms && /* @__PURE__ */ jsxRuntime.jsx(FormSection2, { title: (
|
|
6015
|
+
!isMinimal && terms && /* @__PURE__ */ jsxRuntime.jsx(FormSection2, { title: (_h = termsLabels == null ? void 0 : termsLabels.title) != null ? _h : "Terms & Conditions", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3 text-sm font-ui", children: [
|
|
6010
6016
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
6011
6017
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(
|
|
6012
6018
|
"inline-flex h-5 w-5 items-center justify-center rounded-full text-white text-xs font-bold",
|
|
6013
6019
|
terms.accepted ? "bg-primary" : "bg-destructive"
|
|
6014
6020
|
), children: terms.accepted ? "\u2713" : "\u2717" }),
|
|
6015
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: terms.accepted ? "text-primary font-medium" : "text-destructive font-medium", children: terms.accepted ? (
|
|
6021
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: terms.accepted ? "text-primary font-medium" : "text-destructive font-medium", children: terms.accepted ? (_i = termsLabels == null ? void 0 : termsLabels.accepted) != null ? _i : "Accepted" : (_j = termsLabels == null ? void 0 : termsLabels.notAccepted) != null ? _j : "Not accepted" })
|
|
6016
6022
|
] }),
|
|
6017
6023
|
termsLayout === "full" && terms.markdown.trim().length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6018
6024
|
"div",
|
|
@@ -7609,7 +7615,7 @@ function SiteHeader({
|
|
|
7609
7615
|
variant = "transparent",
|
|
7610
7616
|
links = DEFAULT_HEADER_LINKS,
|
|
7611
7617
|
logoSrc = "/logo-planetaexo.png",
|
|
7612
|
-
logoAlt = "
|
|
7618
|
+
logoAlt = "Planeta Exo",
|
|
7613
7619
|
languages = DEFAULT_LANGUAGES,
|
|
7614
7620
|
currentLanguage = "EN",
|
|
7615
7621
|
onLanguageChange,
|