@planetaexo/design-system 0.46.2 → 0.46.3
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 +50 -44
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +50 -2
- package/dist/index.d.ts +50 -2
- package/dist/index.js +50 -44
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -12513,6 +12513,7 @@ function TripPage({
|
|
|
12513
12513
|
faqs,
|
|
12514
12514
|
faqInitialCount = 5,
|
|
12515
12515
|
sectionIcons,
|
|
12516
|
+
labels,
|
|
12516
12517
|
reviews,
|
|
12517
12518
|
trustpilot,
|
|
12518
12519
|
trustpilotMini,
|
|
@@ -12531,6 +12532,7 @@ function TripPage({
|
|
|
12531
12532
|
features,
|
|
12532
12533
|
className
|
|
12533
12534
|
}) {
|
|
12535
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
|
|
12534
12536
|
const [activeSection, setActiveSection] = React28__namespace.useState("");
|
|
12535
12537
|
const [accordionValue, setAccordionValue] = React28__namespace.useState([]);
|
|
12536
12538
|
const [faqsExpanded, setFaqsExpanded] = React28__namespace.useState(false);
|
|
@@ -12560,21 +12562,24 @@ function TripPage({
|
|
|
12560
12562
|
const pricingBarRef = React28__namespace.useRef(null);
|
|
12561
12563
|
const galleryRef = React28__namespace.useRef(null);
|
|
12562
12564
|
const sections = React28__namespace.useMemo(
|
|
12563
|
-
() =>
|
|
12564
|
-
|
|
12565
|
-
|
|
12566
|
-
id: "
|
|
12567
|
-
|
|
12568
|
-
|
|
12569
|
-
|
|
12570
|
-
|
|
12571
|
-
|
|
12572
|
-
|
|
12573
|
-
|
|
12574
|
-
|
|
12575
|
-
|
|
12576
|
-
|
|
12577
|
-
|
|
12565
|
+
() => {
|
|
12566
|
+
var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2;
|
|
12567
|
+
return [
|
|
12568
|
+
{ id: "overview", label: (_a2 = labels == null ? void 0 : labels.overview) != null ? _a2 : "Overview", show: !!(overview || (overviewHighlights == null ? void 0 : overviewHighlights.length)) },
|
|
12569
|
+
{
|
|
12570
|
+
id: "itinerary",
|
|
12571
|
+
label: (_b2 = labels == null ? void 0 : labels.itinerary) != null ? _b2 : "Itinerary",
|
|
12572
|
+
show: !!((itineraryDays == null ? void 0 : itineraryDays.length) || (itinerary == null ? void 0 : itinerary.length))
|
|
12573
|
+
},
|
|
12574
|
+
{ id: "included", label: (_c2 = labels == null ? void 0 : labels.whatIsIncluded) != null ? _c2 : "What is Included", show: !!(included == null ? void 0 : included.length) },
|
|
12575
|
+
{ id: "what-to-bring", label: (_d2 = labels == null ? void 0 : labels.whatToBring) != null ? _d2 : "What to Bring", show: !!(whatToBring == null ? void 0 : whatToBring.length) },
|
|
12576
|
+
{ id: "when-it-operates", label: (_e2 = labels == null ? void 0 : labels.whenItOperates) != null ? _e2 : "When this tour operates", show: !!whenItOperates },
|
|
12577
|
+
{ id: "accommodation", label: (_f2 = labels == null ? void 0 : labels.accommodation) != null ? _f2 : "Accommodation", show: !!accommodation },
|
|
12578
|
+
{ id: "terms", label: (_g2 = labels == null ? void 0 : labels.terms) != null ? _g2 : "Terms", show: !!termsAndConditions },
|
|
12579
|
+
{ id: "faq", label: (_h2 = labels == null ? void 0 : labels.faq) != null ? _h2 : "FAQ", show: !!(faqs == null ? void 0 : faqs.length) },
|
|
12580
|
+
{ id: "reviews", label: (_i2 = labels == null ? void 0 : labels.reviews) != null ? _i2 : "Reviews", show: !!(trustpilot || (reviews == null ? void 0 : reviews.length)) }
|
|
12581
|
+
].filter((s) => s.show);
|
|
12582
|
+
},
|
|
12578
12583
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12579
12584
|
[]
|
|
12580
12585
|
);
|
|
@@ -12606,8 +12611,8 @@ function TripPage({
|
|
|
12606
12611
|
}, [isFloating]);
|
|
12607
12612
|
React28__namespace.useEffect(() => {
|
|
12608
12613
|
const check = () => {
|
|
12609
|
-
var
|
|
12610
|
-
const target = (
|
|
12614
|
+
var _a2;
|
|
12615
|
+
const target = (_a2 = galleryRef.current) != null ? _a2 : pricingBarRef.current;
|
|
12611
12616
|
if (!target) return;
|
|
12612
12617
|
setPricingBarVisible(target.getBoundingClientRect().top < window.innerHeight * 0.75);
|
|
12613
12618
|
};
|
|
@@ -12628,8 +12633,8 @@ function TripPage({
|
|
|
12628
12633
|
if (sections.length === 0) return;
|
|
12629
12634
|
setActiveSection(sections[0].id);
|
|
12630
12635
|
const update = () => {
|
|
12631
|
-
var
|
|
12632
|
-
const navH = ((
|
|
12636
|
+
var _a2, _b2;
|
|
12637
|
+
const navH = ((_b2 = (_a2 = navRef.current) == null ? void 0 : _a2.offsetHeight) != null ? _b2 : 56) + 20;
|
|
12633
12638
|
for (const { id } of [...sections].reverse()) {
|
|
12634
12639
|
const el = document.getElementById(`trip-section-${id}`);
|
|
12635
12640
|
if (el && el.getBoundingClientRect().top <= navH) {
|
|
@@ -12643,11 +12648,11 @@ function TripPage({
|
|
|
12643
12648
|
return () => document.removeEventListener("scroll", update, { capture: true });
|
|
12644
12649
|
}, [sections]);
|
|
12645
12650
|
const scrollToBookingForm = () => {
|
|
12646
|
-
var
|
|
12651
|
+
var _a2, _b2, _c2;
|
|
12647
12652
|
const el = document.getElementById("trip-booking-form");
|
|
12648
12653
|
if (!el) return;
|
|
12649
|
-
const navHeight = ((
|
|
12650
|
-
const scrollEl = (
|
|
12654
|
+
const navHeight = ((_b2 = (_a2 = navRef.current) == null ? void 0 : _a2.offsetHeight) != null ? _b2 : 56) + 16;
|
|
12655
|
+
const scrollEl = (_c2 = navRef.current) == null ? void 0 : _c2.closest("main");
|
|
12651
12656
|
const elTop = el.getBoundingClientRect().top;
|
|
12652
12657
|
const containerTop = scrollEl ? scrollEl.getBoundingClientRect().top : 0;
|
|
12653
12658
|
const currentScroll = scrollEl ? scrollEl.scrollTop : window.scrollY;
|
|
@@ -12660,11 +12665,11 @@ function TripPage({
|
|
|
12660
12665
|
};
|
|
12661
12666
|
const scrollToSection = (id) => {
|
|
12662
12667
|
const performScroll = () => {
|
|
12663
|
-
var
|
|
12668
|
+
var _a2, _b2, _c2;
|
|
12664
12669
|
const el = document.getElementById(`trip-section-${id}`);
|
|
12665
12670
|
if (!el) return;
|
|
12666
|
-
const navHeight = (
|
|
12667
|
-
const scrollEl = (
|
|
12671
|
+
const navHeight = (_b2 = (_a2 = navRef.current) == null ? void 0 : _a2.offsetHeight) != null ? _b2 : 56;
|
|
12672
|
+
const scrollEl = (_c2 = navRef.current) == null ? void 0 : _c2.closest("main");
|
|
12668
12673
|
const currentScroll = scrollEl ? scrollEl.scrollTop : window.scrollY;
|
|
12669
12674
|
const elTop = el.getBoundingClientRect().top;
|
|
12670
12675
|
const containerTop = scrollEl ? scrollEl.getBoundingClientRect().top : 0;
|
|
@@ -12733,7 +12738,7 @@ function TripPage({
|
|
|
12733
12738
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col lg:flex-row gap-8 mt-4", children: [
|
|
12734
12739
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0 space-y-12 pb-12", children: [
|
|
12735
12740
|
(overview || (overviewHighlights == null ? void 0 : overviewHighlights.length)) && /* @__PURE__ */ jsxRuntime.jsxs("section", { id: "trip-section-overview", className: "scroll-mt-20", children: [
|
|
12736
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-4", children: "Overview" }),
|
|
12741
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-4", children: (_a = labels == null ? void 0 : labels.overview) != null ? _a : "Overview" }),
|
|
12737
12742
|
overview && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-lg text-foreground leading-relaxed space-y-3 [&_strong]:font-semibold [&_a]:text-primary [&_a]:underline", children: overview }),
|
|
12738
12743
|
overviewHighlights && overviewHighlights.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex flex-col gap-5", overview && "mt-8"), children: overviewHighlights.map((h, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-4", children: [
|
|
12739
12744
|
h.icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-10 w-10 shrink-0 items-center justify-center text-foreground [&_svg]:h-8 [&_svg]:w-8", children: h.icon }),
|
|
@@ -12748,7 +12753,7 @@ function TripPage({
|
|
|
12748
12753
|
] })
|
|
12749
12754
|
] }),
|
|
12750
12755
|
itineraryDays && itineraryDays.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("section", { id: "trip-section-itinerary", className: "scroll-mt-20", children: [
|
|
12751
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-6", children: "Itinerary" }),
|
|
12756
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-6", children: (_b = labels == null ? void 0 : labels.itinerary) != null ? _b : "Itinerary" }),
|
|
12752
12757
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-12", children: itineraryDays.map((day) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
12753
12758
|
ItineraryDay,
|
|
12754
12759
|
__spreadProps(__spreadValues({}, day), {
|
|
@@ -12757,20 +12762,20 @@ function TripPage({
|
|
|
12757
12762
|
day.dayNumber
|
|
12758
12763
|
)) })
|
|
12759
12764
|
] }) : itinerary && itinerary.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("section", { id: "trip-section-itinerary", className: "scroll-mt-20", children: [
|
|
12760
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-6", children: "Itinerary" }),
|
|
12765
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-6", children: (_c = labels == null ? void 0 : labels.itinerary) != null ? _c : "Itinerary" }),
|
|
12761
12766
|
/* @__PURE__ */ jsxRuntime.jsx(ItineraryTimeline, { steps: itinerary })
|
|
12762
12767
|
] }),
|
|
12763
12768
|
included && included.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("section", { id: "trip-section-included", className: "scroll-mt-20", children: [
|
|
12764
12769
|
/* @__PURE__ */ jsxRuntime.jsxs("h2", { className: "text-xl font-bold text-foreground font-heading mb-4 flex items-center gap-2", children: [
|
|
12765
12770
|
(sectionIcons == null ? void 0 : sectionIcons.whatIsIncluded) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary [&>svg]:h-5 [&>svg]:w-5", children: sectionIcons.whatIsIncluded }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PackageIcon, { className: "h-5 w-5 text-primary" }),
|
|
12766
|
-
"Included"
|
|
12771
|
+
(_d = labels == null ? void 0 : labels.whatIsIncluded) != null ? _d : "Included"
|
|
12767
12772
|
] }),
|
|
12768
12773
|
/* @__PURE__ */ jsxRuntime.jsx(Checklist, { items: included })
|
|
12769
12774
|
] }),
|
|
12770
12775
|
notIncluded && notIncluded.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("section", { id: "trip-section-not-included", className: "scroll-mt-20", children: [
|
|
12771
12776
|
/* @__PURE__ */ jsxRuntime.jsxs("h2", { className: "text-xl font-bold text-foreground font-heading mb-4 flex items-center gap-2", children: [
|
|
12772
12777
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.XIcon, { className: "h-5 w-5 text-muted-foreground" }),
|
|
12773
|
-
"Not included"
|
|
12778
|
+
(_e = labels == null ? void 0 : labels.notIncluded) != null ? _e : "Not included"
|
|
12774
12779
|
] }),
|
|
12775
12780
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12776
12781
|
Checklist,
|
|
@@ -12797,7 +12802,7 @@ function TripPage({
|
|
|
12797
12802
|
children: [
|
|
12798
12803
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "py-5 text-xl font-bold text-foreground font-heading hover:no-underline", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
12799
12804
|
(sectionIcons == null ? void 0 : sectionIcons.whenItOperates) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary [&>svg]:h-5 [&>svg]:w-5", children: sectionIcons.whenItOperates }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CalendarIcon, { className: "h-5 w-5 text-primary" }),
|
|
12800
|
-
"When this tour operates"
|
|
12805
|
+
(_f = labels == null ? void 0 : labels.whenItOperates) != null ? _f : "When this tour operates"
|
|
12801
12806
|
] }) }),
|
|
12802
12807
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "pb-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base text-foreground leading-relaxed space-y-3 [&_strong]:font-bold [&_a]:text-primary [&_a]:underline", children: whenItOperates }) })
|
|
12803
12808
|
]
|
|
@@ -12812,7 +12817,7 @@ function TripPage({
|
|
|
12812
12817
|
children: [
|
|
12813
12818
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "py-5 text-xl font-bold text-foreground font-heading hover:no-underline", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
12814
12819
|
(sectionIcons == null ? void 0 : sectionIcons.accommodation) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary [&>svg]:h-5 [&>svg]:w-5", children: sectionIcons.accommodation }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.BedDoubleIcon, { className: "h-5 w-5 text-primary" }),
|
|
12815
|
-
"Accommodation"
|
|
12820
|
+
(_g = labels == null ? void 0 : labels.accommodation) != null ? _g : "Accommodation"
|
|
12816
12821
|
] }) }),
|
|
12817
12822
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "pb-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base text-foreground leading-relaxed space-y-3 [&_strong]:font-semibold [&_a]:text-primary [&_a]:underline", children: accommodation }) })
|
|
12818
12823
|
]
|
|
@@ -12827,7 +12832,7 @@ function TripPage({
|
|
|
12827
12832
|
children: [
|
|
12828
12833
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "py-5 text-xl font-bold text-foreground font-heading hover:no-underline", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
12829
12834
|
(sectionIcons == null ? void 0 : sectionIcons.food) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary [&>svg]:h-5 [&>svg]:w-5", children: sectionIcons.food }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.UtensilsIcon, { className: "h-5 w-5 text-primary" }),
|
|
12830
|
-
"Food"
|
|
12835
|
+
(_h = labels == null ? void 0 : labels.food) != null ? _h : "Food"
|
|
12831
12836
|
] }) }),
|
|
12832
12837
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "pb-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base text-foreground leading-relaxed space-y-3 [&_strong]:font-semibold [&_a]:text-primary [&_a]:underline", children: food }) })
|
|
12833
12838
|
]
|
|
@@ -12842,7 +12847,7 @@ function TripPage({
|
|
|
12842
12847
|
children: [
|
|
12843
12848
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "py-5 text-xl font-bold text-foreground font-heading hover:no-underline", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
12844
12849
|
(sectionIcons == null ? void 0 : sectionIcons.meetingPoint) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary [&>svg]:h-5 [&>svg]:w-5", children: sectionIcons.meetingPoint }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MapPinIcon, { className: "h-5 w-5 text-primary" }),
|
|
12845
|
-
"Meeting point"
|
|
12850
|
+
(_i = labels == null ? void 0 : labels.meetingPoint) != null ? _i : "Meeting point"
|
|
12846
12851
|
] }) }),
|
|
12847
12852
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "pb-6", children: meetingPoint ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base text-foreground leading-relaxed space-y-3 [&_strong]:font-semibold [&_a]:text-primary [&_a]:underline", children: meetingPoint }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: meetingPoints.map((mp, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3 rounded-xl border border-border p-4", children: [
|
|
12848
12853
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-primary/10", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MapPinIcon, { className: "h-4 w-4 text-primary" }) }),
|
|
@@ -12864,7 +12869,7 @@ function TripPage({
|
|
|
12864
12869
|
children: [
|
|
12865
12870
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "py-5 text-xl font-bold text-foreground font-heading hover:no-underline", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
12866
12871
|
(sectionIcons == null ? void 0 : sectionIcons.howToGetThere) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary [&>svg]:h-5 [&>svg]:w-5", children: sectionIcons.howToGetThere }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CompassIcon, { className: "h-5 w-5 text-primary" }),
|
|
12867
|
-
"How to get there"
|
|
12872
|
+
(_j = labels == null ? void 0 : labels.howToGetThere) != null ? _j : "How to get there"
|
|
12868
12873
|
] }) }),
|
|
12869
12874
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "pb-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base text-foreground leading-relaxed space-y-3 [&_strong]:font-semibold [&_a]:text-primary [&_a]:underline", children: howToGetThere }) })
|
|
12870
12875
|
]
|
|
@@ -12879,7 +12884,7 @@ function TripPage({
|
|
|
12879
12884
|
children: [
|
|
12880
12885
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "py-5 text-xl font-bold text-foreground font-heading hover:no-underline", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
12881
12886
|
(sectionIcons == null ? void 0 : sectionIcons.weather) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary [&>svg]:h-5 [&>svg]:w-5", children: sectionIcons.weather }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SunIcon, { className: "h-5 w-5 text-primary" }),
|
|
12882
|
-
"Weather"
|
|
12887
|
+
(_k = labels == null ? void 0 : labels.weather) != null ? _k : "Weather"
|
|
12883
12888
|
] }) }),
|
|
12884
12889
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "pb-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start gap-3 rounded-xl bg-muted/60 border border-border p-5", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base text-foreground leading-relaxed space-y-2 [&_strong]:font-semibold", children: weather }) }) })
|
|
12885
12890
|
]
|
|
@@ -12894,7 +12899,7 @@ function TripPage({
|
|
|
12894
12899
|
children: [
|
|
12895
12900
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "py-5 text-xl font-bold text-foreground font-heading hover:no-underline", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
12896
12901
|
(sectionIcons == null ? void 0 : sectionIcons.whatToBring) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary [&>svg]:h-5 [&>svg]:w-5", children: sectionIcons.whatToBring }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.BackpackIcon, { className: "h-5 w-5 text-primary" }),
|
|
12897
|
-
"What to bring"
|
|
12902
|
+
(_l = labels == null ? void 0 : labels.whatToBring) != null ? _l : "What to bring"
|
|
12898
12903
|
] }) }),
|
|
12899
12904
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "pb-6", children: /* @__PURE__ */ jsxRuntime.jsx(Checklist, { items: whatToBring, icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.InfoIcon, { className: "h-4 w-4" }) }) })
|
|
12900
12905
|
]
|
|
@@ -12909,7 +12914,7 @@ function TripPage({
|
|
|
12909
12914
|
children: [
|
|
12910
12915
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "py-5 text-xl font-bold text-foreground font-heading hover:no-underline", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
12911
12916
|
(sectionIcons == null ? void 0 : sectionIcons.optionalExtras) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary [&>svg]:h-5 [&>svg]:w-5", children: sectionIcons.optionalExtras }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CherryIcon, { className: "h-5 w-5 text-primary" }),
|
|
12912
|
-
"Optional extras"
|
|
12917
|
+
(_m = labels == null ? void 0 : labels.optionalExtras) != null ? _m : "Optional extras"
|
|
12913
12918
|
] }) }),
|
|
12914
12919
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "pb-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base text-foreground leading-relaxed space-y-3 [&_strong]:font-semibold [&_a]:text-primary [&_a]:underline", children: optionalExtras }) })
|
|
12915
12920
|
]
|
|
@@ -12924,7 +12929,7 @@ function TripPage({
|
|
|
12924
12929
|
children: [
|
|
12925
12930
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "py-5 text-xl font-bold text-foreground font-heading hover:no-underline", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
|
|
12926
12931
|
(sectionIcons == null ? void 0 : sectionIcons.terms) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary [&>svg]:h-5 [&>svg]:w-5", children: sectionIcons.terms }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ReceiptIcon, { className: "h-5 w-5 text-primary" }),
|
|
12927
|
-
"Terms & conditions"
|
|
12932
|
+
(_n = labels == null ? void 0 : labels.terms) != null ? _n : "Terms & conditions"
|
|
12928
12933
|
] }) }),
|
|
12929
12934
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "pb-6", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base text-foreground leading-relaxed space-y-3 [&_strong]:font-semibold [&_a]:text-primary [&_a]:underline", children: termsAndConditions }) })
|
|
12930
12935
|
]
|
|
@@ -12934,10 +12939,11 @@ function TripPage({
|
|
|
12934
12939
|
}
|
|
12935
12940
|
),
|
|
12936
12941
|
faqs && faqs.length > 0 && (() => {
|
|
12942
|
+
var _a2;
|
|
12937
12943
|
const visibleFaqs = faqsExpanded ? faqs : faqs.slice(0, faqInitialCount);
|
|
12938
12944
|
const hiddenCount = faqs.length - visibleFaqs.length;
|
|
12939
12945
|
return /* @__PURE__ */ jsxRuntime.jsxs("section", { id: "trip-section-faq", className: "scroll-mt-20", children: [
|
|
12940
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-6", children: "FAQ" }),
|
|
12946
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-6", children: (_a2 = labels == null ? void 0 : labels.faq) != null ? _a2 : "FAQ" }),
|
|
12941
12947
|
/* @__PURE__ */ jsxRuntime.jsx(Accordion, { variant: "faq", children: visibleFaqs.map((faq, i) => /* @__PURE__ */ jsxRuntime.jsxs(AccordionItem, { value: `faq-${i}`, children: [
|
|
12942
12948
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { children: faq.question }),
|
|
12943
12949
|
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { children: faq.answer })
|
|
@@ -12968,15 +12974,15 @@ function TripPage({
|
|
|
12968
12974
|
})(),
|
|
12969
12975
|
trustpilot ? /* @__PURE__ */ jsxRuntime.jsxs("section", { id: "trip-section-reviews", className: "scroll-mt-20", children: [
|
|
12970
12976
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "mb-10" }),
|
|
12971
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-5", children: "What our guests think" }),
|
|
12977
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-5", children: (_o = labels == null ? void 0 : labels.reviews) != null ? _o : "What our guests think" }),
|
|
12972
12978
|
/* @__PURE__ */ jsxRuntime.jsx(TrustpilotEmbed, { config: trustpilot })
|
|
12973
12979
|
] }) : reviews && reviews.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("section", { id: "trip-section-reviews", className: "scroll-mt-20", children: [
|
|
12974
12980
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "mb-10" }),
|
|
12975
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-5", children: "What our guests think" }),
|
|
12981
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xl font-bold text-foreground font-heading mb-5", children: (_p = labels == null ? void 0 : labels.reviews) != null ? _p : "What our guests think" }),
|
|
12976
12982
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-4", children: reviews.map((r, i) => {
|
|
12977
|
-
var
|
|
12983
|
+
var _a2;
|
|
12978
12984
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3 rounded-xl border border-border p-5", children: [
|
|
12979
|
-
/* @__PURE__ */ jsxRuntime.jsx(Stars, { count: (
|
|
12985
|
+
/* @__PURE__ */ jsxRuntime.jsx(Stars, { count: (_a2 = r.rating) != null ? _a2 : 5 }),
|
|
12980
12986
|
/* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-base text-foreground leading-relaxed line-clamp-4", children: [
|
|
12981
12987
|
"\u201C",
|
|
12982
12988
|
r.text,
|