@asteby/storefront-react 0.8.0 → 0.9.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.
@@ -0,0 +1,30 @@
1
+ /*
2
+ * Default sheet for <PaymentMethodSection> (`@asteby/storefront-react/payments.css`). Optional: it only does what the
3
+ * section cannot do without JavaScript (show the panel of the checked row) plus neutral spacing. Colors, borders and
4
+ * radius stay with the shop (pass `classNames`).
5
+ */
6
+ [data-sf-pay-method] [data-sf-pay-choice]:not(:has(input[name='payment_choice']:checked)) [data-sf-pay-panel] {
7
+ display: none;
8
+ }
9
+ [data-sf-pay-method] [data-sf-pay-panel][hidden] {
10
+ display: none;
11
+ }
12
+ [data-sf-pay-method] [data-sf-pay-points] {
13
+ display: grid;
14
+ gap: 0.5rem;
15
+ }
16
+ @media (min-width: 40rem) {
17
+ [data-sf-pay-method] [data-sf-pay-points] {
18
+ grid-template-columns: 1fr 1fr;
19
+ }
20
+ }
21
+ [data-sf-pay-method] [data-sf-pay-point] {
22
+ display: flex;
23
+ align-items: center;
24
+ gap: 0.75rem;
25
+ min-height: 44px;
26
+ cursor: pointer;
27
+ }
28
+ [data-sf-pay-method] [data-sf-pay-method-submit] {
29
+ min-height: 44px;
30
+ }
@@ -1,6 +1,8 @@
1
1
  import * as react from 'react';
2
- import { ReactNode, CSSProperties } from 'react';
3
- import { Money, PaymentAttemptResult, PaymentClient, PaymentOutcomeKind, PaymentOutcome, PaymentErrorView, PaymentMessages, PaymentErrorKind } from '@asteby/storefront';
2
+ import { ReactNode, CSSProperties, RefObject } from 'react';
3
+ import { Money, PaymentAttemptResult, PaymentClient, PaymentOutcomeKind, PaymentOutcome, PaymentErrorView, PaymentMessages, PaymentErrorKind, PaymentOptionKey } from '@asteby/storefront';
4
+ import { a as PayChoices } from './choices-DEPE9KRq.cjs';
5
+ export { B as BuildPayChoicesOptions, P as PayChoice, b as PayErrorBody, c as PaymentCspMode, d as PaymentCspOptions, V as VoucherRowLabels, e as buildPayChoices, f as cashProviderData, g as checkoutToAttempt, h as choiceValue, p as parseChoice, i as payErrorResponse, j as paymentCsp, k as paymentCspHeaderName, l as paymentCspHeaders, m as paymentCspMode, n as paymentNonce, o as paymentNonceFromHeaders, v as voucherRows } from './choices-DEPE9KRq.cjs';
4
6
 
5
7
  /**
6
8
  * Replaceable ports of the embedded payment. The shop (or another provider)
@@ -317,30 +319,129 @@ declare function loadPaymentSdk(url: string, options: LoadScriptOptions): Promis
317
319
  /** Test helper: forgets the loaded-script cache. */
318
320
  declare function resetPaymentSdkCache(): void;
319
321
 
