@planetaexo/design-system 0.10.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +305 -64
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +73 -2
- package/dist/index.d.ts +73 -2
- package/dist/index.js +305 -65
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -623,6 +623,57 @@ interface TravellerFormInviteEmailProps {
|
|
|
623
623
|
}
|
|
624
624
|
declare function TravellerFormInviteEmail({ greeting, bodyIntro, bodyInstruction, links, ignoreNote, teamSignature, logoUrl, buttonLabel, className, tripDetails, tripDetailsLabels, bodyFooter, }: TravellerFormInviteEmailProps): react_jsx_runtime.JSX.Element;
|
|
625
625
|
|
|
626
|
+
type BookingWelcomeNewSystemFormsStatus = "COMPLETO" | "INCOMPLETO" | "ZERADO" | "SEM_FORM";
|
|
627
|
+
interface BookingWelcomeNewSystemBookingItem {
|
|
628
|
+
/** ID interno da reserva (ex.: 1234) — exibido como #1234. */
|
|
629
|
+
bookingId: number;
|
|
630
|
+
/** Referência pública estável (ex.: "EXO-R-MS-1234"). Opcional. */
|
|
631
|
+
publicRef?: string | null;
|
|
632
|
+
/** Nome da aventura principal ou rótulo agregado (ex.: "+ 2 aventuras"). */
|
|
633
|
+
adventureName: string;
|
|
634
|
+
/** Data de início formatada na locale do contato. */
|
|
635
|
+
startDate: string;
|
|
636
|
+
/** Status de progresso dos formulários (computed via computeBookingFormsSummary). */
|
|
637
|
+
formsStatus: BookingWelcomeNewSystemFormsStatus;
|
|
638
|
+
/** Quantidade de formulários já completos. */
|
|
639
|
+
formsCompleted: number;
|
|
640
|
+
/** Total de formulários requeridos para a reserva. */
|
|
641
|
+
formsRequired: number;
|
|
642
|
+
/** URL pública para a página da reserva (ex.: /pt/b?bookingId=1234). */
|
|
643
|
+
bookingPublicUrl: string;
|
|
644
|
+
}
|
|
645
|
+
interface BookingWelcomeNewSystemEmailProps {
|
|
646
|
+
/** "all" (todas reservas com forms ok) ou "formsPending" (alguma reserva tem pendência). */
|
|
647
|
+
variant: "all" | "formsPending";
|
|
648
|
+
/** Saudação completa (ex.: "Olá Maria,"). */
|
|
649
|
+
greeting: string;
|
|
650
|
+
/** Parágrafo de abertura — varia conforme variant. */
|
|
651
|
+
introParagraph: string;
|
|
652
|
+
/** Cabeçalho da seção de reservas (ex.: "Suas reservas:"). */
|
|
653
|
+
bookingsHeading: string;
|
|
654
|
+
/** Lista de reservas do contato (1 ou mais). */
|
|
655
|
+
bookings: BookingWelcomeNewSystemBookingItem[];
|
|
656
|
+
/** Label "Formulários completos" (status COMPLETO). */
|
|
657
|
+
bookingFormsCompleteLabel: string;
|
|
658
|
+
/** Label callback "N de M formulários pendentes" (status INCOMPLETO/ZERADO). */
|
|
659
|
+
bookingFormsPendingLabel: (done: number, total: number) => string;
|
|
660
|
+
/** Label "Sem formulário necessário" (status SEM_FORM). */
|
|
661
|
+
bookingFormsNoneLabel?: string;
|
|
662
|
+
/** Texto do botão CTA por reserva (ex.: "Ver reserva"). */
|
|
663
|
+
ctaLabel: string;
|
|
664
|
+
/** Label "Código da reserva:" — exibido antes do #ID. */
|
|
665
|
+
bookingCodeLabel: string;
|
|
666
|
+
/** Linha de assinatura (ex.: "Equipa PlanetaEXO"). */
|
|
667
|
+
signatureLine: string;
|
|
668
|
+
/** Texto do rodapé (ex.: convite a responder ao e-mail). */
|
|
669
|
+
footerText?: string;
|
|
670
|
+
/** URL da logo. Default: data URI embutido. */
|
|
671
|
+
logoUrl?: string;
|
|
672
|
+
/** className extra no container (uso no styleguide). */
|
|
673
|
+
className?: string;
|
|
674
|
+
}
|
|
675
|
+
declare function BookingWelcomeNewSystemEmail({ greeting, introParagraph, bookingsHeading, bookings, bookingFormsCompleteLabel, bookingFormsPendingLabel, bookingFormsNoneLabel, ctaLabel, bookingCodeLabel, signatureLine, footerText, logoUrl, className, }: BookingWelcomeNewSystemEmailProps): react_jsx_runtime.JSX.Element;
|
|
676
|
+
|
|
626
677
|
interface BookingFormValues {
|
|
627
678
|
adults: number;
|
|
628
679
|
children: number;
|
|
@@ -813,8 +864,28 @@ interface RegistrationSuccessCardProps {
|
|
|
813
864
|
partnerLabel?: string;
|
|
814
865
|
travellerLabel?: string;
|
|
815
866
|
};
|
|
867
|
+
/**
|
|
868
|
+
* Visual density of the card.
|
|
869
|
+
* - `"comfortable"` (default): standard spacing — used by the post-submit web flow.
|
|
870
|
+
* - `"compact"`: tighter gaps and smaller terms typography, optimized for A4 PDF export.
|
|
871
|
+
*/
|
|
872
|
+
density?: "compact" | "comfortable";
|
|
873
|
+
/**
|
|
874
|
+
* Optional submission timestamp block, rendered after the header.
|
|
875
|
+
* Both fields are pre-formatted strings (e.g. `"27/04/2026 14:32 (UTC-3)"`).
|
|
876
|
+
* `lastUpdatedAt` should be omitted by the caller when it equals `submittedAt`.
|
|
877
|
+
*/
|
|
878
|
+
submissionTimestamps?: {
|
|
879
|
+
submittedAt?: string;
|
|
880
|
+
lastUpdatedAt?: string;
|
|
881
|
+
};
|
|
882
|
+
/** i18n-friendly labels for the timestamp block. Defaults to English. */
|
|
883
|
+
submissionTimestampsLabels?: {
|
|
884
|
+
submittedAt?: string;
|
|
885
|
+
lastUpdatedAt?: string;
|
|
886
|
+
};
|
|
816
887
|
}
|
|
817
|
-
declare function RegistrationSuccessCard({ variant, title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, className, actions, logo, logoAlt, terms, termsLayout, termsLabels, adventure, booking, traveller, tripInfoLabels, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
|
|
888
|
+
declare function RegistrationSuccessCard({ variant, title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, className, actions, logo, logoAlt, terms, termsLayout, termsLabels, adventure, booking, traveller, tripInfoLabels, density, submissionTimestamps, submissionTimestampsLabels, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
|
|
818
889
|
|
|
819
890
|
interface FloatingInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
820
891
|
label: string;
|
|
@@ -1664,4 +1735,4 @@ declare function LeadCapturePopup({ config: _config, }: {
|
|
|
1664
1735
|
config: LeadCapturePopupConfig;
|
|
1665
1736
|
}): react_jsx_runtime.JSX.Element | null;
|
|
1666
1737
|
|
|
1667
|
-
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 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, 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, 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 OfferDepositInfo, type OfferOptionalItem, type OfferProps, type OfferSummaryLineItem, PaymentAmountSelector, type PaymentAmountSelectorProps, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, type PricingOption, 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, 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 TripItineraryStep, type TripMeetingPoint, TripPage, type TripPageProps, type TripPricingOption, type TripReview, buttonVariants, cn, emailTokens, getStripeAppearance, stripeAppearance, wrapEmailHtml };
|
|
1738
|
+
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 BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingOtpEmail, type BookingOtpEmailProps, BookingShell, type BookingShellProps, type BookingStatus, type BookingSummaryLineItem, type BookingTraveller, type BookingWelcomeNewSystemBookingItem, BookingWelcomeNewSystemEmail, type BookingWelcomeNewSystemEmailProps, type BookingWelcomeNewSystemFormsStatus, Button, type ButtonProps, COUNTRIES, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, type DatePickerFieldProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, type EmailTokens, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, Itinerary, 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 OfferDepositInfo, type OfferOptionalItem, type OfferProps, type OfferSummaryLineItem, PaymentAmountSelector, type PaymentAmountSelectorProps, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, type PricingOption, 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, 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 TripItineraryStep, type TripMeetingPoint, TripPage, type TripPageProps, type TripPricingOption, type TripReview, buttonVariants, cn, emailTokens, getStripeAppearance, stripeAppearance, wrapEmailHtml };
|
package/dist/index.d.ts
CHANGED
|
@@ -623,6 +623,57 @@ interface TravellerFormInviteEmailProps {
|
|
|
623
623
|
}
|
|
624
624
|
declare function TravellerFormInviteEmail({ greeting, bodyIntro, bodyInstruction, links, ignoreNote, teamSignature, logoUrl, buttonLabel, className, tripDetails, tripDetailsLabels, bodyFooter, }: TravellerFormInviteEmailProps): react_jsx_runtime.JSX.Element;
|
|
625
625
|
|
|
626
|
+
type BookingWelcomeNewSystemFormsStatus = "COMPLETO" | "INCOMPLETO" | "ZERADO" | "SEM_FORM";
|
|
627
|
+
interface BookingWelcomeNewSystemBookingItem {
|
|
628
|
+
/** ID interno da reserva (ex.: 1234) — exibido como #1234. */
|
|
629
|
+
bookingId: number;
|
|
630
|
+
/** Referência pública estável (ex.: "EXO-R-MS-1234"). Opcional. */
|
|
631
|
+
publicRef?: string | null;
|
|
632
|
+
/** Nome da aventura principal ou rótulo agregado (ex.: "+ 2 aventuras"). */
|
|
633
|
+
adventureName: string;
|
|
634
|
+
/** Data de início formatada na locale do contato. */
|
|
635
|
+
startDate: string;
|
|
636
|
+
/** Status de progresso dos formulários (computed via computeBookingFormsSummary). */
|
|
637
|
+
formsStatus: BookingWelcomeNewSystemFormsStatus;
|
|
638
|
+
/** Quantidade de formulários já completos. */
|
|
639
|
+
formsCompleted: number;
|
|
640
|
+
/** Total de formulários requeridos para a reserva. */
|
|
641
|
+
formsRequired: number;
|
|
642
|
+
/** URL pública para a página da reserva (ex.: /pt/b?bookingId=1234). */
|
|
643
|
+
bookingPublicUrl: string;
|
|
644
|
+
}
|
|
645
|
+
interface BookingWelcomeNewSystemEmailProps {
|
|
646
|
+
/** "all" (todas reservas com forms ok) ou "formsPending" (alguma reserva tem pendência). */
|
|
647
|
+
variant: "all" | "formsPending";
|
|
648
|
+
/** Saudação completa (ex.: "Olá Maria,"). */
|
|
649
|
+
greeting: string;
|
|
650
|
+
/** Parágrafo de abertura — varia conforme variant. */
|
|
651
|
+
introParagraph: string;
|
|
652
|
+
/** Cabeçalho da seção de reservas (ex.: "Suas reservas:"). */
|
|
653
|
+
bookingsHeading: string;
|
|
654
|
+
/** Lista de reservas do contato (1 ou mais). */
|
|
655
|
+
bookings: BookingWelcomeNewSystemBookingItem[];
|
|
656
|
+
/** Label "Formulários completos" (status COMPLETO). */
|
|
657
|
+
bookingFormsCompleteLabel: string;
|
|
658
|
+
/** Label callback "N de M formulários pendentes" (status INCOMPLETO/ZERADO). */
|
|
659
|
+
bookingFormsPendingLabel: (done: number, total: number) => string;
|
|
660
|
+
/** Label "Sem formulário necessário" (status SEM_FORM). */
|
|
661
|
+
bookingFormsNoneLabel?: string;
|
|
662
|
+
/** Texto do botão CTA por reserva (ex.: "Ver reserva"). */
|
|
663
|
+
ctaLabel: string;
|
|
664
|
+
/** Label "Código da reserva:" — exibido antes do #ID. */
|
|
665
|
+
bookingCodeLabel: string;
|
|
666
|
+
/** Linha de assinatura (ex.: "Equipa PlanetaEXO"). */
|
|
667
|
+
signatureLine: string;
|
|
668
|
+
/** Texto do rodapé (ex.: convite a responder ao e-mail). */
|
|
669
|
+
footerText?: string;
|
|
670
|
+
/** URL da logo. Default: data URI embutido. */
|
|
671
|
+
logoUrl?: string;
|
|
672
|
+
/** className extra no container (uso no styleguide). */
|
|
673
|
+
className?: string;
|
|
674
|
+
}
|
|
675
|
+
declare function BookingWelcomeNewSystemEmail({ greeting, introParagraph, bookingsHeading, bookings, bookingFormsCompleteLabel, bookingFormsPendingLabel, bookingFormsNoneLabel, ctaLabel, bookingCodeLabel, signatureLine, footerText, logoUrl, className, }: BookingWelcomeNewSystemEmailProps): react_jsx_runtime.JSX.Element;
|
|
676
|
+
|
|
626
677
|
interface BookingFormValues {
|
|
627
678
|
adults: number;
|
|
628
679
|
children: number;
|
|
@@ -813,8 +864,28 @@ interface RegistrationSuccessCardProps {
|
|
|
813
864
|
partnerLabel?: string;
|
|
814
865
|
travellerLabel?: string;
|
|
815
866
|
};
|
|
867
|
+
/**
|
|
868
|
+
* Visual density of the card.
|
|
869
|
+
* - `"comfortable"` (default): standard spacing — used by the post-submit web flow.
|
|
870
|
+
* - `"compact"`: tighter gaps and smaller terms typography, optimized for A4 PDF export.
|
|
871
|
+
*/
|
|
872
|
+
density?: "compact" | "comfortable";
|
|
873
|
+
/**
|
|
874
|
+
* Optional submission timestamp block, rendered after the header.
|
|
875
|
+
* Both fields are pre-formatted strings (e.g. `"27/04/2026 14:32 (UTC-3)"`).
|
|
876
|
+
* `lastUpdatedAt` should be omitted by the caller when it equals `submittedAt`.
|
|
877
|
+
*/
|
|
878
|
+
submissionTimestamps?: {
|
|
879
|
+
submittedAt?: string;
|
|
880
|
+
lastUpdatedAt?: string;
|
|
881
|
+
};
|
|
882
|
+
/** i18n-friendly labels for the timestamp block. Defaults to English. */
|
|
883
|
+
submissionTimestampsLabels?: {
|
|
884
|
+
submittedAt?: string;
|
|
885
|
+
lastUpdatedAt?: string;
|
|
886
|
+
};
|
|
816
887
|
}
|
|
817
|
-
declare function RegistrationSuccessCard({ variant, title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, className, actions, logo, logoAlt, terms, termsLayout, termsLabels, adventure, booking, traveller, tripInfoLabels, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
|
|
888
|
+
declare function RegistrationSuccessCard({ variant, title, message, answersTitle, fields, answers, dateFormatter, formatAnswer, className, actions, logo, logoAlt, terms, termsLayout, termsLabels, adventure, booking, traveller, tripInfoLabels, density, submissionTimestamps, submissionTimestampsLabels, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
|
|
818
889
|
|
|
819
890
|
interface FloatingInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
820
891
|
label: string;
|
|
@@ -1664,4 +1735,4 @@ declare function LeadCapturePopup({ config: _config, }: {
|
|
|
1664
1735
|
config: LeadCapturePopupConfig;
|
|
1665
1736
|
}): react_jsx_runtime.JSX.Element | null;
|
|
1666
1737
|
|
|
1667
|
-
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 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, 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, 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 OfferDepositInfo, type OfferOptionalItem, type OfferProps, type OfferSummaryLineItem, PaymentAmountSelector, type PaymentAmountSelectorProps, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, type PricingOption, 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, 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 TripItineraryStep, type TripMeetingPoint, TripPage, type TripPageProps, type TripPricingOption, type TripReview, buttonVariants, cn, emailTokens, getStripeAppearance, stripeAppearance, wrapEmailHtml };
|
|
1738
|
+
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 BookingDetailsProps, BookingForm, type BookingFormProps, type BookingFormValues, BookingOtpEmail, type BookingOtpEmailProps, BookingShell, type BookingShellProps, type BookingStatus, type BookingSummaryLineItem, type BookingTraveller, type BookingWelcomeNewSystemBookingItem, BookingWelcomeNewSystemEmail, type BookingWelcomeNewSystemEmailProps, type BookingWelcomeNewSystemFormsStatus, Button, type ButtonProps, COUNTRIES, type ConfirmationAdventure, type ConfirmationDepositInfo, type ConfirmationLineItem, type ConfirmationTraveller, CounterField, type CounterFieldProps, type CountryOption, CountrySearchField, type CountrySearchFieldProps, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, type DatePickerFieldProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, type EmailTokens, type FilterGroup, type FilterItem, FilterPanel, type FilterPanelProps, FloatingInput, type FloatingInputProps, FloatingSelect, type FloatingSelectProps, Itinerary, 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 OfferDepositInfo, type OfferOptionalItem, type OfferProps, type OfferSummaryLineItem, PaymentAmountSelector, type PaymentAmountSelectorProps, type PaymentMethodOption, PaymentMethodSelector, type PaymentMethodSelectorProps, PaymentModalShell, type PaymentModalShellProps, PhoneCountrySelect, PhotoGallery, type PhotoGalleryPhoto, type PhotoGalleryProps, type PhotoGalleryVariant, type PricingOption, 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, 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 TripItineraryStep, type TripMeetingPoint, TripPage, type TripPageProps, type TripPricingOption, type TripReview, buttonVariants, cn, emailTokens, getStripeAppearance, stripeAppearance, wrapEmailHtml };
|
package/dist/index.js
CHANGED
|
@@ -4244,6 +4244,176 @@ function TravellerFormInviteEmail({
|
|
|
4244
4244
|
}
|
|
4245
4245
|
);
|
|
4246
4246
|
}
|
|
4247
|
+
function BookingWelcomeNewSystemEmail({
|
|
4248
|
+
greeting,
|
|
4249
|
+
introParagraph,
|
|
4250
|
+
bookingsHeading,
|
|
4251
|
+
bookings,
|
|
4252
|
+
bookingFormsCompleteLabel,
|
|
4253
|
+
bookingFormsPendingLabel,
|
|
4254
|
+
bookingFormsNoneLabel,
|
|
4255
|
+
ctaLabel,
|
|
4256
|
+
bookingCodeLabel,
|
|
4257
|
+
signatureLine,
|
|
4258
|
+
footerText,
|
|
4259
|
+
logoUrl,
|
|
4260
|
+
className
|
|
4261
|
+
}) {
|
|
4262
|
+
const ctaStyle = {
|
|
4263
|
+
display: "inline-block",
|
|
4264
|
+
backgroundColor: emailTokens.primary,
|
|
4265
|
+
color: emailTokens.primaryForeground,
|
|
4266
|
+
padding: "10px 20px",
|
|
4267
|
+
borderRadius: "6px",
|
|
4268
|
+
fontSize: "14px",
|
|
4269
|
+
fontWeight: 600,
|
|
4270
|
+
textDecoration: "none",
|
|
4271
|
+
fontFamily: emailTokens.fontFamily
|
|
4272
|
+
};
|
|
4273
|
+
return /* @__PURE__ */ jsxs(
|
|
4274
|
+
"div",
|
|
4275
|
+
{
|
|
4276
|
+
style: {
|
|
4277
|
+
fontFamily: emailTokens.fontFamily,
|
|
4278
|
+
color: emailTokens.foreground,
|
|
4279
|
+
maxWidth: "600px",
|
|
4280
|
+
margin: "0 auto",
|
|
4281
|
+
padding: "32px",
|
|
4282
|
+
border: `1px solid ${emailTokens.border}`,
|
|
4283
|
+
borderRadius: "12px",
|
|
4284
|
+
backgroundColor: emailTokens.white
|
|
4285
|
+
},
|
|
4286
|
+
className,
|
|
4287
|
+
children: [
|
|
4288
|
+
/* @__PURE__ */ jsx(EmailLogo, { src: logoUrl }),
|
|
4289
|
+
/* @__PURE__ */ jsx("p", { style: { fontSize: "16px", lineHeight: "1.5", margin: "0 0 12px" }, children: greeting }),
|
|
4290
|
+
/* @__PURE__ */ jsx("p", { style: { fontSize: "15px", lineHeight: "1.5", margin: "0 0 24px" }, children: introParagraph }),
|
|
4291
|
+
/* @__PURE__ */ jsx(
|
|
4292
|
+
"hr",
|
|
4293
|
+
{
|
|
4294
|
+
style: {
|
|
4295
|
+
border: "none",
|
|
4296
|
+
borderTop: `1px solid ${emailTokens.border}`,
|
|
4297
|
+
margin: "0 0 24px"
|
|
4298
|
+
}
|
|
4299
|
+
}
|
|
4300
|
+
),
|
|
4301
|
+
/* @__PURE__ */ jsx(
|
|
4302
|
+
"p",
|
|
4303
|
+
{
|
|
4304
|
+
style: {
|
|
4305
|
+
fontSize: "15px",
|
|
4306
|
+
fontWeight: 700,
|
|
4307
|
+
margin: "0 0 16px",
|
|
4308
|
+
color: emailTokens.foreground
|
|
4309
|
+
},
|
|
4310
|
+
children: bookingsHeading
|
|
4311
|
+
}
|
|
4312
|
+
),
|
|
4313
|
+
/* @__PURE__ */ jsx("ul", { style: { listStyle: "none", padding: 0, margin: "0 0 24px" }, children: bookings.map((b) => {
|
|
4314
|
+
const statusLine = b.formsStatus === "COMPLETO" ? bookingFormsCompleteLabel : b.formsStatus === "SEM_FORM" ? bookingFormsNoneLabel != null ? bookingFormsNoneLabel : "" : bookingFormsPendingLabel(b.formsCompleted, b.formsRequired);
|
|
4315
|
+
const statusIcon = b.formsStatus === "COMPLETO" ? "\u2713" : b.formsStatus === "SEM_FORM" ? "" : "\u26A0";
|
|
4316
|
+
const statusColor = b.formsStatus === "COMPLETO" ? emailTokens.green : b.formsStatus === "SEM_FORM" ? emailTokens.mutedForeground : emailTokens.destructive;
|
|
4317
|
+
return /* @__PURE__ */ jsxs(
|
|
4318
|
+
"li",
|
|
4319
|
+
{
|
|
4320
|
+
style: {
|
|
4321
|
+
marginBottom: "16px",
|
|
4322
|
+
padding: "16px",
|
|
4323
|
+
backgroundColor: emailTokens.muted,
|
|
4324
|
+
border: `1px solid ${emailTokens.border}`,
|
|
4325
|
+
borderRadius: "8px"
|
|
4326
|
+
},
|
|
4327
|
+
children: [
|
|
4328
|
+
/* @__PURE__ */ jsx(
|
|
4329
|
+
"p",
|
|
4330
|
+
{
|
|
4331
|
+
style: {
|
|
4332
|
+
fontSize: "15px",
|
|
4333
|
+
fontWeight: 600,
|
|
4334
|
+
margin: "0 0 6px",
|
|
4335
|
+
color: emailTokens.foreground
|
|
4336
|
+
},
|
|
4337
|
+
children: b.adventureName
|
|
4338
|
+
}
|
|
4339
|
+
),
|
|
4340
|
+
/* @__PURE__ */ jsx(
|
|
4341
|
+
"p",
|
|
4342
|
+
{
|
|
4343
|
+
style: {
|
|
4344
|
+
fontSize: "13px",
|
|
4345
|
+
color: emailTokens.mutedForeground,
|
|
4346
|
+
margin: "0 0 4px"
|
|
4347
|
+
},
|
|
4348
|
+
children: b.startDate
|
|
4349
|
+
}
|
|
4350
|
+
),
|
|
4351
|
+
/* @__PURE__ */ jsxs(
|
|
4352
|
+
"p",
|
|
4353
|
+
{
|
|
4354
|
+
style: {
|
|
4355
|
+
fontSize: "13px",
|
|
4356
|
+
color: emailTokens.mutedForeground,
|
|
4357
|
+
margin: "0 0 8px"
|
|
4358
|
+
},
|
|
4359
|
+
children: [
|
|
4360
|
+
/* @__PURE__ */ jsx("span", { style: { fontWeight: 600 }, children: bookingCodeLabel }),
|
|
4361
|
+
" ",
|
|
4362
|
+
/* @__PURE__ */ jsxs(
|
|
4363
|
+
"span",
|
|
4364
|
+
{
|
|
4365
|
+
style: {
|
|
4366
|
+
fontFamily: emailTokens.fontFamily,
|
|
4367
|
+
color: emailTokens.foreground,
|
|
4368
|
+
fontWeight: 600
|
|
4369
|
+
},
|
|
4370
|
+
children: [
|
|
4371
|
+
"#",
|
|
4372
|
+
b.bookingId
|
|
4373
|
+
]
|
|
4374
|
+
}
|
|
4375
|
+
)
|
|
4376
|
+
]
|
|
4377
|
+
}
|
|
4378
|
+
),
|
|
4379
|
+
statusLine && /* @__PURE__ */ jsxs(
|
|
4380
|
+
"p",
|
|
4381
|
+
{
|
|
4382
|
+
style: {
|
|
4383
|
+
fontSize: "13px",
|
|
4384
|
+
color: statusColor,
|
|
4385
|
+
margin: "0 0 12px",
|
|
4386
|
+
fontWeight: 500
|
|
4387
|
+
},
|
|
4388
|
+
children: [
|
|
4389
|
+
statusIcon ? `${statusIcon} ` : "",
|
|
4390
|
+
statusLine
|
|
4391
|
+
]
|
|
4392
|
+
}
|
|
4393
|
+
),
|
|
4394
|
+
/* @__PURE__ */ jsx("a", { href: b.bookingPublicUrl, style: ctaStyle, children: ctaLabel })
|
|
4395
|
+
]
|
|
4396
|
+
},
|
|
4397
|
+
b.bookingId
|
|
4398
|
+
);
|
|
4399
|
+
}) }),
|
|
4400
|
+
footerText && /* @__PURE__ */ jsx(
|
|
4401
|
+
"p",
|
|
4402
|
+
{
|
|
4403
|
+
style: {
|
|
4404
|
+
color: emailTokens.mutedForeground,
|
|
4405
|
+
fontSize: "13px",
|
|
4406
|
+
lineHeight: "1.5",
|
|
4407
|
+
margin: "0 0 16px"
|
|
4408
|
+
},
|
|
4409
|
+
children: footerText
|
|
4410
|
+
}
|
|
4411
|
+
),
|
|
4412
|
+
/* @__PURE__ */ jsx("p", { style: { fontSize: "14px", lineHeight: "1.5", margin: "0" }, children: signatureLine })
|
|
4413
|
+
]
|
|
4414
|
+
}
|
|
4415
|
+
);
|
|
4416
|
+
}
|
|
4247
4417
|
function CounterField({
|
|
4248
4418
|
label,
|
|
4249
4419
|
sublabel,
|
|
@@ -4854,13 +5024,27 @@ function FormSection2({
|
|
|
4854
5024
|
children,
|
|
4855
5025
|
className
|
|
4856
5026
|
}) {
|
|
4857
|
-
return /* @__PURE__ */ jsxs(
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
|
|
5027
|
+
return /* @__PURE__ */ jsxs(
|
|
5028
|
+
"div",
|
|
5029
|
+
{
|
|
5030
|
+
className: cn("flex flex-col gap-5", className),
|
|
5031
|
+
style: { breakInside: "avoid" },
|
|
5032
|
+
children: [
|
|
5033
|
+
/* @__PURE__ */ jsxs(
|
|
5034
|
+
"div",
|
|
5035
|
+
{
|
|
5036
|
+
className: "flex items-center gap-4",
|
|
5037
|
+
style: { breakAfter: "avoid-page" },
|
|
5038
|
+
children: [
|
|
5039
|
+
/* @__PURE__ */ jsx("h3", { className: "text-base font-bold text-foreground whitespace-nowrap font-heading", children: title }),
|
|
5040
|
+
/* @__PURE__ */ jsx("div", { className: "h-px flex-1 bg-border" })
|
|
5041
|
+
]
|
|
5042
|
+
}
|
|
5043
|
+
),
|
|
5044
|
+
children
|
|
5045
|
+
]
|
|
5046
|
+
}
|
|
5047
|
+
);
|
|
4864
5048
|
}
|
|
4865
5049
|
function isFieldEmpty(field, value) {
|
|
4866
5050
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
@@ -5774,10 +5958,14 @@ function RegistrationSuccessCard({
|
|
|
5774
5958
|
adventure,
|
|
5775
5959
|
booking,
|
|
5776
5960
|
traveller,
|
|
5777
|
-
tripInfoLabels
|
|
5961
|
+
tripInfoLabels,
|
|
5962
|
+
density = "comfortable",
|
|
5963
|
+
submissionTimestamps,
|
|
5964
|
+
submissionTimestampsLabels
|
|
5778
5965
|
}) {
|
|
5779
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
5966
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
5780
5967
|
const isMinimal = variant === "minimal";
|
|
5968
|
+
const isCompact = density === "compact";
|
|
5781
5969
|
const sorted = isMinimal ? [] : [...fields].sort((a, b) => {
|
|
5782
5970
|
var _a2, _b2;
|
|
5783
5971
|
return ((_a2 = a.order) != null ? _a2 : 0) - ((_b2 = b.order) != null ? _b2 : 0);
|
|
@@ -5791,62 +5979,114 @@ function RegistrationSuccessCard({
|
|
|
5791
5979
|
partnerLabel: (_d = tripInfoLabels == null ? void 0 : tripInfoLabels.partnerLabel) != null ? _d : "Partner",
|
|
5792
5980
|
travellerLabel: (_e = tripInfoLabels == null ? void 0 : tripInfoLabels.travellerLabel) != null ? _e : "Traveller"
|
|
5793
5981
|
};
|
|
5794
|
-
|
|
5795
|
-
|
|
5796
|
-
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
|
|
5800
|
-
|
|
5801
|
-
|
|
5802
|
-
|
|
5803
|
-
|
|
5804
|
-
|
|
5982
|
+
const STL = {
|
|
5983
|
+
submittedAt: (_f = submissionTimestampsLabels == null ? void 0 : submissionTimestampsLabels.submittedAt) != null ? _f : "Submitted",
|
|
5984
|
+
lastUpdatedAt: (_g = submissionTimestampsLabels == null ? void 0 : submissionTimestampsLabels.lastUpdatedAt) != null ? _g : "Last updated"
|
|
5985
|
+
};
|
|
5986
|
+
const hasTimestamps = !isMinimal && !!submissionTimestamps && (!!submissionTimestamps.submittedAt || !!submissionTimestamps.lastUpdatedAt);
|
|
5987
|
+
return /* @__PURE__ */ jsxs(
|
|
5988
|
+
"div",
|
|
5989
|
+
{
|
|
5990
|
+
className: cn(
|
|
5991
|
+
"rounded-xl border border-border bg-card p-6 sm:p-8 flex flex-col",
|
|
5992
|
+
isCompact ? "gap-6" : "gap-10",
|
|
5993
|
+
className
|
|
5805
5994
|
),
|
|
5806
|
-
|
|
5807
|
-
|
|
5808
|
-
|
|
5809
|
-
|
|
5810
|
-
|
|
5811
|
-
|
|
5812
|
-
|
|
5813
|
-
|
|
5814
|
-
|
|
5815
|
-
|
|
5816
|
-
|
|
5817
|
-
|
|
5818
|
-
|
|
5819
|
-
|
|
5820
|
-
|
|
5821
|
-
|
|
5822
|
-
|
|
5823
|
-
|
|
5824
|
-
|
|
5825
|
-
|
|
5826
|
-
|
|
5827
|
-
|
|
5828
|
-
|
|
5829
|
-
|
|
5830
|
-
|
|
5831
|
-
|
|
5832
|
-
|
|
5833
|
-
|
|
5834
|
-
|
|
5835
|
-
|
|
5836
|
-
|
|
5837
|
-
|
|
5838
|
-
|
|
5839
|
-
|
|
5840
|
-
|
|
5841
|
-
|
|
5842
|
-
|
|
5843
|
-
|
|
5844
|
-
|
|
5845
|
-
|
|
5846
|
-
|
|
5847
|
-
|
|
5848
|
-
|
|
5849
|
-
|
|
5995
|
+
children: [
|
|
5996
|
+
actions && /* @__PURE__ */ jsx("div", { className: "flex gap-3 justify-end", children: actions }),
|
|
5997
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-3 text-center", children: [
|
|
5998
|
+
logo !== null && /* eslint-disable-next-line @next/next/no-img-element */
|
|
5999
|
+
/* @__PURE__ */ jsx(
|
|
6000
|
+
"img",
|
|
6001
|
+
{
|
|
6002
|
+
src: logo != null ? logo : "/logo-planetaexo.png",
|
|
6003
|
+
alt: logoAlt,
|
|
6004
|
+
className: "h-10 w-auto object-contain"
|
|
6005
|
+
}
|
|
6006
|
+
),
|
|
6007
|
+
logo === void 0 && /* @__PURE__ */ jsx("div", { className: "inline-flex h-14 w-14 items-center justify-center rounded-full bg-primary/10 text-primary", children: /* @__PURE__ */ jsx(CircleCheckIcon, { size: 28 }) }),
|
|
6008
|
+
/* @__PURE__ */ jsx("h2", { className: "text-2xl font-black uppercase tracking-wide text-foreground font-heading leading-tight", children: title }),
|
|
6009
|
+
message && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground font-ui", children: message })
|
|
6010
|
+
] }),
|
|
6011
|
+
hasTimestamps && /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-end gap-0.5 text-xs text-muted-foreground font-ui", children: [
|
|
6012
|
+
(submissionTimestamps == null ? void 0 : submissionTimestamps.submittedAt) && /* @__PURE__ */ jsxs("div", { children: [
|
|
6013
|
+
/* @__PURE__ */ jsxs("span", { className: "font-medium", children: [
|
|
6014
|
+
STL.submittedAt,
|
|
6015
|
+
":"
|
|
6016
|
+
] }),
|
|
6017
|
+
" ",
|
|
6018
|
+
/* @__PURE__ */ jsx("span", { className: "tabular-nums", children: submissionTimestamps.submittedAt })
|
|
6019
|
+
] }),
|
|
6020
|
+
(submissionTimestamps == null ? void 0 : submissionTimestamps.lastUpdatedAt) && /* @__PURE__ */ jsxs("div", { children: [
|
|
6021
|
+
/* @__PURE__ */ jsxs("span", { className: "font-medium", children: [
|
|
6022
|
+
STL.lastUpdatedAt,
|
|
6023
|
+
":"
|
|
6024
|
+
] }),
|
|
6025
|
+
" ",
|
|
6026
|
+
/* @__PURE__ */ jsx("span", { className: "tabular-nums", children: submissionTimestamps.lastUpdatedAt })
|
|
6027
|
+
] })
|
|
6028
|
+
] }),
|
|
6029
|
+
hasTripInfo && /* @__PURE__ */ jsx(FormSection2, { title: TL.sectionTitle, children: /* @__PURE__ */ jsxs("dl", { className: "flex flex-col gap-y-3 text-sm font-ui", children: [
|
|
6030
|
+
adventure && /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-x-4", children: [
|
|
6031
|
+
/* @__PURE__ */ jsx("dt", { className: "w-1/2 text-muted-foreground break-words", children: TL.adventureLabel }),
|
|
6032
|
+
/* @__PURE__ */ jsx("dd", { className: "w-1/2 text-foreground font-medium text-right min-w-0 break-words", children: adventure.name })
|
|
6033
|
+
] }),
|
|
6034
|
+
dateRange && /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-x-4", children: [
|
|
6035
|
+
/* @__PURE__ */ jsx("dt", { className: "w-1/2 text-muted-foreground break-words", children: (adventure == null ? void 0 : adventure.startDate) && (adventure == null ? void 0 : adventure.endDate) ? "Dates" : "Date" }),
|
|
6036
|
+
/* @__PURE__ */ jsx("dd", { className: "w-1/2 text-foreground text-right min-w-0 break-words", children: dateRange })
|
|
6037
|
+
] }),
|
|
6038
|
+
(adventure == null ? void 0 : adventure.partnerName) && /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-x-4", children: [
|
|
6039
|
+
/* @__PURE__ */ jsx("dt", { className: "w-1/2 text-muted-foreground break-words", children: TL.partnerLabel }),
|
|
6040
|
+
/* @__PURE__ */ jsx("dd", { className: "w-1/2 text-foreground text-right min-w-0 break-words", children: adventure.partnerName })
|
|
6041
|
+
] }),
|
|
6042
|
+
booking && /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-x-4", children: [
|
|
6043
|
+
/* @__PURE__ */ jsx("dt", { className: "w-1/2 text-muted-foreground break-words", children: TL.bookingLabel }),
|
|
6044
|
+
/* @__PURE__ */ jsx("dd", { className: "w-1/2 text-foreground font-mono tabular-nums text-right min-w-0 break-words", children: booking.id })
|
|
6045
|
+
] }),
|
|
6046
|
+
traveller && /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-x-4", children: [
|
|
6047
|
+
/* @__PURE__ */ jsx("dt", { className: "w-1/2 text-muted-foreground break-words", children: TL.travellerLabel }),
|
|
6048
|
+
/* @__PURE__ */ jsx("dd", { className: "w-1/2 text-foreground font-medium text-right min-w-0 break-words", children: traveller.fullName })
|
|
6049
|
+
] })
|
|
6050
|
+
] }) }),
|
|
6051
|
+
sorted.length > 0 && /* @__PURE__ */ jsx(FormSection2, { title: answersTitle, children: /* @__PURE__ */ jsx("dl", { className: "flex flex-col gap-y-3 text-sm font-ui", children: sorted.map((f) => /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-x-4", children: [
|
|
6052
|
+
/* @__PURE__ */ jsx("dt", { className: "w-1/2 text-muted-foreground break-words", children: f.label }),
|
|
6053
|
+
/* @__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)))(
|
|
6054
|
+
f,
|
|
6055
|
+
answers[f.id]
|
|
6056
|
+
) })
|
|
6057
|
+
] }, f.id)) }) }),
|
|
6058
|
+
!isMinimal && terms && /* @__PURE__ */ jsx(FormSection2, { title: (_h = termsLabels == null ? void 0 : termsLabels.title) != null ? _h : "Terms & Conditions", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3 text-sm font-ui", children: [
|
|
6059
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
6060
|
+
/* @__PURE__ */ jsx("div", { className: cn(
|
|
6061
|
+
"inline-flex h-5 w-5 items-center justify-center rounded-full text-white text-xs font-bold",
|
|
6062
|
+
terms.accepted ? "bg-primary" : "bg-destructive"
|
|
6063
|
+
), children: terms.accepted ? "\u2713" : "\u2717" }),
|
|
6064
|
+
/* @__PURE__ */ jsx("span", { className: terms.accepted ? "text-primary font-medium" : "text-destructive font-medium", children: terms.accepted ? (_i = termsLabels == null ? void 0 : termsLabels.accepted) != null ? _i : "Accepted" : (_j = termsLabels == null ? void 0 : termsLabels.notAccepted) != null ? _j : "Not accepted" })
|
|
6065
|
+
] }),
|
|
6066
|
+
termsLayout === "full" && terms.markdown.trim().length > 0 && /* @__PURE__ */ jsx(
|
|
6067
|
+
"div",
|
|
6068
|
+
{
|
|
6069
|
+
className: cn(
|
|
6070
|
+
"rounded-lg border border-border bg-muted/30",
|
|
6071
|
+
isCompact ? "p-3" : "p-4"
|
|
6072
|
+
),
|
|
6073
|
+
style: { breakInside: "auto" },
|
|
6074
|
+
children: /* @__PURE__ */ jsx(
|
|
6075
|
+
"p",
|
|
6076
|
+
{
|
|
6077
|
+
className: cn(
|
|
6078
|
+
"whitespace-pre-wrap break-words text-foreground font-ui",
|
|
6079
|
+
isCompact ? "text-xs leading-snug" : "text-sm leading-relaxed"
|
|
6080
|
+
),
|
|
6081
|
+
children: terms.markdown
|
|
6082
|
+
}
|
|
6083
|
+
)
|
|
6084
|
+
}
|
|
6085
|
+
)
|
|
6086
|
+
] }) })
|
|
6087
|
+
]
|
|
6088
|
+
}
|
|
6089
|
+
);
|
|
5850
6090
|
}
|
|
5851
6091
|
var OTPCodeInput = ({
|
|
5852
6092
|
value,
|
|
@@ -9385,6 +9625,6 @@ function LeadCapturePopup({
|
|
|
9385
9625
|
);
|
|
9386
9626
|
}
|
|
9387
9627
|
|
|
9388
|
-
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, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PaymentModalShell, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, buttonVariants, cn, emailTokens, getStripeAppearance, stripeAppearance, wrapEmailHtml };
|
|
9628
|
+
export { ActivityCard, AgentContactCard, Alert, BirthDateField, BookingConfirmation, BookingConfirmationEmail, BookingConfirmedCard, BookingDetails, BookingForm, BookingOtpEmail, BookingShell, BookingWelcomeNewSystemEmail, Button, COUNTRIES, CounterField, CountrySearchField, DEFAULT_HEADER_LINKS, DEFAULT_LANGUAGES, DatePickerField, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, FilterPanel, FloatingInput, FloatingSelect, Itinerary, LOGO_PLANETAEXO_DATA_URI, LeadCapturePopup, MenuTrip, OTPCodeInput, Offer, OfferAdventureCard, PaymentAmountSelector, PaymentMethodSelector, PaymentModalShell, PhoneCountrySelect, PhotoGallery, PricingTrip, RegistrationForm, RegistrationSuccessCard, SiteHeader, TERMS_ACCEPT_KEY, TermsSection, ThemeToggle, Toast, TravellerFormInviteEmail, TripCard, TripHeader, TripPage, buttonVariants, cn, emailTokens, getStripeAppearance, stripeAppearance, wrapEmailHtml };
|
|
9389
9629
|
//# sourceMappingURL=index.js.map
|
|
9390
9630
|
//# sourceMappingURL=index.js.map
|