@planetaexo/design-system 0.14.2 → 0.15.1

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
@@ -124,6 +124,67 @@ interface OfferLabels {
124
124
  /** Wizard: badges "Adult" / "Child". */
125
125
  adultLabel?: string;
126
126
  childLabel?: string;
127
+ /**
128
+ * Template para o texto "Contact {name} your travel advisor" do AgentContactCard
129
+ * variant `wide`. Quando ausente, usa default EN.
130
+ */
131
+ agentContactTemplate?: (name: string) => React.ReactNode;
132
+ /**
133
+ * Template para a label do depósito "Deposit ({percent}%)". Default EN.
134
+ */
135
+ depositLabel?: (percent: number) => string;
136
+ /**
137
+ * Mensagem do `BookingConfirmedCard` ("A confirmation email has been sent...").
138
+ * Pode ser nó React direto ou função recebendo o e-mail do cliente.
139
+ */
140
+ bookingConfirmedMessage?: React.ReactNode | ((args: {
141
+ email: string;
142
+ }) => React.ReactNode);
143
+ /**
144
+ * Labels do mini agent card (botões de WhatsApp / Email / Schedule a call e
145
+ * preposição "at {company}" no template de contato).
146
+ */
147
+ agentContact?: {
148
+ whatsappLabel?: string;
149
+ emailLabel?: string;
150
+ scheduleCallLabel?: string;
151
+ atCompanyLabel?: string;
152
+ };
153
+ /**
154
+ * Strings do BookingWizard interno (renderizado quando `checkoutSlot` é
155
+ * undefined — em produção do bookings esse caminho é ofuscado, mas
156
+ * mantemos os labels para evitar dívida latente).
157
+ */
158
+ wizard?: {
159
+ confirmBookingLabel?: string;
160
+ nextLabel?: string;
161
+ backLabel?: string;
162
+ cancelLabel?: string;
163
+ step1Description?: string;
164
+ step2Heading?: string;
165
+ step2TravellerCard?: (n: number) => string;
166
+ step3Description?: string;
167
+ fields?: {
168
+ dateOfBirth?: string;
169
+ email?: string;
170
+ phone?: string;
171
+ notesOptional?: string;
172
+ };
173
+ paymentMethods?: {
174
+ creditCard?: {
175
+ label?: string;
176
+ description?: string;
177
+ };
178
+ pix?: {
179
+ label?: string;
180
+ description?: string;
181
+ };
182
+ bankTransfer?: {
183
+ label?: string;
184
+ description?: string;
185
+ };
186
+ };
187
+ };
127
188
  }