320
- type PaymentCspOptions = {
321
- /** Per-request nonce; also set it on the inserted `<script>` and on `<Scripts nonce>`. */
322
+ /** Texts of the "Payment method" section. Override any of them with the `messages` prop. */
323
+ type PaymentMethodMessages = {
324
+ legend: string;
325
+ /** Button label before the total: "Pagar $1,200.00". */
326
+ pay: string;
327
+ /** Button label for card and cash, before the total. */
328
+ placeOrder: string;
329
+ /** Button label when the buyer leaves for the provider's page. */
330
+ payRedirect: string;
331
+ /** Button label for the first step (address) of a two-step checkout. */
332
+ continue: string;
333
+ /** Button label when the address must be saved again. */
334
+ retryAddress: string;
335
+ processing: string;
336
+ redirectNote: string;
337
+ cashPoints: string;
338
+ cashMore: string;
339
+ cashNote: string;
340
+ secureCard: string;
341
+ pickDeliveryFirst: string;
342
+ updatingTotal: string;
343
+ syncFailed: string;
344
+ rebuildCart: string;
345
+ noPaymentTitle: string;
346
+ noPayment: string;
347
+ paymentNote: string;
348
+ /** Fallback names for the provider options when the server sends no `label`. */
349
+ options: Record<PaymentOptionKey, string>;
350
+ };
351
+ /** Messages for a locale (`es*` default, `en*`), with optional overrides. */
352
+ declare function paymentMethodMessages(locale?: string | null, overrides?: Partial<Omit<PaymentMethodMessages, 'options'>> & {
353
+ options?: Partial<PaymentMethodMessages['options']>;
354
+ } | null): PaymentMethodMessages;
355
+
356
+ /** Name of the radio group that carries the chosen row (`method` or `method|option`). */
357
+ declare const PAYMENT_CHOICE_FIELD = "payment_choice";
358
+ /** Name of the radio group that carries the chosen cash point. */
359
+ declare const CASH_POINT_FIELD = "cash_point";
360
+ /** Fields of the page form (contact, delivery, address, method) for the JSON POST of the embedded payment. */
361
+ declare function formFields(form: HTMLFormElement | null | undefined): Record<string, string>;
362
+ type PaymentMethodClassNames = Partial<Record<'root' | 'legend' | 'choice' | 'radioLabel' | 'radio' | 'labelText' | 'hint' | 'icon' | 'panel' | 'cashPoint' | 'cashPointInput' | 'cashMore' | 'note' | 'alert' | 'status' | 'brickWrap' | 'brick' | 'submit' | 'rebuild', string>>;
363
+ type PaymentMethodTestIds = Partial<Record<'method' | 'submit' | 'cash' | 'redirectNote' | 'card' | 'syncing' | 'syncFailed' | 'rebuild' | 'noPayment', string>>;
364
+ type PaymentMethodSectionProps = {
365
+ /** From `buildPayChoices(payment.methods)`. */
366
+ choices: PayChoices;
367
+ /** The server total (`cart.cost.total`). Shown on the button and passed to the card form. Never computed here. */
368
+ amount: Money;
369
+ /** Cart (or checkout) id: scopes the stored attempt id so a reload reuses it. */
370
+ scope?: string;
371
+ /** The page `<form>`: its fields travel with the card payment and it is validated before charging. */
372
+ formRef: RefObject<HTMLFormElement | null>;
373
+ /** POST endpoint that charges the card (`handlers.pay` on the server). */
374
+ payUrl: string;
375
+ /** POST endpoint that re-reads the payment (`handlers.status`). Enables the 3DS / review polling. */
376
+ statusUrl?: string;
377
+ /** Row preselected. Default: `choices.defaultValue`. */
378
+ defaultChoice?: string | null;
379
+ /** Value of the delivery group; the card form waits until it is `deliveryReady` and `syncDelivery` has settled. */
380
+ delivery?: string;
381
+ /** `false` while the buyer has not chosen a delivery that fixes the total (e.g. address pending). Default true. */
382
+ deliveryReady?: boolean;
383
+ /**
384
+ * Saves the chosen delivery on the server cart so the server total includes it. Resolve `true` once the new total
385
+ * has been read back (the `amount` prop is then up to date). Called once per delivery. Without it nothing waits.
386
+ */
387
+ syncDelivery?: (delivery: string) => Promise<boolean>;
388
+ /** A two-step checkout still collecting the address: the button reads "continue" and no card form shows. */
389
+ addressFirst?: boolean;
390
+ /** The address must be saved again before paying. */
391
+ retryAddress?: boolean;
392
+ /** Disables the button (the shop is not ready to take payment). */
393
+ blocked?: boolean;
394
+ /** The page form is submitting. */
395
+ busy?: boolean;
396
+ /** Names of fields with a server error (`payment_method`, `cash_point`). */
397
+ invalid?: ReadonlySet<string>;
322
398
  nonce?: string;
323
- /** Extra origins by directive (e.g. your image CDN). */
324
- extra?: {
325
- script?: string[];
326
- frame?: string[];
327
- connect?: string[];
328
- img?: string[];
329
- form?: string[];
399
+ locale?: string;
400
+ messages?: Parameters<typeof paymentMethodMessages>[1];
401
+ /** Name for a plain method (`PaymentMethod` without options). Default: the key as it comes. */
402
+ methodLabel?: (methodKey: string) => {
403
+ label: string;
404
+ hint?: string;
330
405
  };
331
- /** `report-uri` / `report-to` target for the report-only rollout. */
332
- reportUri?: string;
406
+ /** Per-row icon by option (`card`, `cash`, `wallet`, `credits`) or `plain`. */
407
+ icons?: Partial<Record<PaymentOptionKey | 'plain', ReactNode>>;
408
+ /** How to print the total on the button. Default `formatMoney`. */
409
+ renderAmount?: (amount: Money) => ReactNode;
410
+ /** Anchor to the cart for the "rebuild" action when the cart expired. Default: plain `<a href>`. */
411
+ rebuildHref?: string;
412
+ renderLink?: (props: {
413
+ href: string;
414
+ className?: string;
415
+ children: ReactNode;
416
+ testId?: string;
417
+ }) => ReactNode;
418
+ /** Called once the order is closed in the page (approved, under review or voucher). Navigate to the thank-you page. */
419
+ onDone: (outcome: PaymentOutcome) => void;
420
+ /** The server total changed under the buyer: re-read the cart (the card form remounts with the new amount). */
421
+ onAmountChanged?: () => void;
422
+ onEvent?: (event: PaymentEvent) => void;
423
+ classNames?: PaymentMethodClassNames;
424
+ testIds?: PaymentMethodTestIds;
425
+ /** Hide the section button (drive the form some other way). Card payments then need `PaymentMethodHandle`-less flows. */
426
+ hideSubmit?: boolean;
427
+ /** Replaces the transport built from `payUrl` / `statusUrl`. */
428
+ transport?: PaymentTransport;
429
+ /** Extra props for the card form (`adapter`, `adapters`, `messages`, `minHeight`, `storage`, timeouts...). */
430
+ brickProps?: Partial<Omit<PaymentBrickProps, 'client' | 'amount' | 'transport' | 'onResult' | 'onEvent' | 'onFallback'>>;
333
431
  };
334
432
  /**
335
- * Builds the Content-Security-Policy for the payment routes from what each provider declares
336
- * (`PaymentClient.csp`), so the shop never hard-codes provider hosts. Meant for `/pagar` only,
337
- * never for the whole site. Roll out as `Content-Security-Policy-Report-Only` first.
433
+ * "Payment method", hybrid. Card: the provider's secure form INSIDE the page (`PaymentBrick`) with the shop's own
434
+ * button. Cash: payment points and a voucher on order. Provider account and no-card payments redirect. Without
435
+ * JavaScript, or if the card form does not load, everything falls back to the plain redirect flow (the page form's
436
+ * normal submit); the cash point radios and the notes work without JavaScript with the `payments.css` sheet.
437
+ *
438
+ * Money: the form amount is the server total passed in `amount` (already holding the chosen delivery); nothing is added
439
+ * or recalculated here.
338
440
  *
339
- * No SRI on purpose: provider SDK URLs are unversioned and a hash would break payments on any update.
441
+ * Accessibility: one labelled `fieldset` with native radios; notes in `role="status"`, problems in `role="alert"`; the
442
+ * button explains its busy state and is never silently disabled while the card form is loading.
340
443
  */
341
- declare function paymentCsp(clients: readonly (PaymentClient | null | undefined)[], options?: PaymentCspOptions): string;
342
- /** `Content-Security-Policy` or, during the rollout week, `Content-Security-Policy-Report-Only`. */
343
- declare function paymentCspHeaderName(reportOnly: boolean): string;
444
+ declare function PaymentMethodSection(props: PaymentMethodSectionProps): react.JSX.Element;
344
445
 
345
446
  /** CSS custom properties (set by the shop in its stylesheet) -> provider widget variables. */
346
447
  declare const PAYMENT_THEME_TOKENS: {
@@ -361,4 +462,4 @@ declare const PAYMENT_THEME_TOKENS: {
361
462
  */
362
463
  declare function readPaymentTheme(el: Element | null | undefined, tokens?: Record<string, string>): Record<string, string>;
363
464
 
364
- export { type EmbeddedPaymentState, type EmbeddedPaymentStatus, type FetchTransportOptions, type LoadScriptOptions, MERCADOPAGO_BRICKS_KIND, type MercadoPagoAdapterOptions, type MercadoPagoCtor, type MountedPaymentForm, PAYMENT_THEME_TOKENS, PaymentBrick, type PaymentBrickHandle, type PaymentBrickProps, PaymentChallenge, type PaymentChallengeProps, type PaymentCspOptions, type PaymentEvent, type PaymentFallbackReason, type PaymentFormAdapter, type PaymentFormData, type PaymentFormError, type PaymentFormMountOptions, PaymentHttpError, type PaymentSubmitRequest, type PaymentTransport, type UseEmbeddedPaymentOptions, VoucherCard, type VoucherCardProps, createFetchTransport, loadPaymentSdk, mercadoPagoBricksAdapter, paymentCsp, paymentCspHeaderName, readPaymentTheme, resetPaymentSdkCache, sanitizeMercadoPagoFormData, useEmbeddedPayment };
465
+ export { CASH_POINT_FIELD, type EmbeddedPaymentState, type EmbeddedPaymentStatus, type FetchTransportOptions, type LoadScriptOptions, MERCADOPAGO_BRICKS_KIND, type MercadoPagoAdapterOptions, type MercadoPagoCtor, type MountedPaymentForm, PAYMENT_CHOICE_FIELD, PAYMENT_THEME_TOKENS, PayChoices, PaymentBrick, type PaymentBrickHandle, type PaymentBrickProps, PaymentChallenge, type PaymentChallengeProps, type PaymentEvent, type PaymentFallbackReason, type PaymentFormAdapter, type PaymentFormData, type PaymentFormError, type PaymentFormMountOptions, PaymentHttpError, type PaymentMethodClassNames, type PaymentMethodMessages, PaymentMethodSection, type PaymentMethodSectionProps, type PaymentMethodTestIds, type PaymentSubmitRequest, type PaymentTransport, type UseEmbeddedPaymentOptions, VoucherCard, type VoucherCardProps, createFetchTransport, formFields, loadPaymentSdk, mercadoPagoBricksAdapter, paymentMethodMessages, readPaymentTheme, resetPaymentSdkCache, sanitizeMercadoPagoFormData, useEmbeddedPayment };
@@ -1,6 +1,8 @@
1
1
  import * as react from 'react';
2
- import { ReactNode, CSSProperties } from 'react';
3
- import { Money, PaymentAttemptResult, PaymentClient, PaymentOutcomeKind, PaymentOutcome, PaymentErrorView, PaymentMessages, PaymentErrorKind } from '@asteby/storefront';
2
+ import { ReactNode, CSSProperties, RefObject } from 'react';
3
+ import { Money, PaymentAttemptResult, PaymentClient, PaymentOutcomeKind, PaymentOutcome, PaymentErrorView, PaymentMessages, PaymentErrorKind, PaymentOptionKey } from '@asteby/storefront';
4
+ import { a as PayChoices } from './choices-DEPE9KRq.js';
5
+ export { B as BuildPayChoicesOptions, P as PayChoice, b as PayErrorBody, c as PaymentCspMode, d as PaymentCspOptions, V as VoucherRowLabels, e as buildPayChoices, f as cashProviderData, g as checkoutToAttempt, h as choiceValue, p as parseChoice, i as payErrorResponse, j as paymentCsp, k as paymentCspHeaderName, l as paymentCspHeaders, m as paymentCspMode, n as paymentNonce, o as paymentNonceFromHeaders, v as voucherRows } from './choices-DEPE9KRq.js';
4
6
 
5
7
  /**
6
8
  * Replaceable ports of the embedded payment. The shop (or another provider)
@@ -317,30 +319,129 @@ declare function loadPaymentSdk(url: string, options: LoadScriptOptions): Promis
317
319
  /** Test helper: forgets the loaded-script cache. */
318
320
  declare function resetPaymentSdkCache(): void;
319
321
 
320
- type PaymentCspOptions = {
321
- /** Per-request nonce; also set it on the inserted `<script>` and on `<Scripts nonce>`. */
322
+ /** Texts of the "Payment method" section. Override any of them with the `messages` prop. */
323
+ type PaymentMethodMessages = {
324
+ legend: string;
325
+ /** Button label before the total: "Pagar $1,200.00". */
326
+ pay: string;
327
+ /** Button label for card and cash, before the total. */
328
+ placeOrder: string;
329
+ /** Button label when the buyer leaves for the provider's page. */
330
+ payRedirect: string;
331
+ /** Button label for the first step (address) of a two-step checkout. */
332
+ continue: string;
333
+ /** Button label when the address must be saved again. */
334
+ retryAddress: string;
335
+ processing: string;
336
+ redirectNote: string;
337
+ cashPoints: string;
338
+ cashMore: string;
339
+ cashNote: string;
340
+ secureCard: string;
341
+ pickDeliveryFirst: string;
342
+ updatingTotal: string;
343
+ syncFailed: string;
344
+ rebuildCart: string;
345
+ noPaymentTitle: string;
346
+ noPayment: string;
347
+ paymentNote: string;
348
+ /** Fallback names for the provider options when the server sends no `label`. */
349
+ options: Record<PaymentOptionKey, string>;
350
+ };
351
+ /** Messages for a locale (`es*` default, `en*`), with optional overrides. */
352
+ declare function paymentMethodMessages(locale?: string | null, overrides?: Partial<Omit<PaymentMethodMessages, 'options'>> & {
353
+ options?: Partial<PaymentMethodMessages['options']>;
354
+ } | null): PaymentMethodMessages;
355
+
356
+ /** Name of the radio group that carries the chosen row (`method` or `method|option`). */
357
+ declare const PAYMENT_CHOICE_FIELD = "payment_choice";
358
+ /** Name of the radio group that carries the chosen cash point. */
359
+ declare const CASH_POINT_FIELD = "cash_point";
360
+ /** Fields of the page form (contact, delivery, address, method) for the JSON POST of the embedded payment. */
361
+ declare function formFields(form: HTMLFormElement | null | undefined): Record<string, string>;
362
+ type PaymentMethodClassNames = Partial<Record<'root' | 'legend' | 'choice' | 'radioLabel' | 'radio' | 'labelText' | 'hint' | 'icon' | 'panel' | 'cashPoint' | 'cashPointInput' | 'cashMore' | 'note' | 'alert' | 'status' | 'brickWrap' | 'brick' | 'submit' | 'rebuild', string>>;
363
+ type PaymentMethodTestIds = Partial<Record<'method' | 'submit' | 'cash' | 'redirectNote' | 'card' | 'syncing' | 'syncFailed' | 'rebuild' | 'noPayment', string>>;
364
+ type PaymentMethodSectionProps = {
365
+ /** From `buildPayChoices(payment.methods)`. */
366
+ choices: PayChoices;
367
+ /** The server total (`cart.cost.total`). Shown on the button and passed to the card form. Never computed here. */
368
+ amount: Money;
369
+ /** Cart (or checkout) id: scopes the stored attempt id so a reload reuses it. */
370
+ scope?: string;
371
+ /** The page `<form>`: its fields travel with the card payment and it is validated before charging. */
372
+ formRef: RefObject<HTMLFormElement | null>;
373
+ /** POST endpoint that charges the card (`handlers.pay` on the server). */
374
+ payUrl: string;
375
+ /** POST endpoint that re-reads the payment (`handlers.status`). Enables the 3DS / review polling. */
376
+ statusUrl?: string;
377
+ /** Row preselected. Default: `choices.defaultValue`. */
378
+ defaultChoice?: string | null;
379
+ /** Value of the delivery group; the card form waits until it is `deliveryReady` and `syncDelivery` has settled. */
380
+ delivery?: string;
381
+ /** `false` while the buyer has not chosen a delivery that fixes the total (e.g. address pending). Default true. */
382
+ deliveryReady?: boolean;
383
+ /**
384
+ * Saves the chosen delivery on the server cart so the server total includes it. Resolve `true` once the new total
385
+ * has been read back (the `amount` prop is then up to date). Called once per delivery. Without it nothing waits.
386
+ */
387
+ syncDelivery?: (delivery: string) => Promise<boolean>;
388
+ /** A two-step checkout still collecting the address: the button reads "continue" and no card form shows. */
389
+ addressFirst?: boolean;
390
+ /** The address must be saved again before paying. */
391
+ retryAddress?: boolean;
392
+ /** Disables the button (the shop is not ready to take payment). */
393
+ blocked?: boolean;
394
+ /** The page form is submitting. */
395
+ busy?: boolean;
396
+ /** Names of fields with a server error (`payment_method`, `cash_point`). */
397
+ invalid?: ReadonlySet<string>;
322
398
  nonce?: string;
323
- /** Extra origins by directive (e.g. your image CDN). */
324
- extra?: {
325
- script?: string[];
326
- frame?: string[];
327
- connect?: string[];
328
- img?: string[];
329
- form?: string[];
399
+ locale?: string;
400
+ messages?: Parameters<typeof paymentMethodMessages>[1];
401
+ /** Name for a plain method (`PaymentMethod` without options). Default: the key as it comes. */
402
+ methodLabel?: (methodKey: string) => {
403
+ label: string;
404
+ hint?: string;
330
405
  };
331
- /** `report-uri` / `report-to` target for the report-only rollout. */
332
- reportUri?: string;
406
+ /** Per-row icon by option (`card`, `cash`, `wallet`, `credits`) or `plain`. */
407
+ icons?: Partial<Record<PaymentOptionKey | 'plain', ReactNode>>;
408
+ /** How to print the total on the button. Default `formatMoney`. */
409
+ renderAmount?: (amount: Money) => ReactNode;
410
+ /** Anchor to the cart for the "rebuild" action when the cart expired. Default: plain `<a href>`. */
411
+ rebuildHref?: string;
412
+ renderLink?: (props: {
413
+ href: string;
414
+ className?: string;
415
+ children: ReactNode;
416
+ testId?: string;
417
+ }) => ReactNode;
418
+ /** Called once the order is closed in the page (approved, under review or voucher). Navigate to the thank-you page. */
419
+ onDone: (outcome: PaymentOutcome) => void;
420
+ /** The server total changed under the buyer: re-read the cart (the card form remounts with the new amount). */
421
+ onAmountChanged?: () => void;
422
+ onEvent?: (event: PaymentEvent) => void;
423
+ classNames?: PaymentMethodClassNames;
424
+ testIds?: PaymentMethodTestIds;
425
+ /** Hide the section button (drive the form some other way). Card payments then need `PaymentMethodHandle`-less flows. */
426
+ hideSubmit?: boolean;
427
+ /** Replaces the transport built from `payUrl` / `statusUrl`. */
428
+ transport?: PaymentTransport;
429
+ /** Extra props for the card form (`adapter`, `adapters`, `messages`, `minHeight`, `storage`, timeouts...). */
430
+ brickProps?: Partial<Omit<PaymentBrickProps, 'client' | 'amount' | 'transport' | 'onResult' | 'onEvent' | 'onFallback'>>;
333
431
  };
334
432
  /**
335
- * Builds the Content-Security-Policy for the payment routes from what each provider declares
336
- * (`PaymentClient.csp`), so the shop never hard-codes provider hosts. Meant for `/pagar` only,
337
- * never for the whole site. Roll out as `Content-Security-Policy-Report-Only` first.
433
+ * "Payment method", hybrid. Card: the provider's secure form INSIDE the page (`PaymentBrick`) with the shop's own
434
+ * button. Cash: payment points and a voucher on order. Provider account and no-card payments redirect. Without
435
+ * JavaScript, or if the card form does not load, everything falls back to the plain redirect flow (the page form's
436
+ * normal submit); the cash point radios and the notes work without JavaScript with the `payments.css` sheet.
437
+ *
438
+ * Money: the form amount is the server total passed in `amount` (already holding the chosen delivery); nothing is added
439
+ * or recalculated here.
338
440
  *
339
- * No SRI on purpose: provider SDK URLs are unversioned and a hash would break payments on any update.
441
+ * Accessibility: one labelled `fieldset` with native radios; notes in `role="status"`, problems in `role="alert"`; the
442
+ * button explains its busy state and is never silently disabled while the card form is loading.
340
443
  */
341
- declare function paymentCsp(clients: readonly (PaymentClient | null | undefined)[], options?: PaymentCspOptions): string;
342
- /** `Content-Security-Policy` or, during the rollout week, `Content-Security-Policy-Report-Only`. */
343
- declare function paymentCspHeaderName(reportOnly: boolean): string;
444
+ declare function PaymentMethodSection(props: PaymentMethodSectionProps): react.JSX.Element;
344
445
 
345
446
  /** CSS custom properties (set by the shop in its stylesheet) -> provider widget variables. */
346
447
  declare const PAYMENT_THEME_TOKENS: {
@@ -361,4 +462,4 @@ declare const PAYMENT_THEME_TOKENS: {
361
462
  */
362
463
  declare function readPaymentTheme(el: Element | null | undefined, tokens?: Record<string, string>): Record<string, string>;
363
464
 
364
- export { type EmbeddedPaymentState, type EmbeddedPaymentStatus, type FetchTransportOptions, type LoadScriptOptions, MERCADOPAGO_BRICKS_KIND, type MercadoPagoAdapterOptions, type MercadoPagoCtor, type MountedPaymentForm, PAYMENT_THEME_TOKENS, PaymentBrick, type PaymentBrickHandle, type PaymentBrickProps, PaymentChallenge, type PaymentChallengeProps, type PaymentCspOptions, type PaymentEvent, type PaymentFallbackReason, type PaymentFormAdapter, type PaymentFormData, type PaymentFormError, type PaymentFormMountOptions, PaymentHttpError, type PaymentSubmitRequest, type PaymentTransport, type UseEmbeddedPaymentOptions, VoucherCard, type VoucherCardProps, createFetchTransport, loadPaymentSdk, mercadoPagoBricksAdapter, paymentCsp, paymentCspHeaderName, readPaymentTheme, resetPaymentSdkCache, sanitizeMercadoPagoFormData, useEmbeddedPayment };
465
+ export { CASH_POINT_FIELD, type EmbeddedPaymentState, type EmbeddedPaymentStatus, type FetchTransportOptions, type LoadScriptOptions, MERCADOPAGO_BRICKS_KIND, type MercadoPagoAdapterOptions, type MercadoPagoCtor, type MountedPaymentForm, PAYMENT_CHOICE_FIELD, PAYMENT_THEME_TOKENS, PayChoices, PaymentBrick, type PaymentBrickHandle, type PaymentBrickProps, PaymentChallenge, type PaymentChallengeProps, type PaymentEvent, type PaymentFallbackReason, type PaymentFormAdapter, type PaymentFormData, type PaymentFormError, type PaymentFormMountOptions, PaymentHttpError, type PaymentMethodClassNames, type PaymentMethodMessages, PaymentMethodSection, type PaymentMethodSectionProps, type PaymentMethodTestIds, type PaymentSubmitRequest, type PaymentTransport, type UseEmbeddedPaymentOptions, VoucherCard, type VoucherCardProps, createFetchTransport, formFields, loadPaymentSdk, mercadoPagoBricksAdapter, paymentMethodMessages, readPaymentTheme, resetPaymentSdkCache, sanitizeMercadoPagoFormData, useEmbeddedPayment };