@planetaexo/design-system 0.3.3 → 0.3.4
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 +129 -66
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +32 -1
- package/dist/index.d.ts +32 -1
- package/dist/index.js +127 -67
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -115,6 +115,37 @@ interface BookingShellProps {
|
|
|
115
115
|
successMessage?: string | null;
|
|
116
116
|
}
|
|
117
117
|
declare function BookingShell({ steps, currentStep, title, children, onNext, onBack, onCancel, nextLabel, backLabel, cancelLabel, nextDisabled, nextBlockedMessage, error, successMessage, }: BookingShellProps): react_jsx_runtime.JSX.Element;
|
|
118
|
+
interface PaymentAmountSelectorProps {
|
|
119
|
+
title?: string;
|
|
120
|
+
depositLabel: string;
|
|
121
|
+
fullLabel: string;
|
|
122
|
+
value: "deposit" | "full";
|
|
123
|
+
onChange: (value: "deposit" | "full") => void;
|
|
124
|
+
}
|
|
125
|
+
declare function PaymentAmountSelector({ title, depositLabel, fullLabel, value, onChange, }: PaymentAmountSelectorProps): react_jsx_runtime.JSX.Element;
|
|
126
|
+
interface PaymentMethodOption {
|
|
127
|
+
id: string;
|
|
128
|
+
label: string;
|
|
129
|
+
description?: string;
|
|
130
|
+
disabled?: boolean;
|
|
131
|
+
}
|
|
132
|
+
interface PaymentMethodSelectorProps {
|
|
133
|
+
title?: string;
|
|
134
|
+
methods: PaymentMethodOption[];
|
|
135
|
+
value: string;
|
|
136
|
+
onChange: (value: string) => void;
|
|
137
|
+
}
|
|
138
|
+
declare function PaymentMethodSelector({ title, methods, value, onChange, }: PaymentMethodSelectorProps): react_jsx_runtime.JSX.Element;
|
|
139
|
+
interface TermsSectionProps {
|
|
140
|
+
title?: string;
|
|
141
|
+
checked: boolean;
|
|
142
|
+
onChange: (checked: boolean) => void;
|
|
143
|
+
/** Conteúdo do label — pode incluir links/botões do host app */
|
|
144
|
+
label: React.ReactNode;
|
|
145
|
+
/** Mensagem de aviso exibida quando não marcado */
|
|
146
|
+
warningMessage?: string | null;
|
|
147
|
+
}
|
|
148
|
+
declare function TermsSection({ title, checked, onChange, label, warningMessage, }: TermsSectionProps): react_jsx_runtime.JSX.Element;
|
|
118
149
|
/** Cartão de aventura isolado (mesmo layout que dentro de `Offer`). */
|
|
119
150
|
declare function OfferAdventureCard({ adventure }: {
|
|
120
151
|
adventure: OfferAdventureItem;
|
|
@@ -801,4 +832,4 @@ declare function LeadCapturePopup({ config: _config, }: {
|
|
|
801
832
|
config: LeadCapturePopupConfig;
|
|
802
833
|
}): react_jsx_runtime.JSX.Element | null;
|
|
803
834
|
|
|
804
|
-
export { ActivityCard, type ActivityCardProps, type ActivityCardSize, type BookingAdventure, BookingConfirmation, BookingConfirmationEmail, type BookingConfirmationEmailLabels, type BookingConfirmationEmailProps, type BookingConfirmationLabels, type BookingConfirmationProps, type BookingContact, type BookingDepositInfo, BookingDetails, type BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingShell, type BookingShellProps, type BookingStatus, type BookingSummaryLineItem, type BookingTraveller, COUNTRIES, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, type DatePickerFieldProps, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, Itinerary, type ItineraryProps, type ItineraryRoute, type ItineraryStop, LeadCapturePopup, type LeadCapturePopupConfig, MenuTrip, type MenuTripProps, type MenuTripSection, type MenuTripVariant, Offer, OfferAdventureCard, type OfferAdventureItem, type OfferAgentInfo, type OfferDepositInfo, type OfferOptionalItem, type OfferProps, type OfferSummaryLineItem, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, type PricingOption, PricingTrip, type PricingTripProps, type PricingTripVariant, SiteHeader, type SiteHeaderLanguage, type SiteHeaderLink, type SiteHeaderProps, type SiteHeaderSubItem, type SiteHeaderVariant, type SuggestedTraveller, ThemeToggle, TripCard, type TripCardCta, type TripCardProps, type TripCardSize, type TripCardStatus, type TripDuration, type TripFaq, TripHeader, type TripHeaderProps, type TripHighlight, type TripInfoGroup, type TripItineraryStep, type TripMeetingPoint, TripPage, type TripPageProps, type TripPricingOption, type TripReview, cn };
|
|
835
|
+
export { ActivityCard, type ActivityCardProps, type ActivityCardSize, type BookingAdventure, BookingConfirmation, BookingConfirmationEmail, type BookingConfirmationEmailLabels, type BookingConfirmationEmailProps, type BookingConfirmationLabels, type BookingConfirmationProps, type BookingContact, type BookingDepositInfo, BookingDetails, type BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingShell, type BookingShellProps, type BookingStatus, type BookingSummaryLineItem, type BookingTraveller, COUNTRIES, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, type DatePickerFieldProps, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, Itinerary, type ItineraryProps, type ItineraryRoute, type ItineraryStop, LeadCapturePopup, type LeadCapturePopupConfig, MenuTrip, type MenuTripProps, type MenuTripSection, type MenuTripVariant, Offer, OfferAdventureCard, type OfferAdventureItem, type OfferAgentInfo, type OfferDepositInfo, type OfferOptionalItem, type OfferProps, type OfferSummaryLineItem, PaymentAmountSelector, type PaymentAmountSelectorProps, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, type PricingOption, PricingTrip, type PricingTripProps, type PricingTripVariant, SiteHeader, type SiteHeaderLanguage, type SiteHeaderLink, type SiteHeaderProps, type SiteHeaderSubItem, type SiteHeaderVariant, type SuggestedTraveller, TermsSection, type TermsSectionProps, ThemeToggle, TripCard, type TripCardCta, type TripCardProps, type TripCardSize, type TripCardStatus, type TripDuration, type TripFaq, TripHeader, type TripHeaderProps, type TripHighlight, type TripInfoGroup, type TripItineraryStep, type TripMeetingPoint, TripPage, type TripPageProps, type TripPricingOption, type TripReview, cn };
|
package/dist/index.d.ts
CHANGED
|
@@ -115,6 +115,37 @@ interface BookingShellProps {
|
|
|
115
115
|
successMessage?: string | null;
|
|
116
116
|
}
|
|
117
117
|
declare function BookingShell({ steps, currentStep, title, children, onNext, onBack, onCancel, nextLabel, backLabel, cancelLabel, nextDisabled, nextBlockedMessage, error, successMessage, }: BookingShellProps): react_jsx_runtime.JSX.Element;
|
|
118
|
+
interface PaymentAmountSelectorProps {
|
|
119
|
+
title?: string;
|
|
120
|
+
depositLabel: string;
|
|
121
|
+
fullLabel: string;
|
|
122
|
+
value: "deposit" | "full";
|
|
123
|
+
onChange: (value: "deposit" | "full") => void;
|
|
124
|
+
}
|
|
125
|
+
declare function PaymentAmountSelector({ title, depositLabel, fullLabel, value, onChange, }: PaymentAmountSelectorProps): react_jsx_runtime.JSX.Element;
|
|
126
|
+
interface PaymentMethodOption {
|
|
127
|
+
id: string;
|
|
128
|
+
label: string;
|
|
129
|
+
description?: string;
|
|
130
|
+
disabled?: boolean;
|
|
131
|
+
}
|
|
132
|
+
interface PaymentMethodSelectorProps {
|
|
133
|
+
title?: string;
|
|
134
|
+
methods: PaymentMethodOption[];
|
|
135
|
+
value: string;
|
|
136
|
+
onChange: (value: string) => void;
|
|
137
|
+
}
|
|
138
|
+
declare function PaymentMethodSelector({ title, methods, value, onChange, }: PaymentMethodSelectorProps): react_jsx_runtime.JSX.Element;
|
|
139
|
+
interface TermsSectionProps {
|
|
140
|
+
title?: string;
|
|
141
|
+
checked: boolean;
|
|
142
|
+
onChange: (checked: boolean) => void;
|
|
143
|
+
/** Conteúdo do label — pode incluir links/botões do host app */
|
|
144
|
+
label: React.ReactNode;
|
|
145
|
+
/** Mensagem de aviso exibida quando não marcado */
|
|
146
|
+
warningMessage?: string | null;
|
|
147
|
+
}
|
|
148
|
+
declare function TermsSection({ title, checked, onChange, label, warningMessage, }: TermsSectionProps): react_jsx_runtime.JSX.Element;
|
|
118
149
|
/** Cartão de aventura isolado (mesmo layout que dentro de `Offer`). */
|
|
119
150
|
declare function OfferAdventureCard({ adventure }: {
|
|
120
151
|
adventure: OfferAdventureItem;
|
|
@@ -801,4 +832,4 @@ declare function LeadCapturePopup({ config: _config, }: {
|
|
|
801
832
|
config: LeadCapturePopupConfig;
|
|
802
833
|
}): react_jsx_runtime.JSX.Element | null;
|
|
803
834
|
|
|
804
|
-
export { ActivityCard, type ActivityCardProps, type ActivityCardSize, type BookingAdventure, BookingConfirmation, BookingConfirmationEmail, type BookingConfirmationEmailLabels, type BookingConfirmationEmailProps, type BookingConfirmationLabels, type BookingConfirmationProps, type BookingContact, type BookingDepositInfo, BookingDetails, type BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingShell, type BookingShellProps, type BookingStatus, type BookingSummaryLineItem, type BookingTraveller, COUNTRIES, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, type DatePickerFieldProps, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, Itinerary, type ItineraryProps, type ItineraryRoute, type ItineraryStop, LeadCapturePopup, type LeadCapturePopupConfig, MenuTrip, type MenuTripProps, type MenuTripSection, type MenuTripVariant, Offer, OfferAdventureCard, type OfferAdventureItem, type OfferAgentInfo, type OfferDepositInfo, type OfferOptionalItem, type OfferProps, type OfferSummaryLineItem, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, type PricingOption, PricingTrip, type PricingTripProps, type PricingTripVariant, SiteHeader, type SiteHeaderLanguage, type SiteHeaderLink, type SiteHeaderProps, type SiteHeaderSubItem, type SiteHeaderVariant, type SuggestedTraveller, ThemeToggle, TripCard, type TripCardCta, type TripCardProps, type TripCardSize, type TripCardStatus, type TripDuration, type TripFaq, TripHeader, type TripHeaderProps, type TripHighlight, type TripInfoGroup, type TripItineraryStep, type TripMeetingPoint, TripPage, type TripPageProps, type TripPricingOption, type TripReview, cn };
|
|
835
|
+
export { ActivityCard, type ActivityCardProps, type ActivityCardSize, type BookingAdventure, BookingConfirmation, BookingConfirmationEmail, type BookingConfirmationEmailLabels, type BookingConfirmationEmailProps, type BookingConfirmationLabels, type BookingConfirmationProps, type BookingContact, type BookingDepositInfo, BookingDetails, type BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingShell, type BookingShellProps, type BookingStatus, type BookingSummaryLineItem, type BookingTraveller, COUNTRIES, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, type DatePickerFieldProps, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, Itinerary, type ItineraryProps, type ItineraryRoute, type ItineraryStop, LeadCapturePopup, type LeadCapturePopupConfig, MenuTrip, type MenuTripProps, type MenuTripSection, type MenuTripVariant, Offer, OfferAdventureCard, type OfferAdventureItem, type OfferAgentInfo, type OfferDepositInfo, type OfferOptionalItem, type OfferProps, type OfferSummaryLineItem, PaymentAmountSelector, type PaymentAmountSelectorProps, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, type PricingOption, PricingTrip, type PricingTripProps, type PricingTripVariant, SiteHeader, type SiteHeaderLanguage, type SiteHeaderLink, type SiteHeaderProps, type SiteHeaderSubItem, type SiteHeaderVariant, type SuggestedTraveller, TermsSection, type TermsSectionProps, ThemeToggle, TripCard, type TripCardCta, type TripCardProps, type TripCardSize, type TripCardStatus, type TripDuration, type TripFaq, TripHeader, type TripHeaderProps, type TripHighlight, type TripInfoGroup, type TripItineraryStep, type TripMeetingPoint, TripPage, type TripPageProps, type TripPricingOption, type TripReview, cn };
|
package/dist/index.js
CHANGED
|
@@ -1535,6 +1535,103 @@ function BookingShell({
|
|
|
1535
1535
|
] })
|
|
1536
1536
|
] });
|
|
1537
1537
|
}
|
|
1538
|
+
function PaymentAmountSelector({
|
|
1539
|
+
title = "What do you want to pay now?",
|
|
1540
|
+
depositLabel,
|
|
1541
|
+
fullLabel,
|
|
1542
|
+
value,
|
|
1543
|
+
onChange
|
|
1544
|
+
}) {
|
|
1545
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
1546
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-bold text-foreground font-heading", children: title }),
|
|
1547
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2", children: ["deposit", "full"].map((opt) => /* @__PURE__ */ jsx(
|
|
1548
|
+
"button",
|
|
1549
|
+
{
|
|
1550
|
+
type: "button",
|
|
1551
|
+
onClick: () => onChange(opt),
|
|
1552
|
+
className: cn(
|
|
1553
|
+
"rounded-lg border-2 px-4 py-3 text-sm text-left font-sans transition-colors",
|
|
1554
|
+
value === opt ? "border-primary bg-primary/5 text-foreground font-semibold" : "border-border bg-background text-muted-foreground hover:border-primary/40"
|
|
1555
|
+
),
|
|
1556
|
+
children: opt === "deposit" ? depositLabel : fullLabel
|
|
1557
|
+
},
|
|
1558
|
+
opt
|
|
1559
|
+
)) })
|
|
1560
|
+
] });
|
|
1561
|
+
}
|
|
1562
|
+
function PaymentMethodSelector({
|
|
1563
|
+
title = "Payment method",
|
|
1564
|
+
methods,
|
|
1565
|
+
value,
|
|
1566
|
+
onChange
|
|
1567
|
+
}) {
|
|
1568
|
+
return /* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-border p-4 flex flex-col gap-3", children: [
|
|
1569
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: title }),
|
|
1570
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: methods.map((m) => /* @__PURE__ */ jsxs(
|
|
1571
|
+
"button",
|
|
1572
|
+
{
|
|
1573
|
+
type: "button",
|
|
1574
|
+
disabled: m.disabled,
|
|
1575
|
+
onClick: () => !m.disabled && onChange(m.id),
|
|
1576
|
+
className: cn(
|
|
1577
|
+
"flex items-start gap-3 rounded-lg border-2 px-4 py-3 text-left transition-colors",
|
|
1578
|
+
"disabled:opacity-50 disabled:cursor-not-allowed",
|
|
1579
|
+
value === m.id ? "border-primary bg-primary/5" : "border-border bg-background hover:border-primary/40"
|
|
1580
|
+
),
|
|
1581
|
+
children: [
|
|
1582
|
+
/* @__PURE__ */ jsx(
|
|
1583
|
+
"span",
|
|
1584
|
+
{
|
|
1585
|
+
className: cn(
|
|
1586
|
+
"mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded-full border-2 transition-colors",
|
|
1587
|
+
value === m.id ? "border-primary" : "border-border"
|
|
1588
|
+
),
|
|
1589
|
+
children: value === m.id && /* @__PURE__ */ jsx("span", { className: "h-2 w-2 rounded-full bg-primary" })
|
|
1590
|
+
}
|
|
1591
|
+
),
|
|
1592
|
+
/* @__PURE__ */ jsxs("span", { className: "flex flex-col gap-0.5", children: [
|
|
1593
|
+
/* @__PURE__ */ jsx(
|
|
1594
|
+
"span",
|
|
1595
|
+
{
|
|
1596
|
+
className: cn(
|
|
1597
|
+
"text-sm font-semibold font-sans",
|
|
1598
|
+
value === m.id ? "text-primary" : "text-foreground"
|
|
1599
|
+
),
|
|
1600
|
+
children: m.label
|
|
1601
|
+
}
|
|
1602
|
+
),
|
|
1603
|
+
m.description && /* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground font-sans", children: m.description })
|
|
1604
|
+
] })
|
|
1605
|
+
]
|
|
1606
|
+
},
|
|
1607
|
+
m.id
|
|
1608
|
+
)) })
|
|
1609
|
+
] });
|
|
1610
|
+
}
|
|
1611
|
+
function TermsSection({
|
|
1612
|
+
title = "Terms and conditions",
|
|
1613
|
+
checked,
|
|
1614
|
+
onChange,
|
|
1615
|
+
label,
|
|
1616
|
+
warningMessage
|
|
1617
|
+
}) {
|
|
1618
|
+
return /* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-border p-4 flex flex-col gap-3", children: [
|
|
1619
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: title }),
|
|
1620
|
+
/* @__PURE__ */ jsxs("label", { className: "flex items-start gap-2.5 cursor-pointer", children: [
|
|
1621
|
+
/* @__PURE__ */ jsx(
|
|
1622
|
+
"input",
|
|
1623
|
+
{
|
|
1624
|
+
type: "checkbox",
|
|
1625
|
+
checked,
|
|
1626
|
+
onChange: (e) => onChange(e.target.checked),
|
|
1627
|
+
className: "h-4 w-4 shrink-0 mt-0.5 rounded border-border accent-primary cursor-pointer"
|
|
1628
|
+
}
|
|
1629
|
+
),
|
|
1630
|
+
/* @__PURE__ */ jsx("span", { className: "text-sm font-sans text-foreground/80 leading-snug", children: label })
|
|
1631
|
+
] }),
|
|
1632
|
+
!checked && warningMessage && /* @__PURE__ */ jsx("p", { className: "text-xs text-amber-400 flex items-center gap-1", children: warningMessage })
|
|
1633
|
+
] });
|
|
1634
|
+
}
|
|
1538
1635
|
var WIZARD_STEPS = [
|
|
1539
1636
|
{ id: "responsible", label: "Responsible party details" },
|
|
1540
1637
|
{ id: "travellers", label: "Travellers" },
|
|
@@ -1751,70 +1848,33 @@ function BookingWizard({
|
|
|
1751
1848
|
] }),
|
|
1752
1849
|
step === "payment" && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-5", children: [
|
|
1753
1850
|
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground font-sans", children: "When you confirm, we will open secure online payment (Stripe). Choose deposit vs full amount below when applicable." }),
|
|
1754
|
-
depositInfo && /* @__PURE__ */
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
{
|
|
1782
|
-
type: "button",
|
|
1783
|
-
onClick: () => setPayMethod(m.id),
|
|
1784
|
-
className: cn(
|
|
1785
|
-
"flex items-start gap-3 rounded-lg border-2 px-4 py-3 text-left transition-colors",
|
|
1786
|
-
payMethod === m.id ? "border-primary bg-primary/5" : "border-border bg-background hover:border-primary/40"
|
|
1787
|
-
),
|
|
1788
|
-
children: [
|
|
1789
|
-
/* @__PURE__ */ jsx("span", { className: cn(
|
|
1790
|
-
"mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded-full border-2 transition-colors",
|
|
1791
|
-
payMethod === m.id ? "border-primary" : "border-border"
|
|
1792
|
-
), children: payMethod === m.id && /* @__PURE__ */ jsx("span", { className: "h-2 w-2 rounded-full bg-primary" }) }),
|
|
1793
|
-
/* @__PURE__ */ jsxs("span", { className: "flex flex-col gap-0.5", children: [
|
|
1794
|
-
/* @__PURE__ */ jsx("span", { className: cn(
|
|
1795
|
-
"text-sm font-semibold font-sans",
|
|
1796
|
-
payMethod === m.id ? "text-primary" : "text-foreground"
|
|
1797
|
-
), children: m.label }),
|
|
1798
|
-
/* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground font-sans", children: m.sub })
|
|
1799
|
-
] })
|
|
1800
|
-
]
|
|
1801
|
-
},
|
|
1802
|
-
m.id
|
|
1803
|
-
)) })
|
|
1804
|
-
] }),
|
|
1805
|
-
/* @__PURE__ */ jsxs("div", { className: "rounded-xl border border-border p-4 flex flex-col gap-3", children: [
|
|
1806
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs font-bold text-muted-foreground font-heading uppercase tracking-widest", children: "Terms and conditions" }),
|
|
1807
|
-
/* @__PURE__ */ jsxs("label", { className: "flex items-start gap-2.5 cursor-pointer", children: [
|
|
1808
|
-
/* @__PURE__ */ jsx(
|
|
1809
|
-
"input",
|
|
1810
|
-
{
|
|
1811
|
-
type: "checkbox",
|
|
1812
|
-
checked: termsAccepted,
|
|
1813
|
-
onChange: (e) => setTermsAccepted(e.target.checked),
|
|
1814
|
-
className: "h-4 w-4 shrink-0 mt-0.5 rounded border-border accent-primary cursor-pointer"
|
|
1815
|
-
}
|
|
1816
|
-
),
|
|
1817
|
-
/* @__PURE__ */ jsxs("span", { className: "text-sm font-sans text-foreground/80 leading-snug", children: [
|
|
1851
|
+
depositInfo && /* @__PURE__ */ jsx(
|
|
1852
|
+
PaymentAmountSelector,
|
|
1853
|
+
{
|
|
1854
|
+
depositLabel,
|
|
1855
|
+
fullLabel,
|
|
1856
|
+
value: payAmount,
|
|
1857
|
+
onChange: setPayAmount
|
|
1858
|
+
}
|
|
1859
|
+
),
|
|
1860
|
+
/* @__PURE__ */ jsx(
|
|
1861
|
+
PaymentMethodSelector,
|
|
1862
|
+
{
|
|
1863
|
+
methods: [
|
|
1864
|
+
{ id: "stripe", label: "Credit / Debit card", description: "Secure payment via Stripe" },
|
|
1865
|
+
{ id: "pix", label: "PIX", description: "Instant transfer \u2014 Brazil only" },
|
|
1866
|
+
{ id: "bank", label: "Bank transfer", description: "Wire / TED / DOC" }
|
|
1867
|
+
],
|
|
1868
|
+
value: payMethod,
|
|
1869
|
+
onChange: (v) => setPayMethod(v)
|
|
1870
|
+
}
|
|
1871
|
+
),
|
|
1872
|
+
/* @__PURE__ */ jsx(
|
|
1873
|
+
TermsSection,
|
|
1874
|
+
{
|
|
1875
|
+
checked: termsAccepted,
|
|
1876
|
+
onChange: setTermsAccepted,
|
|
1877
|
+
label: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1818
1878
|
"I have read and accept the",
|
|
1819
1879
|
" ",
|
|
1820
1880
|
/* @__PURE__ */ jsx(
|
|
@@ -1829,8 +1889,8 @@ function BookingWizard({
|
|
|
1829
1889
|
" ",
|
|
1830
1890
|
"of the reservation."
|
|
1831
1891
|
] })
|
|
1832
|
-
|
|
1833
|
-
|
|
1892
|
+
}
|
|
1893
|
+
),
|
|
1834
1894
|
/* @__PURE__ */ jsx(Dialog, { open: termsModalOpen, onOpenChange: setTermsModalOpen, children: /* @__PURE__ */ jsxs(DialogContent, { className: "!max-w-[80vw] w-[80vw] max-h-[85vh] overflow-y-auto", children: [
|
|
1835
1895
|
/* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { className: "font-heading text-xl", children: "Terms and Conditions" }) }),
|
|
1836
1896
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 text-sm font-sans text-foreground/80 leading-relaxed", children: [
|
|
@@ -6705,6 +6765,6 @@ function LeadCapturePopup({
|
|
|
6705
6765
|
);
|
|
6706
6766
|
}
|
|
6707
6767
|
|
|
6708
|
-
export { ActivityCard, BookingConfirmation, BookingConfirmationEmail, BookingDetails, BookingForm, BookingShell, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, FilterPanel, FloatingInput, FloatingSelect, Itinerary, LeadCapturePopup, MenuTrip, Offer, OfferAdventureCard, PhoneCountrySelect, PhotoGallery, PricingTrip, SiteHeader, ThemeToggle, TripCard, TripHeader, TripPage, cn };
|
|
6768
|
+
export { ActivityCard, BookingConfirmation, BookingConfirmationEmail, BookingDetails, BookingForm, BookingShell, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, FilterPanel, FloatingInput, FloatingSelect, Itinerary, LeadCapturePopup, MenuTrip, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PhoneCountrySelect, PhotoGallery, PricingTrip, SiteHeader, TermsSection, ThemeToggle, TripCard, TripHeader, TripPage, cn };
|
|
6709
6769
|
//# sourceMappingURL=index.js.map
|
|
6710
6770
|
//# sourceMappingURL=index.js.map
|