@asteby/storefront-react 0.11.0 → 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/payments.cjs CHANGED
@@ -171,7 +171,8 @@ function mercadoPagoBricksAdapter(options = {}) {
171
171
  // fila de método de pago y se veía cortado (p. ej. AMEX partido). hideFormTitle oculta
172
172
  // la línea del título y las banderas.
173
173
  hideFormTitle: true,
174
- style: { theme: "default", ...opts.theme && Object.keys(opts.theme).length ? { customVariables: opts.theme } : {} }
174
+ // Dark page: the Brick's `dark` base theme, so it does not draw a white card; the shop tokens refine it.
175
+ style: { theme: opts.colorScheme === "dark" ? "dark" : "default", ...opts.theme && Object.keys(opts.theme).length ? { customVariables: opts.theme } : {} }
175
176
  }
176
177
  },
177
178
  callbacks: {
@@ -221,7 +222,13 @@ var PAYMENT_THEME_TOKENS = {
221
222
  "--sf-pay-error": "errorColor",
222
223
  "--sf-pay-success": "successColor",
223
224
  "--sf-pay-outline": "outlinePrimaryColor",
224
- "--sf-pay-radius": "borderRadiusMedium"
225
+ "--sf-pay-radius": "borderRadiusMedium",
226
+ "--sf-pay-radius-small": "borderRadiusSmall",
227
+ "--sf-pay-radius-large": "borderRadiusLarge",
228
+ "--sf-pay-outline-secondary": "outlineSecondaryColor",
229
+ "--sf-pay-primary-variant": "baseColorFirstVariant",
230
+ "--sf-pay-input-border-width": "inputBorderWidth",
231
+ "--sf-pay-form-padding": "formPadding"
225
232
  };
226
233
  function readPaymentTheme(el, tokens = PAYMENT_THEME_TOKENS) {
227
234
  const out = {};
@@ -233,6 +240,19 @@ function readPaymentTheme(el, tokens = PAYMENT_THEME_TOKENS) {
233
240
  }
234
241
  return out;
235
242
  }
243
+ function readPaymentScheme(el) {
244
+ if (!el || typeof getComputedStyle !== "function") return null;
245
+ const style = getComputedStyle(el);
246
+ const token = style.getPropertyValue("--sf-pay-scheme").trim();
247
+ if (token === "dark" || token === "light") return token;
248
+ const cs = (style.getPropertyValue("color-scheme") || style.colorScheme || "").toLowerCase();
249
+ const dark = /\bdark\b/.test(cs);
250
+ const light = /\blight\b/.test(cs);
251
+ if (dark && !light) return "dark";
252
+ if (light && !dark) return "light";
253
+ if (dark && light && typeof matchMedia === "function") return matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
254
+ return null;
255
+ }
236
256
 
237
257
  // src/payments/use-embedded-payment.ts
238
258
  var DEFAULT_ADAPTERS = {};
@@ -358,6 +378,7 @@ function useEmbeddedPayment(options) {
358
378
  await adapter.load(client, { ...live.current.nonce ? { nonce: live.current.nonce } : {}, timeoutMs: sdkTimeoutMs });
359
379
  if (stale()) return;
360
380
  const theme = live.current.theme ?? readPaymentTheme(container);
381
+ const colorScheme = live.current.colorScheme ?? readPaymentScheme(container);
361
382
  const m = await adapter.mount({
362
383
  container,
363
384
  client,
@@ -365,6 +386,7 @@ function useEmbeddedPayment(options) {
365
386
  ...live.current.email ? { email: live.current.email } : {},
366
387
  ...live.current.locale ? { locale: live.current.locale } : {},
367
388
  theme,
389
+ ...colorScheme ? { colorScheme } : {},
368
390
  onReady: () => {
369
391
  if (stale()) return;
370
392
  clearTimeout(timer);
@@ -777,6 +799,8 @@ var ES = {
777
799
  legend: "M\xE9todo de pago",
778
800
  pay: "Pagar",
779
801
  placeOrder: "Realizar el pedido",
802
+ placeOrderCash: "Generar ficha de pago",
803
+ chooseDelivery: "Elige la entrega para continuar",
780
804
  payRedirect: "Continuar al pago",
781
805
  continue: "Continuar",
782
806
  retryAddress: "Guardar direcci\xF3n y continuar",
@@ -805,6 +829,8 @@ var EN = {
805
829
  legend: "Payment method",
806
830
  pay: "Pay",
807
831
  placeOrder: "Place order",
832
+ placeOrderCash: "Get payment slip",
833
+ chooseDelivery: "Choose delivery to continue",
808
834
  payRedirect: "Continue to payment",
809
835
  continue: "Continue",
810
836
  retryAddress: "Save address and continue",
@@ -853,6 +879,7 @@ var LOGOS = {
853
879
  "farmaciasyza": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 141.31 65.39%22%3E%3Cg data-name=%22Grupo 3266%22%3E%3Cpath fill=%22%23009%22 d=%22M90.49 39.75a8 8 0 0 1-6.43 2.7c-4.17 0-6.01-2.16-6.4-4.51s-.63-8.66 7.77-8.66a13 13 0 0 1 5.05.83ZM69.71 30.1c-.95 2.13-2.29 7.57-.56 11.74 1.88 4.51 5.66 7.71 12.51 7.71s10.07-3.46 10.07-3.46c3.41 5.52 11.48 2.79 11.48 2.79l-.06-5.82h-1.92c-1.53 0-1.83-1.67-1.83-3.06V24.57c-3.88-1.88-13.5-2.54-18.1-1.78 0 0-8.81 1.09-11.59 7.32%22 data-name=%22Trazado 25280%22/%3E%3Cpath fill=%22%23009%22 d=%22M51.02 41.85 60.29 33a42 42 0 0 0 4.95-5.26l-.13-4.96H37.3v7.34h13.87C45.23 35.58 36.6 43.97 36.6 43.97v4.91h29.15l-.1-7.03Z%22 data-name=%22Trazado 25281%22/%3E%3Cpath fill=%22%233c3%22 d=%22M25.42 58.35h4v1.44h-2.26v1.43h1.48v1.34h-1.48v2.65H25.4Z%22 data-name=%22Trazado 25282%22/%3E%3Cpath fill=%22%233c3%22 d=%22M34.93 62.62h1.5l-.52-1.77-.13-.52h-.19l-.11.52Zm-.48-4.28h2.48L39 65.21h-1.8l-.34-1.15h-2.35l-.35 1.15h-1.78Z%22 data-name=%22Trazado 25283%22/%3E%3Cpath fill=%22%233c3%22 d=%22M45.98 59.97a.7.7 0 0 0-.54-.18h-.84v1.72h.84a.8.8 0 0 0 .54-.2 1 1 0 0 0 .2-.68 1 1 0 0 0-.2-.66m.74 2.66 1.6 2.58H46.3l-1.44-2.35h-.27v2.35h-1.74v-6.86h2.64a2.5 2.5 0 0 1 1.71.51 2.4 2.4 0 0 1 .71 1.8 2.2 2.2 0 0 1-.72 1.7 2 2 0 0 1-.47.28%22 data-name=%22Trazado 25284%22/%3E%3Cpath fill=%22%233c3%22 d=%22M56.18 64.34h-.86L54.2 61.9a5 5 0 0 1-.21-.63h-.14s.06.74.06 1.02v2.92h-1.75v-6.86h1.94l1.6 3.62h.1l1.6-3.62h1.94v6.86h-1.75V62.3c0-.29.06-1.02.06-1.02h-.14a5 5 0 0 1-.22.62Z%22 data-name=%22Trazado 25285%22/%3E%3Cpath fill=%22%233c3%22 d=%22M65.75 62.62h1.5l-.54-1.77-.12-.52h-.2l-.1.52Zm-.49-4.28h2.48l2.07 6.87h-1.79l-.34-1.15h-2.36l-.34 1.15h-1.79Z%22 data-name=%22Trazado 25286%22/%3E%3Cpath fill=%22%233c3%22 d=%22M78.25 64.9a4 4 0 0 1-2 .46 3.5 3.5 0 0 1-2.04-.61c-.54-.45-.95-1.18-.95-2.98 0-1.7.39-2.4.9-2.87a3 3 0 0 1 2.1-.72 5 5 0 0 1 1.77.33l-.3 1.36a4 4 0 0 0-1.2-.2 1.6 1.6 0 0 0-1.08.36c-.23.23-.43.68-.43 1.75 0 1.12.2 1.55.46 1.78a1.6 1.6 0 0 0 1.05.31 5 5 0 0 0 1.41-.27Z%22 data-name=%22Trazado 25287%22/%3E%3Cpath fill=%22%233c3%22 d=%22M82.14 58.35h1.75v6.85h-1.75z%22 data-name=%22Rect%C3%A1ngulo 1541%22/%3E%3Cpath fill=%22%233c3%22 d=%22M90.28 62.62h1.5l-.53-1.77-.12-.52h-.2l-.11.52Zm-.48-4.28h2.48l2.07 6.87h-1.79l-.34-1.15h-2.36l-.35 1.15h-1.78Z%22 data-name=%22Trazado 25288%22/%3E%3Cpath fill=%22%233c3%22 d=%22M100.66 65.36a6 6 0 0 1-2.54-.58l.31-1.4a5 5 0 0 0 2.04.5c.5 0 .86-.23.86-.7q.01-.51-.6-.66l-.74-.18c-1.11-.25-1.95-.69-1.95-2.02 0-1.28.86-2.13 2.5-2.13a5 5 0 0 1 2.08.48l-.48 1.39a4 4 0 0 0-1.53-.39c-.5 0-.78.26-.78.62a.5.5 0 0 0 .43.52l.82.2c1.2.28 2.03.76 2.03 2.08a2.13 2.13 0 0 1-2.46 2.27%22 data-name=%22Trazado 25289%22/%3E%3Cpath fill=%22%23009%22 d=%22m24.38 22.74-7.3 17.62-6.78-17.62H0l11.34 27.13a9 9 0 0 1-1.21.79 8 8 0 0 1-2.48.84 18 18 0 0 1-2.2.24q-1.06.04-2.07 0l-1.4 6.47q2.07.15 5.22.15a20 20 0 0 0 8.3-1.54 14 14 0 0 0 5.2-3.98 13 13 0 0 0 .85-1.1 9 9 0 0 0 .67-1.15l12.46-27.85Z%22 data-name=%22Trazado 25290%22/%3E%3Cpath fill=%22%233c3%22 d=%22M118.55 22.76v5.15a5.87 5.87 0 0 0 11.74 0v-5.15h5.15a5.87 5.87 0 0 0 0-11.74h-5.15V5.87a5.87 5.87 0 0 0-11.74 0v5.15h-5.15a5.87 5.87 0 0 0 0 11.74Z%22 data-name=%22Trazado 25291%22/%3E%3Cpath fill=%22%23009%22 d=%22M130.3 12.63a.53.53 0 1 1 .54.53.53.53 0 0 1-.53-.53%22 data-name=%22Trazado 25292%22/%3E%3Cpath fill=%22%23009%22 d=%22M132.54 12.63a.4.4 0 1 1 .4.41.4.4 0 0 1-.4-.4%22 data-name=%22Trazado 25293%22/%3E%3Cpath fill=%22%23009%22 d=%22M134.77 12.63a.29.29 0 1 1 .3.29.3.3 0 0 1-.3-.3%22 data-name=%22Trazado 25294%22/%3E%3Cpath fill=%22%23009%22 d=%22M137.03 12.63a.14.14 0 1 1 .14.14.14.14 0 0 1-.14-.14%22 data-name=%22Trazado 25295%22/%3E%3Cpath fill=%22%23009%22 d=%22M137.03 14.74a.14.14 0 1 1 .14.14.14.14 0 0 1-.14-.14%22 data-name=%22Trazado 25296%22/%3E%3Cpath fill=%22%23009%22 d=%22M137.03 16.86a.14.14 0 1 1 .14.14.14.14 0 0 1-.14-.14%22 data-name=%22Trazado 25297%22/%3E%3Cpath fill=%22%23009%22 d=%22M137.03 18.97a.14.14 0 1 1 .14.14.14.14 0 0 1-.14-.14%22 data-name=%22Trazado 25298%22/%3E%3Cpath fill=%22%23009%22 d=%22M137.03 21.09a.14.14 0 1 1 .14.14.14.14 0 0 1-.14-.14%22 data-name=%22Trazado 25299%22/%3E%3Cpath fill=%22%23009%22 d=%22M131.44 13.69a.44.44 0 1 1 .44.44.44.44 0 0 1-.44-.44%22 data-name=%22Trazado 25300%22/%3E%3Cpath fill=%22%23009%22 d=%22M133.68 13.69a.32.32 0 1 1 .32.32.3.3 0 0 1-.32-.32%22 data-name=%22Trazado 25301%22/%3E%3Cpath fill=%22%23009%22 d=%22M135.91 13.69a.2.2 0 1 1 .2.2.2.2 0 0 1-.2-.2%22 data-name=%22Trazado 25302%22/%3E%3Cpath fill=%22%23009%22 d=%22M130.3 14.74a.53.53 0 1 1 .54.54.53.53 0 0 1-.53-.54%22 data-name=%22Trazado 25303%22/%3E%3Cpath fill=%22%23009%22 d=%22M132.54 14.74a.4.4 0 1 1 .4.41.4.4 0 0 1-.4-.4%22 data-name=%22Trazado 25304%22/%3E%3Cpath fill=%22%23009%22 d=%22M134.77 14.74a.29.29 0 1 1 .09.2.3.3 0 0 1-.09-.2%22 data-name=%22Trazado 25305%22/%3E%3Cpath fill=%22%23009%22 d=%22M131.44 15.8a.44.44 0 1 1 .44.44.44.44 0 0 1-.44-.44%22 data-name=%22Trazado 25306%22/%3E%3Cpath fill=%22%23009%22 d=%22M133.68 15.8a.32.32 0 1 1 .32.32.3.3 0 0 1-.32-.32%22 data-name=%22Trazado 25307%22/%3E%3Cpath fill=%22%23009%22 d=%22M135.91 15.8a.2.2 0 1 1 .06.14.2.2 0 0 1-.06-.14%22 data-name=%22Trazado 25308%22/%3E%3Cpath fill=%22%23009%22 d=%22M130.3 16.86a.53.53 0 1 1 .54.53.53.53 0 0 1-.53-.53%22 data-name=%22Trazado 25309%22/%3E%3Cpath fill=%22%23009%22 d=%22M132.54 16.86a.4.4 0 1 1 .4.4.4.4 0 0 1-.4-.4%22 data-name=%22Trazado 25310%22/%3E%3Cpath fill=%22%23009%22 d=%22M134.77 16.86a.29.29 0 1 1 .3.29.3.3 0 0 1-.3-.3%22 data-name=%22Trazado 25311%22/%3E%3Cpath fill=%22%23009%22 d=%22M131.44 17.92a.44.44 0 1 1 .44.44.44.44 0 0 1-.44-.44%22 data-name=%22Trazado 25312%22/%3E%3Cpath fill=%22%23009%22 d=%22M133.68 17.92a.32.32 0 1 1 .32.32.3.3 0 0 1-.32-.32%22 data-name=%22Trazado 25313%22/%3E%3Cpath fill=%22%23009%22 d=%22M135.91 17.92a.2.2 0 1 1 .06.14.2.2 0 0 1-.06-.14%22 data-name=%22Trazado 25314%22/%3E%3Cpath fill=%22%23009%22 d=%22M130.3 18.98a.53.53 0 1 1 .54.53.53.53 0 0 1-.53-.53%22 data-name=%22Trazado 25315%22/%3E%3Cpath fill=%22%23009%22 d=%22M132.54 18.97a.4.4 0 1 1 .4.41.4.4 0 0 1-.4-.4%22 data-name=%22Trazado 25316%22/%3E%3Cpath fill=%22%23009%22 d=%22M134.77 18.97a.29.29 0 1 1 .3.3.3.3 0 0 1-.3-.3%22 data-name=%22Trazado 25317%22/%3E%3Cpath fill=%22%23009%22 d=%22M131.44 20.03a.44.44 0 1 1 .44.44.44.44 0 0 1-.44-.44%22 data-name=%22Trazado 25318%22/%3E%3Cpath fill=%22%23009%22 d=%22M133.68 20.03a.32.32 0 1 1 .32.32.3.3 0 0 1-.32-.32%22 data-name=%22Trazado 25319%22/%3E%3Cpath fill=%22%23009%22 d=%22M135.91 20.03a.2.2 0 1 1 .06.14.2.2 0 0 1-.06-.14%22 data-name=%22Trazado 25320%22/%3E%3Cpath fill=%22%23009%22 d=%22M130.3 21.09a.53.53 0 1 1 .54.53.53.53 0 0 1-.53-.53%22 data-name=%22Trazado 25321%22/%3E%3Cpath fill=%22%23009%22 d=%22M132.54 21.09a.4.4 0 1 1 .4.4.4.4 0 0 1-.4-.4%22 data-name=%22Trazado 25322%22/%3E%3Cpath fill=%22%23009%22 d=%22M134.77 21.1a.29.29 0 1 1 .3.28.3.3 0 0 1-.3-.29%22 data-name=%22Trazado 25323%22/%3E%3Cpath fill=%22%23009%22 d=%22M128.65 22.78a.53.53 0 1 1-.53.53.53.53 0 0 1 .53-.53%22 data-name=%22Trazado 25324%22/%3E%3Cpath fill=%22%23009%22 d=%22M128.65 25a.4.4 0 1 1-.4.42.4.4 0 0 1 .4-.41%22 data-name=%22Trazado 25325%22/%3E%3Cpath fill=%22%23009%22 d=%22M128.65 27.24a.29.29 0 1 1-.29.29.3.3 0 0 1 .3-.29%22 data-name=%22Trazado 25326%22/%3E%3Cpath fill=%22%23009%22 d=%22M128.65 29.5a.14.14 0 1 1-.14.14.14.14 0 0 1 .14-.14%22 data-name=%22Trazado 25327%22/%3E%3Cpath fill=%22%23009%22 d=%22M126.54 29.5a.14.14 0 1 1-.14.14.14.14 0 0 1 .14-.14%22 data-name=%22Trazado 25328%22/%3E%3Cpath fill=%22%23009%22 d=%22M124.42 29.5a.14.14 0 1 1-.14.14.14.14 0 0 1 .14-.14%22 data-name=%22Trazado 25329%22/%3E%3Cpath fill=%22%23009%22 d=%22M122.3 29.5a.14.14 0 1 1-.13.14.14.14 0 0 1 .14-.14%22 data-name=%22Trazado 25330%22/%3E%3Cpath fill=%22%23009%22 d=%22M120.2 29.5a.14.14 0 1 1-.15.14.14.14 0 0 1 .14-.14%22 data-name=%22Trazado 25331%22/%3E%3Cpath fill=%22%23009%22 d=%22M127.6 23.9a.44.44 0 1 1-.45.45.44.44 0 0 1 .44-.44%22 data-name=%22Trazado 25332%22/%3E%3Cpath fill=%22%23009%22 d=%22M127.6 26.14a.32.32 0 1 1-.32.33.3.3 0 0 1 .32-.33%22 data-name=%22Trazado 25333%22/%3E%3Cpath fill=%22%23009%22 d=%22M127.6 28.38a.2.2 0 1 1-.15.06.2.2 0 0 1 .14-.06%22 data-name=%22Trazado 25334%22/%3E%3Cpath fill=%22%23009%22 d=%22M126.54 22.78a.53.53 0 1 1-.54.53.53.53 0 0 1 .54-.53%22 data-name=%22Trazado 25335%22/%3E%3Cpath fill=%22%23009%22 d=%22M126.54 25a.4.4 0 1 1-.4.42.4.4 0 0 1 .4-.41%22 data-name=%22Trazado 25336%22/%3E%3Cpath fill=%22%23009%22 d=%22M126.54 27.24a.29.29 0 1 1-.3.29.3.3 0 0 1 .3-.29%22 data-name=%22Trazado 25337%22/%3E%3Cpath fill=%22%23009%22 d=%22M125.48 23.9a.44.44 0 1 1-.44.45.44.44 0 0 1 .44-.44%22 data-name=%22Trazado 25338%22/%3E%3Cpath fill=%22%23009%22 d=%22M125.48 26.14a.32.32 0 1 1-.32.33.3.3 0 0 1 .32-.33%22 data-name=%22Trazado 25339%22/%3E%3Cpath fill=%22%23009%22 d=%22M125.48 28.38a.2.2 0 1 1-.2.2.2.2 0 0 1 .2-.2%22 data-name=%22Trazado 25340%22/%3E%3Cpath fill=%22%23009%22 d=%22M124.42 22.78a.53.53 0 1 1-.53.53.53.53 0 0 1 .53-.53%22 data-name=%22Trazado 25341%22/%3E%3Cpath fill=%22%23009%22 d=%22M124.42 25a.4.4 0 1 1-.4.42.4.4 0 0 1 .4-.41%22 data-name=%22Trazado 25342%22/%3E%3Cpath fill=%22%23009%22 d=%22M124.42 27.24a.29.29 0 1 1-.29.29.3.3 0 0 1 .3-.29%22 data-name=%22Trazado 25343%22/%3E%3Cpath fill=%22%23009%22 d=%22M123.36 23.9a.44.44 0 1 1-.44.45.44.44 0 0 1 .44-.44%22 data-name=%22Trazado 25344%22/%3E%3Cpath fill=%22%23009%22 d=%22M123.36 26.14a.32.32 0 1 1-.32.33.3.3 0 0 1 .32-.33%22 data-name=%22Trazado 25345%22/%3E%3Cpath fill=%22%23009%22 d=%22M123.36 28.38a.2.2 0 1 1-.14.06.2.2 0 0 1 .14-.06%22 data-name=%22Trazado 25346%22/%3E%3Cpath fill=%22%23009%22 d=%22M122.3 22.78a.53.53 0 1 1-.53.53.53.53 0 0 1 .54-.53%22 data-name=%22Trazado 25347%22/%3E%3Cpath fill=%22%23009%22 d=%22M122.3 25a.4.4 0 1 1-.4.42.4.4 0 0 1 .4-.41%22 data-name=%22Trazado 25348%22/%3E%3Cpath fill=%22%23009%22 d=%22M122.3 27.24a.29.29 0 1 1-.28.29.3.3 0 0 1 .29-.29%22 data-name=%22Trazado 25349%22/%3E%3Cpath fill=%22%23009%22 d=%22M121.25 23.9a.44.44 0 1 1-.44.45.44.44 0 0 1 .44-.44%22 data-name=%22Trazado 25350%22/%3E%3Cpath fill=%22%23009%22 d=%22M121.25 26.14a.32.32 0 1 1-.23.1.3.3 0 0 1 .23-.1%22 data-name=%22Trazado 25351%22/%3E%3Cpath fill=%22%23009%22 d=%22M121.25 28.38a.2.2 0 1 1-.14.06.2.2 0 0 1 .14-.06%22 data-name=%22Trazado 25352%22/%3E%3Cpath fill=%22%23009%22 d=%22M120.2 22.78a.53.53 0 1 1-.54.53.53.53 0 0 1 .53-.53%22 data-name=%22Trazado 25353%22/%3E%3Cpath fill=%22%23009%22 d=%22M120.2 25a.4.4 0 1 1-.42.42.4.4 0 0 1 .41-.41%22 data-name=%22Trazado 25354%22/%3E%3Cpath fill=%22%23009%22 d=%22M120.2 27.24a.29.29 0 1 1-.21.08.3.3 0 0 1 .2-.08%22 data-name=%22Trazado 25355%22/%3E%3Cpath fill=%22%23009%22 d=%22M113.72 41.85h-1.14v1.9h1.06c.64 0 1.01-.19 1.01-.98 0-.62-.27-.92-.94-.92m-1.67-.5h1.86a1.28 1.28 0 0 1 1.31 1.44 1.36 1.36 0 0 1-1.12 1.44l1.54 2.18h-.67l-1.46-2.16h-.92v2.16h-.55Zm1.58-1.8a4.4 4.4 0 1 0 4.39 4.38 4.4 4.4 0 0 0-4.39-4.39m0 9.34a4.94 4.94 0 1 1 3.5-1.45 5 5 0 0 1-3.5 1.45%22 data-name=%22Trazado 25356%22/%3E%3C/g%3E%3C/svg%3E", ar: 2.161, mono: false },
854
880
  "fedex": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 xml:space=%22preserve%22 viewBox=%22-0.81 -0.35 74.35 33.92%22%3E%3Cpath d=%22m59.95 7.77 2.98 3.28 2.87-3.28h6.12l-5.99 6.73L72 21.28h-6.37l-2.95-3.3-2.92 3.3h-6.15l6.01-6.75-6.01-6.76z%22 style=%22fill:%23ff5900%22 transform=%22translate(-.81 -.35)%22/%3E%3Cpath d=%22M53.61 7.77v4.57H46.8v4.19h6.81v4.75H41.79V0h11.82v4.74H46.8v3.03z%22 style=%22fill:%23ff5900%22 transform=%22translate(-.81 -.35)%22/%3E%3Cpath d=%22M36.81 0v8.71h-.05a5 5 0 0 0-4.09-1.7c-3.27 0-5.74 2.22-6.6 5.16-1-3.24-3.54-5.23-7.32-5.23-3.07 0-5.5 1.38-6.75 3.62V7.77H5.65V4.74h6.92V0H0v21.28h5.65v-8.94h5.64a9 9 0 0 0-.26 2.1c0 4.44 3.4 7.56 7.72 7.56 3.64 0 6.04-1.71 7.3-4.83h-4.84c-.65.94-1.15 1.22-2.46 1.22a2.9 2.9 0 0 1-2.83-2.9h9.87c.42 3.53 3.17 6.57 6.94 6.57 1.63 0 3.12-.8 4.03-2.15h.05v1.38h4.98V0zM16.08 12.4a2.7 2.7 0 0 1 2.67-2.23 2.6 2.6 0 0 1 2.7 2.23zm17.7 5.64c-1.83 0-2.97-1.7-2.97-3.5 0-1.9.99-3.74 2.98-3.74 2.06 0 2.88 1.83 2.88 3.74 0 1.81-.87 3.5-2.88 3.5m8.01 13.89V24.3H46v.57h-3.5v2.8h3.37v.58H42.5v3.1h3.68v.57zm4.87 0 2.05-2.74-1.95-2.6h.8l1.59 2.12 1.56-2.12h.78l-1.98 2.6 2.07 2.73h-.8l-1.7-2.26-1.63 2.26zm6.26 1.99h-.65V28.2q0-.8-.03-1.6h.63l.03.8c.4-.63.92-.92 1.71-.92 1.65 0 2.35 1.36 2.35 2.79s-.7 2.8-2.35 2.8q-1.11 0-1.7-.9zm3.36-4.66c0-1.14-.48-2.26-1.74-2.26-1.2 0-1.62.98-1.62 2.26s.43 2.25 1.62 2.25c1.26 0 1.74-1.11 1.74-2.25m3.98-2.17c-1.06 0-1.43.9-1.43 1.82v3.01h-.64v-3.76l-.03-1.57h.63l.04.77q.48-.9 1.55-.9l.3.03v.64zm1.2 2.29c0 1.2.57 2.19 1.74 2.19.9 0 1.33-.6 1.48-1.2h.62c-.29 1.11-.97 1.68-2.19 1.68-1.62 0-2.33-1.2-2.33-2.7 0-1.52.74-2.88 2.42-2.88 1.7 0 2.15 1.48 2.15 2.9zm.02-.49h3.18c0-1.04-.5-1.94-1.5-1.94-.92 0-1.55.7-1.68 1.94m6.38 3.16c-1.1 0-1.92-.52-1.92-1.68h.64c0 .8.53 1.2 1.3 1.2.74 0 1.3-.35 1.3-1.07 0-.64-.66-.8-1.35-1-.85-.25-1.76-.52-1.76-1.55 0-1.14.95-1.48 1.85-1.48 1.03 0 1.8.4 1.83 1.5h-.64c-.03-.63-.48-.98-1.17-.98-.54 0-1.19.2-1.19.9 0 .63.65.81 1.35 1 .84.23 1.77.49 1.77 1.52 0 1.2-.93 1.64-2.01 1.64m4.45 0c-1.1 0-1.91-.52-1.91-1.68h.64c0 .8.52 1.2 1.3 1.2.73 0 1.3-.35 1.3-1.07 0-.64-.66-.8-1.36-1-.84-.25-1.76-.52-1.76-1.55 0-1.14.96-1.48 1.86-1.48 1.03 0 1.8.4 1.83 1.5h-.64c-.03-.63-.49-.98-1.17-.98-.54 0-1.2.2-1.2.9 0 .63.66.81 1.36 1 .84.23 1.77.49 1.77 1.52 0 1.2-.93 1.64-2.02 1.64%22 style=%22fill:%232a007c%22 transform=%22translate(-.81 -.35)%22/%3E%3C/svg%3E", ar: 2.192, mono: false },
855
881
  "hsbc": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 xml:space=%22preserve%22 viewBox=%220 0 315.9 85%22%3E%3Cpath fill=%22%23fff%22 d=%22M42.6 0h85v85h-85z%22/%3E%3Cpath fill=%22%23db0011%22 d=%22M170.1 42.6 127.6 0v85.1zm-85 0L127.6 0h-85z%22/%3E%3Cpath fill=%22%23db0011%22 d=%22m0 42.6 42.6 42.5V0zm85.1 0L42.6 85.1h85z%22/%3E%3Cpath d=%22M207.4 45.1H192v15.2h-7.7V24.7h7.7v14.6h15.4V24.7h7.7v35.6h-7.7zM233.7 61c-7.7 0-14-3.1-14.1-11.6h7.7c.1 3.8 2.3 6.1 6.5 6.1 3.1 0 6.7-1.6 6.7-5.1 0-2.8-2.4-3.6-6.4-4.8l-2.6-.7c-5.6-1.6-11.2-3.8-11.2-10.2 0-7.9 7.4-10.6 14.1-10.6 6.9 0 12.9 2.4 13 10.3h-7.7c-.3-3.2-2.2-5.1-5.8-5.1-2.9 0-5.7 1.5-5.7 4.7 0 2.6 2.4 3.4 7.4 5l3 .9c6.1 1.9 10 4 10 10-.1 8-7.9 11.1-14.9 11.1m19.2-36.2h12.4c2.3-.1 4.7 0 7 .4 4.3 1 7.6 3.8 7.6 8.6 0 4.6-2.9 6.9-7.1 8 4.8.9 8.4 3.3 8.4 8.6 0 8.1-8 9.9-14.2 9.9h-14zm12.4 14.8c3.4 0 6.9-.7 6.9-4.8 0-3.7-3.2-4.7-6.4-4.7h-5.4v9.5zM266 55c3.6 0 7.1-.8 7.1-5.2s-3-5.2-6.7-5.2h-6.1V55zm35.2 6c-11.5 0-16.6-7.3-16.6-18.2s5.7-18.8 17-18.8c7.1 0 14 3.2 14.2 11.2h-8c-.4-3.6-2.8-5.4-6.2-5.4-7 0-9.1 7.5-9.1 13.2s2.1 12.3 8.8 12.3c3.5 0 6.1-1.9 6.6-5.5h8c-.8 8.2-7.3 11.2-14.7 11.2%22/%3E%3C/svg%3E", ar: 3.716, mono: false },
882
+ "imile": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 id=%22Layer_1%22 version=%221.1%22 viewBox=%22112 310 856 460%22%3E%3Cdefs%3E%3Cstyle%3E.st1%7Bfill:%230032a0%7D%3C/style%3E%3C/defs%3E%3Cpath d=%22M618.99 684.65h-21.53v64.79h18.97c6.74 0 12.27-1.17 16.42-3.48 4.18-2.32 7.29-5.99 9.24-10.9 1.93-4.87 2.91-11.36 2.91-19.29 0-10.22-2.2-18.04-6.54-23.25-4.36-5.22-10.91-7.87-19.46-7.87Zm15.17 31.12c0 8.7-1.31 15.07-3.9 18.93-2.55 3.81-6.71 5.74-12.37 5.74h-9.6v-46.79h10.34c5.36 0 9.33 1.77 11.78 5.25 2.49 3.53 3.76 9.21 3.76 16.87ZM673.04 702c-6.79 0-12.22 2.18-16.12 6.49-3.89 4.29-5.87 10.28-5.87 17.78s1.96 13.46 5.82 17.69c3.87 4.24 9.34 6.4 16.26 6.4 4 0 7.72-.83 11.06-2.46 3.35-1.64 5.96-3.95 7.76-6.88l.19-.3-5.63-5.42-.3.38c-3.18 4.07-7.43 6.13-12.62 6.13-3.64 0-6.53-1.03-8.6-3.07-1.99-1.96-3.26-4.87-3.78-8.65h32.45v-3.91c0-7.56-1.83-13.54-5.45-17.77-3.63-4.25-8.74-6.41-15.17-6.41m-.36 8.27c3.57 0 6.41 1.09 8.45 3.24 2.04 2.16 3.08 5.19 3.08 9.01v.2h-23.09c.46-3.91 1.66-6.98 3.58-9.13 1.97-2.2 4.66-3.32 7.98-3.32M720.44 741.75c-1.82.76-3.36 1.15-4.58 1.15-1.45 0-2.49-.35-3.1-1.04-.62-.7-.94-1.96-.94-3.73v-57.32h-9.92v57.32c0 3.99.93 7.05 2.76 9.1 1.84 2.06 4.6 3.11 8.18 3.11 3.79 0 6.94-.89 9.39-2.64l.24-.18-1.58-5.99-.47.19ZM729.86 702.91h9.92v46.53h-9.92zM734.77 684.37c-1.99 0-3.6.56-4.78 1.67-1.18 1.12-1.78 2.64-1.78 4.52s.6 3.4 1.78 4.52c1.17 1.11 2.78 1.67 4.78 1.67s3.61-.56 4.82-1.67c1.21-1.12 1.83-2.64 1.83-4.52s-.62-3.4-1.83-4.52c-1.21-1.11-2.83-1.67-4.82-1.67M769 736.9l-11.92-33.99h-10.26l17.87 46.53h8.64l17.86-46.53h-10.35zM814.48 702c-6.79 0-12.22 2.18-16.12 6.49-3.89 4.29-5.87 10.28-5.87 17.78s1.96 13.46 5.82 17.69c3.87 4.24 9.34 6.4 16.26 6.4 4 0 7.72-.83 11.06-2.46 3.35-1.64 5.96-3.95 7.76-6.88l.19-.3-5.63-5.42-.3.38c-3.18 4.07-7.43 6.13-12.62 6.13-3.64 0-6.53-1.03-8.6-3.07-1.99-1.96-3.26-4.88-3.78-8.65h32.45v-3.91c0-7.56-1.83-13.54-5.45-17.77-3.63-4.25-8.74-6.41-15.17-6.41m11.16 20.52v.2h-23.09c.46-3.91 1.66-6.98 3.58-9.13 1.97-2.2 4.66-3.32 7.98-3.32 3.57 0 6.41 1.09 8.45 3.24 2.04 2.16 3.08 5.19 3.08 9.01M867.53 702c-3.66 0-6.89.9-9.6 2.68-2.33 1.53-4.14 3.6-5.39 6.16-.01-2.7-.14-5.24-.37-7.53l-.04-.39h-9.36l.04.47c.18 2.23.27 5.96.27 11.11v34.95H853v-22.26c0-3.08.65-5.95 1.92-8.52s3.03-4.63 5.24-6.13c2.2-1.49 4.62-2.25 7.2-2.25 1.76 0 2.45.09 2.71.17l.56.16v-8.23l-.34-.08c-.82-.19-1.75-.28-2.75-.28ZM903.55 702.91l-9.93 32.18-11.17-32.18h-10.64l17.16 43.36c-1.84 4.77-3.78 8.23-5.78 10.28-1.97 2.03-4.42 3.06-7.26 3.06-1.7 0-3.18-.24-4.41-.7l-.6-.23v8.01l.33.08c2.22.55 4.22.84 5.95.84 9.11 0 15.82-5.78 19.95-17.18l17.1-47.52h-10.72ZM177.13 498.76v79.92c0 17.18-13.99 31.17-31.17 31.17s-31.3-13.99-31.3-31.17v-79.92c0-17.18 13.99-31.3 31.3-31.3 8.52 0 16.38 3.46 22.11 9.19 5.59 5.73 9.06 13.59 9.06 22.11%22 class=%22st1%22/%3E%3Cpath d=%22M177.13 418.83v79.79c0 17.32-13.99 31.3-31.17 31.3s-31.3-13.99-31.3-31.3v-79.79c0-17.18 13.99-31.17 31.3-31.17 8.52 0 16.38 3.46 22.11 9.19 5.59 5.59 9.06 13.45 9.06 21.98%22 class=%22st1%22/%3E%3Ccircle cx=%22145.91%22 cy=%22343.62%22 r=%2231.24%22 class=%22st1%22/%3E%3Cpath d=%22M177.13 498.76c0 8.66-3.46 16.38-9.06 22.11-5.73 5.59-13.59 9.06-22.11 9.06-17.32 0-31.3-13.85-31.3-31.17 0-8.52 3.46-16.38 9.19-22.11s13.45-9.19 22.11-9.19 16.38 3.46 22.11 9.19c5.59 5.73 9.06 13.59 9.06 22.11%22 style=%22fill:%233ccbda%22/%3E%3Cpath d=%22M392.62 609.86h-45.66l-52.47-148.19v148.19h-63.68V329.5h66.48l95.32 280.36Z%22 class=%22st1%22/%3E%3Cpath d=%22M442.28 329.5h66.48v280.36h-63.68V461.67l-52.47 148.19h-45.66l95.32-280.36ZM562.43 409.6h56.87v200.26h-56.87zM682.58 599.85c-9.61-9.34-14.42-22.83-14.42-40.45V312.68h56.87V560.6c0 9.61 5.87 14.42 17.62 14.42 6.67 0 14.55-1.86 23.63-5.61l8.41 29.64c-12.81 9.88-29.78 14.82-50.87 14.82-17.89 0-31.64-4.67-41.25-14.02ZM965.34 530.56H827.56c2.4 12.01 7.41 20.97 15.02 26.83 7.61 5.88 17.95 8.81 31.04 8.81 11.48 0 21.49-1.86 30.04-5.61 8.54-3.74 17.08-10.14 25.63-19.22l30.44 28.84c-7.75 13.08-19.82 23.63-36.25 31.64-16.42 8.01-34.24 12.01-53.47 12.01-31.51 0-56.21-9.14-74.1-27.44-17.89-18.29-26.83-43.59-26.83-75.9s8.94-58.2 26.83-76.9c17.89-18.69 42.46-28.04 73.69-28.04s53.33 9.28 70.29 27.83c16.95 18.56 25.43 44.13 25.43 76.7v20.43Zm-56.07-40.46c0-11.74-3.61-21.03-10.82-27.83-7.21-6.81-17.09-10.21-29.64-10.21-11.21 0-20.43 3.54-27.64 10.61-7.21 7.08-12.01 17.02-14.42 29.84h82.51v-2.4ZM590.87 324.49c17.45 0 31.6 14.15 31.6 31.6s-14.15 31.6-31.6 31.6-31.6-14.15-31.6-31.6 14.15-31.6 31.6-31.6%22 class=%22st1%22/%3E%3C/svg%3E", ar: 1.861, mono: false },
856
883
  "jtexpress": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220.63 0 998.75 209%22%3E%3Cg fill=%22red%22%3E%3Cpath d=%22M149.56 0h60.17c-15.74 69.29-31.6 138.55-47.44 207.82-53.78-.05-107.56.1-161.34.06 7.71-13.74 14.56-27.94 21.99-41.82 29.62.14 59.24.03 88.86.05C124.4 110.75 136.86 55.34 149.56 0m90.83 0h134.05c-10.56 19.06-20.98 38.2-31.6 57.24.02-5.07 1.03-10.15.33-15.19-1.03-5.79-6.09-9.84-11.33-11.84-9.46-3.61-20.81-3.55-29.5 2.08-11.92 7.26-17.2 23.7-11.15 36.4 5.61 11.14 13.97 20.6 22.57 29.52a317 317 0 0 0 33.23 29.24 23 23 0 0 0 4.07-7.44c2.91-8.48 4.75-17.29 6.45-26.08q20.77 5.93 41.54 11.89c-2.61 20.81-10.83 40.68-22.36 58.11 11.96 14.61 23.97 29.19 35.92 43.81-18.17.04-36.33-.02-54.49.03-3.93-4.09-7.7-8.33-11.63-12.41-18.28 8.5-38.43 12.66-58.52 13.31-23.29.34-47.55-4.97-66.47-19.1-10.68-10.48-16.99-25.92-15.08-40.96 1.47-12.06 7.38-23.11 14.69-32.63 9.51-12.22 21.35-22.51 34.22-31.06-14.01-15.65-23.53-36.72-20.95-58.04 1.83-9 3.98-17.93 6.01-26.88m19.88 138.34c-3.3 5.23-4.21 12.08-1.4 17.72 4.84 9.88 15.32 16.49 26.25 17.08 12.99.81 25.67-3.87 36.81-10.19-12.83-15.18-25.49-30.5-38.44-45.56-8.41 6.12-17.76 11.78-23.22 20.95%22/%3E%3Cpath d=%22M405.16 0h243.61c-4.7 4.53-9.26 9.21-13.92 13.77q-30.34-.05-60.67.01c-2.54 2.54-5.11 5.04-7.64 7.59 20.24.02 40.48-.02 60.72.02-3.96 3.57-7.31 8.09-11.63 11.08-20.3.21-40.61.07-60.91.06q-3.96 3.76-7.78 7.64c20.46.04 40.92 0 61.38.02q-8.32 8.34-16.7 16.61c-22.34.02-44.68.05-67.03-.02-12.67 50.32-25.09 100.7-37.71 151.04-19.59-.07-39.18.12-58.76-.1 11.83-50.46 25.07-100.58 37.51-150.9-30.51-.02-61.03.02-91.54-.02 10.39-18.92 20.59-37.94 31.07-56.8M889.2 138.19c4.89-7.7 13.89-11.85 22.72-12.95 8.51-.94 17.5-.27 25.24 3.68-1.82 4.86-3.68 9.7-5.45 14.57-6.69-3.04-14.53-4.87-21.71-2.52-4.16 1.26-7.57 6.15-5.31 10.38 2.65 4.41 7.7 6.42 11.92 9 6.43 3.45 12.81 8.45 14.83 15.79 2.1 8.77-.67 18.77-7.58 24.72-5.88 5.19-13.72 7.38-21.37 8.14h-7.78c-6.73-.68-13.6-1.97-19.37-5.7l5.86-14.39c7.19 3.88 15.62 6.17 23.79 4.67 4.19-.79 8.44-3.99 8.51-8.6.32-4.75-3.91-7.85-7.56-9.96-6.22-3.48-12.93-6.85-17.1-12.87-5-7.02-4.06-16.9.36-23.96m61.94-.04c4.91-7.7 13.91-11.82 22.74-12.92 8.5-.93 17.46-.23 25.2 3.68-1.82 4.86-3.69 9.7-5.45 14.58-6.12-2.81-13.05-4.44-19.75-3.11-3.45.72-7.01 2.96-7.81 6.6-.72 2.72.73 5.46 2.79 7.18 5.15 4.42 11.79 6.62 16.96 11.02 3.91 3.22 7.07 7.62 7.91 12.7 1.23 8.07-1.29 16.88-7.4 22.46-5.89 5.55-14 7.86-21.87 8.66h-7.8c-6.75-.68-13.63-1.97-19.42-5.7l5.88-14.39c7.21 3.9 15.67 6.18 23.86 4.66 4.14-.8 8.33-3.98 8.43-8.53.35-4.72-3.81-7.86-7.45-9.96-6.22-3.5-12.95-6.85-17.15-12.87-5.07-7.03-4.13-16.97.33-24.06m-391.76-11.96c16.18 0 32.35-.04 48.53.02-1.01 4.97-1.96 9.94-2.94 14.91h-30.82c-1.08 5.82-2.41 11.59-3.27 17.44 9.66-.14 19.33-.02 29-.06q-1.38 7.34-2.79 14.67c-9.7.04-19.41 0-29.12.02-1.24 6.58-2.59 13.13-3.7 19.73 10.86-.1 21.72-.02 32.58-.04l-2.8 14.93h-50.19c5.14-27.21 10.36-54.41 15.52-81.62m56.21-.01 18.53.01c3.06 9.57 6.23 19.13 8.64 28.9 1.12-.72 1.63-1.97 2.25-3.09 4.62-8.88 10.2-17.21 15.34-25.79 7-.05 14-.02 21.01-.02q-14.92 20.05-29.86 40.06c5.18 13.87 10.45 27.7 15.65 41.56-6.24-.02-12.48.06-18.72-.05-3.33-10.11-6.92-20.15-9.9-30.37a2578 2578 0 0 1-18.03 30.36c-7.06.14-14.13.03-21.19.06 10.16-13.97 20.55-27.78 30.61-41.83-4.88-13.22-9.55-26.53-14.33-39.8m75.28 1.54c9.93-2 20.24-2.83 30.31-1.47 8.21 1.14 16.8 5.46 20.08 13.51 4.28 11.17-.13 24.74-9.72 31.75-9.39 6.95-21.78 8.14-33.09 6.94l-5.58 29.37c-5.71.02-11.42-.06-17.12.04 4.88-26.74 10.1-53.43 15.12-80.14m14.89 12.35c-1.53 8.05-3.1 16.1-4.61 24.16 6.56 1.15 14.09.82 19.29-3.85 4.81-4.1 6.69-12.28 2.41-17.38-4.44-4.45-11.4-3.56-17.09-2.93m53.83-12.35c8.64-1.78 17.51-2.4 26.31-2 7.65.49 15.85 2.33 21.4 7.99 5.4 5.55 5.9 14.38 3.16 21.32-2.9 7.27-9.84 12.1-17.11 14.33 3.94 2.19 6.32 6.27 7.14 10.61 1.84 9.21 1.46 18.75 3.88 27.86-6.01-.04-12.02.01-18.02-.03-1.53-7.22-1.81-14.61-2.69-21.92-.45-3.51-1.69-7.49-5.1-9.18-3.41-1.55-7.27-.95-10.89-1.08q-3.06 16.1-6.08 32.19c-5.8.03-11.6-.03-17.39.04 5.02-26.73 10.25-53.42 15.39-80.13m14.89 12.39c-1.28 7.49-2.87 14.92-4.26 22.39 6.33.02 13.46.65 18.7-3.67 4.78-3.55 6.93-11.61 2.4-16.18-4.55-3.98-11.28-3.58-16.84-2.54m55.99-13.92h48.5q-1.44 7.47-2.91 14.93l-30.84.01c-1.11 5.79-2.26 11.57-3.36 17.36q14.53.02 29.1.01-1.37 7.35-2.79 14.68-14.56.01-29.11 0a3257 3257 0 0 0-3.76 19.7h32.63q-1.39 7.47-2.81 14.94h-50.18c5.15-27.22 10.36-54.42 15.53-81.63%22/%3E%3C/g%3E%3C/svg%3E", ar: 4.779, mono: false },
857
884
  "mastercard": { src: "data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1000 618%22%3E%3Cpath fill=%22%23EB001B%22 d=%22M308 0a309 309 0 1 0 2 0z%22/%3E%3Cpath fill=%22%23F79E1B%22 d=%22M690 0a309 309 0 1 0 2 0z%22/%3E%3Cpath fill=%22%23FF5F00%22 d=%22M500 66a309 309 0 0 0 0 486 309 309 0 0 0 0-486%22/%3E%3C/svg%3E", ar: 1.618, mono: false },
858
885
  "mercadopago": { src: "data:image/png;base64,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", ar: 3.838, mono: false },
@@ -1076,8 +1103,8 @@ function BrandMark({ brand, logoUrl, size = 24, title, className }) {
1076
1103
  const fg = found?.fg ?? "var(--sf-brand-mark-fg, #2B2F38)";
1077
1104
  const lines = text.split("\n");
1078
1105
  const longest = Math.max(...lines.map((l) => l.length));
1079
- const fontSize = lines.length > 1 ? longest <= 5 ? 11 : 9.5 : longest <= 2 ? 15 : longest <= 4 ? 12 : 10;
1080
- const fit = (l) => l.length > 5 ? { textLength: 40, lengthAdjust: "spacingAndGlyphs" } : {};
1106
+ const fontSize = lines.length > 1 ? longest <= 5 ? 11 : 9.5 : longest <= 2 ? 15 : longest <= 4 ? 16 : 10;
1107
+ const fit = (l) => l.length > 5 ? { textLength: 40, lengthAdjust: "spacingAndGlyphs" } : l.length === 4 ? { textLength: 36, lengthAdjust: "spacingAndGlyphs" } : {};
1081
1108
  const italic = found?.key === "visa" || found?.key === "fedex" ? "italic" : void 0;
1082
1109
  const common = {
1083
1110
  textAnchor: "middle",
@@ -1100,6 +1127,26 @@ function formFields(form) {
1100
1127
  for (const [k, v] of new FormData(form).entries()) if (typeof v === "string") out[k] = v;
1101
1128
  return out;
1102
1129
  }
1130
+ var CHOICE_STORAGE_PREFIX = "sf:pay-choice:";
1131
+ function readStoredChoice(scope) {
1132
+ if (!scope || typeof window === "undefined") return null;
1133
+ try {
1134
+ const raw = window.sessionStorage.getItem(CHOICE_STORAGE_PREFIX + scope);
1135
+ if (!raw) return null;
1136
+ const v = JSON.parse(raw);
1137
+ return typeof v?.choice === "string" ? v : null;
1138
+ } catch {
1139
+ return null;
1140
+ }
1141
+ }
1142
+ function writeStoredChoice(scope, value) {
1143
+ if (!scope || typeof window === "undefined") return;
1144
+ try {
1145
+ window.sessionStorage.setItem(CHOICE_STORAGE_PREFIX + scope, JSON.stringify(value));
1146
+ } catch {
1147
+ }
1148
+ }
1149
+ var EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
1103
1150
  var useHydrated = () => react.useSyncExternalStore(
1104
1151
  () => () => {
1105
1152
  },
@@ -1136,12 +1183,37 @@ function PaymentMethodSection(props) {
1136
1183
  classNames: cx = {},
1137
1184
  testIds = {},
1138
1185
  hideSubmit,
1139
- brickProps
1186
+ brickProps,
1187
+ rememberChoice = true,
1188
+ cashPointsVisible,
1189
+ payerEmailField = "email"
1140
1190
  } = props;
1141
1191
  const locale = useResolvedLocale(props.locale);
1142
1192
  const m = react.useMemo(() => paymentMethodMessages(locale, props.messages), [locale, props.messages]);
1143
1193
  const hydrated = useHydrated();
1144
- const [choiceValue2, setChoiceValue] = react.useState(props.defaultChoice ?? choices.defaultValue);
1194
+ const [choiceValue2, setChoiceValueState] = react.useState(props.defaultChoice ?? choices.defaultValue);
1195
+ const remember = rememberChoice && Boolean(scope);
1196
+ const rootRef = react.useRef(null);
1197
+ const [storedPoint, setStoredPoint] = react.useState(null);
1198
+ const setChoiceValue = (v) => {
1199
+ setChoiceValueState(v);
1200
+ if (remember) writeStoredChoice(scope, { choice: v, point: readCheckedPoint(rootRef.current) });
1201
+ };
1202
+ react.useEffect(() => {
1203
+ if (!remember) return;
1204
+ const stored = readStoredChoice(scope);
1205
+ if (!stored) return;
1206
+ if (choices.choices.some((c) => c.value === stored.choice)) setChoiceValueState(stored.choice);
1207
+ if (stored.point) setStoredPoint(stored.point);
1208
+ }, [remember, scope]);
1209
+ react.useEffect(() => {
1210
+ if (!storedPoint || !rootRef.current) return;
1211
+ const input = Array.from(rootRef.current.querySelectorAll(`input[name="${CASH_POINT_FIELD}"]`)).find((i) => i.value === storedPoint);
1212
+ if (input) input.checked = true;
1213
+ }, [storedPoint, choiceValue2]);
1214
+ const onPointChange = (point) => {
1215
+ if (remember && choiceValue2) writeStoredChoice(scope, { choice: choiceValue2, point });
1216
+ };
1145
1217
  const selected = choices.choices.find((c) => c.value === choiceValue2) ?? null;
1146
1218
  const noPayment = choices.choices.length === 0;
1147
1219
  const tid = (k) => testIds[k] ? { "data-testid": testIds[k] } : {};
@@ -1192,8 +1264,33 @@ function PaymentMethodSection(props) {
1192
1264
  }
1193
1265
  onEvent?.(e);
1194
1266
  };
1267
+ const [payerEmail, setPayerEmail] = react.useState(void 0);
1268
+ react.useEffect(() => {
1269
+ const form = formRef.current;
1270
+ if (!payerEmailField || !form) return;
1271
+ const selector = `[name="${typeof CSS !== "undefined" && CSS.escape ? CSS.escape(payerEmailField) : payerEmailField}"]`;
1272
+ const read = () => {
1273
+ const v = String(form.querySelector(selector)?.value ?? "").trim();
1274
+ setPayerEmail(EMAIL_RE.test(v) ? v : void 0);
1275
+ };
1276
+ read();
1277
+ const onChange = (e) => {
1278
+ if (e.target?.name === payerEmailField) read();
1279
+ };
1280
+ form.addEventListener("change", onChange);
1281
+ return () => form.removeEventListener("change", onChange);
1282
+ }, [formRef, payerEmailField]);
1195
1283
  const total = wantSync && (!settled || requote) ? null : renderAmount ? renderAmount(amount) : storefront.formatMoney(amount, locale);
1196
- const label = retryAddress ? m.retryAddress : addressFirst ? m.continue : selected?.mode === "plain" || !selected ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1284
+ const label = retryAddress ? m.retryAddress : addressFirst ? m.continue : !deliveryReady && selected ? (
1285
+ // Says what is missing instead of a button that silently does nothing.
1286
+ m.chooseDelivery
1287
+ ) : selected?.mode === "cash" ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1288
+ m.placeOrderCash,
1289
+ total ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1290
+ " ",
1291
+ total
1292
+ ] }) : null
1293
+ ] }) : selected?.mode === "plain" || !selected ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1197
1294
  m.pay,
1198
1295
  total ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1199
1296
  " ",
@@ -1207,6 +1304,11 @@ function PaymentMethodSection(props) {
1207
1304
  ] }) : null
1208
1305
  ] });
