@planetaexo/design-system 0.23.4 → 0.24.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -964,6 +964,102 @@ interface PaymentReceiptEmailProps {
964
964
  }
965
965
  declare function PaymentReceiptEmail({ recipientName, bookingNumber, paymentMethodLabel, paymentDate, amount, chargedAmount, statusLabel, travellers, totalOrderAmount, totalPaidCumulative, remainingBalance, balanceDueDate, isPaidInFull, logoUrl, labels, className, }: PaymentReceiptEmailProps): react_jsx_runtime.JSX.Element;
966
966
 
967
+ /**
968
+ * Variante do lembrete:
969
+ * - `dMinus1` → 1 dia antes do vencimento (amigável).
970
+ * - `dZero` → no dia do vencimento (amigável).
971
+ * - `dPlus1` → 1 dia após o vencimento (factual).
972
+ * - `dPlus2` → 2 dias após o vencimento (firme — último lembrete).
973
+ */
974
+ type PaymentReminderVariant = "dMinus1" | "dZero" | "dPlus1" | "dPlus2";
975
+ interface PaymentReminderEmailLineItem {
976
+ /** Valor unitário formatado, ex.: "R$ 1.500,00". */
977
+ unitPrice: string;
978
+ /** Quantidade, ex.: 2. */
979
+ quantity: number;
980
+ /** Label localizado da categoria de viajante, ex.: "Adults". */
981
+ categoryLabel: string;
982
+ /** Subtotal formatado, ex.: "R$ 3.000,00". */
983
+ subtotal: string;
984
+ }
985
+ interface PaymentReminderEmailAdventure {
986
+ /** Nome da aventura, ex.: "Vale do Pati Trek". */
987
+ name: string;
988
+ /** Linhas de pricing por categoria de viajante. */
989
+ lineItems: PaymentReminderEmailLineItem[];
990
+ }
991
+ interface PaymentReminderEmailVariantLabels {
992
+ /** Frase de intro — recebe bookingNumber e data de vencimento já formatada. */
993
+ intro?: (bookingNumber: string, dueDate: string) => string;
994
+ /** Linha de chamada para ação. */
995
+ secureLine?: string;
996
+ /** Closing antes do team signature. */
997
+ closingThanks?: string;
998
+ /** Aparece apenas em dPlus1/dPlus2. Quando vazia/undefined, linha some. */
999
+ disregardIfPaid?: string;
1000
+ /** Aparece apenas em dPlus2. Quando vazia/undefined, parágrafo some. */
1001
+ closingAlternative?: (agentName: string) => string;
1002
+ }
1003
+ interface PaymentReminderEmailLabels {
1004
+ logoAlt?: string;
1005
+ /** Saudação compartilhada entre slugs. */
1006
+ greeting?: (name: string) => string;
1007
+ /** "Hope you're doing well." */
1008
+ intermediateHello?: string;
1009
+ /** "Booking summary" */
1010
+ bookingSummaryHeader?: string;
1011
+ /** "Amount already paid" */
1012
+ amountAlreadyPaidLabel?: string;
1013
+ /** "Remaining balance due" */
1014
+ remainingBalanceDueLabel?: string;
1015
+ /** "Total booking amount" */
1016
+ totalBookingAmountLabel?: string;
1017
+ /** CTA do botão "Complete Payment". */
1018
+ ctaLabel?: string;
1019
+ /** Assinatura: "The PlanetaEXO Team". */
1020
+ teamSignature?: string;
1021
+ /** Strings por slug — cada variante tem seu próprio intro/secureLine/closingThanks. */
1022
+ variants?: {
1023
+ dMinus1?: PaymentReminderEmailVariantLabels;
1024
+ dZero?: PaymentReminderEmailVariantLabels;
1025
+ dPlus1?: PaymentReminderEmailVariantLabels;
1026
+ dPlus2?: PaymentReminderEmailVariantLabels;
1027
+ };
1028
+ /** Closing "If you need any assistance... contact your agent <name>...". */
1029
+ closingAgent?: (agentName: string) => string;
1030
+ /** Closing alternativo quando booking não tem agente atribuído. */
1031
+ closingNoAgent?: string;
1032
+ }
1033
+ interface PaymentReminderEmailProps {
1034
+ /** Variante do lembrete — controla intro/secureLine/closingThanks + presença de blocos condicionais. */
1035
+ variant: PaymentReminderVariant;
1036
+ /** Nome do destinatário, ex.: "Maria". */
1037
+ recipientName: string;
1038
+ /** Número canônico da reserva (string para suportar futuros formatos), ex.: "12345". */
1039
+ bookingNumber: string;
1040
+ /** Data de vencimento formatada e localizada, ex.: "15 de junho de 2026". */
1041
+ balanceDueDate: string;
1042
+ /** Aventuras com line items estruturados. */
1043
+ adventures: PaymentReminderEmailAdventure[];
1044
+ /** Total já pago formatado, ex.: "R$ 3.000,00". */
1045
+ amountAlreadyPaid: string;
1046
+ /** Saldo restante formatado, ex.: "R$ 3.000,00". */
1047
+ remainingBalanceDue: string;
1048
+ /** Total da reserva formatado, ex.: "R$ 6.000,00". */
1049
+ totalBookingAmount: string;
1050
+ /** URL do CTA "Complete Payment". */
1051
+ viewBookingUrl: string;
1052
+ /** Nome do agente para personalizar closing. Quando ausente, closingNoAgent é usado. */
1053
+ agentName?: string;
1054
+ /** URL da logo. Default: data URI via EmailLogo. */
1055
+ logoUrl?: string;
1056
+ /** Labels para i18n / customização. */
1057
+ labels?: PaymentReminderEmailLabels;
1058
+ /** className extra no container. */
1059
+ className?: string;
1060
+ }
1061
+ declare function PaymentReminderEmail({ variant, recipientName, bookingNumber, balanceDueDate, adventures, amountAlreadyPaid, remainingBalanceDue, totalBookingAmount, viewBookingUrl, agentName, logoUrl, labels, className, }: PaymentReminderEmailProps): react_jsx_runtime.JSX.Element;
1062
+
967
1063
  interface BookingOtpEmailProps {
968
1064
  /** Saudação (ex.: "Hello!" / "Olá!"). */
969
1065
  greeting: string;
@@ -2361,4 +2457,4 @@ declare function LeadCapturePopup({ config: _config, }: {
2361
2457
  config: LeadCapturePopupConfig;
2362
2458
  }): react_jsx_runtime.JSX.Element | null;
2363
2459
 
2364
- export { ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, BirthDateField, type BirthDateFieldProps, type BookingAdventure, BookingConfirmation, BookingConfirmationEmail, type BookingConfirmationEmailLabels, type BookingConfirmationEmailProps, type BookingConfirmationLabels, type BookingConfirmationProps, BookingConfirmedCard, type BookingConfirmedCardProps, type BookingContact, type BookingDepositInfo, BookingDetails, type BookingDetailsLabels, type BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingOtpEmail, type BookingOtpEmailProps, BookingShell, type BookingShellProps, type BookingStatus, type BookingSummaryLineItem, type BookingTraveller, Button, type ButtonProps, COUNTRIES, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, type CurrencyEstimate, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, type DatePickerFieldProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, type EmailTokens, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, 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, PaymentAmountSelector, type PaymentAmountSelectorProps, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, PaymentReceiptEmail, type PaymentReceiptEmailLabels, type PaymentReceiptEmailProps, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, 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, RegistrationSuccessCard, type RegistrationSuccessCardProps, type RegistrationTerms, type RegistrationTraveller, SiteHeader, type SiteHeaderLanguage, type SiteHeaderLink, type SiteHeaderProps, type SiteHeaderSubItem, type SiteHeaderVariant, 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 TripPageProps, type TripReview, type TripTrustpilotWidget, TrustpilotEmbed, type TrustpilotWidgetConfig, buttonVariants, cn, emailTokens, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, wrapEmailHtml };
2460
+ export { ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, BirthDateField, type BirthDateFieldProps, type BookingAdventure, BookingConfirmation, BookingConfirmationEmail, type BookingConfirmationEmailLabels, type BookingConfirmationEmailProps, type BookingConfirmationLabels, type BookingConfirmationProps, BookingConfirmedCard, type BookingConfirmedCardProps, type BookingContact, type BookingDepositInfo, BookingDetails, type BookingDetailsLabels, type BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingOtpEmail, type BookingOtpEmailProps, BookingShell, type BookingShellProps, type BookingStatus, type BookingSummaryLineItem, type BookingTraveller, Button, type ButtonProps, COUNTRIES, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, type CurrencyEstimate, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, type DatePickerFieldProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, type EmailTokens, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, 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, PaymentAmountSelector, type PaymentAmountSelectorProps, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, PaymentReceiptEmail, type PaymentReceiptEmailLabels, type PaymentReceiptEmailProps, PaymentReminderEmail, type PaymentReminderEmailAdventure, type PaymentReminderEmailLabels, type PaymentReminderEmailLineItem, type PaymentReminderEmailProps, type PaymentReminderEmailVariantLabels, type PaymentReminderVariant, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, 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, RegistrationSuccessCard, type RegistrationSuccessCardProps, type RegistrationTerms, type RegistrationTraveller, SiteHeader, type SiteHeaderLanguage, type SiteHeaderLink, type SiteHeaderProps, type SiteHeaderSubItem, type SiteHeaderVariant, 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 TripPageProps, type TripReview, type TripTrustpilotWidget, TrustpilotEmbed, type TrustpilotWidgetConfig, buttonVariants, cn, emailTokens, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, wrapEmailHtml };
package/dist/index.d.ts CHANGED
@@ -964,6 +964,102 @@ interface PaymentReceiptEmailProps {
964
964
  }
965
965
  declare function PaymentReceiptEmail({ recipientName, bookingNumber, paymentMethodLabel, paymentDate, amount, chargedAmount, statusLabel, travellers, totalOrderAmount, totalPaidCumulative, remainingBalance, balanceDueDate, isPaidInFull, logoUrl, labels, className, }: PaymentReceiptEmailProps): react_jsx_runtime.JSX.Element;
966
966
 
967
+ /**
968
+ * Variante do lembrete:
969
+ * - `dMinus1` → 1 dia antes do vencimento (amigável).
970
+ * - `dZero` → no dia do vencimento (amigável).
971
+ * - `dPlus1` → 1 dia após o vencimento (factual).
972
+ * - `dPlus2` → 2 dias após o vencimento (firme — último lembrete).
973
+ */
974
+ type PaymentReminderVariant = "dMinus1" | "dZero" | "dPlus1" | "dPlus2";
975
+ interface PaymentReminderEmailLineItem {
976
+ /** Valor unitário formatado, ex.: "R$ 1.500,00". */
977
+ unitPrice: string;
978
+ /** Quantidade, ex.: 2. */
979
+ quantity: number;
980
+ /** Label localizado da categoria de viajante, ex.: "Adults". */
981
+ categoryLabel: string;
982
+ /** Subtotal formatado, ex.: "R$ 3.000,00". */
983
+ subtotal: string;
984
+ }
985
+ interface PaymentReminderEmailAdventure {
986
+ /** Nome da aventura, ex.: "Vale do Pati Trek". */
987
+ name: string;
988
+ /** Linhas de pricing por categoria de viajante. */
989
+ lineItems: PaymentReminderEmailLineItem[];
990
+ }
991
+ interface PaymentReminderEmailVariantLabels {
992
+ /** Frase de intro — recebe bookingNumber e data de vencimento já formatada. */
993
+ intro?: (bookingNumber: string, dueDate: string) => string;
994
+ /** Linha de chamada para ação. */
995
+ secureLine?: string;
996
+ /** Closing antes do team signature. */
997
+ closingThanks?: string;
998
+ /** Aparece apenas em dPlus1/dPlus2. Quando vazia/undefined, linha some. */
999
+ disregardIfPaid?: string;
1000
+ /** Aparece apenas em dPlus2. Quando vazia/undefined, parágrafo some. */
1001
+ closingAlternative?: (agentName: string) => string;
1002
+ }
1003
+ interface PaymentReminderEmailLabels {
1004
+ logoAlt?: string;
1005
+ /** Saudação compartilhada entre slugs. */
1006
+ greeting?: (name: string) => string;
1007
+ /** "Hope you're doing well." */
1008
+ intermediateHello?: string;
1009
+ /** "Booking summary" */
1010
+ bookingSummaryHeader?: string;
1011
+ /** "Amount already paid" */
1012
+ amountAlreadyPaidLabel?: string;
1013
+ /** "Remaining balance due" */
1014
+ remainingBalanceDueLabel?: string;
1015
+ /** "Total booking amount" */
1016
+ totalBookingAmountLabel?: string;
1017
+ /** CTA do botão "Complete Payment". */
1018
+ ctaLabel?: string;
1019
+ /** Assinatura: "The PlanetaEXO Team". */
1020
+ teamSignature?: string;
1021
+ /** Strings por slug — cada variante tem seu próprio intro/secureLine/closingThanks. */
1022
+ variants?: {
1023
+ dMinus1?: PaymentReminderEmailVariantLabels;
1024
+ dZero?: PaymentReminderEmailVariantLabels;
1025
+ dPlus1?: PaymentReminderEmailVariantLabels;
1026
+ dPlus2?: PaymentReminderEmailVariantLabels;
1027
+ };
1028
+ /** Closing "If you need any assistance... contact your agent <name>...". */
1029
+ closingAgent?: (agentName: string) => string;
1030
+ /** Closing alternativo quando booking não tem agente atribuído. */
1031
+ closingNoAgent?: string;
1032
+ }
1033
+ interface PaymentReminderEmailProps {
1034
+ /** Variante do lembrete — controla intro/secureLine/closingThanks + presença de blocos condicionais. */
1035
+ variant: PaymentReminderVariant;
1036
+ /** Nome do destinatário, ex.: "Maria". */
1037
+ recipientName: string;
1038
+ /** Número canônico da reserva (string para suportar futuros formatos), ex.: "12345". */
1039
+ bookingNumber: string;
1040
+ /** Data de vencimento formatada e localizada, ex.: "15 de junho de 2026". */
1041
+ balanceDueDate: string;
1042
+ /** Aventuras com line items estruturados. */
1043
+ adventures: PaymentReminderEmailAdventure[];
1044
+ /** Total já pago formatado, ex.: "R$ 3.000,00". */
1045
+ amountAlreadyPaid: string;
1046
+ /** Saldo restante formatado, ex.: "R$ 3.000,00". */
1047
+ remainingBalanceDue: string;
1048
+ /** Total da reserva formatado, ex.: "R$ 6.000,00". */
1049
+ totalBookingAmount: string;
1050
+ /** URL do CTA "Complete Payment". */
1051
+ viewBookingUrl: string;
1052
+ /** Nome do agente para personalizar closing. Quando ausente, closingNoAgent é usado. */
1053
+ agentName?: string;
1054
+ /** URL da logo. Default: data URI via EmailLogo. */
1055
+ logoUrl?: string;
1056
+ /** Labels para i18n / customização. */
1057
+ labels?: PaymentReminderEmailLabels;
1058
+ /** className extra no container. */
1059
+ className?: string;
1060
+ }
1061
+ declare function PaymentReminderEmail({ variant, recipientName, bookingNumber, balanceDueDate, adventures, amountAlreadyPaid, remainingBalanceDue, totalBookingAmount, viewBookingUrl, agentName, logoUrl, labels, className, }: PaymentReminderEmailProps): react_jsx_runtime.JSX.Element;
1062
+
967
1063
  interface BookingOtpEmailProps {
968
1064
  /** Saudação (ex.: "Hello!" / "Olá!"). */
969
1065
  greeting: string;
@@ -2361,4 +2457,4 @@ declare function LeadCapturePopup({ config: _config, }: {
2361
2457
  config: LeadCapturePopupConfig;
2362
2458
  }): react_jsx_runtime.JSX.Element | null;
2363
2459
 
2364
- export { ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, BirthDateField, type BirthDateFieldProps, type BookingAdventure, BookingConfirmation, BookingConfirmationEmail, type BookingConfirmationEmailLabels, type BookingConfirmationEmailProps, type BookingConfirmationLabels, type BookingConfirmationProps, BookingConfirmedCard, type BookingConfirmedCardProps, type BookingContact, type BookingDepositInfo, BookingDetails, type BookingDetailsLabels, type BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingOtpEmail, type BookingOtpEmailProps, BookingShell, type BookingShellProps, type BookingStatus, type BookingSummaryLineItem, type BookingTraveller, Button, type ButtonProps, COUNTRIES, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, type CurrencyEstimate, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, type DatePickerFieldProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, type EmailTokens, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, 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, PaymentAmountSelector, type PaymentAmountSelectorProps, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, PaymentReceiptEmail, type PaymentReceiptEmailLabels, type PaymentReceiptEmailProps, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, 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, RegistrationSuccessCard, type RegistrationSuccessCardProps, type RegistrationTerms, type RegistrationTraveller, SiteHeader, type SiteHeaderLanguage, type SiteHeaderLink, type SiteHeaderProps, type SiteHeaderSubItem, type SiteHeaderVariant, 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 TripPageProps, type TripReview, type TripTrustpilotWidget, TrustpilotEmbed, type TrustpilotWidgetConfig, buttonVariants, cn, emailTokens, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, wrapEmailHtml };
2460
+ export { ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, BirthDateField, type BirthDateFieldProps, type BookingAdventure, BookingConfirmation, BookingConfirmationEmail, type BookingConfirmationEmailLabels, type BookingConfirmationEmailProps, type BookingConfirmationLabels, type BookingConfirmationProps, BookingConfirmedCard, type BookingConfirmedCardProps, type BookingContact, type BookingDepositInfo, BookingDetails, type BookingDetailsLabels, type BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingOtpEmail, type BookingOtpEmailProps, BookingShell, type BookingShellProps, type BookingStatus, type BookingSummaryLineItem, type BookingTraveller, Button, type ButtonProps, COUNTRIES, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, type CurrencyEstimate, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, type DatePickerFieldProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, type EmailTokens, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, 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, PaymentAmountSelector, type PaymentAmountSelectorProps, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, PaymentReceiptEmail, type PaymentReceiptEmailLabels, type PaymentReceiptEmailProps, PaymentReminderEmail, type PaymentReminderEmailAdventure, type PaymentReminderEmailLabels, type PaymentReminderEmailLineItem, type PaymentReminderEmailProps, type PaymentReminderEmailVariantLabels, type PaymentReminderVariant, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, 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, RegistrationSuccessCard, type RegistrationSuccessCardProps, type RegistrationTerms, type RegistrationTraveller, SiteHeader, type SiteHeaderLanguage, type SiteHeaderLink, type SiteHeaderProps, type SiteHeaderSubItem, type SiteHeaderVariant, 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 TripPageProps, type TripReview, type TripTrustpilotWidget, TrustpilotEmbed, type TrustpilotWidgetConfig, buttonVariants, cn, emailTokens, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, wrapEmailHtml };
package/dist/index.js CHANGED
@@ -4409,6 +4409,245 @@ function PaymentReceiptEmail({
4409
4409
  }
4410
4410
  );
4411
4411
  }
4412
+ var EMPTY_AGENT_FN = (_agentName) => "";
4413
+ var DEFAULT_LABELS4 = {
4414
+ logoAlt: "PlanetaEXO",
4415
+ greeting: (name) => `Hi ${name},`,
4416
+ intermediateHello: "Hope you're doing well.",
4417
+ bookingSummaryHeader: "Booking summary",
4418
+ amountAlreadyPaidLabel: "Amount already paid",
4419
+ remainingBalanceDueLabel: "Remaining balance due",
4420
+ totalBookingAmountLabel: "Total booking amount",
4421
+ ctaLabel: "Complete Payment",
4422
+ teamSignature: "The PlanetaEXO Team",
4423
+ closingAgent: (agentName) => `If you need any assistance or would like to discuss your payment, feel free to contact your agent ${agentName} via WhatsApp or email.`,
4424
+ closingNoAgent: "If you need any assistance or would like to discuss your payment, feel free to contact us via WhatsApp or email.",
4425
+ variants: {
4426
+ dMinus1: {
4427
+ intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due tomorrow (${d}).`,
4428
+ secureLine: "To secure your booking, please complete the payment through your booking page using the button below:",
4429
+ closingThanks: "Many thanks, and we look forward to helping you experience your next adventure with us.",
4430
+ disregardIfPaid: "",
4431
+ closingAlternative: EMPTY_AGENT_FN
4432
+ },
4433
+ dZero: {
4434
+ intro: (b, d) => `This is a friendly reminder that the remaining balance for your booking #${b} with PlanetaEXO is due today (${d}).`,
4435
+ secureLine: "To keep your booking confirmed, please complete the payment through your booking page using the button below:",
4436
+ closingThanks: "Many thanks, and we look forward to welcoming you soon.",
4437
+ disregardIfPaid: "",
4438
+ closingAlternative: EMPTY_AGENT_FN
4439
+ },
4440
+ dPlus1: {
4441
+ intro: (b, d) => `We noticed that the remaining balance for your booking #${b} with PlanetaEXO was due yesterday (${d}) and is still pending.`,
4442
+ secureLine: "To avoid any impact on your booking confirmation, we kindly ask you to complete the payment as soon as possible through your booking page:",
4443
+ closingThanks: "Thank you, and we hope to welcome you on your upcoming adventure soon.",
4444
+ disregardIfPaid: "If you have already completed the payment, please disregard this message.",
4445
+ closingAlternative: EMPTY_AGENT_FN
4446
+ },
4447
+ dPlus2: {
4448
+ intro: (b, d) => `This is a final reminder regarding the remaining balance for your booking #${b} with PlanetaEXO, which was due on ${d} and is still pending.`,
4449
+ secureLine: "To avoid any impact on your booking status or availability, we kindly ask you to complete the payment as soon as possible through your booking page:",
4450
+ closingThanks: "Thank you for your attention, and we hope to welcome you on this adventure soon.",
4451
+ disregardIfPaid: "If you have already completed the payment, please disregard this message.",
4452
+ closingAlternative: (agentName) => `If you are experiencing any issues with payment or need additional time, please contact your agent ${agentName} via WhatsApp or email. We'll be happy to assist.`
4453
+ }
4454
+ }
4455
+ };
4456
+ function PaymentReminderEmail({
4457
+ variant,
4458
+ recipientName,
4459
+ bookingNumber,
4460
+ balanceDueDate,
4461
+ adventures,
4462
+ amountAlreadyPaid,
4463
+ remainingBalanceDue,
4464
+ totalBookingAmount,
4465
+ viewBookingUrl,
4466
+ agentName,
4467
+ logoUrl,
4468
+ labels,
4469
+ className
4470
+ }) {
4471
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
4472
+ const lOverride = labels != null ? labels : {};
4473
+ const variantDefaults = DEFAULT_LABELS4.variants[variant];
4474
+ const variantOverride = (_b = (_a = lOverride.variants) == null ? void 0 : _a[variant]) != null ? _b : {};
4475
+ const variantLabels = {
4476
+ intro: (_c = variantOverride.intro) != null ? _c : variantDefaults.intro,
4477
+ secureLine: (_d = variantOverride.secureLine) != null ? _d : variantDefaults.secureLine,
4478
+ closingThanks: (_e = variantOverride.closingThanks) != null ? _e : variantDefaults.closingThanks,
4479
+ disregardIfPaid: variantOverride.disregardIfPaid !== void 0 ? variantOverride.disregardIfPaid : variantDefaults.disregardIfPaid,
4480
+ closingAlternative: (_f = variantOverride.closingAlternative) != null ? _f : variantDefaults.closingAlternative
4481
+ };
4482
+ const l = {
4483
+ logoAlt: (_g = lOverride.logoAlt) != null ? _g : DEFAULT_LABELS4.logoAlt,
4484
+ greeting: (_h = lOverride.greeting) != null ? _h : DEFAULT_LABELS4.greeting,
4485
+ intermediateHello: (_i = lOverride.intermediateHello) != null ? _i : DEFAULT_LABELS4.intermediateHello,
4486
+ bookingSummaryHeader: (_j = lOverride.bookingSummaryHeader) != null ? _j : DEFAULT_LABELS4.bookingSummaryHeader,
4487
+ amountAlreadyPaidLabel: (_k = lOverride.amountAlreadyPaidLabel) != null ? _k : DEFAULT_LABELS4.amountAlreadyPaidLabel,
4488
+ remainingBalanceDueLabel: (_l = lOverride.remainingBalanceDueLabel) != null ? _l : DEFAULT_LABELS4.remainingBalanceDueLabel,
4489
+ totalBookingAmountLabel: (_m = lOverride.totalBookingAmountLabel) != null ? _m : DEFAULT_LABELS4.totalBookingAmountLabel,
4490
+ ctaLabel: (_n = lOverride.ctaLabel) != null ? _n : DEFAULT_LABELS4.ctaLabel,
4491
+ teamSignature: (_o = lOverride.teamSignature) != null ? _o : DEFAULT_LABELS4.teamSignature,
4492
+ closingAgent: (_p = lOverride.closingAgent) != null ? _p : DEFAULT_LABELS4.closingAgent,
4493
+ closingNoAgent: (_q = lOverride.closingNoAgent) != null ? _q : DEFAULT_LABELS4.closingNoAgent
4494
+ };
4495
+ const ctaStyle = {
4496
+ display: "inline-block",
4497
+ backgroundColor: emailTokens.primary,
4498
+ color: emailTokens.primaryForeground,
4499
+ padding: "12px 24px",
4500
+ borderRadius: "8px",
4501
+ fontSize: "14px",
4502
+ fontWeight: 700,
4503
+ textDecoration: "none",
4504
+ fontFamily: emailTokens.fontFamily
4505
+ };
4506
+ const summaryRowStyle = {
4507
+ margin: "0 0 8px",
4508
+ fontSize: "14px",
4509
+ color: emailTokens.foreground
4510
+ };
4511
+ const agentNameTrimmed = agentName == null ? void 0 : agentName.trim();
4512
+ const closingMain = agentNameTrimmed ? l.closingAgent(agentNameTrimmed) : l.closingNoAgent;
4513
+ const showDisregard = typeof variantLabels.disregardIfPaid === "string" && variantLabels.disregardIfPaid.trim().length > 0;
4514
+ const closingAlternativeText = agentNameTrimmed && variantLabels.closingAlternative ? variantLabels.closingAlternative(agentNameTrimmed) : "";
4515
+ const showClosingAlternative = closingAlternativeText.trim().length > 0;
4516
+ return /* @__PURE__ */ jsxs(
4517
+ "div",
4518
+ {
4519
+ style: {
4520
+ maxWidth: "576px",
4521
+ margin: "0 auto",
4522
+ backgroundColor: emailTokens.white,
4523
+ color: emailTokens.foreground,
4524
+ fontFamily: emailTokens.fontFamily,
4525
+ fontSize: "16px",
4526
+ lineHeight: "1.6",
4527
+ border: `1px solid ${emailTokens.border}`,
4528
+ borderRadius: "12px",
4529
+ overflow: "hidden",
4530
+ padding: "32px"
4531
+ },
4532
+ className,
4533
+ children: [
4534
+ /* @__PURE__ */ jsx(EmailLogo, { src: logoUrl, alt: l.logoAlt }),
4535
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.greeting(recipientName) }),
4536
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px" }, children: l.intermediateHello }),
4537
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "12px" }, children: variantLabels.intro(bookingNumber, balanceDueDate) }),
4538
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "24px" }, children: variantLabels.secureLine }),
4539
+ /* @__PURE__ */ jsx("div", { style: { marginBottom: "32px", textAlign: "center" }, children: /* @__PURE__ */ jsx("a", { href: viewBookingUrl, style: ctaStyle, children: l.ctaLabel }) }),
4540
+ /* @__PURE__ */ jsx(
4541
+ "hr",
4542
+ {
4543
+ style: {
4544
+ border: "none",
4545
+ borderTop: `1px solid ${emailTokens.border}`,
4546
+ marginBottom: "24px"
4547
+ }
4548
+ }
4549
+ ),
4550
+ /* @__PURE__ */ jsx(
4551
+ "p",
4552
+ {
4553
+ style: {
4554
+ marginBottom: "16px",
4555
+ fontWeight: 700,
4556
+ color: emailTokens.foreground,
4557
+ fontSize: "16px"
4558
+ },
4559
+ children: l.bookingSummaryHeader
4560
+ }
4561
+ ),
4562
+ adventures.map((adv, advIdx) => /* @__PURE__ */ jsxs(
4563
+ "div",
4564
+ {
4565
+ style: {
4566
+ marginBottom: "20px",
4567
+ paddingBottom: "16px",
4568
+ borderBottom: advIdx < adventures.length - 1 ? `1px solid ${emailTokens.border}` : "none"
4569
+ },
4570
+ children: [
4571
+ /* @__PURE__ */ jsx(
4572
+ "p",
4573
+ {
4574
+ style: {
4575
+ margin: "0 0 8px",
4576
+ fontSize: "15px",
4577
+ fontWeight: 600,
4578
+ color: emailTokens.foreground
4579
+ },
4580
+ children: adv.name
4581
+ }
4582
+ ),
4583
+ adv.lineItems.map((li, liIdx) => /* @__PURE__ */ jsxs("p", { style: summaryRowStyle, children: [
4584
+ li.unitPrice,
4585
+ " \xD7 ",
4586
+ li.quantity,
4587
+ " ",
4588
+ li.categoryLabel,
4589
+ " =",
4590
+ " ",
4591
+ /* @__PURE__ */ jsx("strong", { children: li.subtotal })
4592
+ ] }, liIdx))
4593
+ ]
4594
+ },
4595
+ advIdx
4596
+ )),
4597
+ /* @__PURE__ */ jsx(
4598
+ "hr",
4599
+ {
4600
+ style: {
4601
+ border: "none",
4602
+ borderTop: `1px solid ${emailTokens.border}`,
4603
+ marginBottom: "16px"
4604
+ }
4605
+ }
4606
+ ),
4607
+ /* @__PURE__ */ jsxs("p", { style: summaryRowStyle, children: [
4608
+ /* @__PURE__ */ jsxs("strong", { children: [
4609
+ l.amountAlreadyPaidLabel,
4610
+ ":"
4611
+ ] }),
4612
+ " ",
4613
+ amountAlreadyPaid
4614
+ ] }),
4615
+ /* @__PURE__ */ jsxs("p", { style: summaryRowStyle, children: [
4616
+ /* @__PURE__ */ jsxs("strong", { children: [
4617
+ l.remainingBalanceDueLabel,
4618
+ ":"
4619
+ ] }),
4620
+ " ",
4621
+ remainingBalanceDue
4622
+ ] }),
4623
+ /* @__PURE__ */ jsxs("p", { style: __spreadProps(__spreadValues({}, summaryRowStyle), { marginBottom: "24px" }), children: [
4624
+ /* @__PURE__ */ jsxs("strong", { children: [
4625
+ l.totalBookingAmountLabel,
4626
+ ":"
4627
+ ] }),
4628
+ " ",
4629
+ totalBookingAmount
4630
+ ] }),
4631
+ showDisregard && /* @__PURE__ */ jsx(
4632
+ "p",
4633
+ {
4634
+ style: {
4635
+ marginBottom: "16px",
4636
+ fontSize: "14px",
4637
+ color: emailTokens.mutedForeground,
4638
+ fontStyle: "italic"
4639
+ },
4640
+ children: variantLabels.disregardIfPaid
4641
+ }
4642
+ ),
4643
+ showClosingAlternative && /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: closingAlternativeText }),
4644
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: closingMain }),
4645
+ /* @__PURE__ */ jsx("p", { style: { marginBottom: "16px", fontSize: "14px", color: emailTokens.bodyText }, children: variantLabels.closingThanks }),
4646
+ /* @__PURE__ */ jsx("p", { style: { marginTop: 0, marginBottom: 0, fontSize: "14px", color: emailTokens.bodyText }, children: l.teamSignature })
4647
+ ]
4648
+ }
4649
+ );
4650
+ }
4412
4651
  function BookingOtpEmail({
4413
4652
  greeting,
4414
4653
  intro,
@@ -5089,7 +5328,7 @@ function BookingForm({
5089
5328
  }
5090
5329
  );
5091
5330
  }
5092
- var DEFAULT_LABELS4 = {
5331
+ var DEFAULT_LABELS5 = {
5093
5332
  formSubtitle: "To confirm your participation, please complete this short form. It's required for all travellers and helps us coordinate logistics with our local partners and tailor the experience to you.",
5094
5333
  detailsSectionTitle: "Your details",
5095
5334
  tripInfoSectionTitle: "Trip info",
@@ -5754,7 +5993,7 @@ function RegistrationForm({
5754
5993
  }) {
5755
5994
  var _a;
5756
5995
  const L = React25.useMemo(
5757
- () => __spreadValues(__spreadValues({}, DEFAULT_LABELS4), labels != null ? labels : {}),
5996
+ () => __spreadValues(__spreadValues({}, DEFAULT_LABELS5), labels != null ? labels : {}),
5758
5997
  [labels]
5759
5998
  );
5760
5999
  const sortedFields = React25.useMemo(
@@ -10352,6 +10591,6 @@ function LeadCapturePopup({
10352
10591
  );
10353
10592
  }
10354
10593
 
10355
- export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, ItineraryDay, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TransferDetailsBlock, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, TrustpilotEmbed, buttonVariants, cn, emailTokens, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, wrapEmailHtml };
10594
+ export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, ItineraryDay, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PaymentModalShell, PaymentReceiptEmail, PaymentReminderEmail, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TransferDetailsBlock, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, TrustpilotEmbed, buttonVariants, cn, emailTokens, getStripeAppearance, itineraryDaySpecIcons, stripeAppearance, wrapEmailHtml };
10356
10595
  //# sourceMappingURL=index.js.map
10357
10596
  //# sourceMappingURL=index.js.map