128
189
  interface OfferDepositInfo {
129
190
  depositPercent: number;
@@ -358,6 +419,26 @@ interface BookingDetailsLabels {
358
419
  total?: string;
359
420
  /** Linha do bloco depósito: "Remaining balance". */
360
421
  remainingBalance?: string;
422
+ /** Labels das linhas do card "Booking Person" / "Responsible Person". */
423
+ contactDetailsFields?: {
424
+ name?: string;
425
+ email?: string;
426
+ phone?: string;
427
+ country?: string;
428
+ /** Default EN: "Passport / ID". Atualmente o componente exibia "Passport / CPF" (PT-BR fixo). */
429
+ document?: string;
430
+ };
431
+ /** Headers das seções do accordion de cada aventura (atualmente PT-BR fixo). */
432
+ adventureSections?: {
433
+ /** Default EN: "What's included". */
434
+ included?: string;
435
+ /** Default EN: "What's not included". */
436
+ notIncluded?: string;
437
+ /** Default EN: "Cancellation policy". */
438
+ cancellationPolicy?: string;
439
+ };
440
+ /** Botão "Request cancellation" no fim do card. Default EN. */
441
+ cancelRequestLabel?: string;
361
442
  }
362
443
  interface SuggestedTraveller {
363
444
  id: string;
@@ -556,6 +637,10 @@ interface AgentContactCardProps {
556
637
  legacyContactLabel?: string;
557
638
  /** Texto adicional descritivo (ex.: "your travel advisor"). Usado em `wide`. */
558
639
  helperText?: string;
640
+ /** Label do botão WhatsApp na variant `wide`. Default EN: "WhatsApp". */
641
+ whatsappLabel?: string;
642
+ /** Label do botão Email na variant `wide`. Default EN: "Email". */
643
+ emailLabel?: string;
559
644
  className?: string;
560
645
  }
561
646
  declare function AgentContactCard(props: AgentContactCardProps): react_jsx_runtime.JSX.Element;
@@ -887,6 +972,14 @@ interface RegistrationFormLabels {
887
972
  selectPlaceholder?: string;
888
973
  optionalLabel?: string;
889
974
  requiredFieldError?: string;
975
+ /** "Date" — usado no bloco TripInfo quando há apenas data inicial. */
976
+ dateLabel?: string;
977
+ /** "Dates" — usado no bloco TripInfo quando há range. */
978
+ datesLabel?: string;
979
+ /** "Yes" — usado em `defaultFormatAnswer` para campos boolean. */
980
+ yesLabel?: string;
981
+ /** "No" — usado em `defaultFormatAnswer` para campos boolean. */
982
+ noLabel?: string;
890
983
  }
891
984
  interface RegistrationFormProps {
892
985
  /** Logo shown above the title. Defaults to "/logo-planetaexo.png" (matching Offer). Pass null to hide. */
@@ -995,8 +1088,15 @@ interface RegistrationSuccessCardProps {
995
1088
  submittedAt?: string;
996
1089
  lastUpdatedAt?: string;
997
1090
  };
1091
+ /**
1092
+ * Overrides para labels compartilhados com `RegistrationForm` — usado nesse
1093
+ * card para `dateLabel`/`datesLabel` (linha "Date(s)" do TripInfo) e
1094
+ * `yesLabel`/`noLabel` (formatação default de respostas booleanas). Outros
1095
+ * campos da interface são ignorados aqui.
1096
+ */
1097
+ labels?: RegistrationFormLabels;
998
1098
  }
999
- 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;
1099
+ 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, labels: scLabels, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
1000
1100
 
1001
1101
  interface FloatingInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
1002
1102
  label: string;
package/dist/index.d.ts CHANGED
@@ -124,6 +124,67 @@ interface OfferLabels {
124
124
  /** Wizard: badges "Adult" / "Child". */
125
125
  adultLabel?: string;
126
126
  childLabel?: string;
127
+ /**
128
+ * Template para o texto "Contact {name} your travel advisor" do AgentContactCard
129
+ * variant `wide`. Quando ausente, usa default EN.
130
+ */
131
+ agentContactTemplate?: (name: string) => React.ReactNode;
132
+ /**
133
+ * Template para a label do depósito "Deposit ({percent}%)". Default EN.
134
+ */
135
+ depositLabel?: (percent: number) => string;
136
+ /**
137
+ * Mensagem do `BookingConfirmedCard` ("A confirmation email has been sent...").
138
+ * Pode ser nó React direto ou função recebendo o e-mail do cliente.
139
+ */
140
+ bookingConfirmedMessage?: React.ReactNode | ((args: {
141
+ email: string;
142
+ }) => React.ReactNode);
143
+ /**
144
+ * Labels do mini agent card (botões de WhatsApp / Email / Schedule a call e
145
+ * preposição "at {company}" no template de contato).
146
+ */
147
+ agentContact?: {
148
+ whatsappLabel?: string;
149
+ emailLabel?: string;
150
+ scheduleCallLabel?: string;
151
+ atCompanyLabel?: string;
152
+ };
153
+ /**
154
+ * Strings do BookingWizard interno (renderizado quando `checkoutSlot` é
155
+ * undefined — em produção do bookings esse caminho é ofuscado, mas
156
+ * mantemos os labels para evitar dívida latente).
157
+ */
158
+ wizard?: {
159
+ confirmBookingLabel?: string;
160
+ nextLabel?: string;
161
+ backLabel?: string;
162
+ cancelLabel?: string;
163
+ step1Description?: string;
164
+ step2Heading?: string;
165
+ step2TravellerCard?: (n: number) => string;
166
+ step3Description?: string;
167
+ fields?: {
168
+ dateOfBirth?: string;
169
+ email?: string;
170
+ phone?: string;
171
+ notesOptional?: string;
172
+ };
173
+ paymentMethods?: {
174
+ creditCard?: {
175
+ label?: string;
176
+ description?: string;
177
+ };
178
+ pix?: {
179
+ label?: string;
180
+ description?: string;
181
+ };
182
+ bankTransfer?: {
183
+ label?: string;
184
+ description?: string;
185
+ };
186
+ };
187
+ };
127
188
  }
128
189
  interface OfferDepositInfo {
129
190
  depositPercent: number;
@@ -358,6 +419,26 @@ interface BookingDetailsLabels {
358
419
  total?: string;
359
420
  /** Linha do bloco depósito: "Remaining balance". */
360
421
  remainingBalance?: string;
422
+ /** Labels das linhas do card "Booking Person" / "Responsible Person". */
423
+ contactDetailsFields?: {
424
+ name?: string;
425
+ email?: string;
426
+ phone?: string;
427
+ country?: string;
428
+ /** Default EN: "Passport / ID". Atualmente o componente exibia "Passport / CPF" (PT-BR fixo). */
429
+ document?: string;
430
+ };
431
+ /** Headers das seções do accordion de cada aventura (atualmente PT-BR fixo). */
432
+ adventureSections?: {
433
+ /** Default EN: "What's included". */
434
+ included?: string;
435
+ /** Default EN: "What's not included". */
436
+ notIncluded?: string;
437
+ /** Default EN: "Cancellation policy". */
438
+ cancellationPolicy?: string;
439
+ };
440
+ /** Botão "Request cancellation" no fim do card. Default EN. */
441
+ cancelRequestLabel?: string;
361
442
  }
362
443
  interface SuggestedTraveller {
363
444
  id: string;
@@ -556,6 +637,10 @@ interface AgentContactCardProps {
556
637
  legacyContactLabel?: string;
557
638
  /** Texto adicional descritivo (ex.: "your travel advisor"). Usado em `wide`. */
558
639
  helperText?: string;
640
+ /** Label do botão WhatsApp na variant `wide`. Default EN: "WhatsApp". */
641
+ whatsappLabel?: string;
642
+ /** Label do botão Email na variant `wide`. Default EN: "Email". */
643
+ emailLabel?: string;
559
644
  className?: string;
560
645
  }
561
646
  declare function AgentContactCard(props: AgentContactCardProps): react_jsx_runtime.JSX.Element;
@@ -887,6 +972,14 @@ interface RegistrationFormLabels {
887
972
  selectPlaceholder?: string;
888
973
  optionalLabel?: string;
889
974
  requiredFieldError?: string;
975
+ /** "Date" — usado no bloco TripInfo quando há apenas data inicial. */
976
+ dateLabel?: string;
977
+ /** "Dates" — usado no bloco TripInfo quando há range. */
978
+ datesLabel?: string;
979
+ /** "Yes" — usado em `defaultFormatAnswer` para campos boolean. */
980
+ yesLabel?: string;
981
+ /** "No" — usado em `defaultFormatAnswer` para campos boolean. */
982
+ noLabel?: string;
890
983
  }
891
984
  interface RegistrationFormProps {
892
985
  /** Logo shown above the title. Defaults to "/logo-planetaexo.png" (matching Offer). Pass null to hide. */
@@ -995,8 +1088,15 @@ interface RegistrationSuccessCardProps {
995
1088
  submittedAt?: string;
996
1089
  lastUpdatedAt?: string;
997
1090
  };
1091
+ /**
1092
+ * Overrides para labels compartilhados com `RegistrationForm` — usado nesse
1093
+ * card para `dateLabel`/`datesLabel` (linha "Date(s)" do TripInfo) e
1094
+ * `yesLabel`/`noLabel` (formatação default de respostas booleanas). Outros
1095
+ * campos da interface são ignorados aqui.
1096
+ */
1097
+ labels?: RegistrationFormLabels;
998
1098
  }
999
- 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;
1099
+ 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, labels: scLabels, }: RegistrationSuccessCardProps): react_jsx_runtime.JSX.Element;
1000
1100
 
1001
1101
  interface FloatingInputProps extends React.InputHTMLAttributes<HTMLInputElement> {
1002
1102
  label: string;