1209
1306
  function onPayClick(event) {
1307
+ if (!addressFirst && !retryAddress && !deliveryReady && selected) {
1308
+ event.preventDefault();
1309
+ formRef.current?.reportValidity();
1310
+ return;
1311
+ }
1210
1312
  if (!cardActive || syncFailed) return;
1211
1313
  event.preventDefault();
1212
1314
  const form = formRef.current;
@@ -1215,7 +1317,7 @@ function PaymentMethodSection(props) {
1215
1317
  }
1216
1318
  const cardNotice = (k, node) => k === "syncFailed" ? /* @__PURE__ */ jsxRuntime.jsx("p", { role: "alert", className: cx.alert, "data-sf-pay-notice": "sync-failed", ...tid("syncFailed"), children: node }) : /* @__PURE__ */ jsxRuntime.jsx("p", { role: "status", className: cx.status, "data-sf-pay-notice": k, ...k === "syncing" ? tid("syncing") : {}, children: node });
1217
1319
  const Link = renderLink ?? (({ href, className, children, testId }) => /* @__PURE__ */ jsxRuntime.jsx("a", { href, className, ...testId ? { "data-testid": testId } : {}, children }));
1218
- return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { id: "pago", className: cx.root, "data-sf-pay-method": true, children: [
1320
+ return /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { id: "pago", ref: rootRef, className: cx.root, "data-sf-pay-method": true, children: [
1219
1321
  /* @__PURE__ */ jsxRuntime.jsx("legend", { className: cx.legend, children: m.legend }),
1220
1322
  choices.choices.map((choice) => {
1221
1323
  const { label: rowLabel, hint } = rowText(choice, m, methodLabel);
@@ -1223,6 +1325,7 @@ function PaymentMethodSection(props) {
1223
1325
  const slot = choice.option ?? "plain";
1224
1326
  const icon = icons?.[slot] ?? (brandMarks ? defaultIcon(choice) : null);
1225
1327
  const marks = brandMarks ? rowMarks(choice, cardBrands) : [];
1328
+ const brandMarkIcon = !icons?.[slot] && brandMarks && choice.option !== "card" && choice.option !== "cash" && !!findBrand(choice.methodKey);
1226
1329
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx.choice, "data-sf-pay-choice": true, children: [
1227
1330
  /* @__PURE__ */ jsxRuntime.jsxs("label", { className: cx.radioLabel, children: [
1228
1331
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1240,7 +1343,11 @@ function PaymentMethodSection(props) {
1240
1343
  ...tid("method")
1241
1344
  }
1242
1345
  ),
1243
- icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx.icon, "aria-hidden": "true", children: icon }) : null,
1346
+ icon ? (
1347
+ // The default mark of a provider row is as wide as its logo: it does not take the shop's `icon` box (a fixed
1348
+ // square would let the logo spill over the radio and the text).
1349
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: brandMarkIcon ? void 0 : cx.icon, "data-sf-pay-icon": brandMarkIcon ? "mark" : void 0, "aria-hidden": "true", children: icon })
1350
+ ) : null,
1244
1351
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cx.labelText, children: [
1245
1352
  rowLabel,
1246
1353
  hint ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cx.hint, children: [
@@ -1250,38 +1357,40 @@ function PaymentMethodSection(props) {
1250
1357
  ] }),
1251
1358
  marks.length ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cx.brands, "data-sf-pay-brands": choice.option ?? "plain", "aria-hidden": "true", children: marks.map((mk) => /* @__PURE__ */ jsxRuntime.jsx(BrandMark, { brand: mk.key, logoUrl: mk.logoUrl ?? null, size: 20 }, mk.key)) }) : null
1252
1359
  ] }),
1253
- /* @__PURE__ */ jsxRuntime.jsx(ChoicePanel, { choice, m, invalid, cx, tid, hidden: hydrated && !checked, marks: brandMarks })
1360
+ /* @__PURE__ */ jsxRuntime.jsx(ChoicePanel, { choice, m, invalid, cx, tid, hidden: hydrated && !checked, marks: brandMarks, visible: cashPointsVisible, openMore: storedPoint, onPointChange }),
1361
+ choice.mode === "card" && checked && cardChosen && hydrated && choices.cardClient ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx.brickWrap, "data-sf-pay-card": true, ...tid("card"), children: [
1362
+ fallback ? null : !deliveryReady ? cardNotice("pickDelivery", m.pickDeliveryFirst) : syncFailed ? cardNotice("syncFailed", m.syncFailed) : requote ? cardNotice("requote", m.quoteChanged) : !synced ? cardNotice("syncing", m.updatingTotal) : null,
1363
+ brickReady || fallback ? /* @__PURE__ */ jsxRuntime.jsx(
1364
+ PaymentBrick,
1365
+ {
1366
+ ...brickProps,
1367
+ ref: brick,
1368
+ client: choices.cardClient,
1369
+ amount,
1370
+ transport,
1371
+ ...nonce ? { nonce } : {},
1372
+ locale,
1373
+ ...scope ? { scope } : {},
1374
+ ...payerEmail && !brickProps?.email ? { email: payerEmail } : {},
1375
+ enabled: brickReady,
1376
+ ...cx.brick ? { className: cx.brick } : {},
1377
+ onEvent: handleEvent,
1378
+ onFallback: () => setFallback(true),
1379
+ onResult: (o) => {
1380
+ if (o.kind === "approved" || o.kind === "in_review" || o.kind === "voucher") onDone(o);
1381
+ }
1382
+ },
1383
+ payerEmail || brickProps?.email ? "with-email" : "without-email"
1384
+ ) : null,
1385
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: cx.note, children: m.secureCard }),
1386
+ expired && rebuildHref ? Link({ href: rebuildHref, ...cx.rebuild ? { className: cx.rebuild } : {}, children: m.rebuildCart, ...testIds.rebuild ? { testId: testIds.rebuild } : {} }) : null
1387
+ ] }) : null
1254
1388
  ] }, choice.value);
