@planetaexo/design-system 0.52.2 → 0.54.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +979 -17
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +274 -4
- package/dist/index.d.ts +274 -4
- package/dist/index.js +968 -19
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -2415,6 +2415,54 @@ declare function TrustpilotEmbed({ config }: {
|
|
|
2415
2415
|
config: TrustpilotWidgetConfig;
|
|
2416
2416
|
}): react_jsx_runtime.JSX.Element;
|
|
2417
2417
|
|
|
2418
|
+
interface PictureProps extends React.ImgHTMLAttributes<HTMLImageElement> {
|
|
2419
|
+
/**
|
|
2420
|
+
* Image URL. When it ends in `.jpg` / `.jpeg` / `.png` a sibling
|
|
2421
|
+
* `${src}.webp` is rendered as a `<source>` ahead of the `<img>`,
|
|
2422
|
+
* letting the browser pick the WebP when present and fall back
|
|
2423
|
+
* silently when it isn't (DS dev, styleguide, non-EWWW hosts).
|
|
2424
|
+
*/
|
|
2425
|
+
src: string;
|
|
2426
|
+
/**
|
|
2427
|
+
* Extra `<source>` rows to append after the WebP one — useful for
|
|
2428
|
+
* AVIF, art-direction, etc. Render order = priority.
|
|
2429
|
+
*/
|
|
2430
|
+
extraSources?: React.ReactNode;
|
|
2431
|
+
}
|
|
2432
|
+
/**
|
|
2433
|
+
* `<img>` with a transparent WebP `<source>` wrapper.
|
|
2434
|
+
*
|
|
2435
|
+
* Drop-in replacement for `<img>`. For sources that aren't WebP-eligible
|
|
2436
|
+
* (SVG, GIF, base64), the `<picture>` wrapper is skipped and we render
|
|
2437
|
+
* the plain `<img>` — saves a useless `<picture>` element in the markup.
|
|
2438
|
+
*
|
|
2439
|
+
* Intentionally lightweight: no probing, no fetch, no preload. The
|
|
2440
|
+
* browser's native `<picture>` resolver does the right thing for free.
|
|
2441
|
+
*/
|
|
2442
|
+
declare function Picture({ src, extraSources, ...imgProps }: PictureProps): react_jsx_runtime.JSX.Element;
|
|
2443
|
+
|
|
2444
|
+
/**
|
|
2445
|
+
* WebP-fallback helpers for components that render content-image URLs.
|
|
2446
|
+
*
|
|
2447
|
+
* The DS itself doesn't run any image optimizer — the convention is set
|
|
2448
|
+
* by consumers (typically a WP install with EWWW IO writing a sibling
|
|
2449
|
+
* `image.jpg.webp` for every JPEG/PNG). All this module does is produce
|
|
2450
|
+
* the sibling URL and let the browser pick via `<picture>` / `<source>`.
|
|
2451
|
+
*
|
|
2452
|
+
* When no `.webp` sibling exists (DS dev, styleguide, any non-EWWW host),
|
|
2453
|
+
* the `<source>` 404s and the browser silently falls back to the inner
|
|
2454
|
+
* `<img>` — no broken icon, no console error past the request itself.
|
|
2455
|
+
* That's the spec-blessed behaviour of `<picture>`.
|
|
2456
|
+
*/
|
|
2457
|
+
/**
|
|
2458
|
+
* `image.jpg` → `image.jpg.webp`. Returns null when the source isn't a
|
|
2459
|
+
* JPEG/PNG (SVG, GIF, base64 data URI, already-webp) so callers can
|
|
2460
|
+
* short-circuit and just render a plain `<img>`. Query strings are
|
|
2461
|
+
* preserved after the appended `.webp` so signed-URL workflows still
|
|
2462
|
+
* match: `image.jpg?v=2` → `image.jpg.webp?v=2`.
|
|
2463
|
+
*/
|
|
2464
|
+
declare function webpVariantUrl(src: string): string | null;
|
|
2465
|
+
|
|
2418
2466
|
interface ItineraryRoute {
|
|
2419
2467
|
distance: string;
|
|
2420
2468
|
duration: string;
|
|
@@ -2906,6 +2954,11 @@ interface TripPageProps {
|
|
|
2906
2954
|
* the photos.
|
|
2907
2955
|
*/
|
|
2908
2956
|
accommodationGallery?: PhotoGalleryPhoto[];
|
|
2957
|
+
/**
|
|
2958
|
+
* Visual layout for the accommodation gallery. Lets the consumer make the
|
|
2959
|
+
* gallery editor-driven (e.g. an ACF Select on the section). @default "gridCompact"
|
|
2960
|
+
*/
|
|
2961
|
+
accommodationGalleryVariant?: PhotoGalleryVariant;
|
|
2909
2962
|
whenItOperates?: React.ReactNode;
|
|
2910
2963
|
food?: React.ReactNode;
|
|
2911
2964
|
/**
|
|
@@ -2982,7 +3035,82 @@ interface TripPageProps {
|
|
|
2982
3035
|
features?: Record<string, boolean>;
|
|
2983
3036
|
className?: string;
|
|
2984
3037
|
}
|
|
2985
|
-
declare function TripPage({ title, tagline, destination, duration, images, videoUrl, breadcrumb, chips, highlights, howToGetThere, recommendedFor, overview, overviewHighlights, itinerary, itineraryDays, gallery, included, notIncluded, whatToBring, weather, optionalExtras, accommodation, accommodationGallery, whenItOperates, food, foodGallery, termsAndConditions, meetingPoints, meetingPoint, faqs, faqInitialCount, sectionIcons, labels, reviews, trustpilot, trustpilotMini, trustpilotHero, priceFrom, currency, season, departureTimes, benefits, currencyEstimates, priceInfo, onBook, bookLabel, siteHeader, uiVariant, features, className, }: TripPageProps): react_jsx_runtime.JSX.Element;
|
|
3038
|
+
declare function TripPage({ title, tagline, destination, duration, images, videoUrl, breadcrumb, chips, highlights, howToGetThere, recommendedFor, overview, overviewHighlights, itinerary, itineraryDays, gallery, included, notIncluded, whatToBring, weather, optionalExtras, accommodation, accommodationGallery, accommodationGalleryVariant, whenItOperates, food, foodGallery, termsAndConditions, meetingPoints, meetingPoint, faqs, faqInitialCount, sectionIcons, labels, reviews, trustpilot, trustpilotMini, trustpilotHero, priceFrom, currency, season, departureTimes, benefits, currencyEstimates, priceInfo, onBook, bookLabel, siteHeader, uiVariant, features, className, }: TripPageProps): react_jsx_runtime.JSX.Element;
|
|
3039
|
+
|
|
3040
|
+
interface Category2Trip extends TripCardProps {
|
|
3041
|
+
/** Marca a trip como featured — sobe para o topo do grid principal. */
|
|
3042
|
+
featured?: boolean;
|
|
3043
|
+
}
|
|
3044
|
+
interface Category2BlogPost {
|
|
3045
|
+
title: string;
|
|
3046
|
+
href: string;
|
|
3047
|
+
image: string;
|
|
3048
|
+
imageAlt?: string;
|
|
3049
|
+
excerpt?: string;
|
|
3050
|
+
category?: string;
|
|
3051
|
+
readingTime?: string;
|
|
3052
|
+
}
|
|
3053
|
+
interface Category2Faq {
|
|
3054
|
+
question: string;
|
|
3055
|
+
answer: React.ReactNode;
|
|
3056
|
+
}
|
|
3057
|
+
interface Category2SortOption {
|
|
3058
|
+
id: string;
|
|
3059
|
+
label: string;
|
|
3060
|
+
}
|
|
3061
|
+
interface CategoryPage2Props {
|
|
3062
|
+
title: string;
|
|
3063
|
+
intro?: React.ReactNode;
|
|
3064
|
+
heroImage?: string;
|
|
3065
|
+
/**
|
|
3066
|
+
* Trustpilot Mini widget rendered above the title in the hero —
|
|
3067
|
+
* same configuration shape used in the TripPage pricing sidebar.
|
|
3068
|
+
*/
|
|
3069
|
+
trustpilotMini?: TrustpilotWidgetConfig;
|
|
3070
|
+
breadcrumb?: Array<{
|
|
3071
|
+
label: string;
|
|
3072
|
+
href?: string;
|
|
3073
|
+
}>;
|
|
3074
|
+
/** Pass true (or a links array) to render the transparent SiteHeader over the hero. */
|
|
3075
|
+
siteHeader?: boolean | SiteHeaderLink[];
|
|
3076
|
+
popularTours?: Category2Trip[];
|
|
3077
|
+
popularToursTitle?: string;
|
|
3078
|
+
popularToursEyebrow?: string;
|
|
3079
|
+
trips: Category2Trip[];
|
|
3080
|
+
tripsTitle?: string;
|
|
3081
|
+
tripsEyebrow?: string;
|
|
3082
|
+
filterGroups?: FilterGroup[];
|
|
3083
|
+
sortOptions?: Category2SortOption[];
|
|
3084
|
+
defaultSort?: string;
|
|
3085
|
+
/** Number of trips shown before the "Load more" button appears. @default 15 */
|
|
3086
|
+
tripsInitialCount?: number;
|
|
3087
|
+
trustpilot?: TrustpilotWidgetConfig;
|
|
3088
|
+
reviewsTitle?: string;
|
|
3089
|
+
/** Optional subtitle/intro paragraph below the reviews H2. */
|
|
3090
|
+
reviewsSubtitle?: React.ReactNode;
|
|
3091
|
+
/** Section H2 (e.g. "About Pantanal"). */
|
|
3092
|
+
aboutTitle?: string;
|
|
3093
|
+
/** Rich-text intro paragraphs about the destination. */
|
|
3094
|
+
aboutContent?: React.ReactNode;
|
|
3095
|
+
/** Lead-in line above the blog cards (e.g. "Read stories about Pantanal in our blog"). */
|
|
3096
|
+
blogIntro?: React.ReactNode;
|
|
3097
|
+
/** Optional right-aligned link next to the blog intro (e.g. travel guide). */
|
|
3098
|
+
travelGuideHref?: string;
|
|
3099
|
+
travelGuideLabel?: string;
|
|
3100
|
+
blogPosts?: Category2BlogPost[];
|
|
3101
|
+
/** @deprecated use `aboutTitle` */
|
|
3102
|
+
blogPostsTitle?: string;
|
|
3103
|
+
/** @deprecated use `travelGuideHref` */
|
|
3104
|
+
blogPostsViewAllHref?: string;
|
|
3105
|
+
faqs?: Category2Faq[];
|
|
3106
|
+
faqsTitle?: string;
|
|
3107
|
+
/** Number of FAQs shown before the "See more" button appears. @default 5 */
|
|
3108
|
+
faqInitialCount?: number;
|
|
3109
|
+
gallery?: (string | PhotoGalleryPhoto)[];
|
|
3110
|
+
galleryTitle?: string;
|
|
3111
|
+
className?: string;
|
|
3112
|
+
}
|
|
3113
|
+
declare function CategoryPage2({ title, intro, heroImage, trustpilotMini, breadcrumb, siteHeader, popularTours, popularToursTitle, popularToursEyebrow, trips, tripsTitle, tripsEyebrow, filterGroups, sortOptions, defaultSort, tripsInitialCount, trustpilot, reviewsTitle, reviewsSubtitle, blogPosts, aboutTitle, aboutContent, blogIntro, travelGuideHref, travelGuideLabel, blogPostsTitle, blogPostsViewAllHref, faqs, faqsTitle, faqInitialCount, gallery, galleryTitle, className, }: CategoryPage2Props): react_jsx_runtime.JSX.Element;
|
|
2986
3114
|
|
|
2987
3115
|
type ActivityCardSize = "sm" | "md" | "lg";
|
|
2988
3116
|
interface ActivityCardProps {
|
|
@@ -3010,10 +3138,18 @@ declare function ActivityCard({ image, imageAlt, badge, icon, title, description
|
|
|
3010
3138
|
type AlertVariant = "error" | "warning" | "success" | "info";
|
|
3011
3139
|
interface AlertProps {
|
|
3012
3140
|
variant?: AlertVariant;
|
|
3013
|
-
|
|
3141
|
+
/** Título em negrito (font-ui). Quando presente, vira layout de banner. */
|
|
3142
|
+
title?: React.ReactNode;
|
|
3143
|
+
/** Ícone à esquerda (ex.: lucide). Tamanho recomendado 16–20px. */
|
|
3144
|
+
icon?: React.ReactNode;
|
|
3145
|
+
/** Slot de ação à direita (ex.: <Button> ou link). */
|
|
3146
|
+
action?: React.ReactNode;
|
|
3147
|
+
/** Override do papel ARIA. Default: "status" (use "alert" p/ urgência). */
|
|
3148
|
+
role?: "status" | "alert";
|
|
3149
|
+
children?: React.ReactNode;
|
|
3014
3150
|
className?: string;
|
|
3015
3151
|
}
|
|
3016
|
-
declare function Alert({ variant, children, className }: AlertProps): react_jsx_runtime.JSX.Element;
|
|
3152
|
+
declare function Alert({ variant, title, icon, action, role, children, className, }: AlertProps): react_jsx_runtime.JSX.Element;
|
|
3017
3153
|
|
|
3018
3154
|
type ToastVariant = "info" | "success" | "warning" | "error";
|
|
3019
3155
|
interface ToastProps {
|
|
@@ -3539,4 +3675,138 @@ interface AskExoProps {
|
|
|
3539
3675
|
}
|
|
3540
3676
|
declare function AskExo({ baseUrl, variant, eyebrow, title, subtitle, suggestions, inputPlaceholder, submitLabel, logoSrc, className, teaser, teaserDelayMs, teaserDurationMs, }: AskExoProps): react_jsx_runtime.JSX.Element;
|
|
3541
3677
|
|
|
3542
|
-
|
|
3678
|
+
type DepartureStatus = "draft" | "pending-approval" | "pending-group" | "confirmed" | "payment-pending" | "payment-reconciliation" | "fully-paid" | "full" | "waiting-list" | "operating" | "cancelled";
|
|
3679
|
+
type BadgeVariant = "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "info" | "neutral";
|
|
3680
|
+
interface StatusConfig {
|
|
3681
|
+
label: string;
|
|
3682
|
+
variant: BadgeVariant;
|
|
3683
|
+
dot: string;
|
|
3684
|
+
}
|
|
3685
|
+
declare const STATUS_MAP: Record<DepartureStatus, StatusConfig>;
|
|
3686
|
+
interface StatusBadgeProps {
|
|
3687
|
+
status: DepartureStatus;
|
|
3688
|
+
/** Mostra um ponto colorido antes do label. Default: true. */
|
|
3689
|
+
dot?: boolean;
|
|
3690
|
+
/** Sobrescreve o label padrão (ex.: i18n). */
|
|
3691
|
+
label?: string;
|
|
3692
|
+
className?: string;
|
|
3693
|
+
}
|
|
3694
|
+
declare function StatusBadge({ status, dot, label, className }: StatusBadgeProps): react_jsx_runtime.JSX.Element;
|
|
3695
|
+
|
|
3696
|
+
interface GroupStatusBannerProps {
|
|
3697
|
+
variant?: AlertVariant;
|
|
3698
|
+
title?: React.ReactNode;
|
|
3699
|
+
icon?: React.ReactNode;
|
|
3700
|
+
action?: React.ReactNode;
|
|
3701
|
+
/** Urgência: usa role="alert" (anuncia imediatamente). Default: false. */
|
|
3702
|
+
urgent?: boolean;
|
|
3703
|
+
children?: React.ReactNode;
|
|
3704
|
+
className?: string;
|
|
3705
|
+
}
|
|
3706
|
+
declare function GroupStatusBanner({ variant, title, icon, action, urgent, children, className, }: GroupStatusBannerProps): react_jsx_runtime.JSX.Element;
|
|
3707
|
+
|
|
3708
|
+
interface ParticipantCounterProps {
|
|
3709
|
+
current: number;
|
|
3710
|
+
max: number;
|
|
3711
|
+
/** Label do sufixo. Default: "Travelers". */
|
|
3712
|
+
label?: string;
|
|
3713
|
+
/** Esconde o ícone. */
|
|
3714
|
+
hideIcon?: boolean;
|
|
3715
|
+
className?: string;
|
|
3716
|
+
}
|
|
3717
|
+
declare function ParticipantCounter({ current, max, label, hideIcon, className, }: ParticipantCounterProps): react_jsx_runtime.JSX.Element;
|
|
3718
|
+
|
|
3719
|
+
interface GroupProgressBarProps {
|
|
3720
|
+
/** Participantes confirmados no momento. */
|
|
3721
|
+
current: number;
|
|
3722
|
+
/** Quórum mínimo para a partida acontecer. */
|
|
3723
|
+
min: number;
|
|
3724
|
+
/** Capacidade máxima. */
|
|
3725
|
+
max: number;
|
|
3726
|
+
/** Esconde os rótulos numéricos abaixo da barra. */
|
|
3727
|
+
hideLabels?: boolean;
|
|
3728
|
+
className?: string;
|
|
3729
|
+
}
|
|
3730
|
+
declare function GroupProgressBar({ current, min, max, hideLabels, className, }: GroupProgressBarProps): react_jsx_runtime.JSX.Element;
|
|
3731
|
+
|
|
3732
|
+
interface PricingTier {
|
|
3733
|
+
/** Rótulo do tier, ex.: "1", "2", "4+". */
|
|
3734
|
+
travelers: string;
|
|
3735
|
+
/** Número mínimo de participantes que ativa o tier (p/ detectar o atual). */
|
|
3736
|
+
threshold: number;
|
|
3737
|
+
/** Preço por pessoa já formatado, ex.: "R$ 2.300". */
|
|
3738
|
+
price: string;
|
|
3739
|
+
}
|
|
3740
|
+
interface PricingMatrixCardProps {
|
|
3741
|
+
tiers: PricingTier[];
|
|
3742
|
+
/** Participantes atuais — destaca o tier ativo. */
|
|
3743
|
+
currentTravelers: number;
|
|
3744
|
+
title?: string;
|
|
3745
|
+
/** Trava visual pós-cutoff (cinza, sem destaque). */
|
|
3746
|
+
locked?: boolean;
|
|
3747
|
+
className?: string;
|
|
3748
|
+
}
|
|
3749
|
+
declare function PricingMatrixCard({ tiers, currentTravelers, title, locked, className, }: PricingMatrixCardProps): react_jsx_runtime.JSX.Element;
|
|
3750
|
+
|
|
3751
|
+
interface PriceProgressProps {
|
|
3752
|
+
/** Preço atual formatado, ex.: "R$ 2.700". */
|
|
3753
|
+
currentPrice: string;
|
|
3754
|
+
/** Menor preço possível formatado, ex.: "R$ 2.300". */
|
|
3755
|
+
lowestPrice: string;
|
|
3756
|
+
/** Participantes que faltam para o menor preço. */
|
|
3757
|
+
travelersToLowest: number;
|
|
3758
|
+
/** % de progresso até o menor preço (0–100). */
|
|
3759
|
+
pct: number;
|
|
3760
|
+
className?: string;
|
|
3761
|
+
}
|
|
3762
|
+
declare function PriceProgress({ currentPrice, lowestPrice, travelersToLowest, pct, className, }: PriceProgressProps): react_jsx_runtime.JSX.Element;
|
|
3763
|
+
|
|
3764
|
+
interface Participant {
|
|
3765
|
+
firstName: string;
|
|
3766
|
+
/** Emoji da bandeira, ex.: "🇧🇷". Decorativo. */
|
|
3767
|
+
flag?: string;
|
|
3768
|
+
/** Nome do país (para aria-label). */
|
|
3769
|
+
country?: string;
|
|
3770
|
+
/** URL do avatar (opcional — senão usa iniciais). */
|
|
3771
|
+
avatarUrl?: string;
|
|
3772
|
+
isLeader?: boolean;
|
|
3773
|
+
}
|
|
3774
|
+
interface ParticipantListProps {
|
|
3775
|
+
participants: Participant[];
|
|
3776
|
+
/** Slots vazios a renderizar (placeholders "aguardando viajantes"). */
|
|
3777
|
+
emptySlots?: number;
|
|
3778
|
+
title?: string;
|
|
3779
|
+
leaderLabel?: string;
|
|
3780
|
+
/** Texto do estado vazio total. */
|
|
3781
|
+
emptyMessage?: string;
|
|
3782
|
+
className?: string;
|
|
3783
|
+
}
|
|
3784
|
+
declare function ParticipantList({ participants, emptySlots, title, leaderLabel, emptyMessage, className, }: ParticipantListProps): react_jsx_runtime.JSX.Element;
|
|
3785
|
+
|
|
3786
|
+
interface ShareWidgetProps {
|
|
3787
|
+
/** URL pública da partida. */
|
|
3788
|
+
url: string;
|
|
3789
|
+
/** Texto pré-preenchido para os canais. */
|
|
3790
|
+
message?: string;
|
|
3791
|
+
/** Layout: "row" (desktop, com labels) | "icons" (mobile, só ícones). */
|
|
3792
|
+
layout?: "row" | "icons";
|
|
3793
|
+
title?: string;
|
|
3794
|
+
className?: string;
|
|
3795
|
+
}
|
|
3796
|
+
declare function ShareWidget({ url, message, layout, title, className, }: ShareWidgetProps): react_jsx_runtime.JSX.Element;
|
|
3797
|
+
|
|
3798
|
+
interface StickyBookingCardProps {
|
|
3799
|
+
currentPrice: string;
|
|
3800
|
+
/** Depósito (20% do menor preço) já formatado. */
|
|
3801
|
+
deposit: string;
|
|
3802
|
+
spotsRemaining: number;
|
|
3803
|
+
/** Estado: joinable | full | closed | owner. */
|
|
3804
|
+
mode?: "joinable" | "full" | "closed" | "owner";
|
|
3805
|
+
onPrimary?: () => void;
|
|
3806
|
+
/** Mensagem auxiliar abaixo do CTA (ex.: cutoff). */
|
|
3807
|
+
note?: string;
|
|
3808
|
+
className?: string;
|
|
3809
|
+
}
|
|
3810
|
+
declare function StickyBookingCard({ currentPrice, deposit, spotsRemaining, mode, onPrimary, note, className, }: StickyBookingCardProps): react_jsx_runtime.JSX.Element;
|
|
3811
|
+
|
|
3812
|
+
export { ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, AskExo, type AskExoProps, type AskExoSuggestion, BirthDateField, type BirthDateFieldProps, type BookingAdventure, BookingAdventureCard, type BookingAdventureCardLabels, type BookingAdventureCardLineItem, type BookingAdventureCardProps, type BookingAdventureCardSlots, type BookingAdventureCardTraveller, type BookingCancellationAdventure, type BookingCancellationAgentContactLinks, BookingCancellationEmail, type BookingCancellationEmailLabels, type BookingCancellationEmailProps, BookingConfirmedCard, type BookingConfirmedCardProps, type BookingContact, BookingCreatedEmail, type BookingCreatedEmailLabels, type BookingCreatedEmailProps, type BookingDepositInfo, BookingDetails, type BookingDetailsLabels, type BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingOtpEmail, type BookingOtpEmailProps, BookingPaymentConfirmationEmail, type BookingPaymentConfirmationEmailLabels, type BookingPaymentConfirmationEmailProps, BookingShell, type BookingShellProps, type BookingStatus, BookingSummary, type BookingSummaryLineItem, type BookingSummaryProps, type BookingSummaryRow, type BookingTraveller, Button, type ButtonProps, COUNTRIES, type Category2BlogPost, type Category2Faq, type Category2SortOption, type Category2Trip, CategoryPage2, type CategoryPage2Props, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, type CurrencyEstimate, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, STATUS_MAP as DEPARTURE_STATUS_MAP, DatePickerField, type DatePickerFieldProps, type DepartureStatus, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, type EmailTokens, ExoOrb, type ExoOrbProps, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, GroupProgressBar, type GroupProgressBarProps, GroupStatusBanner, type GroupStatusBannerProps, Itinerary, ItineraryDay, type ItineraryDayPhoto, type ItineraryDayPhotoLayout, type ItineraryDayProps, type ItineraryDaySpec, type ItineraryProps, type ItineraryRoute, type ItineraryStop, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, type LeadCapturePopupConfig, MenuTrip, type MenuTripProps, type MenuTripSection, type MenuTripVariant, OTPCodeInput, type OTPCodeInputProps, Offer, OfferAdventureCard, type OfferAdventureItem, type OfferAgentInfo, type OfferConfirmedState, type OfferDepositInfo, type OfferLabels, type OfferOptionalItem, type OfferProps, type OfferSummaryLineItem, type Participant, ParticipantCounter, type ParticipantCounterProps, ParticipantList, type ParticipantListProps, type PartnerBookingCreatedAgentContactLinks, PartnerBookingCreatedEmail, type PartnerBookingCreatedEmailLabels, type PartnerBookingCreatedEmailProps, type PartnerRegistrationCompleteAgentContactLinks, PartnerRegistrationCompleteEmail, type PartnerRegistrationCompleteEmailExpectationRow, type PartnerRegistrationCompleteEmailLabels, type PartnerRegistrationCompleteEmailProps, PaymentAmountSelector, type PaymentAmountSelectorProps, PaymentDetailsBlock, type PaymentDetailsBlockFooterBanner, type PaymentDetailsBlockLabels, type PaymentDetailsBlockProps, type PaymentDetailsBlockRow, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, type PaymentReceiptAdventure, type PaymentReceiptAdventureLineItem, PaymentReceiptEmail, type PaymentReceiptEmailLabels, type PaymentReceiptEmailProps, type PaymentReminderAgentContactLinks, PaymentReminderEmail, type PaymentReminderEmailAdventure, type PaymentReminderEmailLabels, type PaymentReminderEmailLineItem, type PaymentReminderEmailProps, type PaymentReminderEmailVariantLabels, type PaymentReminderVariant, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, Picture, type PictureProps, PriceProgress, type PriceProgressProps, PricingMatrixCard, type PricingMatrixCardProps, type PricingTier, PricingTrip, type PricingTripProps, type PricingTripVariant, type RegistrationAdventure, type RegistrationBooking, type RegistrationEmergencyContactValue, type RegistrationField, type RegistrationFieldOption, type RegistrationFieldType, type RegistrationFieldValue, RegistrationForm, type RegistrationFormLabels, type RegistrationFormProps, type RegistrationFormValues, type RegistrationNameValue, type RegistrationPhoneValue, RegistrationProgressBar, type RegistrationProgressBarProps, type RegistrationProgressTone, type RegistrationReminderAdventureBlock, type RegistrationReminderAgentContactLinks, RegistrationReminderEmail, type RegistrationReminderEmailLabels, type RegistrationReminderEmailProps, type RegistrationReminderEmailVariantLabels, type RegistrationReminderIndividualAgentContactLinks, RegistrationReminderIndividualEmail, type RegistrationReminderIndividualEmailLabels, type RegistrationReminderIndividualEmailProps, type RegistrationReminderIndividualRoute, type RegistrationReminderIndividualSlug, type RegistrationReminderIndividualVariantLabels, type RegistrationReminderSlug, RegistrationSuccessCard, type RegistrationSuccessCardProps, type RegistrationTerms, type RegistrationTraveller, ShareWidget, type ShareWidgetProps, SiteHeader, type SiteHeaderLanguage, type SiteHeaderLink, type SiteHeaderProps, type SiteHeaderSubItem, type SiteHeaderVariant, StatusBadge, type StatusBadgeProps, StickyBookingCard, type StickyBookingCardProps, type StripeAppearance, type SuggestedTraveller, TERMS_ACCEPT_KEY, TermsSection, type TermsSectionProps, ThemeToggle, Toast, type ToastProps, type ToastVariant, TransferDetailsBlock, type TransferDetailsBlockProps, type TravellerFormConfig, type TravellerFormData, TravellerFormInviteEmail, type TravellerFormInviteEmailLabels, type TravellerFormInviteEmailProps, type TravellerFormInviteLink, type TravellerFormLabels, TripCard, type TripCardCta, type TripCardProps, type TripCardSize, type TripCardStatus, type TripDuration, type TripFaq, TripHeader, type TripHeaderProps, type TripHighlight, type TripInfoGroup, type TripItineraryDay, type TripItineraryStep, type TripMeetingPoint, type TripOverviewHighlight, TripPage, type TripPageLabels, type TripPageProps, type TripReview, type TripSectionIcons, type TripSiteHeaderConfig, type TripTrustpilotWidget, TrustpilotEmbed, type TrustpilotWidgetConfig, buttonVariants, cn, emailTokens, formatCpf, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, validateCpf, webpVariantUrl, wrapEmailHtml };
|