@planetaexo/design-system 0.59.2 → 0.61.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.d.cts CHANGED
@@ -1971,6 +1971,44 @@ interface BookingOtpEmailProps {
1971
1971
  }
1972
1972
  declare function BookingOtpEmail({ greeting, intro, code, expiryMessage, teamSignature, logoUrl, className, }: BookingOtpEmailProps): react_jsx_runtime.JSX.Element;
1973
1973
 
1974
+ interface NotificationEmailCta {
1975
+ /** Texto do botão (ex.: "Pay the balance"). */
1976
+ label: string;
1977
+ /** URL de destino. Se ausente, renderiza <span> não-clicável (paridade BookingCreatedEmail). */
1978
+ url?: string;
1979
+ }
1980
+ interface NotificationEmailDetailItem {
1981
+ /** Rótulo opcional (ex.: "Total"). Quando ausente, renderiza só `value` como bullet. */
1982
+ label?: string;
1983
+ value: string;
1984
+ /** Realça o value em teal (ex.: número da reserva). */
1985
+ emphasizeValue?: boolean;
1986
+ }
1987
+ interface NotificationEmailProps {
1988
+ /** Saudação/título no topo (ex.: "Olá Maria," ou "Seu grupo está no ar!"). */
1989
+ greeting: string;
1990
+ /** Corpo: 1+ parágrafos. Cada item vira um <p>. */
1991
+ paragraphs: string[];
1992
+ /** CTA botão opcional, estilizado como o BookingCreatedEmail. */
1993
+ cta?: NotificationEmailCta;
1994
+ /** Lista opcional de detalhes (bullets ou label:value), renderizada em <table role=presentation>. */
1995
+ details?: NotificationEmailDetailItem[];
1996
+ /** Cabeçalho opcional acima da lista `details`. */
1997
+ detailsHeading?: string;
1998
+ /**
1999
+ * Bloco destacado opcional (fundo primaryLight, borda, em <table role=presentation>
2000
+ * p/ Outlook). Renderiza cada linha em <p>. Usado p/ matriz de preço / totais de saldo.
2001
+ */
2002
+ highlight?: string[];
2003
+ /** Assinatura final (ex.: "Equipe PlanetaEXO"). */
2004
+ signature: string;
2005
+ /** URL da logo. Default: LOGO_PLANETAEXO_DATA_URI (via EmailLogo). */
2006
+ logoUrl?: string;
2007
+ /** className extra (uso no styleguide). */
2008
+ className?: string;
2009
+ }
2010
+ declare function NotificationEmail({ greeting, paragraphs, cta, details, detailsHeading, highlight, signature, logoUrl, className, }: NotificationEmailProps): react_jsx_runtime.JSX.Element;
2011
+
1974
2012
  interface TravellerFormInviteLink {
1975
2013
  adventureName?: string;
1976
2014
  url: string;
@@ -2052,6 +2090,23 @@ interface BookingFormProps {
2052
2090
  }
2053
2091
  declare function BookingForm({ defaultValues, onSubmit, submitLabel, loading, showHeader, title, subtitle, className, }: BookingFormProps): react_jsx_runtime.JSX.Element;
2054
2092
 
2093
+ interface CountryOption {
2094
+ code: string;
2095
+ name: string;
2096
+ }
2097
+ interface CountrySearchFieldProps {
2098
+ value: string;
2099
+ onChange: (code: string) => void;
2100
+ required?: boolean;
2101
+ label?: string;
2102
+ countries?: CountryOption[];
2103
+ placeholder?: string;
2104
+ className?: string;
2105
+ disabled?: boolean;
2106
+ }
2107
+ declare const COUNTRIES: CountryOption[];
2108
+ declare function CountrySearchField({ value, onChange, required, label, countries, placeholder, className, disabled, }: CountrySearchFieldProps): react_jsx_runtime.JSX.Element;
2109
+
2055
2110
  type RegistrationFieldType = "text" | "textarea" | "number" | "date" | "birthDate" | "select" | "radio" | "checkbox" | "name" | "phone" | "nationality" | "emergencyContact"
2056
2111
  /** Texto longo semântico: a resposta do viajante a "expectativas" da aventura.
2057
2112
  * Renderiza como `textarea`; identificado pelo tipo (não por id/label). */
@@ -2175,11 +2230,16 @@ interface RegistrationFormProps {
2175
2230
  defaultPhoneCountry?: string;
2176
2231
  dateFormatter?: (iso: string | undefined) => string;
2177
2232
  labels?: RegistrationFormLabels;
2233
+ /**
2234
+ * Lista localizada para o campo `nationality` (CountrySearchField).
2235
+ * Ausente → COUNTRIES (nomes de país em inglês) — comportamento atual (retrocompat).
2236
+ */
2237
+ countries?: CountryOption[];
2178
2238
  className?: string;
2179
2239
  readOnly?: boolean;
2180
2240
  }
2181
2241
  declare const TERMS_ACCEPT_KEY = "__registrationTermsAccepted";
2182
- declare function RegistrationForm({ logo, logoAlt, heroImage, heroImageAlt, title, subtitle, adventure, booking, traveller, fields, values, defaultValues, onChange, onSubmit, onValidate, externalErrors, terms, includeTerms, loading, error, defaultPhoneCountry, dateFormatter, labels, className, readOnly, }: RegistrationFormProps): react_jsx_runtime.JSX.Element;
2242
+ declare function RegistrationForm({ logo, logoAlt, heroImage, heroImageAlt, title, subtitle, adventure, booking, traveller, fields, values, defaultValues, onChange, onSubmit, onValidate, externalErrors, terms, includeTerms, loading, error, defaultPhoneCountry, dateFormatter, labels, countries, className, readOnly, }: RegistrationFormProps): react_jsx_runtime.JSX.Element;
2183
2243
  interface RegistrationSuccessCardProps {
2184
2244
  /**
2185
2245
  * `"full"` (default): renders trip info, submitted answers and terms sections.
@@ -2193,6 +2253,11 @@ interface RegistrationSuccessCardProps {
2193
2253
  answers?: RegistrationFormValues;
2194
2254
  dateFormatter?: (date: Date | string | undefined) => string;
2195
2255
  formatAnswer?: (field: RegistrationField, value: RegistrationFieldValue) => string;
2256
+ /**
2257
+ * Lista localizada para resolver `nationality` no defaultFormatAnswer (PDF/readonly summary).
2258
+ * Ausente → COUNTRIES (EN). Ignorado se `formatAnswer` for passado.
2259
+ */
2260
+ countries?: CountryOption[];
2196
2261
  className?: string;
2197
2262
  actions?: React.ReactNode;
2198
2263
  /** Logo URL displayed above the title. Pass `null` to hide the logo. */
@@ -2282,7 +2347,7 @@ interface RegistrationSuccessCardProps {
2282
2347
  */
2283
2348
  termsTypography?: "default" | "compact-serif";
2284
2349
  }
2285
- declare function RegistrationSuccessCard({ variant, title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, className, actions, logo, logoAlt, showSuccessIcon, terms, termsLayout, termsLabels, adventure, booking, traveller, tripInfoLabels, density, submissionTimestamps, submissionTimestampsLabels, labels: scLabels, sectionsBreakInside, termsTypography, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
2350
+ declare function RegistrationSuccessCard({ variant, title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, countries, className, actions, logo, logoAlt, showSuccessIcon, terms, termsLayout, termsLabels, adventure, booking, traveller, tripInfoLabels, density, submissionTimestamps, submissionTimestampsLabels, labels: scLabels, sectionsBreakInside, termsTypography, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
2286
2351
 
2287
2352
  interface FloatingInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
2288
2353
  label: string;
@@ -2309,23 +2374,6 @@ interface OTPCodeInputProps {
2309
2374
  }
2310
2375
  declare const OTPCodeInput: React.FC<OTPCodeInputProps>;
2311
2376
 
2312
- interface CountryOption {
2313
- code: string;
2314
- name: string;
2315
- }
2316
- interface CountrySearchFieldProps {
2317
- value: string;
2318
- onChange: (code: string) => void;
2319
- required?: boolean;
2320
- label?: string;
2321
- countries?: CountryOption[];
2322
- placeholder?: string;
2323
- className?: string;
2324
- disabled?: boolean;
2325
- }
2326
- declare const COUNTRIES: CountryOption[];
2327
- declare function CountrySearchField({ value, onChange, required, label, countries, placeholder, className, disabled, }: CountrySearchFieldProps): react_jsx_runtime.JSX.Element;
2328
-
2329
2377
  interface PhoneCountrySelectProps {
2330
2378
  value: string;
2331
2379
  onChange: (code: string) => void;
@@ -4121,4 +4169,4 @@ interface StickyBookingCardProps {
4121
4169
  }
4122
4170
  declare function StickyBookingCard({ currentPrice, deposit, spotsRemaining, mode, onPrimary, note, className, }: StickyBookingCardProps): react_jsx_runtime.JSX.Element;
4123
4171
 
4124
- export { type AccommodationRoomItem, ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, AskExo, type AskExoProps, type AskExoSuggestion, BirthDateField, type BirthDateFieldProps, type BlogAuthor, type BlogBlock, type BlogCalloutBlock, BlogCard, type BlogCardCta, type BlogCardProps, type BlogCardSize, type BlogCollageBlock, type BlogHeadingBlock, type BlogImageBlock, type BlogListBlock, type BlogParagraphBlock, BlogPost, type BlogPostProps, type BlogQuoteBlock, type BlogTableBlock, type BlogTableColumn, 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 BookingSummaryRoomItem, 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 };
4172
+ export { type AccommodationRoomItem, ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, AskExo, type AskExoProps, type AskExoSuggestion, BirthDateField, type BirthDateFieldProps, type BlogAuthor, type BlogBlock, type BlogCalloutBlock, BlogCard, type BlogCardCta, type BlogCardProps, type BlogCardSize, type BlogCollageBlock, type BlogHeadingBlock, type BlogImageBlock, type BlogListBlock, type BlogParagraphBlock, BlogPost, type BlogPostProps, type BlogQuoteBlock, type BlogTableBlock, type BlogTableColumn, 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 BookingSummaryRoomItem, 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, NotificationEmail, type NotificationEmailCta, type NotificationEmailDetailItem, type NotificationEmailProps, 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 };
package/dist/index.d.ts CHANGED
@@ -1971,6 +1971,44 @@ interface BookingOtpEmailProps {
1971
1971
  }
1972
1972
  declare function BookingOtpEmail({ greeting, intro, code, expiryMessage, teamSignature, logoUrl, className, }: BookingOtpEmailProps): react_jsx_runtime.JSX.Element;
1973
1973
 
1974
+ interface NotificationEmailCta {
1975
+ /** Texto do botão (ex.: "Pay the balance"). */
1976
+ label: string;
1977
+ /** URL de destino. Se ausente, renderiza <span> não-clicável (paridade BookingCreatedEmail). */
1978
+ url?: string;
1979
+ }
1980
+ interface NotificationEmailDetailItem {
1981
+ /** Rótulo opcional (ex.: "Total"). Quando ausente, renderiza só `value` como bullet. */
1982
+ label?: string;
1983
+ value: string;
1984
+ /** Realça o value em teal (ex.: número da reserva). */
1985
+ emphasizeValue?: boolean;
1986
+ }
1987
+ interface NotificationEmailProps {
1988
+ /** Saudação/título no topo (ex.: "Olá Maria," ou "Seu grupo está no ar!"). */
1989
+ greeting: string;
1990
+ /** Corpo: 1+ parágrafos. Cada item vira um <p>. */
1991
+ paragraphs: string[];
1992
+ /** CTA botão opcional, estilizado como o BookingCreatedEmail. */
1993
+ cta?: NotificationEmailCta;
1994
+ /** Lista opcional de detalhes (bullets ou label:value), renderizada em <table role=presentation>. */
1995
+ details?: NotificationEmailDetailItem[];
1996
+ /** Cabeçalho opcional acima da lista `details`. */
1997
+ detailsHeading?: string;
1998
+ /**
1999
+ * Bloco destacado opcional (fundo primaryLight, borda, em <table role=presentation>
2000
+ * p/ Outlook). Renderiza cada linha em <p>. Usado p/ matriz de preço / totais de saldo.
2001
+ */
2002
+ highlight?: string[];
2003
+ /** Assinatura final (ex.: "Equipe PlanetaEXO"). */
2004
+ signature: string;
2005
+ /** URL da logo. Default: LOGO_PLANETAEXO_DATA_URI (via EmailLogo). */
2006
+ logoUrl?: string;
2007
+ /** className extra (uso no styleguide). */
2008
+ className?: string;
2009
+ }
2010
+ declare function NotificationEmail({ greeting, paragraphs, cta, details, detailsHeading, highlight, signature, logoUrl, className, }: NotificationEmailProps): react_jsx_runtime.JSX.Element;
2011
+
1974
2012
  interface TravellerFormInviteLink {
1975
2013
  adventureName?: string;
1976
2014
  url: string;
@@ -2052,6 +2090,23 @@ interface BookingFormProps {
2052
2090
  }
2053
2091
  declare function BookingForm({ defaultValues, onSubmit, submitLabel, loading, showHeader, title, subtitle, className, }: BookingFormProps): react_jsx_runtime.JSX.Element;
2054
2092
 
2093
+ interface CountryOption {
2094
+ code: string;
2095
+ name: string;
2096
+ }
2097
+ interface CountrySearchFieldProps {
2098
+ value: string;
2099
+ onChange: (code: string) => void;
2100
+ required?: boolean;
2101
+ label?: string;
2102
+ countries?: CountryOption[];
2103
+ placeholder?: string;
2104
+ className?: string;
2105
+ disabled?: boolean;
2106
+ }
2107
+ declare const COUNTRIES: CountryOption[];
2108
+ declare function CountrySearchField({ value, onChange, required, label, countries, placeholder, className, disabled, }: CountrySearchFieldProps): react_jsx_runtime.JSX.Element;
2109
+
2055
2110
  type RegistrationFieldType = "text" | "textarea" | "number" | "date" | "birthDate" | "select" | "radio" | "checkbox" | "name" | "phone" | "nationality" | "emergencyContact"
2056
2111
  /** Texto longo semântico: a resposta do viajante a "expectativas" da aventura.
2057
2112
  * Renderiza como `textarea`; identificado pelo tipo (não por id/label). */
@@ -2175,11 +2230,16 @@ interface RegistrationFormProps {
2175
2230
  defaultPhoneCountry?: string;
2176
2231
  dateFormatter?: (iso: string | undefined) => string;
2177
2232
  labels?: RegistrationFormLabels;
2233
+ /**
2234
+ * Lista localizada para o campo `nationality` (CountrySearchField).
2235
+ * Ausente → COUNTRIES (nomes de país em inglês) — comportamento atual (retrocompat).
2236
+ */
2237
+ countries?: CountryOption[];
2178
2238
  className?: string;
2179
2239
  readOnly?: boolean;
2180
2240
  }
2181
2241
  declare const TERMS_ACCEPT_KEY = "__registrationTermsAccepted";
2182
- declare function RegistrationForm({ logo, logoAlt, heroImage, heroImageAlt, title, subtitle, adventure, booking, traveller, fields, values, defaultValues, onChange, onSubmit, onValidate, externalErrors, terms, includeTerms, loading, error, defaultPhoneCountry, dateFormatter, labels, className, readOnly, }: RegistrationFormProps): react_jsx_runtime.JSX.Element;
2242
+ declare function RegistrationForm({ logo, logoAlt, heroImage, heroImageAlt, title, subtitle, adventure, booking, traveller, fields, values, defaultValues, onChange, onSubmit, onValidate, externalErrors, terms, includeTerms, loading, error, defaultPhoneCountry, dateFormatter, labels, countries, className, readOnly, }: RegistrationFormProps): react_jsx_runtime.JSX.Element;
2183
2243
  interface RegistrationSuccessCardProps {
2184
2244
  /**
2185
2245
  * `"full"` (default): renders trip info, submitted answers and terms sections.
@@ -2193,6 +2253,11 @@ interface RegistrationSuccessCardProps {
2193
2253
  answers?: RegistrationFormValues;
2194
2254
  dateFormatter?: (date: Date | string | undefined) => string;
2195
2255
  formatAnswer?: (field: RegistrationField, value: RegistrationFieldValue) => string;
2256
+ /**
2257
+ * Lista localizada para resolver `nationality` no defaultFormatAnswer (PDF/readonly summary).
2258
+ * Ausente → COUNTRIES (EN). Ignorado se `formatAnswer` for passado.
2259
+ */
2260
+ countries?: CountryOption[];
2196
2261
  className?: string;
2197
2262
  actions?: React.ReactNode;
2198
2263
  /** Logo URL displayed above the title. Pass `null` to hide the logo. */
@@ -2282,7 +2347,7 @@ interface RegistrationSuccessCardProps {
2282
2347
  */
2283
2348
  termsTypography?: "default" | "compact-serif";
2284
2349
  }
2285
- declare function RegistrationSuccessCard({ variant, title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, className, actions, logo, logoAlt, showSuccessIcon, terms, termsLayout, termsLabels, adventure, booking, traveller, tripInfoLabels, density, submissionTimestamps, submissionTimestampsLabels, labels: scLabels, sectionsBreakInside, termsTypography, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
2350
+ declare function RegistrationSuccessCard({ variant, title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, countries, className, actions, logo, logoAlt, showSuccessIcon, terms, termsLayout, termsLabels, adventure, booking, traveller, tripInfoLabels, density, submissionTimestamps, submissionTimestampsLabels, labels: scLabels, sectionsBreakInside, termsTypography, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
2286
2351
 
2287
2352
  interface FloatingInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
2288
2353
  label: string;
@@ -2309,23 +2374,6 @@ interface OTPCodeInputProps {
2309
2374
  }
2310
2375
  declare const OTPCodeInput: React.FC<OTPCodeInputProps>;
2311
2376
 
2312
- interface CountryOption {
2313
- code: string;
2314
- name: string;
2315
- }
2316
- interface CountrySearchFieldProps {
2317
- value: string;
2318
- onChange: (code: string) => void;
2319
- required?: boolean;
2320
- label?: string;
2321
- countries?: CountryOption[];
2322
- placeholder?: string;
2323
- className?: string;
2324
- disabled?: boolean;
2325
- }
2326
- declare const COUNTRIES: CountryOption[];
2327
- declare function CountrySearchField({ value, onChange, required, label, countries, placeholder, className, disabled, }: CountrySearchFieldProps): react_jsx_runtime.JSX.Element;
2328
-
2329
2377
  interface PhoneCountrySelectProps {
2330
2378
  value: string;
2331
2379
  onChange: (code: string) => void;
@@ -4121,4 +4169,4 @@ interface StickyBookingCardProps {
4121
4169
  }
4122
4170
  declare function StickyBookingCard({ currentPrice, deposit, spotsRemaining, mode, onPrimary, note, className, }: StickyBookingCardProps): react_jsx_runtime.JSX.Element;
4123
4171
 
4124
- export { type AccommodationRoomItem, ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, AskExo, type AskExoProps, type AskExoSuggestion, BirthDateField, type BirthDateFieldProps, type BlogAuthor, type BlogBlock, type BlogCalloutBlock, BlogCard, type BlogCardCta, type BlogCardProps, type BlogCardSize, type BlogCollageBlock, type BlogHeadingBlock, type BlogImageBlock, type BlogListBlock, type BlogParagraphBlock, BlogPost, type BlogPostProps, type BlogQuoteBlock, type BlogTableBlock, type BlogTableColumn, 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 BookingSummaryRoomItem, 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 };
4172
+ export { type AccommodationRoomItem, ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, AskExo, type AskExoProps, type AskExoSuggestion, BirthDateField, type BirthDateFieldProps, type BlogAuthor, type BlogBlock, type BlogCalloutBlock, BlogCard, type BlogCardCta, type BlogCardProps, type BlogCardSize, type BlogCollageBlock, type BlogHeadingBlock, type BlogImageBlock, type BlogListBlock, type BlogParagraphBlock, BlogPost, type BlogPostProps, type BlogQuoteBlock, type BlogTableBlock, type BlogTableColumn, 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 BookingSummaryRoomItem, 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, NotificationEmail, type NotificationEmailCta, type NotificationEmailDetailItem, type NotificationEmailProps, 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 };
package/dist/index.js CHANGED
@@ -7325,6 +7325,166 @@ function BookingOtpEmail({
7325
7325
  }
7326
7326
  );
7327
7327
  }
7328
+ function NotificationEmail({
7329
+ greeting,
7330
+ paragraphs,
7331
+ cta,
7332
+ details,
7333
+ detailsHeading,
7334
+ highlight,
7335
+ signature,
7336
+ logoUrl,
7337
+ className
7338
+ }) {
7339
+ const ctaStyle = {
7340
+ display: "inline-block",
7341
+ backgroundColor: emailTokens.primary,
7342
+ color: emailTokens.primaryForeground,
7343
+ padding: "12px 24px",
7344
+ borderRadius: "8px",
7345
+ fontSize: "14px",
7346
+ fontWeight: "700",
7347
+ textDecoration: "none",
7348
+ fontFamily: emailTokens.fontFamily
7349
+ };
7350
+ const hasHighlight = Array.isArray(highlight) && highlight.length > 0;
7351
+ const hasDetails = Array.isArray(details) && details.length > 0;
7352
+ return /* @__PURE__ */ jsxs(
7353
+ "div",
7354
+ {
7355
+ style: {
7356
+ fontFamily: emailTokens.fontFamily,
7357
+ color: emailTokens.foreground,
7358
+ maxWidth: "600px",
7359
+ margin: "0 auto",
7360
+ padding: "32px",
7361
+ border: `1px solid ${emailTokens.border}`,
7362
+ borderRadius: "12px",
7363
+ backgroundColor: emailTokens.white
7364
+ },
7365
+ className,
7366
+ children: [
7367
+ /* @__PURE__ */ jsx(EmailLogo, { src: logoUrl }),
7368
+ /* @__PURE__ */ jsx("p", { style: { fontSize: "16px", lineHeight: "1.5", margin: "0 0 16px" }, children: greeting }),
7369
+ paragraphs.map((paragraph, i) => /* @__PURE__ */ jsx(
7370
+ "p",
7371
+ {
7372
+ style: { fontSize: "15px", lineHeight: "1.5", margin: "0 0 16px" },
7373
+ children: paragraph
7374
+ },
7375
+ i
7376
+ )),
7377
+ hasHighlight && /* @__PURE__ */ jsx(
7378
+ "table",
7379
+ {
7380
+ role: "presentation",
7381
+ cellPadding: 0,
7382
+ cellSpacing: 0,
7383
+ border: 0,
7384
+ style: { width: "100%", borderCollapse: "collapse", margin: "0 0 24px" },
7385
+ children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx(
7386
+ "td",
7387
+ {
7388
+ style: {
7389
+ backgroundColor: emailTokens.primaryLight,
7390
+ border: `1px solid ${emailTokens.border}`,
7391
+ borderRadius: "12px",
7392
+ padding: "24px 16px"
7393
+ },
7394
+ children: highlight.map((line, i) => /* @__PURE__ */ jsx(
7395
+ "p",
7396
+ {
7397
+ style: {
7398
+ fontSize: "15px",
7399
+ lineHeight: "1.5",
7400
+ margin: i < highlight.length - 1 ? "0 0 8px" : "0",
7401
+ color: emailTokens.foreground
7402
+ },
7403
+ children: line
7404
+ },
7405
+ i
7406
+ ))
7407
+ }
7408
+ ) }) })
7409
+ }
7410
+ ),
7411
+ hasDetails && /* @__PURE__ */ jsxs(Fragment, { children: [
7412
+ detailsHeading && /* @__PURE__ */ jsx(
7413
+ "p",
7414
+ {
7415
+ style: {
7416
+ fontSize: "15px",
7417
+ lineHeight: "1.5",
7418
+ fontWeight: 700,
7419
+ margin: "0 0 12px"
7420
+ },
7421
+ children: detailsHeading
7422
+ }
7423
+ ),
7424
+ /* @__PURE__ */ jsx(
7425
+ "table",
7426
+ {
7427
+ role: "presentation",
7428
+ cellPadding: 0,
7429
+ cellSpacing: 0,
7430
+ border: 0,
7431
+ style: { width: "100%", borderCollapse: "collapse", margin: "0 0 24px" },
7432
+ children: /* @__PURE__ */ jsx("tbody", { children: details.map((item, i) => /* @__PURE__ */ jsx("tr", { children: item.label ? /* @__PURE__ */ jsxs(Fragment, { children: [
7433
+ /* @__PURE__ */ jsx(
7434
+ "td",
7435
+ {
7436
+ style: {
7437
+ fontSize: "14px",
7438
+ lineHeight: "1.6",
7439
+ color: emailTokens.mutedForeground,
7440
+ padding: "4px 12px 4px 0",
7441
+ verticalAlign: "top",
7442
+ whiteSpace: "nowrap"
7443
+ },
7444
+ children: item.label
7445
+ }
7446
+ ),
7447
+ /* @__PURE__ */ jsx(
7448
+ "td",
7449
+ {
7450
+ style: {
7451
+ fontSize: "14px",
7452
+ lineHeight: "1.6",
7453
+ color: item.emphasizeValue ? emailTokens.primary : emailTokens.foreground,
7454
+ fontWeight: item.emphasizeValue ? 700 : 400,
7455
+ padding: "4px 0",
7456
+ verticalAlign: "top",
7457
+ width: "100%"
7458
+ },
7459
+ children: item.value
7460
+ }
7461
+ )
7462
+ ] }) : /* @__PURE__ */ jsxs(
7463
+ "td",
7464
+ {
7465
+ colSpan: 2,
7466
+ style: {
7467
+ fontSize: "14px",
7468
+ lineHeight: "1.6",
7469
+ color: emailTokens.foreground,
7470
+ padding: "4px 0",
7471
+ verticalAlign: "top"
7472
+ },
7473
+ children: [
7474
+ /* @__PURE__ */ jsx("span", { style: { color: emailTokens.primary, paddingRight: "8px" }, children: "\u2022" }),
7475
+ item.value
7476
+ ]
7477
+ }
7478
+ ) }, i)) })
7479
+ }
7480
+ )
7481
+ ] }),
7482
+ cta && /* @__PURE__ */ jsx("div", { style: { margin: "24px 0" }, children: cta.url ? /* @__PURE__ */ jsx("a", { href: cta.url, style: ctaStyle, children: cta.label }) : /* @__PURE__ */ jsx("span", { style: ctaStyle, role: "presentation", children: cta.label }) }),
7483
+ /* @__PURE__ */ jsx("p", { style: { fontSize: "14px", lineHeight: "1.5", margin: "0" }, children: signature })
7484
+ ]
7485
+ }
7486
+ );
7487
+ }
7328
7488
  function TravellerFormInviteEmail({
7329
7489
  greeting,
7330
7490
  bodyIntro,
@@ -8311,6 +8471,7 @@ function FieldRenderer({
8311
8471
  onChange,
8312
8472
  defaultPhoneCountry,
8313
8473
  labels,
8474
+ countries,
8314
8475
  error,
8315
8476
  disabled
8316
8477
  }) {
@@ -8545,6 +8706,7 @@ function FieldRenderer({
8545
8706
  required: field.required,
8546
8707
  value: typeof value === "string" ? value : "",
8547
8708
  onChange: (code) => onChange(code),
8709
+ countries,
8548
8710
  disabled
8549
8711
  }
8550
8712
  );
@@ -8690,6 +8852,7 @@ function RegistrationForm({
8690
8852
  defaultPhoneCountry = "BR",
8691
8853
  dateFormatter,
8692
8854
  labels,
8855
+ countries,
8693
8856
  className,
8694
8857
  readOnly = false
8695
8858
  }) {
@@ -8875,6 +9038,7 @@ function RegistrationForm({
8875
9038
  onChange: (v) => setField(field.id, v),
8876
9039
  defaultPhoneCountry,
8877
9040
  labels: L,
9041
+ countries,
8878
9042
  error: fieldErrors[field.id],
8879
9043
  disabled: readOnly
8880
9044
  }
@@ -9022,7 +9186,7 @@ function phoneCountryDial(code) {
9022
9186
  var _a, _b;
9023
9187
  return (_b = (_a = PHONE_COUNTRIES.find((c) => c.code === code)) == null ? void 0 : _a.dial) != null ? _b : code;
9024
9188
  }
9025
- function defaultFormatAnswer(field, value, fmtDate, yesNoLabels) {
9189
+ function defaultFormatAnswer(field, value, fmtDate, yesNoLabels, countries) {
9026
9190
  var _a, _b, _c, _d, _e, _f, _g, _h;
9027
9191
  if (value == null || value === "") return "\u2014";
9028
9192
  if (value instanceof Date) return fmtDate(value);
@@ -9051,7 +9215,7 @@ function defaultFormatAnswer(field, value, fmtDate, yesNoLabels) {
9051
9215
  }
9052
9216
  }
9053
9217
  if (field.type === "nationality" && typeof value === "string") {
9054
- return (_d = (_c = COUNTRIES.find((c) => c.code === value)) == null ? void 0 : _c.name) != null ? _d : value;
9218
+ return (_d = (_c = (countries != null ? countries : COUNTRIES).find((c) => c.code === value)) == null ? void 0 : _c.name) != null ? _d : value;
9055
9219
  }
9056
9220
  if (field.type === "select" && field.options) {
9057
9221
  return (_f = (_e = field.options.find((o) => o.value === value)) == null ? void 0 : _e.label) != null ? _f : String(value);
@@ -9077,6 +9241,7 @@ function RegistrationSuccessCard({
9077
9241
  answers = {},
9078
9242
  dateFormatter = isoOrDateToString,
9079
9243
  formatAnswer,
9244
+ countries,
9080
9245
  className,
9081
9246
  actions,
9082
9247
  logo,
@@ -9186,7 +9351,7 @@ function RegistrationSuccessCard({
9186
9351
  /* @__PURE__ */ 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, {
9187
9352
  yesLabel: scLabels == null ? void 0 : scLabels.yesLabel,
9188
9353
  noLabel: scLabels == null ? void 0 : scLabels.noLabel
9189
- })))(
9354
+ }, countries)))(
9190
9355
  f,
9191
9356
  answers[f.id]
9192
9357
  ) })
@@ -16511,6 +16676,6 @@ function StickyBookingCard({
16511
16676
  );
16512
16677
  }
16513
16678
 
16514
- export { ActivityCard, AgentContactCard, Alert, AskExo, BirthDateField, BlogCard, BlogPost, BookingAdventureCard, BookingCancellationEmail, BookingConfirmedCard, BookingCreatedEmail, BookingDetails, BookingForm, BookingOtpEmail, BookingPaymentConfirmationEmail, BookingShell, BookingSummary, Button, COUNTRIES, CategoryPage2, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, STATUS_MAP as DEPARTURE_STATUS_MAP, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, ExoOrb, FilterPanel, FloatingInput, FloatingSelect, GroupProgressBar, GroupStatusBanner, Itinerary, ItineraryDay, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, ParticipantCounter, ParticipantList, PartnerBookingCreatedEmail, PartnerRegistrationCompleteEmail, PaymentAmountSelector, PaymentDetailsBlock, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PaymentReminderEmail, PhoneCountrySelect, PhotoGallery, Picture, PriceProgress, PricingMatrixCard, PricingTrip, RegistrationForm, RegistrationProgressBar, RegistrationReminderEmail, RegistrationReminderIndividualEmail, RegistrationSuccessCard, ShareWidget, SiteHeader, StatusBadge2 as StatusBadge, StickyBookingCard, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TransferDetailsBlock, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, TrustpilotEmbed, buttonVariants, cn, emailTokens, formatCpf, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, validateCpf, webpVariantUrl, wrapEmailHtml };
16679
+ export { ActivityCard, AgentContactCard, Alert, AskExo, BirthDateField, BlogCard, BlogPost, BookingAdventureCard, BookingCancellationEmail, BookingConfirmedCard, BookingCreatedEmail, BookingDetails, BookingForm, BookingOtpEmail, BookingPaymentConfirmationEmail, BookingShell, BookingSummary, Button, COUNTRIES, CategoryPage2, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, STATUS_MAP as DEPARTURE_STATUS_MAP, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, ExoOrb, FilterPanel, FloatingInput, FloatingSelect, GroupProgressBar, GroupStatusBanner, Itinerary, ItineraryDay, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, NotificationEmail, OTPCodeInput, Offer, OfferAdventureCard, ParticipantCounter, ParticipantList, PartnerBookingCreatedEmail, PartnerRegistrationCompleteEmail, PaymentAmountSelector, PaymentDetailsBlock, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PaymentReminderEmail, PhoneCountrySelect, PhotoGallery, Picture, PriceProgress, PricingMatrixCard, PricingTrip, RegistrationForm, RegistrationProgressBar, RegistrationReminderEmail, RegistrationReminderIndividualEmail, RegistrationSuccessCard, ShareWidget, SiteHeader, StatusBadge2 as StatusBadge, StickyBookingCard, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TransferDetailsBlock, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, TrustpilotEmbed, buttonVariants, cn, emailTokens, formatCpf, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, validateCpf, webpVariantUrl, wrapEmailHtml };
16515
16680
  //# sourceMappingURL=index.js.map
16516
16681
  //# sourceMappingURL=index.js.map