1255
1389
  }),
1256
1390
  noPayment ? /* @__PURE__ */ jsxRuntime.jsxs("div", { role: "alert", className: cx.alert, "data-sf-pay-notice": "no-payment", ...tid("noPayment"), children: [
1257
1391
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: /* @__PURE__ */ jsxRuntime.jsx("strong", { children: m.noPaymentTitle }) }),
1258
1392
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: m.noPayment })
1259
1393
  ] }) : null,
1260
- cardChosen && hydrated && choices.cardClient ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx.brickWrap, "data-sf-pay-card": true, ...tid("card"), children: [
1261
- fallback ? null : !deliveryReady ? cardNotice("pickDelivery", m.pickDeliveryFirst) : syncFailed ? cardNotice("syncFailed", m.syncFailed) : requote ? cardNotice("requote", m.quoteChanged) : !synced ? cardNotice("syncing", m.updatingTotal) : null,
1262
- brickReady || fallback ? /* @__PURE__ */ jsxRuntime.jsx(
1263
- PaymentBrick,
1264
- {
1265
- ...brickProps,
1266
- ref: brick,
1267
- client: choices.cardClient,
1268
- amount,
1269
- transport,
1270
- ...nonce ? { nonce } : {},
1271
- locale,
1272
- ...scope ? { scope } : {},
1273
- enabled: brickReady,
1274
- ...cx.brick ? { className: cx.brick } : {},
1275
- onEvent: handleEvent,
1276
- onFallback: () => setFallback(true),
1277
- onResult: (o) => {
1278
- if (o.kind === "approved" || o.kind === "in_review" || o.kind === "voucher") onDone(o);
1279
- }
1280
- }
1281
- ) : null,
1282
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: cx.note, children: m.secureCard }),
1283
- expired && rebuildHref ? Link({ href: rebuildHref, ...cx.rebuild ? { className: cx.rebuild } : {}, children: m.rebuildCart, ...testIds.rebuild ? { testId: testIds.rebuild } : {} }) : null
1284
- ] }) : null,
1285
1394
  noPayment || choices.choices.some((c) => c.option) ? null : /* @__PURE__ */ jsxRuntime.jsx("p", { className: cx.note, children: m.paymentNote }),
