@planetaexo/design-system 0.25.0 → 0.26.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
@@ -956,6 +956,42 @@ interface BookingAdventureCardProps {
956
956
  }
957
957
  declare function BookingAdventureCard({ tag, name, startDate, endDate, travellerCount, slots, travellers, itinerary, description, image, imageAlt, location, destination, included, notIncluded, lineItems, subtotal, labels, className, }: BookingAdventureCardProps): react_jsx_runtime.JSX.Element;
958
958
 
959
+ interface PaymentDetailsBlockRow {
960
+ /** Label da linha (ex.: "Amount already paid"). */
961
+ label: string;
962
+ /** Valor já formatado (ex.: "R$ 2.136,88"). */
963
+ value: string;
964
+ /**
965
+ * Quando `true`, valor renderiza com peso 700 e cor primary (destaque
966
+ * visual). Usado tipicamente em "Remaining balance" / "Total".
967
+ */
968
+ emphasis?: boolean;
969
+ }
970
+ interface PaymentDetailsBlockFooterBanner {
971
+ /** Texto do banner (ex.: "✅ Paid in full"). */
972
+ text: string;
973
+ /** Variante visual. `success` = verde. Por enquanto só `success`. */
974
+ kind?: "success";
975
+ }
976
+ interface PaymentDetailsBlockLabels {
977
+ /** Cabeçalho do bloco. Default: "PAYMENT DETAILS". */
978
+ heading?: string;
979
+ }
980
+ interface PaymentDetailsBlockProps {
981
+ /** Linhas estruturadas (label + value). Renderizadas em ordem. */
982
+ rows: PaymentDetailsBlockRow[];
983
+ /**
984
+ * Banner full-width opcional renderizado abaixo das rows (ex.: "Paid
985
+ * in full"). Quando ausente, não renderiza.
986
+ */
987
+ footerBanner?: PaymentDetailsBlockFooterBanner;
988
+ /** Labels para i18n / customização. */
989
+ labels?: PaymentDetailsBlockLabels;
990
+ /** className extra no container. */
991
+ className?: string;
992
+ }
993
+ declare function PaymentDetailsBlock({ rows, footerBanner, labels, className, }: PaymentDetailsBlockProps): react_jsx_runtime.JSX.Element;
994
+
959
995
  interface BookingConfirmationEmailLabels {
960
996
  ctaButton?: string;
961
997
  logoAlt?: string;
@@ -1084,6 +1120,17 @@ declare function PaymentReceiptEmail({ recipientName, bookingNumber, paymentMeth
1084
1120
  * - `dPlus2` → 2 dias após o vencimento (firme — último lembrete).
1085
1121
  */
1086
1122
  type PaymentReminderVariant = "dMinus1" | "dZero" | "dPlus1" | "dPlus2";
1123
+ /**
1124
+ * URLs/dados de contato do agente, usados pelos closings para renderizar
1125
+ * `WhatsApp` e `email` como hyperlinks. Quando uma URL for `undefined`, o
1126
+ * texto correspondente cai para plain text (sem link).
1127
+ */
1128
+ interface PaymentReminderAgentContactLinks {
1129
+ /** URL completo do WhatsApp (ex.: "https://wa.me/5511987654321"). */
1130
+ whatsappUrl?: string;
1131
+ /** Email do agente (ex.: "gabriel@planetaexo.com"). */
1132
+ email?: string;
1133
+ }
1087
1134
  interface PaymentReminderEmailLineItem {
1088
1135
  /** Valor unitário formatado, ex.: "R$ 1.500,00". */
1089
1136
  unitPrice: string;
@@ -1123,8 +1170,19 @@ interface PaymentReminderEmailVariantLabels {
1123
1170
  closingThanks?: string;
1124
1171
  /** Aparece apenas em dPlus1/dPlus2. Quando vazia/undefined, linha some. */
1125
1172
  disregardIfPaid?: string;
1126
- /** Aparece apenas em dPlus2. Quando vazia/undefined, parágrafo some. */
1127
- closingAlternative?: (agentName: string) => string;
1173
+ /**
1174
+ * Aparece apenas em dPlus2. Recebe nome do agente + URLs de contato e
1175
+ * retorna JSX com hyperlinks inline (WhatsApp/email).
1176
+ *
1177
+ * Em dPlus2 esta linha SUBSTITUI `closingAgent` (e não soma): o briefing
1178
+ * original do D+2 tinha `closingAgent` como duplicação de copy-paste
1179
+ * cortada, removida em v0.26.0. Em D−1/D0/D+1, `closingAgent` é o único
1180
+ * closing usado.
1181
+ *
1182
+ * Quando `agentName` está vazio, o componente cai para `closingNoAgent`
1183
+ * mesmo em dPlus2.
1184
+ */
1185
+ closingAlternative?: (agentName: string, contact: PaymentReminderAgentContactLinks) => React.ReactNode;
1128
1186
  }
1129
1187
  interface PaymentReminderEmailLabels {
1130
1188
  logoAlt?: string;
@@ -1140,6 +1198,8 @@ interface PaymentReminderEmailLabels {
1140
1198
  remainingBalanceDueLabel?: string;
1141
1199
  /** "Total booking amount" */
1142
1200
  totalBookingAmountLabel?: string;
1201
+ /** Heading do `PaymentDetailsBlock` (default: "PAYMENT DETAILS"). */
1202
+ paymentDetailsHeading?: string;
1143
1203
  /** CTA do botão "Complete Payment". */
1144
1204
  ctaLabel?: string;
1145
1205
  /** Assinatura: "The PlanetaEXO Team". */
@@ -1151,9 +1211,17 @@ interface PaymentReminderEmailLabels {
1151
1211
  dPlus1?: PaymentReminderEmailVariantLabels;
1152
1212
  dPlus2?: PaymentReminderEmailVariantLabels;
1153
1213
  };
1154
- /** Closing "If you need any assistance... contact your agent <name>...". */
1155
- closingAgent?: (agentName: string) => string;
1156
- /** Closing alternativo quando booking não tem agente atribuído. */
1214
+ /**
1215
+ * Closing "If you need any assistance... contact your agent <name>...".
1216
+ * Recebe nome do agente + URLs de contato e retorna JSX com hyperlinks
1217
+ * inline (WhatsApp/email). Quando URLs ausentes, fallback p/ plain text.
1218
+ *
1219
+ * BREAKING (v0.26.0): mudou de `(string) => string` para `(string,
1220
+ * contact) => React.ReactNode`. Backend consumer precisa popular
1221
+ * `agentContactLinks` para os hyperlinks aparecerem.
1222
+ */
1223
+ closingAgent?: (agentName: string, contact: PaymentReminderAgentContactLinks) => React.ReactNode;
1224
+ /** Closing alternativo quando booking não tem agente atribuído. Plain text (sem links). */
1157
1225
  closingNoAgent?: string;
1158
1226
  /**
1159
1227
  * Labels do `BookingAdventureCard` aninhado. Repassadas para cada card de
@@ -1183,6 +1251,11 @@ interface PaymentReminderEmailProps {
1183
1251
  viewBookingUrl: string;
1184
1252
  /** Nome do agente para personalizar closing. Quando ausente, closingNoAgent é usado. */
1185
1253
  agentName?: string;
1254
+ /**
1255
+ * URLs/dados de contato do agente para renderizar `WhatsApp` e `email` como
1256
+ * hyperlinks nos closings. Ausência de uma URL = plain text (sem link).
1257
+ */
1258
+ agentContactLinks?: PaymentReminderAgentContactLinks;
1186
1259
  /** URL da logo. Default: data URI via EmailLogo. */
1187
1260
  logoUrl?: string;
1188
1261
  /** Labels para i18n / customização. */
@@ -1190,7 +1263,7 @@ interface PaymentReminderEmailProps {
1190
1263
  /** className extra no container. */
1191
1264
  className?: string;
1192
1265
  }
1193
- declare function PaymentReminderEmail({ variant, recipientName, bookingNumber, balanceDueDate, adventures, amountAlreadyPaid, remainingBalanceDue, totalBookingAmount, viewBookingUrl, agentName, logoUrl, labels, className, }: PaymentReminderEmailProps): react_jsx_runtime.JSX.Element;
1266
+ declare function PaymentReminderEmail({ variant, recipientName, bookingNumber, balanceDueDate, adventures, amountAlreadyPaid, remainingBalanceDue, totalBookingAmount, viewBookingUrl, agentName, agentContactLinks, logoUrl, labels, className, }: PaymentReminderEmailProps): react_jsx_runtime.JSX.Element;
1194
1267
 
1195
1268
  interface BookingOtpEmailProps {
1196
1269
  /** Saudação (ex.: "Hello!" / "Olá!"). */
@@ -2589,4 +2662,4 @@ declare function LeadCapturePopup({ config: _config, }: {
2589
2662
  config: LeadCapturePopupConfig;
2590
2663
  }): react_jsx_runtime.JSX.Element | null;
2591
2664
 
2592
- export { ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, BirthDateField, type BirthDateFieldProps, type BookingAdventure, BookingAdventureCard, type BookingAdventureCardLabels, type BookingAdventureCardLineItem, type BookingAdventureCardProps, type BookingAdventureCardSlots, type BookingAdventureCardTraveller, 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 };
2665
+ export { ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, BirthDateField, type BirthDateFieldProps, type BookingAdventure, BookingAdventureCard, type BookingAdventureCardLabels, type BookingAdventureCardLineItem, type BookingAdventureCardProps, type BookingAdventureCardSlots, type BookingAdventureCardTraveller, 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, PaymentDetailsBlock, type PaymentDetailsBlockFooterBanner, type PaymentDetailsBlockLabels, type PaymentDetailsBlockProps, type PaymentDetailsBlockRow, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, 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, 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
@@ -956,6 +956,42 @@ interface BookingAdventureCardProps {
956
956
  }
957
957
  declare function BookingAdventureCard({ tag, name, startDate, endDate, travellerCount, slots, travellers, itinerary, description, image, imageAlt, location, destination, included, notIncluded, lineItems, subtotal, labels, className, }: BookingAdventureCardProps): react_jsx_runtime.JSX.Element;
958
958
 
959
+ interface PaymentDetailsBlockRow {
960
+ /** Label da linha (ex.: "Amount already paid"). */
961
+ label: string;
962
+ /** Valor já formatado (ex.: "R$ 2.136,88"). */
963
+ value: string;
964
+ /**
965
+ * Quando `true`, valor renderiza com peso 700 e cor primary (destaque
966
+ * visual). Usado tipicamente em "Remaining balance" / "Total".
967
+ */
968
+ emphasis?: boolean;
969
+ }
970
+ interface PaymentDetailsBlockFooterBanner {
971
+ /** Texto do banner (ex.: "✅ Paid in full"). */
972
+ text: string;
973
+ /** Variante visual. `success` = verde. Por enquanto só `success`. */
974
+ kind?: "success";
975
+ }
976
+ interface PaymentDetailsBlockLabels {
977
+ /** Cabeçalho do bloco. Default: "PAYMENT DETAILS". */
978
+ heading?: string;
979
+ }
980
+ interface PaymentDetailsBlockProps {
981
+ /** Linhas estruturadas (label + value). Renderizadas em ordem. */
982
+ rows: PaymentDetailsBlockRow[];
983
+ /**
984
+ * Banner full-width opcional renderizado abaixo das rows (ex.: "Paid
985
+ * in full"). Quando ausente, não renderiza.
986
+ */
987
+ footerBanner?: PaymentDetailsBlockFooterBanner;
988
+ /** Labels para i18n / customização. */
989
+ labels?: PaymentDetailsBlockLabels;
990
+ /** className extra no container. */
991
+ className?: string;
992
+ }
993
+ declare function PaymentDetailsBlock({ rows, footerBanner, labels, className, }: PaymentDetailsBlockProps): react_jsx_runtime.JSX.Element;
994
+
959
995
  interface BookingConfirmationEmailLabels {
960
996
  ctaButton?: string;
961
997
  logoAlt?: string;
@@ -1084,6 +1120,17 @@ declare function PaymentReceiptEmail({ recipientName, bookingNumber, paymentMeth
1084
1120
  * - `dPlus2` → 2 dias após o vencimento (firme — último lembrete).
1085
1121
  */
1086
1122
  type PaymentReminderVariant = "dMinus1" | "dZero" | "dPlus1" | "dPlus2";
1123
+ /**
1124
+ * URLs/dados de contato do agente, usados pelos closings para renderizar
1125
+ * `WhatsApp` e `email` como hyperlinks. Quando uma URL for `undefined`, o
1126
+ * texto correspondente cai para plain text (sem link).
1127
+ */
1128
+ interface PaymentReminderAgentContactLinks {
1129
+ /** URL completo do WhatsApp (ex.: "https://wa.me/5511987654321"). */
1130
+ whatsappUrl?: string;
1131
+ /** Email do agente (ex.: "gabriel@planetaexo.com"). */
1132
+ email?: string;
1133
+ }
1087
1134
  interface PaymentReminderEmailLineItem {
1088
1135
  /** Valor unitário formatado, ex.: "R$ 1.500,00". */
1089
1136
  unitPrice: string;
@@ -1123,8 +1170,19 @@ interface PaymentReminderEmailVariantLabels {
1123
1170
  closingThanks?: string;
1124
1171
  /** Aparece apenas em dPlus1/dPlus2. Quando vazia/undefined, linha some. */
1125
1172
  disregardIfPaid?: string;
1126
- /** Aparece apenas em dPlus2. Quando vazia/undefined, parágrafo some. */
1127
- closingAlternative?: (agentName: string) => string;
1173
+ /**
1174
+ * Aparece apenas em dPlus2. Recebe nome do agente + URLs de contato e
1175
+ * retorna JSX com hyperlinks inline (WhatsApp/email).
1176
+ *
1177
+ * Em dPlus2 esta linha SUBSTITUI `closingAgent` (e não soma): o briefing
1178
+ * original do D+2 tinha `closingAgent` como duplicação de copy-paste
1179
+ * cortada, removida em v0.26.0. Em D−1/D0/D+1, `closingAgent` é o único
1180
+ * closing usado.
1181
+ *
1182
+ * Quando `agentName` está vazio, o componente cai para `closingNoAgent`
1183
+ * mesmo em dPlus2.
1184
+ */
1185
+ closingAlternative?: (agentName: string, contact: PaymentReminderAgentContactLinks) => React.ReactNode;
1128
1186
  }
1129
1187
  interface PaymentReminderEmailLabels {
1130
1188
  logoAlt?: string;
@@ -1140,6 +1198,8 @@ interface PaymentReminderEmailLabels {
1140
1198
  remainingBalanceDueLabel?: string;
1141
1199
  /** "Total booking amount" */
1142
1200
  totalBookingAmountLabel?: string;
1201
+ /** Heading do `PaymentDetailsBlock` (default: "PAYMENT DETAILS"). */
1202
+ paymentDetailsHeading?: string;
1143
1203
  /** CTA do botão "Complete Payment". */
1144
1204
  ctaLabel?: string;
1145
1205
  /** Assinatura: "The PlanetaEXO Team". */
@@ -1151,9 +1211,17 @@ interface PaymentReminderEmailLabels {
1151
1211
  dPlus1?: PaymentReminderEmailVariantLabels;
1152
1212
  dPlus2?: PaymentReminderEmailVariantLabels;
1153
1213
  };
1154
- /** Closing "If you need any assistance... contact your agent <name>...". */
1155
- closingAgent?: (agentName: string) => string;
1156
- /** Closing alternativo quando booking não tem agente atribuído. */
1214
+ /**
1215
+ * Closing "If you need any assistance... contact your agent <name>...".
1216
+ * Recebe nome do agente + URLs de contato e retorna JSX com hyperlinks
1217
+ * inline (WhatsApp/email). Quando URLs ausentes, fallback p/ plain text.
1218
+ *
1219
+ * BREAKING (v0.26.0): mudou de `(string) => string` para `(string,
1220
+ * contact) => React.ReactNode`. Backend consumer precisa popular
1221
+ * `agentContactLinks` para os hyperlinks aparecerem.
1222
+ */
1223
+ closingAgent?: (agentName: string, contact: PaymentReminderAgentContactLinks) => React.ReactNode;
1224
+ /** Closing alternativo quando booking não tem agente atribuído. Plain text (sem links). */
1157
1225
  closingNoAgent?: string;
1158
1226
  /**
1159
1227
  * Labels do `BookingAdventureCard` aninhado. Repassadas para cada card de
@@ -1183,6 +1251,11 @@ interface PaymentReminderEmailProps {
1183
1251
  viewBookingUrl: string;
1184
1252
  /** Nome do agente para personalizar closing. Quando ausente, closingNoAgent é usado. */
1185
1253
  agentName?: string;
1254
+ /**
1255
+ * URLs/dados de contato do agente para renderizar `WhatsApp` e `email` como
1256
+ * hyperlinks nos closings. Ausência de uma URL = plain text (sem link).
1257
+ */
1258
+ agentContactLinks?: PaymentReminderAgentContactLinks;
1186
1259
  /** URL da logo. Default: data URI via EmailLogo. */
1187
1260
  logoUrl?: string;
1188
1261
  /** Labels para i18n / customização. */
@@ -1190,7 +1263,7 @@ interface PaymentReminderEmailProps {
1190
1263
  /** className extra no container. */
1191
1264
  className?: string;
1192
1265
  }
1193
- declare function PaymentReminderEmail({ variant, recipientName, bookingNumber, balanceDueDate, adventures, amountAlreadyPaid, remainingBalanceDue, totalBookingAmount, viewBookingUrl, agentName, logoUrl, labels, className, }: PaymentReminderEmailProps): react_jsx_runtime.JSX.Element;
1266
+ declare function PaymentReminderEmail({ variant, recipientName, bookingNumber, balanceDueDate, adventures, amountAlreadyPaid, remainingBalanceDue, totalBookingAmount, viewBookingUrl, agentName, agentContactLinks, logoUrl, labels, className, }: PaymentReminderEmailProps): react_jsx_runtime.JSX.Element;
1194
1267
 
1195
1268
  interface BookingOtpEmailProps {
1196
1269
  /** Saudação (ex.: "Hello!" / "Olá!"). */
@@ -2589,4 +2662,4 @@ declare function LeadCapturePopup({ config: _config, }: {
2589
2662
  config: LeadCapturePopupConfig;
2590
2663
  }): react_jsx_runtime.JSX.Element | null;
2591
2664
 
2592
- export { ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, BirthDateField, type BirthDateFieldProps, type BookingAdventure, BookingAdventureCard, type BookingAdventureCardLabels, type BookingAdventureCardLineItem, type BookingAdventureCardProps, type BookingAdventureCardSlots, type BookingAdventureCardTraveller, 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 };
2665
+ export { ActivityCard, type ActivityCardProps, type ActivityCardSize, AgentContactCard, type AgentContactCardProps, Alert, type AlertProps, type AlertVariant, BirthDateField, type BirthDateFieldProps, type BookingAdventure, BookingAdventureCard, type BookingAdventureCardLabels, type BookingAdventureCardLineItem, type BookingAdventureCardProps, type BookingAdventureCardSlots, type BookingAdventureCardTraveller, 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, PaymentDetailsBlock, type PaymentDetailsBlockFooterBanner, type PaymentDetailsBlockLabels, type PaymentDetailsBlockProps, type PaymentDetailsBlockRow, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, 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, 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 };