1286
1395
  hideSubmit ? null : /* @__PURE__ */ jsxRuntime.jsx(
1287
1396
  "button",
@@ -1310,16 +1419,33 @@ function ChoicePanel({
1310
1419
  cx,
1311
1420
  tid,
1312
1421
  hidden,
1313
- marks = true
1422
+ marks = true,
1423
+ visible,
1424
+ openMore,
1425
+ onPointChange
1314
1426
  }) {
1315
1427
  if (choice.mode === "redirect") {
1316
1428
  return /* @__PURE__ */ jsxRuntime.jsx("p", { className: cx.panel, hidden, "data-sf-pay-panel": "redirect", ...tid("redirectNote"), children: m.redirectNote });
1317
1429
  }
1318
1430
  if (choice.mode !== "cash") return null;
1319
- const main = choice.points.filter((p) => p.group === "main");
1320
- const more = choice.points.filter((p) => p.group !== "main");
1431
+ const allMain = choice.points.filter((p) => p.group === "main");
1432
+ const cut = typeof visible === "number" && visible > 0 ? visible : allMain.length;
1433
+ const main = allMain.slice(0, cut);
1434
+ const more = [...allMain.slice(cut), ...choice.points.filter((p) => p.group !== "main")];
1435
+ const moreOpen = Boolean(openMore && more.some((p) => p.id === openMore));
1321
1436
  const row = (p, i, first) => /* @__PURE__ */ jsxRuntime.jsxs("label", { className: cx.cashPoint, "data-sf-pay-point": true, children: [
1322
- /* @__PURE__ */ jsxRuntime.jsx("input", { type: "radio", name: CASH_POINT_FIELD, value: p.id, defaultChecked: first && i === 0, className: cx.cashPointInput, "aria-invalid": invalid?.has("cash_point") || void 0 }),
1437
+ /* @__PURE__ */ jsxRuntime.jsx(
1438
+ "input",
1439
+ {
1440
+ type: "radio",
1441
+ name: CASH_POINT_FIELD,
1442
+ value: p.id,
1443
+ defaultChecked: first && i === 0,
1444
+ className: cx.cashPointInput,
1445
+ "aria-invalid": invalid?.has("cash_point") || void 0,
1446
+ ...onPointChange ? { onChange: () => onPointChange(p.id) } : {}
1447
+ }
1448
+ ),
1323
1449
  marks ? /* @__PURE__ */ jsxRuntime.jsx(BrandMark, { brand: p.payment_point || p.id, logoUrl: p.logo_url ?? null, size: 22 }) : null,
1324
1450
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: p.label })
1325
1451
  ] }, p.id);
@@ -1327,7 +1453,7 @@ function ChoicePanel({
1327
1453
  /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { children: [
1328
1454
  /* @__PURE__ */ jsxRuntime.jsx("legend", { children: m.cashPoints }),
1329
1455
  /* @__PURE__ */ jsxRuntime.jsx("div", { "data-sf-pay-points": true, children: main.map((p, i) => row(p, i, true)) }),
1330
- more.length ? /* @__PURE__ */ jsxRuntime.jsxs("details", { children: [
1456
+ more.length ? /* @__PURE__ */ jsxRuntime.jsxs("details", { ...moreOpen ? { open: true } : {}, children: [
1331
1457
  /* @__PURE__ */ jsxRuntime.jsx("summary", { className: cx.cashMore, style: { minHeight: 44 }, children: m.cashMore }),
1332
1458
  /* @__PURE__ */ jsxRuntime.jsx("div", { "data-sf-pay-points": true, children: more.map((p, i) => row(p, i, false)) })
1333
1459
  ] }) : null
@@ -1343,6 +1469,10 @@ function defaultIcon(choice) {
1343
1469
  if (choice.option === "cash") return glyph(CASH_GLYPH);
1344
1470
  return findBrand(choice.methodKey) ? /* @__PURE__ */ jsxRuntime.jsx(BrandMark, { brand: choice.methodKey, size: 24 }) : null;
1345
1471
  }
1472
+ function readCheckedPoint(root) {
1473
+ const el = root?.querySelector(`input[name="${CASH_POINT_FIELD}"]:checked`);
1474
+ return el?.value ?? null;
1475
+ }
1346
1476
  function rowMarks(choice, cardBrands) {
1347
1477
  if (choice.option === "card") return cardBrands.map((key) => ({ key }));
1348
1478
  if (choice.option === "cash") {
@@ -1484,6 +1614,7 @@ exports.paymentCspMode = paymentCspMode;
1484
1614
  exports.paymentMethodMessages = paymentMethodMessages;
1485
1615
  exports.paymentNonce = paymentNonce;
1486
1616
  exports.paymentNonceFromHeaders = paymentNonceFromHeaders;
1617
+ exports.readPaymentScheme = readPaymentScheme;
1487
1618
  exports.readPaymentTheme = readPaymentTheme;
1488
1619
  exports.resetPaymentSdkCache = resetPaymentSdkCache;
1489
1620
  exports.sanitizeMercadoPagoFormData = sanitizeMercadoPagoFormData;