@nice2dev/ui-money 1.2.2 → 1.3.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.mjs CHANGED
@@ -1,10 +1,10 @@
1
- var tt = Object.defineProperty;
2
- var rt = (t, e, r) => e in t ? tt(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
- var G = (t, e, r) => rt(t, typeof e != "symbol" ? e + "" : e, r);
4
- import nt, { useState as H, useRef as at, useEffect as ct, useMemo as K, useCallback as j, forwardRef as se, useId as _e } from "react";
5
- import { jsxs as _, jsx as c, Fragment as it } from "react/jsx-runtime";
6
- import { useNiceTranslation as oe, NiceIcon as Pe, useControllableState as Me, NiceTutorialButton as st, resolveTutorial as ot } from "@nice2dev/ui-core";
7
- const fe = [
1
+ var it = Object.defineProperty;
2
+ var st = (t, e, r) => e in t ? it(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
+ var Z = (t, e, r) => st(t, typeof e != "symbol" ? e + "" : e, r);
4
+ import ot, { useState as j, useRef as Re, useEffect as lt, useMemo as B, useCallback as Y, forwardRef as se, useId as Ne } from "react";
5
+ import { jsxs as _, jsx as c, Fragment as dt } from "react/jsx-runtime";
6
+ import { useNiceTranslation as oe, useEngage as ut, NiceIcon as ve, useControllableState as Ue, NiceTutorialButton as mt, resolveTutorial as pt } from "@nice2dev/ui-core";
7
+ const _e = [
8
8
  // ── Majors ─────────────────────────────────────
9
9
  { code: "USD", numeric: 840, symbol: "$", name: "US Dollar", decimals: 2, symbolFirst: !0 },
10
10
  { code: "EUR", numeric: 978, symbol: "€", name: "Euro", decimals: 2, symbolFirst: !0 },
@@ -226,56 +226,56 @@ const fe = [
226
226
  { code: "ETH", numeric: 0, symbol: "Ξ", name: "Ether", decimals: 8, symbolFirst: !0 },
227
227
  { code: "USDC", numeric: 0, symbol: "USDC", name: "USD Coin", decimals: 6 },
228
228
  { code: "USDT", numeric: 0, symbol: "USDT", name: "Tether", decimals: 6 }
229
- ], Le = new Map(fe.map((t) => [t.code, t]));
230
- function re(t) {
231
- return Le.get(t.toUpperCase());
229
+ ], Ye = new Map(_e.map((t) => [t.code, t]));
230
+ function te(t) {
231
+ return Ye.get(t.toUpperCase());
232
232
  }
233
- function er(t) {
234
- Le.set(t.code.toUpperCase(), t);
235
- const e = fe.findIndex((r) => r.code === t.code);
236
- e >= 0 ? fe[e] = t : fe.push(t);
233
+ function cr(t) {
234
+ Ye.set(t.code.toUpperCase(), t);
235
+ const e = _e.findIndex((r) => r.code === t.code);
236
+ e >= 0 ? _e[e] = t : _e.push(t);
237
237
  }
238
- function ce(t, e) {
239
- const r = re(e), n = (r == null ? void 0 : r.decimals) ?? 2, a = Math.pow(10, n);
238
+ function ae(t, e) {
239
+ const r = te(e), n = (r == null ? void 0 : r.decimals) ?? 2, a = Math.pow(10, n);
240
240
  return { amount: (t < 0 ? -1 : 1) * Math.round(Math.abs(t) * a), currency: e.toUpperCase() };
241
241
  }
242
- function He(t) {
243
- const e = re(t.currency), r = (e == null ? void 0 : e.decimals) ?? 2;
242
+ function Ge(t) {
243
+ const e = te(t.currency), r = (e == null ? void 0 : e.decimals) ?? 2;
244
244
  return t.amount / Math.pow(10, r);
245
245
  }
246
- function lt(t, e) {
246
+ function yt(t, e) {
247
247
  return t.currency.toUpperCase() === e.currency.toUpperCase();
248
248
  }
249
- function $e(t, e, r) {
250
- if (!lt(t, e))
249
+ function Te(t, e, r) {
250
+ if (!yt(t, e))
251
251
  throw new Error(`Cannot ${r} different currencies: ${t.currency} vs ${e.currency}`);
252
252
  }
253
253
  function ye(t, e) {
254
- return $e(t, e, "add"), { amount: t.amount + e.amount, currency: t.currency };
254
+ return Te(t, e, "add"), { amount: t.amount + e.amount, currency: t.currency };
255
255
  }
256
- function dt(t, e) {
257
- return $e(t, e, "subtract"), { amount: t.amount - e.amount, currency: t.currency };
256
+ function ht(t, e) {
257
+ return Te(t, e, "subtract"), { amount: t.amount - e.amount, currency: t.currency };
258
258
  }
259
- function Se(t, e) {
259
+ function Ae(t, e) {
260
260
  return {
261
261
  amount: (t.amount * e < 0 ? -1 : 1) * Math.round(Math.abs(t.amount * e)),
262
262
  currency: t.currency
263
263
  };
264
264
  }
265
- function tr(t, e) {
266
- return $e(t, e, "compare"), t.amount - e.amount;
265
+ function ir(t, e) {
266
+ return Te(t, e, "compare"), t.amount - e.amount;
267
267
  }
268
- function rr(t) {
268
+ function sr(t) {
269
269
  return t.amount === 0;
270
270
  }
271
- function nr(t) {
271
+ function or(t) {
272
272
  return t.amount < 0;
273
273
  }
274
- function ar(t) {
274
+ function lr(t) {
275
275
  return { amount: -t.amount, currency: t.currency };
276
276
  }
277
277
  function ie(t, e = {}) {
278
- const r = re(t.currency), n = e.decimals ?? (r == null ? void 0 : r.decimals) ?? 2, a = t.amount / Math.pow(10, n);
278
+ const r = te(t.currency), n = e.decimals ?? (r == null ? void 0 : r.decimals) ?? 2, a = t.amount / Math.pow(10, n);
279
279
  try {
280
280
  return new Intl.NumberFormat(e.locale, {
281
281
  style: "currency",
@@ -285,11 +285,11 @@ function ie(t, e = {}) {
285
285
  currencyDisplay: e.currencyDisplay ?? "symbol"
286
286
  }).format(a);
287
287
  } catch {
288
- const i = (r == null ? void 0 : r.symbol) ?? t.currency, d = a.toFixed(n);
289
- return r != null && r.symbolFirst ? `${i}${d}` : `${d} ${i}`;
288
+ const s = (r == null ? void 0 : r.symbol) ?? t.currency, d = a.toFixed(n);
289
+ return r != null && r.symbolFirst ? `${s}${d}` : `${d} ${s}`;
290
290
  }
291
291
  }
292
- function ut(t, e) {
292
+ function ft(t, e) {
293
293
  if (!t)
294
294
  return null;
295
295
  let r = t.replace(/[^\d.,-]/g, "").trim();
@@ -297,92 +297,92 @@ function ut(t, e) {
297
297
  return null;
298
298
  const n = r.startsWith("-");
299
299
  n && (r = r.slice(1));
300
- const a = r.lastIndexOf("."), i = r.lastIndexOf(","), d = Math.max(a, i);
301
- let s, o = "";
302
- d === -1 ? s = r : (s = r.slice(0, d).replace(/[.,]/g, ""), o = r.slice(d + 1).replace(/[.,]/g, ""));
303
- const l = `${s}.${o || "0"}`, y = parseFloat(l);
304
- return Number.isFinite(y) ? ce(n ? -y : y, e) : null;
300
+ const a = r.lastIndexOf("."), s = r.lastIndexOf(","), d = Math.max(a, s);
301
+ let i, o = "";
302
+ d === -1 ? i = r : (i = r.slice(0, d).replace(/[.,]/g, ""), o = r.slice(d + 1).replace(/[.,]/g, ""));
303
+ const l = `${i}.${o || "0"}`, y = parseFloat(l);
304
+ return Number.isFinite(y) ? ae(n ? -y : y, e) : null;
305
305
  }
306
- function ke(t) {
306
+ function Me(t) {
307
307
  const e = (t || "").replace(/\D/g, "");
308
308
  return e ? /^4/.test(e) ? "visa" : /^(5[1-5]|2(2[2-9]|[3-6]\d|7[01]|720))/.test(e) ? "mastercard" : /^3[47]/.test(e) ? "amex" : /^(6011|65|64[4-9]|622(12[6-9]|1[3-9]\d|[2-8]\d\d|9[01]\d|92[0-5]))/.test(e) ? "discover" : /^3(0[0-5]|[68])/.test(e) ? "diners" : /^35(2[89]|[3-8])/.test(e) ? "jcb" : /^62/.test(e) ? "unionpay" : /^(50|5[6-9]|6[0-9])/.test(e) ? "maestro" : /^(2200|2201|2202|2203|2204)/.test(e) ? "mir" : /^(4011|4312|4389|4514|4576|5041|5066|5067|509|6277|6362|6363|650|6516|6550)/.test(e) ? "elo" : /^(606282|3841)/.test(e) ? "hipercard" : "unknown" : "unknown";
309
309
  }
310
- function ze(t) {
310
+ function Ze(t) {
311
311
  const e = (t || "").replace(/\D/g, "");
312
312
  if (e.length < 12 || e.length > 19)
313
313
  return !1;
314
314
  let r = 0, n = !1;
315
315
  for (let a = e.length - 1; a >= 0; a--) {
316
- let i = e.charCodeAt(a) - 48;
317
- n && (i *= 2, i > 9 && (i -= 9)), r += i, n = !n;
316
+ let s = e.charCodeAt(a) - 48;
317
+ n && (s *= 2, s > 9 && (s -= 9)), r += s, n = !n;
318
318
  }
319
319
  return r % 10 === 0;
320
320
  }
321
- function mt(t, e) {
322
- const r = (t || "").replace(/\D/g, ""), n = e ?? ke(r);
321
+ function bt(t, e) {
322
+ const r = (t || "").replace(/\D/g, ""), n = e ?? Me(r);
323
323
  return n === "amex" ? [r.slice(0, 4), r.slice(4, 10), r.slice(10, 15)].filter(Boolean).join(" ") : n === "diners" ? [r.slice(0, 4), r.slice(4, 10), r.slice(10, 14)].filter(Boolean).join(" ") : (r.match(/.{1,4}/g) ?? []).join(" ").trim();
324
324
  }
325
- function cr(t, e) {
325
+ function dr(t, e) {
326
326
  const r = (t || "").replace(/\D/g, "");
327
327
  if (r.length < 4)
328
328
  return r;
329
- const n = r.slice(-4), a = "*".repeat(r.length - 4) + n, i = e ?? ke(r);
330
- return i === "amex" ? [a.slice(0, 4), a.slice(4, 10), a.slice(10, 15)].filter(Boolean).join(" ") : i === "diners" ? [a.slice(0, 4), a.slice(4, 10), a.slice(10, 14)].filter(Boolean).join(" ") : (a.match(/.{1,4}/g) ?? []).join(" ").trim();
329
+ const n = r.slice(-4), a = "*".repeat(r.length - 4) + n, s = e ?? Me(r);
330
+ return s === "amex" ? [a.slice(0, 4), a.slice(4, 10), a.slice(10, 15)].filter(Boolean).join(" ") : s === "diners" ? [a.slice(0, 4), a.slice(4, 10), a.slice(10, 14)].filter(Boolean).join(" ") : (a.match(/.{1,4}/g) ?? []).join(" ").trim();
331
331
  }
332
- function je(t) {
332
+ function Je(t) {
333
333
  const e = (t || "").replace(/\D/g, "");
334
334
  if (e.length < 3)
335
335
  return null;
336
336
  const r = e.slice(0, 2), n = e.length >= 4 ? e.slice(-2) : e.slice(2, 4), a = parseInt(r, 10);
337
337
  return !Number.isFinite(a) || a < 1 || a > 12 ? null : `${r}/${n}`;
338
338
  }
339
- function Ye(t, e = /* @__PURE__ */ new Date()) {
340
- const r = je(t);
339
+ function Xe(t, e = /* @__PURE__ */ new Date()) {
340
+ const r = Je(t);
341
341
  if (!r)
342
342
  return !1;
343
- const [n, a] = r.split("/"), i = parseInt(n, 10), d = 2e3 + parseInt(a, 10);
344
- return new Date(d, i, 0, 23, 59, 59, 999).getTime() >= e.getTime();
343
+ const [n, a] = r.split("/"), s = parseInt(n, 10), d = 2e3 + parseInt(a, 10);
344
+ return new Date(d, s, 0, 23, 59, 59, 999).getTime() >= e.getTime();
345
345
  }
346
346
  function be(t) {
347
347
  return t === "amex" ? 4 : 3;
348
348
  }
349
- function qe(t, e = {}) {
349
+ function Le(t, e = {}) {
350
350
  var l;
351
- const r = {}, n = ke(t.number), a = ze(t.number);
351
+ const r = {}, n = Me(t.number), a = Ze(t.number);
352
352
  a || (r.number = "Invalid card number");
353
- const i = Ye(t.expiry, e.now);
354
- i || (r.expiry = "Invalid or expired");
355
- const s = (t.cvc || "").replace(/\D/g, "").length === be(n);
356
- s || (r.cvc = `CVC must be ${be(n)} digits`);
353
+ const s = Xe(t.expiry, e.now);
354
+ s || (r.expiry = "Invalid or expired");
355
+ const i = (t.cvc || "").replace(/\D/g, "").length === be(n);
356
+ i || (r.cvc = `CVC must be ${be(n)} digits`);
357
357
  const o = !e.requireHolder || (((l = t.holderName) == null ? void 0 : l.trim().length) ?? 0) >= 2;
358
358
  return o || (r.holderName = "Cardholder name required"), {
359
359
  brand: n,
360
360
  numberValid: a,
361
- expiryValid: i,
362
- cvcValid: s,
361
+ expiryValid: s,
362
+ cvcValid: i,
363
363
  holderValid: o,
364
- isValid: a && i && s && o,
364
+ isValid: a && s && i && o,
365
365
  errors: r
366
366
  };
367
367
  }
368
- class ir {
368
+ class ur {
369
369
  constructor(e) {
370
- G(this, "id", "static");
370
+ Z(this, "id", "static");
371
371
  this.rates = e;
372
372
  }
373
373
  async getRate(e, r) {
374
374
  const n = e.toUpperCase(), a = r.toUpperCase();
375
375
  if (n === a)
376
376
  return { base: n, quote: a, rate: 1, asOf: (/* @__PURE__ */ new Date()).toISOString() };
377
- const i = this.rates.find((l) => l.base === n && l.quote === a);
378
- if (i)
379
- return i;
377
+ const s = this.rates.find((l) => l.base === n && l.quote === a);
378
+ if (s)
379
+ return s;
380
380
  const d = this.rates.find((l) => l.base === a && l.quote === n);
381
381
  if (d)
382
382
  return { base: n, quote: a, rate: 1 / d.rate, asOf: d.asOf };
383
- const s = this.rates.find((l) => l.base === n && l.quote === "USD") ?? this.rates.find((l) => l.base === "USD" && l.quote === n), o = this.rates.find((l) => l.base === "USD" && l.quote === a) ?? this.rates.find((l) => l.base === a && l.quote === "USD");
384
- if (s && o) {
385
- const l = s.base === "USD" ? 1 / s.rate : s.rate, y = o.base === "USD" ? o.rate : 1 / o.rate;
383
+ const i = this.rates.find((l) => l.base === n && l.quote === "USD") ?? this.rates.find((l) => l.base === "USD" && l.quote === n), o = this.rates.find((l) => l.base === "USD" && l.quote === a) ?? this.rates.find((l) => l.base === a && l.quote === "USD");
384
+ if (i && o) {
385
+ const l = i.base === "USD" ? 1 / i.rate : i.rate, y = o.base === "USD" ? o.rate : 1 / o.rate;
386
386
  return {
387
387
  base: n,
388
388
  quote: a,
@@ -393,11 +393,11 @@ class ir {
393
393
  throw new Error(`No FX rate for ${n}/${a}`);
394
394
  }
395
395
  }
396
- class Ce {
396
+ class Ie {
397
397
  constructor(e = {}) {
398
- G(this, "cache", /* @__PURE__ */ new Map());
399
- G(this, "fetchImpl");
400
- G(this, "ttl");
398
+ Z(this, "cache", /* @__PURE__ */ new Map());
399
+ Z(this, "fetchImpl");
400
+ Z(this, "ttl");
401
401
  this.fetchImpl = e.fetchImpl ?? fetch, this.ttl = e.cacheTtl ?? 6e4;
402
402
  }
403
403
  cacheKey(e, r) {
@@ -414,141 +414,141 @@ class Ce {
414
414
  });
415
415
  }
416
416
  }
417
- class pt extends Ce {
417
+ class _t extends Ie {
418
418
  constructor(r = {}) {
419
419
  super(r);
420
- G(this, "id", "frankfurter");
420
+ Z(this, "id", "frankfurter");
421
421
  }
422
422
  async getRate(r, n) {
423
- const a = r.toUpperCase(), i = n.toUpperCase();
424
- if (a === i)
425
- return { base: a, quote: i, rate: 1, asOf: (/* @__PURE__ */ new Date()).toISOString() };
426
- const d = this.getCached(a, i);
423
+ const a = r.toUpperCase(), s = n.toUpperCase();
424
+ if (a === s)
425
+ return { base: a, quote: s, rate: 1, asOf: (/* @__PURE__ */ new Date()).toISOString() };
426
+ const d = this.getCached(a, s);
427
427
  if (d)
428
428
  return d;
429
- const s = `https://api.frankfurter.app/latest?from=${a}&to=${i}`, o = await this.fetchImpl(s);
429
+ const i = `https://api.frankfurter.app/latest?from=${a}&to=${s}`, o = await this.fetchImpl(i);
430
430
  if (!o.ok)
431
431
  throw new Error(`Frankfurter HTTP ${o.status}`);
432
- const l = await o.json(), y = l.rates[i];
432
+ const l = await o.json(), y = l.rates[s];
433
433
  if (y == null)
434
- throw new Error(`Frankfurter: no rate for ${a}/${i}`);
435
- const N = { base: a, quote: i, rate: y, asOf: l.date };
434
+ throw new Error(`Frankfurter: no rate for ${a}/${s}`);
435
+ const N = { base: a, quote: s, rate: y, asOf: l.date };
436
436
  return this.setCached(N), N;
437
437
  }
438
438
  }
439
- class yt extends Ce {
439
+ class gt extends Ie {
440
440
  constructor(r, n = {}) {
441
441
  super(n);
442
- G(this, "id", "openexchangerates");
442
+ Z(this, "id", "openexchangerates");
443
443
  this.appId = r;
444
444
  }
445
445
  async getRate(r, n) {
446
- const a = r.toUpperCase(), i = n.toUpperCase();
447
- if (a === i)
448
- return { base: a, quote: i, rate: 1, asOf: (/* @__PURE__ */ new Date()).toISOString() };
449
- const d = this.getCached(a, i);
446
+ const a = r.toUpperCase(), s = n.toUpperCase();
447
+ if (a === s)
448
+ return { base: a, quote: s, rate: 1, asOf: (/* @__PURE__ */ new Date()).toISOString() };
449
+ const d = this.getCached(a, s);
450
450
  if (d)
451
451
  return d;
452
- const s = `https://openexchangerates.org/api/latest.json?app_id=${this.appId}`, o = await this.fetchImpl(s);
452
+ const i = `https://openexchangerates.org/api/latest.json?app_id=${this.appId}`, o = await this.fetchImpl(i);
453
453
  if (!o.ok)
454
454
  throw new Error(`OpenExchangeRates HTTP ${o.status}`);
455
- const l = await o.json(), y = l.rates[a], N = l.rates[i];
455
+ const l = await o.json(), y = l.rates[a], N = l.rates[s];
456
456
  if (y == null || N == null)
457
- throw new Error(`OpenExchangeRates: missing rate for ${a} or ${i}`);
458
- const b = {
457
+ throw new Error(`OpenExchangeRates: missing rate for ${a} or ${s}`);
458
+ const f = {
459
459
  base: a,
460
- quote: i,
460
+ quote: s,
461
461
  rate: N / y,
462
462
  asOf: new Date(l.timestamp * 1e3).toISOString()
463
463
  };
464
- return this.setCached(b), b;
464
+ return this.setCached(f), f;
465
465
  }
466
466
  }
467
- class ht extends Ce {
467
+ class vt extends Ie {
468
468
  constructor(r = {}) {
469
469
  super(r);
470
- G(this, "id", "exchangerate.host");
470
+ Z(this, "id", "exchangerate.host");
471
471
  }
472
472
  async getRate(r, n) {
473
- var b;
474
- const a = r.toUpperCase(), i = n.toUpperCase();
475
- if (a === i)
476
- return { base: a, quote: i, rate: 1, asOf: (/* @__PURE__ */ new Date()).toISOString() };
477
- const d = this.getCached(a, i);
473
+ var f;
474
+ const a = r.toUpperCase(), s = n.toUpperCase();
475
+ if (a === s)
476
+ return { base: a, quote: s, rate: 1, asOf: (/* @__PURE__ */ new Date()).toISOString() };
477
+ const d = this.getCached(a, s);
478
478
  if (d)
479
479
  return d;
480
- const s = `https://api.exchangerate.host/convert?from=${a}&to=${i}`, o = await this.fetchImpl(s);
480
+ const i = `https://api.exchangerate.host/convert?from=${a}&to=${s}`, o = await this.fetchImpl(i);
481
481
  if (!o.ok)
482
482
  throw new Error(`exchangerate.host HTTP ${o.status}`);
483
- const l = await o.json(), y = ((b = l.info) == null ? void 0 : b.rate) ?? l.result, N = { base: a, quote: i, rate: y, asOf: l.date };
483
+ const l = await o.json(), y = ((f = l.info) == null ? void 0 : f.rate) ?? l.result, N = { base: a, quote: s, rate: y, asOf: l.date };
484
484
  return this.setCached(N), N;
485
485
  }
486
486
  }
487
- class bt extends Ce {
487
+ class Nt extends Ie {
488
488
  constructor(r = {}) {
489
489
  super(r);
490
- G(this, "id", "nbp");
491
- G(this, "table");
490
+ Z(this, "id", "nbp");
491
+ Z(this, "table");
492
492
  this.table = r.table ?? "A";
493
493
  }
494
494
  async getRate(r, n) {
495
- const a = r.toUpperCase(), i = n.toUpperCase();
496
- if (a === i)
497
- return { base: a, quote: i, rate: 1, asOf: (/* @__PURE__ */ new Date()).toISOString() };
498
- const d = this.getCached(a, i);
495
+ const a = r.toUpperCase(), s = n.toUpperCase();
496
+ if (a === s)
497
+ return { base: a, quote: s, rate: 1, asOf: (/* @__PURE__ */ new Date()).toISOString() };
498
+ const d = this.getCached(a, s);
499
499
  if (d)
500
500
  return d;
501
- const s = async (N) => {
502
- var w;
501
+ const i = async (N) => {
502
+ var k;
503
503
  if (N === "PLN")
504
504
  return { rate: 1, date: (/* @__PURE__ */ new Date()).toISOString().slice(0, 10) };
505
- const b = `https://api.nbp.pl/api/exchangerates/rates/${this.table}/${N}/?format=json`, u = await this.fetchImpl(b);
505
+ const f = `https://api.nbp.pl/api/exchangerates/rates/${this.table}/${N}/?format=json`, u = await this.fetchImpl(f);
506
506
  if (!u.ok)
507
507
  return null;
508
- const h = (w = (await u.json()).rates) == null ? void 0 : w[0];
508
+ const h = (k = (await u.json()).rates) == null ? void 0 : k[0];
509
509
  return h ? { rate: h.mid ?? h.ask ?? 0, date: h.effectiveDate } : null;
510
- }, o = await s(a), l = await s(i);
510
+ }, o = await i(a), l = await i(s);
511
511
  if (!o || !l || o.rate === 0)
512
- throw new Error(`NBP: missing rate for ${a} or ${i}`);
512
+ throw new Error(`NBP: missing rate for ${a} or ${s}`);
513
513
  const y = {
514
514
  base: a,
515
- quote: i,
515
+ quote: s,
516
516
  rate: o.rate / l.rate,
517
517
  asOf: o.date
518
518
  };
519
519
  return this.setCached(y), y;
520
520
  }
521
521
  }
522
- class ft extends pt {
522
+ class wt extends _t {
523
523
  constructor() {
524
524
  super(...arguments);
525
- G(this, "id", "ecb");
525
+ Z(this, "id", "ecb");
526
526
  }
527
527
  }
528
- class _t extends ht {
528
+ class kt extends vt {
529
529
  constructor() {
530
530
  super(...arguments);
531
- G(this, "id", "free-forex");
531
+ Z(this, "id", "free-forex");
532
532
  }
533
533
  }
534
- const sr = (t = {}) => new bt(t), or = (t = {}) => new ft(t), lr = (t) => new yt(t.apiKey, t), dr = (t = {}) => new _t(t);
535
- async function gt(t, e, r) {
534
+ const mr = (t = {}) => new Nt(t), pr = (t = {}) => new wt(t), yr = (t) => new gt(t.apiKey, t), hr = (t = {}) => new kt(t);
535
+ async function Ct(t, e, r) {
536
536
  const n = e.toUpperCase();
537
537
  if (t.currency.toUpperCase() === n)
538
538
  return t;
539
- const a = re(t.currency), i = re(n), d = (a == null ? void 0 : a.decimals) ?? 2, s = (i == null ? void 0 : i.decimals) ?? 2, { rate: o } = await r.getRate(t.currency, n), y = t.amount / Math.pow(10, d) * o;
539
+ const a = te(t.currency), s = te(n), d = (a == null ? void 0 : a.decimals) ?? 2, i = (s == null ? void 0 : s.decimals) ?? 2, { rate: o } = await r.getRate(t.currency, n), y = t.amount / Math.pow(10, d) * o;
540
540
  return {
541
541
  currency: n,
542
- amount: Math.round(y * Math.pow(10, s))
542
+ amount: Math.round(y * Math.pow(10, i))
543
543
  };
544
544
  }
545
- class vt {
545
+ class Dt {
546
546
  constructor(e = {}) {
547
- G(this, "id");
548
- G(this, "name");
549
- G(this, "supportedCurrencies");
550
- G(this, "minimums");
551
- G(this, "counter", 0);
547
+ Z(this, "id");
548
+ Z(this, "name");
549
+ Z(this, "supportedCurrencies");
550
+ Z(this, "minimums");
551
+ Z(this, "counter", 0);
552
552
  this.id = e.id ?? "mock", this.name = e.name ?? "Mock Processor", this.supportedCurrencies = e.supportedCurrencies ?? "*";
553
553
  }
554
554
  newId(e) {
@@ -583,10 +583,10 @@ class vt {
583
583
  };
584
584
  }
585
585
  }
586
- function V(t, e, r, n, a) {
587
- const i = (d) => {
588
- const s = n == null ? void 0 : n[d];
589
- return s || (async () => {
586
+ function W(t, e, r, n, a) {
587
+ const s = (d) => {
588
+ const i = n == null ? void 0 : n[d];
589
+ return i || (async () => {
590
590
  throw new Error(
591
591
  `[ui-money] ${e} adapter is not wired. Pass an \`executor.${String(d)}\` implementation that calls the ${e} SDK.`
592
592
  );
@@ -597,14 +597,14 @@ function V(t, e, r, n, a) {
597
597
  name: e,
598
598
  supportedCurrencies: r,
599
599
  minimums: a,
600
- authorize: i("authorize"),
601
- capture: i("capture"),
602
- cancel: i("cancel"),
603
- refund: i("refund")
600
+ authorize: s("authorize"),
601
+ capture: s("capture"),
602
+ cancel: s("cancel"),
603
+ refund: s("refund")
604
604
  };
605
605
  }
606
- function Nt(t) {
607
- return V("stripe", "Stripe", "*", t, {
606
+ function Pt(t) {
607
+ return W("stripe", "Stripe", "*", t, {
608
608
  USD: 50,
609
609
  EUR: 50,
610
610
  GBP: 30,
@@ -618,8 +618,8 @@ function Nt(t) {
618
618
  PLN: 200
619
619
  });
620
620
  }
621
- function wt(t) {
622
- return V(
621
+ function Mt(t) {
622
+ return W(
623
623
  "paypal",
624
624
  "PayPal",
625
625
  [
@@ -649,83 +649,83 @@ function wt(t) {
649
649
  t
650
650
  );
651
651
  }
652
- function kt(t) {
653
- return V("adyen", "Adyen", "*", t);
652
+ function It(t) {
653
+ return W("adyen", "Adyen", "*", t);
654
654
  }
655
- function Ct(t) {
656
- return V("square", "Square", ["USD", "CAD", "GBP", "AUD", "JPY", "EUR"], t);
655
+ function St(t) {
656
+ return W("square", "Square", ["USD", "CAD", "GBP", "AUD", "JPY", "EUR"], t);
657
657
  }
658
- function Dt(t) {
659
- return V("mollie", "Mollie", "*", t);
658
+ function $t(t) {
659
+ return W("mollie", "Mollie", "*", t);
660
660
  }
661
- function Pt(t) {
662
- return V("braintree", "Braintree", "*", t);
661
+ function xt(t) {
662
+ return W("braintree", "Braintree", "*", t);
663
663
  }
664
- function Mt(t) {
665
- return V("razorpay", "Razorpay", ["INR", "USD", "EUR", "GBP", "AED"], t);
664
+ function Rt(t) {
665
+ return W("razorpay", "Razorpay", ["INR", "USD", "EUR", "GBP", "AED"], t);
666
666
  }
667
- function St(t) {
668
- return V(
667
+ function Ut(t) {
668
+ return W(
669
669
  "payu",
670
670
  "PayU",
671
671
  ["PLN", "EUR", "USD", "CZK", "HUF", "RON", "BGN", "TRY"],
672
672
  t
673
673
  );
674
674
  }
675
- function It(t) {
676
- return V("przelewy24", "Przelewy24", ["PLN", "EUR"], t);
675
+ function At(t) {
676
+ return W("przelewy24", "Przelewy24", ["PLN", "EUR"], t);
677
677
  }
678
- function $t(t = {}) {
679
- return V("tpay", "Tpay", ["PLN", "EUR", "USD", "GBP"], t);
678
+ function Et(t = {}) {
679
+ return W("tpay", "Tpay", ["PLN", "EUR", "USD", "GBP"], t);
680
680
  }
681
- function xt(t = {}) {
682
- return V("autopay", "Autopay", ["PLN", "EUR", "USD", "GBP", "CZK"], t);
681
+ function Tt(t = {}) {
682
+ return W("autopay", "Autopay", ["PLN", "EUR", "USD", "GBP", "CZK"], t);
683
683
  }
684
- function Rt(t = {}) {
684
+ function Ft(t = {}) {
685
685
  const { acquirer: e = "native", ...r } = t;
686
- return V(`blik:${e}`, `BLIK (${e})`, ["PLN"], r);
686
+ return W(`blik:${e}`, `BLIK (${e})`, ["PLN"], r);
687
687
  }
688
- function Ut(t) {
689
- return V(
688
+ function Ot(t) {
689
+ return W(
690
690
  "klarna",
691
691
  "Klarna",
692
692
  ["USD", "EUR", "GBP", "SEK", "NOK", "DKK", "CHF", "AUD", "CAD", "NZD", "PLN"],
693
693
  t
694
694
  );
695
695
  }
696
- function At(t) {
697
- return V(
696
+ function qt(t) {
697
+ return W(
698
698
  "coinbase-commerce",
699
699
  "Coinbase Commerce",
700
700
  ["BTC", "ETH", "USDC", "USDT", "USD", "EUR"],
701
701
  t
702
702
  );
703
703
  }
704
- const Tt = {
705
- mock: () => new vt(),
706
- stripe: () => Nt(),
707
- paypal: () => wt(),
708
- adyen: () => kt(),
709
- square: () => Ct(),
710
- mollie: () => Dt(),
711
- braintree: () => Pt(),
712
- razorpay: () => Mt(),
713
- payu: () => St(),
714
- przelewy24: () => It(),
715
- tpay: () => $t(),
716
- autopay: () => xt(),
717
- blik: () => Rt(),
718
- klarna: () => Ut(),
719
- "coinbase-commerce": () => At()
704
+ const Kt = {
705
+ mock: () => new Dt(),
706
+ stripe: () => Pt(),
707
+ paypal: () => Mt(),
708
+ adyen: () => It(),
709
+ square: () => St(),
710
+ mollie: () => $t(),
711
+ braintree: () => xt(),
712
+ razorpay: () => Rt(),
713
+ payu: () => Ut(),
714
+ przelewy24: () => At(),
715
+ tpay: () => Et(),
716
+ autopay: () => Tt(),
717
+ blik: () => Ft(),
718
+ klarna: () => Ot(),
719
+ "coinbase-commerce": () => qt()
720
720
  };
721
- function Et(t) {
722
- const e = Tt[t];
721
+ function Bt(t) {
722
+ const e = Kt[t];
723
723
  return e ? e().supportedCurrencies : "*";
724
724
  }
725
- function Ft(t) {
725
+ function Lt(t) {
726
726
  return `/api/payments/${t}/webhook`;
727
727
  }
728
- const qt = [
728
+ const zt = [
729
729
  {
730
730
  id: "stripe",
731
731
  name: "Stripe",
@@ -936,138 +936,138 @@ const qt = [
936
936
  supportedMethods: ["wallet"],
937
937
  hasTestMode: !0
938
938
  }
939
- ], we = /* @__PURE__ */ Object.fromEntries(
940
- qt.map((t) => {
939
+ ], Pe = /* @__PURE__ */ Object.fromEntries(
940
+ zt.map((t) => {
941
941
  const { currencyKey: e, ...r } = t, n = {
942
942
  ...r,
943
- supportedCurrencies: Et(e ?? t.id),
944
- webhookPath: Ft(t.id)
943
+ supportedCurrencies: Bt(e ?? t.id),
944
+ webhookPath: Lt(t.id)
945
945
  };
946
946
  return [t.id, n];
947
947
  })
948
- ), Ot = /* @__PURE__ */ Object.values(
949
- we
948
+ ), Ht = /* @__PURE__ */ Object.values(
949
+ Pe
950
950
  );
951
- function ur(t) {
952
- return we[t];
951
+ function fr(t) {
952
+ return Pe[t];
953
953
  }
954
- function mr(t, e) {
955
- const r = K(
956
- () => "amount" in t ? t : ce(
954
+ function br(t, e) {
955
+ const r = B(
956
+ () => "amount" in t ? t : ae(
957
957
  t.major,
958
958
  t.currency
959
959
  ),
960
960
  // eslint-disable-next-line react-hooks/exhaustive-deps
961
961
  []
962
- ), [n, a] = H(r), i = j(
963
- (b) => a((u) => ce(b, u.currency)),
962
+ ), [n, a] = j(r), s = Y(
963
+ (f) => a((u) => ae(f, u.currency)),
964
964
  []
965
- ), d = j((b) => {
966
- a((u) => ({ ...u, currency: b.toUpperCase() }));
967
- }, []), s = j((b) => a((u) => ye(u, b)), []), o = j(
968
- (b) => a((u) => dt(u, b)),
965
+ ), d = Y((f) => {
966
+ a((u) => ({ ...u, currency: f.toUpperCase() }));
967
+ }, []), i = Y((f) => a((u) => ye(u, f)), []), o = Y(
968
+ (f) => a((u) => ht(u, f)),
969
969
  []
970
- ), l = j(
971
- (b) => a((u) => Se(u, b)),
970
+ ), l = Y(
971
+ (f) => a((u) => Ae(u, f)),
972
972
  []
973
- ), y = K(() => ie(n, { locale: e }), [n, e]), N = K(() => He(n), [n]);
974
- return { money: n, setMoney: a, setMajor: i, setCurrency: d, add: s, subtract: o, scale: l, formatted: y, major: N };
973
+ ), y = B(() => ie(n, { locale: e }), [n, e]), N = B(() => Ge(n), [n]);
974
+ return { money: n, setMoney: a, setMajor: s, setCurrency: d, add: i, subtract: o, scale: l, formatted: y, major: N };
975
975
  }
976
- function Ie(t, e, r) {
977
- const [n, a] = H(null), [i, d] = H(null), [s, o] = H(!1), l = at(0), y = t == null ? void 0 : t.amount, N = t == null ? void 0 : t.currency;
978
- return ct(() => {
976
+ function Ee(t, e, r) {
977
+ const [n, a] = j(null), [s, d] = j(null), [i, o] = j(!1), l = Re(0), y = t == null ? void 0 : t.amount, N = t == null ? void 0 : t.currency;
978
+ return lt(() => {
979
979
  if (y === void 0 || N === void 0) {
980
980
  a(null);
981
981
  return;
982
982
  }
983
- const b = ++l.current;
984
- o(!0), d(null), gt({ amount: y, currency: N }, e, r).then((u) => {
985
- l.current === b && a(u);
983
+ const f = ++l.current;
984
+ o(!0), d(null), Ct({ amount: y, currency: N }, e, r).then((u) => {
985
+ l.current === f && a(u);
986
986
  }).catch((u) => {
987
- l.current === b && (d(u instanceof Error ? u : new Error(String(u))), a(null));
987
+ l.current === f && (d(u instanceof Error ? u : new Error(String(u))), a(null));
988
988
  }).finally(() => {
989
- l.current === b && o(!1);
989
+ l.current === f && o(!1);
990
990
  });
991
- }, [y, N, e, r]), { converted: n, loading: s, error: i };
991
+ }, [y, N, e, r]), { converted: n, loading: i, error: s };
992
992
  }
993
- function Kt(t) {
994
- const [e, r] = H("idle"), [n, a] = H(null), [i, d] = H(null), s = j(() => {
993
+ function jt(t) {
994
+ const [e, r] = j("idle"), [n, a] = j(null), [s, d] = j(null), i = Y(() => {
995
995
  r("idle"), a(null), d(null);
996
- }, []), o = j(
997
- async (b) => {
996
+ }, []), o = Y(
997
+ async (f) => {
998
998
  r("authorizing"), d(null);
999
999
  try {
1000
- const u = await t.authorize(b);
1000
+ const u = await t.authorize(f);
1001
1001
  return a(u), r(u.status), u;
1002
1002
  } catch (u) {
1003
- const f = u instanceof Error ? u : new Error(String(u));
1004
- throw d(f), r("failed"), f;
1003
+ const b = u instanceof Error ? u : new Error(String(u));
1004
+ throw d(b), r("failed"), b;
1005
1005
  }
1006
1006
  },
1007
1007
  [t]
1008
- ), l = j(
1009
- async (b, u) => {
1010
- const f = b ?? (n == null ? void 0 : n.id);
1011
- if (!f)
1008
+ ), l = Y(
1009
+ async (f, u) => {
1010
+ const b = f ?? (n == null ? void 0 : n.id);
1011
+ if (!b)
1012
1012
  throw new Error("No authorization id to capture");
1013
1013
  r("capturing");
1014
1014
  try {
1015
- const h = await t.capture(f, u);
1015
+ const h = await t.capture(b, u);
1016
1016
  return a(h), r(h.status), h;
1017
1017
  } catch (h) {
1018
- const w = h instanceof Error ? h : new Error(String(h));
1019
- throw d(w), r("failed"), w;
1018
+ const k = h instanceof Error ? h : new Error(String(h));
1019
+ throw d(k), r("failed"), k;
1020
1020
  }
1021
1021
  },
1022
1022
  [t, n == null ? void 0 : n.id]
1023
- ), y = j(
1024
- async (b) => {
1025
- const u = b ?? (n == null ? void 0 : n.id);
1023
+ ), y = Y(
1024
+ async (f) => {
1025
+ const u = f ?? (n == null ? void 0 : n.id);
1026
1026
  if (!u)
1027
1027
  throw new Error("No payment id to cancel");
1028
- const f = await t.cancel(u);
1029
- return a(f), r(f.status), f;
1028
+ const b = await t.cancel(u);
1029
+ return a(b), r(b.status), b;
1030
1030
  },
1031
1031
  [t, n == null ? void 0 : n.id]
1032
- ), N = j(
1033
- async (b, u) => {
1034
- const f = b ?? (n == null ? void 0 : n.id);
1035
- if (!f)
1032
+ ), N = Y(
1033
+ async (f, u) => {
1034
+ const b = f ?? (n == null ? void 0 : n.id);
1035
+ if (!b)
1036
1036
  throw new Error("No payment id to refund");
1037
- const h = await t.refund(f, u);
1037
+ const h = await t.refund(b, u);
1038
1038
  return a(h), r(h.status), h;
1039
1039
  },
1040
1040
  [t, n == null ? void 0 : n.id]
1041
1041
  );
1042
- return { status: e, response: n, error: i, authorize: o, capture: l, cancel: y, refund: N, reset: s };
1042
+ return { status: e, response: n, error: s, authorize: o, capture: l, cancel: y, refund: N, reset: i };
1043
1043
  }
1044
- const Oe = /* @__PURE__ */ se(
1044
+ const ze = /* @__PURE__ */ se(
1045
1045
  function({
1046
1046
  value: e,
1047
1047
  amount: r,
1048
1048
  currency: n,
1049
1049
  locale: a,
1050
- display: i = "symbol",
1050
+ display: s = "symbol",
1051
1051
  highlightNegative: d = !0,
1052
- zeroPlaceholder: s,
1052
+ zeroPlaceholder: i,
1053
1053
  convertTo: o,
1054
1054
  exchangeProvider: l,
1055
1055
  className: y,
1056
1056
  style: N,
1057
- "aria-label": b
1057
+ "aria-label": f
1058
1058
  }, u) {
1059
- const { t: f } = oe(), h = K(() => {
1059
+ const { t: b } = oe(), h = B(() => {
1060
1060
  if (e)
1061
1061
  return e;
1062
1062
  if (r != null && n) {
1063
- const v = re(n), S = (v == null ? void 0 : v.decimals) ?? 2;
1063
+ const v = te(n), S = (v == null ? void 0 : v.decimals) ?? 2;
1064
1064
  return {
1065
1065
  amount: Math.round(r * Math.pow(10, S)),
1066
1066
  currency: n.toUpperCase()
1067
1067
  };
1068
1068
  }
1069
1069
  return null;
1070
- }, [e, r, n]), w = K(() => h ? h.amount === 0 && s != null ? s : ie(h, { locale: a, currencyDisplay: i }) : "", [h, a, i, s]), { converted: x } = Ie(
1070
+ }, [e, r, n]), k = B(() => h ? h.amount === 0 && i != null ? i : ie(h, { locale: a, currencyDisplay: s }) : "", [h, a, s, i]), { converted: R } = Ee(
1071
1071
  o && l ? h : null,
1072
1072
  o ?? "",
1073
1073
  l
@@ -1075,522 +1075,552 @@ const Oe = /* @__PURE__ */ se(
1075
1075
  if (!h)
1076
1076
  return null;
1077
1077
  const m = h.amount < 0, g = "nice-money" + (d && m ? " nice-money--negative" : "") + (y ? ` ${y}` : "");
1078
- return /* @__PURE__ */ _("span", { ref: u, className: g, style: N, "aria-label": b, children: [
1079
- /* @__PURE__ */ c("span", { className: "nice-money__value", children: w }),
1080
- x && /* @__PURE__ */ _(
1078
+ return /* @__PURE__ */ _("span", { ref: u, className: g, style: N, "aria-label": f, children: [
1079
+ /* @__PURE__ */ c("span", { className: "nice-money__value", children: k }),
1080
+ R && /* @__PURE__ */ _(
1081
1081
  "span",
1082
1082
  {
1083
1083
  className: "nice-money__converted",
1084
- "aria-label": f("money.convertedTo", "Converted to {currency}").replace(
1084
+ "aria-label": b("money.convertedTo", "Converted to {currency}").replace(
1085
1085
  "{currency}",
1086
- String(x.currency)
1086
+ String(R.currency)
1087
1087
  ),
1088
1088
  children: [
1089
1089
  " ≈ ",
1090
- ie(x, { locale: a })
1090
+ ie(R, { locale: a })
1091
1091
  ]
1092
1092
  }
1093
1093
  )
1094
1094
  ] });
1095
1095
  }
1096
- ), pr = fe.map((t) => t.code).sort(), Ge = /* @__PURE__ */ se(function({
1096
+ ), _r = _e.map((t) => t.code).sort(), Qe = /* @__PURE__ */ se(function({
1097
1097
  value: e,
1098
1098
  onChange: r,
1099
- options: n = fe,
1099
+ options: n = _e,
1100
1100
  recents: a = [],
1101
- searchable: i,
1101
+ searchable: s,
1102
1102
  showCode: d = !0,
1103
- showSymbol: s = !0,
1103
+ showSymbol: i = !0,
1104
1104
  compact: o = !1,
1105
1105
  disabled: l,
1106
1106
  readOnly: y,
1107
1107
  loading: N,
1108
- accessMode: b,
1108
+ accessMode: f,
1109
1109
  label: u,
1110
- helperText: f,
1110
+ helperText: b,
1111
1111
  error: h,
1112
- required: w,
1113
- size: x = "md",
1112
+ required: k,
1113
+ size: R = "md",
1114
1114
  labelPlacement: m = "top",
1115
1115
  labelWidth: g,
1116
1116
  controlWidth: v,
1117
1117
  className: S,
1118
- style: A,
1119
- id: P,
1120
- name: M,
1118
+ style: E,
1119
+ id: M,
1120
+ name: I,
1121
1121
  title: q,
1122
- "data-testid": I,
1123
- "aria-label": W,
1124
- placeholder: B
1125
- }, D) {
1126
- const { t: T } = oe(), O = b === "hidden", X = l || b === "disabled" || N, ne = y || b === "readOnly", Y = _e(), Z = P ?? `nice-cs-${Y}`, [Q, ae] = H(""), E = i ?? n.length > 8, k = K(() => {
1127
- if (!Q.trim())
1122
+ "data-testid": $,
1123
+ "aria-label": ee,
1124
+ placeholder: A
1125
+ }, P) {
1126
+ const { t: T } = oe(), K = f === "hidden", Q = l || f === "disabled" || N, re = y || f === "readOnly", G = Ne(), X = M ?? `nice-cs-${G}`, [V, ne] = j(""), F = s ?? n.length > 8, C = B(() => {
1127
+ if (!V.trim())
1128
1128
  return n;
1129
- const $ = Q.trim().toLowerCase();
1129
+ const x = V.trim().toLowerCase();
1130
1130
  return n.filter(
1131
- (R) => R.code.toLowerCase().includes($) || R.name.toLowerCase().includes($) || R.symbol.toLowerCase().includes($)
1131
+ (U) => U.code.toLowerCase().includes(x) || U.name.toLowerCase().includes(x) || U.symbol.toLowerCase().includes(x)
1132
1132
  );
1133
- }, [n, Q]), p = K(() => {
1134
- const $ = /* @__PURE__ */ new Set();
1135
- return a.map((R) => re(R)).filter((R) => !!R && !$.has(R.code) && !!$.add(R.code));
1136
- }, [a]), F = j(
1137
- ($) => {
1138
- const R = $.target.value, de = re(R);
1139
- de && (r == null || r(R, de));
1133
+ }, [n, V]), p = B(() => {
1134
+ const x = /* @__PURE__ */ new Set();
1135
+ return a.map((U) => te(U)).filter((U) => !!U && !x.has(U.code) && !!x.add(U.code));
1136
+ }, [a]), O = Y(
1137
+ (x) => {
1138
+ const U = x.target.value, de = te(U);
1139
+ de && (r == null || r(U, de));
1140
1140
  },
1141
1141
  [r]
1142
- ), z = ($) => {
1142
+ ), L = (x) => {
1143
1143
  if (o)
1144
- return `${s ? $.symbol + " " : ""}${$.code}`;
1145
- const R = [];
1146
- return s && R.push($.symbol), d && R.push($.code), R.push("—", $.name), R.join(" ");
1147
- }, C = `nice-currency-selector nice-currency-selector--${x} nice-currency-selector--label-${m}` + (o ? " nice-currency-selector--compact" : "") + (h ? " nice-currency-selector--error" : "") + (X ? " nice-currency-selector--disabled" : "") + (S ? ` ${S}` : ""), L = m === "left" && g != null ? { width: typeof g == "number" ? `${g}px` : g, flex: "none" } : void 0, le = v != null ? {
1144
+ return `${i ? x.symbol + " " : ""}${x.code}`;
1145
+ const U = [];
1146
+ return i && U.push(x.symbol), d && U.push(x.code), U.push("—", x.name), U.join(" ");
1147
+ }, D = `nice-currency-selector nice-currency-selector--${R} nice-currency-selector--label-${m}` + (o ? " nice-currency-selector--compact" : "") + (h ? " nice-currency-selector--error" : "") + (Q ? " nice-currency-selector--disabled" : "") + (S ? ` ${S}` : ""), z = m === "left" && g != null ? { width: typeof g == "number" ? `${g}px` : g, flex: "none" } : void 0, le = v != null ? {
1148
1148
  width: typeof v == "number" ? `${v}px` : v,
1149
1149
  flex: "none"
1150
1150
  } : void 0;
1151
- return O ? null : /* @__PURE__ */ _("div", { ref: D, className: C, style: A, title: q, "data-testid": I, children: [
1152
- u && /* @__PURE__ */ _("label", { htmlFor: Z, className: "nice-currency-selector__label", style: L, children: [
1151
+ return K ? null : /* @__PURE__ */ _("div", { ref: P, className: D, style: E, title: q, "data-testid": $, children: [
1152
+ u && /* @__PURE__ */ _("label", { htmlFor: X, className: "nice-currency-selector__label", style: z, children: [
1153
1153
  u,
1154
- w && /* @__PURE__ */ c("span", { className: "nice-currency-selector__required", "aria-hidden": !0, children: "*" })
1154
+ k && /* @__PURE__ */ c("span", { className: "nice-currency-selector__required", "aria-hidden": !0, children: "*" })
1155
1155
  ] }),
1156
1156
  /* @__PURE__ */ _("div", { className: "nice-currency-selector__inner", style: le, children: [
1157
- E && /* @__PURE__ */ c(
1157
+ F && /* @__PURE__ */ c(
1158
1158
  "input",
1159
1159
  {
1160
1160
  type: "search",
1161
1161
  className: "nice-currency-selector__search",
1162
1162
  placeholder: T("currencySelector.searchCurrency", "Search currency…"),
1163
- value: Q,
1164
- onChange: ($) => ae($.target.value),
1165
- disabled: X || ne,
1163
+ value: V,
1164
+ onChange: (x) => ne(x.target.value),
1165
+ disabled: Q || re,
1166
1166
  "aria-label": T("currencySelector.searchCurrency2", "Search currency")
1167
1167
  }
1168
1168
  ),
1169
1169
  /* @__PURE__ */ _(
1170
1170
  "select",
1171
1171
  {
1172
- id: Z,
1173
- name: M,
1172
+ id: X,
1173
+ name: I,
1174
1174
  className: "nice-currency-selector__select",
1175
1175
  value: e ?? "",
1176
- onChange: F,
1177
- disabled: X || ne,
1178
- required: w,
1176
+ onChange: O,
1177
+ disabled: Q || re,
1178
+ required: k,
1179
1179
  "aria-invalid": !!h,
1180
- "aria-label": W ?? (typeof u == "string" ? u : T("currencySelector.currency", "Currency")),
1180
+ "aria-label": ee ?? (typeof u == "string" ? u : T("currencySelector.currency", "Currency")),
1181
1181
  children: [
1182
- !e && /* @__PURE__ */ c("option", { value: "", children: B ?? T("currencySelector.selectCurrency", "Select currency…") }),
1183
- p.length > 0 && /* @__PURE__ */ c("optgroup", { label: T("currencySelector.recent", "Recent"), children: p.map(($) => /* @__PURE__ */ c("option", { value: $.code, children: z($) }, `r-${$.code}`)) }),
1184
- /* @__PURE__ */ c("optgroup", { label: p.length > 0 ? T("currencySelector.all", "All") : "", children: k.map(($) => /* @__PURE__ */ c("option", { value: $.code, children: z($) }, $.code)) })
1182
+ !e && /* @__PURE__ */ c("option", { value: "", children: A ?? T("currencySelector.selectCurrency", "Select currency…") }),
1183
+ p.length > 0 && /* @__PURE__ */ c("optgroup", { label: T("currencySelector.recent", "Recent"), children: p.map((x) => /* @__PURE__ */ c("option", { value: x.code, children: L(x) }, `r-${x.code}`)) }),
1184
+ /* @__PURE__ */ c("optgroup", { label: p.length > 0 ? T("currencySelector.all", "All") : "", children: C.map((x) => /* @__PURE__ */ c("option", { value: x.code, children: L(x) }, x.code)) })
1185
1185
  ]
1186
1186
  }
1187
1187
  )
1188
1188
  ] }),
1189
- (h || f) && /* @__PURE__ */ c(
1189
+ (h || b) && /* @__PURE__ */ c(
1190
1190
  "span",
1191
1191
  {
1192
1192
  className: h ? "nice-currency-selector__error" : "nice-currency-selector__helper",
1193
- children: h ?? f
1193
+ children: h ?? b
1194
1194
  }
1195
1195
  )
1196
1196
  ] });
1197
- }), Ze = /* @__PURE__ */ se(
1197
+ }), Ve = /* @__PURE__ */ se(
1198
1198
  function({
1199
1199
  value: e,
1200
1200
  onChange: r,
1201
1201
  currency: n,
1202
1202
  onCurrencyChange: a,
1203
- currencies: i,
1203
+ currencies: s,
1204
1204
  hideCurrencySelector: d,
1205
- min: s,
1205
+ min: i,
1206
1206
  max: o,
1207
1207
  step: l,
1208
1208
  locale: y,
1209
1209
  placeholder: N,
1210
- label: b,
1210
+ label: f,
1211
1211
  helperText: u,
1212
- error: f,
1212
+ error: b,
1213
1213
  size: h = "md",
1214
- disabled: w,
1215
- readOnly: x,
1214
+ disabled: k,
1215
+ readOnly: R,
1216
1216
  required: m,
1217
1217
  loading: g,
1218
1218
  accessMode: v,
1219
1219
  labelPlacement: S = "top",
1220
- errorPlacement: A = "bottom",
1221
- labelWidth: P,
1222
- controlWidth: M,
1220
+ errorPlacement: E = "bottom",
1221
+ labelWidth: M,
1222
+ controlWidth: I,
1223
1223
  submitOnEnter: q,
1224
- onSubmit: I,
1225
- showFormattedPreview: W = !0,
1226
- showSteppers: B = !1,
1227
- className: D,
1224
+ onSubmit: $,
1225
+ showFormattedPreview: ee = !0,
1226
+ showSteppers: A = !1,
1227
+ className: P,
1228
1228
  style: T,
1229
- id: O,
1230
- name: X,
1231
- title: ne,
1232
- "data-testid": Y,
1233
- onBlur: Z,
1234
- onFocus: Q,
1235
- liveGrouping: ae,
1236
- multiplierShortcuts: E = !0,
1237
- onValidationError: k
1229
+ id: K,
1230
+ name: Q,
1231
+ title: re,
1232
+ "data-testid": G,
1233
+ onBlur: X,
1234
+ onFocus: V,
1235
+ liveGrouping: ne,
1236
+ multiplierShortcuts: F = !0,
1237
+ onValidationError: C
1238
1238
  }, p) {
1239
- const { t: F } = oe(), z = w || v === "disabled" || g, C = x || v === "readOnly", L = v === "hidden", le = _e(), $ = O ?? `nice-money-${le}`, R = ((e == null ? void 0 : e.currency) ?? n ?? "USD").toUpperCase(), de = re(R), ee = (de == null ? void 0 : de.decimals) ?? 2, xe = l ?? 1 / Math.pow(10, ee), [De, ge] = H(
1240
- () => e ? (e.amount / Math.pow(10, ee)).toFixed(ee) : ""
1241
- ), [ve, Re] = H(!1);
1242
- nt.useEffect(() => {
1243
- if (ve)
1239
+ const { t: O } = oe(), L = k || v === "disabled" || g, D = R || v === "readOnly", z = v === "hidden", le = Ne(), x = K ?? `nice-money-${le}`, U = ((e == null ? void 0 : e.currency) ?? n ?? "USD").toUpperCase(), de = te(U), J = (de == null ? void 0 : de.decimals) ?? 2, Se = l ?? 1 / Math.pow(10, J), [we, he] = j(
1240
+ () => e ? (e.amount / Math.pow(10, J)).toFixed(J) : ""
1241
+ ), [ke, Fe] = j(!1);
1242
+ ot.useEffect(() => {
1243
+ if (ke)
1244
1244
  return;
1245
1245
  if (e == null) {
1246
- ge("");
1246
+ he("");
1247
1247
  return;
1248
1248
  }
1249
- const U = re(e.currency), J = (U == null ? void 0 : U.decimals) ?? 2;
1250
- ge((e.amount / Math.pow(10, J)).toFixed(J));
1251
- }, [e, ve]);
1252
- const Ue = j(
1253
- (U) => {
1254
- let J = U;
1255
- if (E) {
1256
- const me = U.trim().match(/^([+-]?\d+(?:[.,]\d+)?)\s*([kKmMbB])$/);
1257
- if (me) {
1258
- const pe = me[2].toLowerCase() === "k" ? 1e3 : me[2].toLowerCase() === "m" ? 1e6 : 1e9, Fe = Number(me[1].replace(",", ".")) * pe;
1259
- if (!Number.isFinite(Fe)) {
1260
- k == null || k(new Error("overflow"));
1249
+ const w = te(e.currency), H = (w == null ? void 0 : w.decimals) ?? 2;
1250
+ he((e.amount / Math.pow(10, H)).toFixed(H));
1251
+ }, [e, ke]);
1252
+ const Oe = Y(
1253
+ (w) => {
1254
+ let H = w;
1255
+ if (F) {
1256
+ const ue = w.trim().match(/^([+-]?\d+(?:[.,]\d+)?)\s*([kKmMbB])$/);
1257
+ if (ue) {
1258
+ const me = ue[2].toLowerCase() === "k" ? 1e3 : ue[2].toLowerCase() === "m" ? 1e6 : 1e9, Be = Number(ue[1].replace(",", ".")) * me;
1259
+ if (!Number.isFinite(Be)) {
1260
+ C == null || C(new Error("overflow"));
1261
1261
  return;
1262
1262
  }
1263
- J = String(Fe);
1263
+ H = String(Be);
1264
1264
  }
1265
1265
  }
1266
- const te = ut(J, R);
1267
- if (!te) {
1266
+ const ce = ft(H, U);
1267
+ if (!ce) {
1268
1268
  r == null || r(null);
1269
1269
  return;
1270
1270
  }
1271
- if (!Number.isSafeInteger(te.amount)) {
1272
- k == null || k(new Error("overflow: amount exceeds Number.MAX_SAFE_INTEGER"));
1271
+ if (!Number.isSafeInteger(ce.amount)) {
1272
+ C == null || C(new Error("overflow: amount exceeds Number.MAX_SAFE_INTEGER"));
1273
1273
  return;
1274
1274
  }
1275
- const ue = te.amount / Math.pow(10, ee);
1276
- if (s != null && ue < s) {
1277
- k == null || k(new Error(`min: ${s}`)), r == null || r(ce(s, R));
1275
+ const pe = ce.amount / Math.pow(10, J);
1276
+ if (i != null && pe < i) {
1277
+ C == null || C(new Error(`min: ${i}`)), r == null || r(ae(i, U));
1278
1278
  return;
1279
1279
  }
1280
- if (o != null && ue > o) {
1281
- k == null || k(new Error(`max: ${o}`)), r == null || r(ce(o, R));
1280
+ if (o != null && pe > o) {
1281
+ C == null || C(new Error(`max: ${o}`)), r == null || r(ae(o, U));
1282
1282
  return;
1283
1283
  }
1284
- r == null || r(te);
1284
+ r == null || r(ce);
1285
+ },
1286
+ [U, J, i, o, r, F, C]
1287
+ ), We = Y(
1288
+ (w) => {
1289
+ const H = w.target.value;
1290
+ he(H), Oe(H);
1285
1291
  },
1286
- [R, ee, s, o, r, E, k]
1287
- ), Je = j(
1288
- (U) => {
1289
- const J = U.target.value;
1290
- ge(J), Ue(J);
1292
+ [Oe]
1293
+ ), Ce = Y(
1294
+ (w) => {
1295
+ const H = Math.min(o ?? 1 / 0, Math.max(i ?? -1 / 0, w));
1296
+ he(H.toFixed(J)), r == null || r(ae(H, U));
1291
1297
  },
1292
- [Ue]
1293
- ), Ae = j(
1294
- (U) => {
1295
- const te = (e ? e.amount / Math.pow(10, ee) : 0) + U, ue = Math.min(o ?? 1 / 0, Math.max(s ?? -1 / 0, te));
1296
- r == null || r(ce(ue, R));
1298
+ [J, i, o, U, r]
1299
+ ), $e = Y(
1300
+ (w) => Ce((e ? e.amount / Math.pow(10, J) : 0) + w),
1301
+ [e, J, Ce]
1302
+ ), qe = Re(null), ge = Re(null), et = A && !L && !D;
1303
+ ut(qe, {
1304
+ kind: A ? "value" : "text",
1305
+ disabled: L || D,
1306
+ restoreOnCancel: A,
1307
+ onEngage: () => {
1308
+ ge.current = { value: e ?? null, draft: we };
1297
1309
  },
1298
- [e, ee, s, o, R, r]
1299
- ), Ne = K(() => {
1300
- var U, J;
1310
+ onRelease: (w) => {
1311
+ w && A && ge.current && (he(ge.current.draft), r == null || r(ge.current.value)), ge.current = null;
1312
+ }
1313
+ });
1314
+ const De = B(() => {
1315
+ var w, H;
1301
1316
  try {
1302
- const te = new Intl.NumberFormat(y).formatToParts(12345.6), ue = ((U = te.find((pe) => pe.type === "group")) == null ? void 0 : U.value) ?? ",", me = ((J = te.find((pe) => pe.type === "decimal")) == null ? void 0 : J.value) ?? ".";
1303
- return { group: ue, decimal: me };
1317
+ const ce = new Intl.NumberFormat(y).formatToParts(12345.6), pe = ((w = ce.find((me) => me.type === "group")) == null ? void 0 : w.value) ?? ",", ue = ((H = ce.find((me) => me.type === "decimal")) == null ? void 0 : H.value) ?? ".";
1318
+ return { group: pe, decimal: ue };
1304
1319
  } catch {
1305
1320
  return { group: ",", decimal: "." };
1306
1321
  }
1307
- }, [y]), Te = ae ?? !!Ne.group, Xe = K(() => {
1308
- if (!Te || ve === !1)
1309
- return De;
1310
- const U = Ne.decimal, J = Ne.group, te = De.replace(
1311
- new RegExp(`[${J.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&")}]`, "g"),
1322
+ }, [y]), Ke = ne ?? !!De.group, tt = B(() => {
1323
+ if (!Ke || ke === !1)
1324
+ return we;
1325
+ const w = De.decimal, H = De.group, ce = we.replace(
1326
+ new RegExp(`[${H.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&")}]`, "g"),
1312
1327
  ""
1313
- ), [ue, me] = te.split(U);
1314
- if (!ue)
1315
- return te;
1316
- const pe = ue.replace(/\B(?=(\d{3})+(?!\d))/g, J);
1317
- return me != null ? `${pe}${U}${me}` : pe;
1318
- }, [De, ve, Te, Ne]), Ee = K(() => e ? ie(e, { locale: y }) : "", [e, y]), he = typeof f == "string" ? f : void 0, Qe = `nice-money-input nice-money-input--${h} nice-money-input--label-${S} nice-money-input--error-${A}` + (he ? " nice-money-input--error" : "") + (z ? " nice-money-input--disabled" : "") + (g ? " nice-money-input--loading" : "") + (D ? ` ${D}` : ""), Ve = (U) => {
1319
- q && U.key === "Enter" && I && (U.preventDefault(), I());
1320
- }, We = S === "left" && P != null ? { width: typeof P == "number" ? `${P}px` : P, flex: "none" } : void 0, et = M != null ? {
1321
- width: typeof M == "number" ? `${M}px` : M,
1328
+ ), [pe, ue] = ce.split(w);
1329
+ if (!pe)
1330
+ return ce;
1331
+ const me = pe.replace(/\B(?=(\d{3})+(?!\d))/g, H);
1332
+ return ue != null ? `${me}${w}${ue}` : me;
1333
+ }, [we, ke, Ke, De]), xe = B(() => e ? ie(e, { locale: y }) : "", [e, y]), fe = typeof b == "string" ? b : void 0, rt = `nice-money-input nice-money-input--${h} nice-money-input--label-${S} nice-money-input--error-${E}` + (fe ? " nice-money-input--error" : "") + (L ? " nice-money-input--disabled" : "") + (g ? " nice-money-input--loading" : "") + (P ? ` ${P}` : ""), nt = (w) => {
1334
+ if (q && w.key === "Enter" && $) {
1335
+ w.preventDefault(), $();
1336
+ return;
1337
+ }
1338
+ if (!et)
1339
+ return;
1340
+ const H = w.key === "ArrowUp" ? 1 : w.key === "ArrowDown" ? -1 : w.key === "PageUp" ? 10 : w.key === "PageDown" ? -10 : 0;
1341
+ H ? (w.preventDefault(), $e(H * Se)) : w.key === "Home" && i != null ? (w.preventDefault(), Ce(i)) : w.key === "End" && o != null && (w.preventDefault(), Ce(o));
1342
+ }, at = S === "left" && M != null ? { width: typeof M == "number" ? `${M}px` : M, flex: "none" } : void 0, ct = I != null ? {
1343
+ width: typeof I == "number" ? `${I}px` : I,
1322
1344
  flex: "none"
1323
1345
  } : void 0;
1324
- return L ? null : /* @__PURE__ */ _("div", { ref: p, className: Qe, style: T, title: ne, "data-testid": Y, children: [
1325
- b && /* @__PURE__ */ _("label", { htmlFor: $, className: "nice-money-input__label", style: We, children: [
1326
- b,
1346
+ return z ? null : /* @__PURE__ */ _("div", { ref: p, className: rt, style: T, title: re, "data-testid": G, children: [
1347
+ f && /* @__PURE__ */ _("label", { htmlFor: x, className: "nice-money-input__label", style: at, children: [
1348
+ f,
1327
1349
  m && /* @__PURE__ */ c("span", { className: "nice-money-input__required", "aria-hidden": !0, children: "*" })
1328
1350
  ] }),
1329
- /* @__PURE__ */ _("div", { className: "nice-money-input__row", style: et, children: [
1351
+ /* @__PURE__ */ _("div", { className: "nice-money-input__row", style: ct, children: [
1330
1352
  !d && /* @__PURE__ */ c(
1331
- Ge,
1353
+ Qe,
1332
1354
  {
1333
- value: R,
1355
+ value: U,
1334
1356
  compact: !0,
1335
- options: i ? i.map(re).filter((U) => !!U) : void 0,
1336
- onChange: (U) => a == null ? void 0 : a(U),
1337
- disabled: z || C,
1357
+ options: s ? s.map(te).filter((w) => !!w) : void 0,
1358
+ onChange: (w) => a == null ? void 0 : a(w),
1359
+ disabled: L || D,
1338
1360
  className: "nice-money-input__currency",
1339
- "aria-label": F("moneyInput.currency", "Currency")
1361
+ "aria-label": O("moneyInput.currency", "Currency")
1340
1362
  }
1341
1363
  ),
1342
- d && /* @__PURE__ */ c("span", { className: "nice-money-input__symbol", "aria-hidden": !0, children: (de == null ? void 0 : de.symbol) ?? R }),
1343
- B && /* @__PURE__ */ c(
1364
+ d && /* @__PURE__ */ c("span", { className: "nice-money-input__symbol", "aria-hidden": !0, children: (de == null ? void 0 : de.symbol) ?? U }),
1365
+ A && /* @__PURE__ */ c(
1344
1366
  "button",
1345
1367
  {
1346
1368
  type: "button",
1347
1369
  className: "nice-money-input__step nice-money-input__step--down",
1348
- onClick: () => Ae(-xe),
1349
- disabled: z || C || s != null && e != null && e.amount / Math.pow(10, ee) <= s,
1350
- "aria-label": F("moneyInput.decreaseAmount", "Decrease amount"),
1370
+ onClick: () => $e(-Se),
1371
+ disabled: L || D || i != null && e != null && e.amount / Math.pow(10, J) <= i,
1372
+ "aria-label": O("moneyInput.decreaseAmount", "Decrease amount"),
1351
1373
  tabIndex: -1,
1352
- children: "−"
1374
+ children: /* @__PURE__ */ c(ve, { name: "minus", size: 14 })
1353
1375
  }
1354
1376
  ),
1355
1377
  /* @__PURE__ */ c(
1356
1378
  "input",
1357
1379
  {
1358
- id: $,
1359
- name: X,
1380
+ ref: qe,
1381
+ id: x,
1382
+ name: Q,
1360
1383
  type: "text",
1361
1384
  inputMode: "decimal",
1362
1385
  autoComplete: "transaction-amount",
1363
1386
  className: "nice-money-input__amount",
1364
- value: Xe,
1365
- onChange: Je,
1366
- onKeyDown: Ve,
1367
- onFocus: (U) => {
1368
- Re(!0), Q == null || Q(U);
1387
+ value: tt,
1388
+ onChange: We,
1389
+ onKeyDown: nt,
1390
+ onFocus: (w) => {
1391
+ Fe(!0), V == null || V(w);
1369
1392
  },
1370
- onBlur: (U) => {
1371
- Re(!1), e && ge((e.amount / Math.pow(10, ee)).toFixed(ee)), Z == null || Z(U);
1393
+ onBlur: (w) => {
1394
+ Fe(!1), e && he((e.amount / Math.pow(10, J)).toFixed(J)), X == null || X(w);
1372
1395
  },
1373
- placeholder: N ?? `0${ee > 0 ? "." + "0".repeat(ee) : ""}`,
1374
- disabled: z,
1375
- readOnly: C,
1396
+ placeholder: N ?? `0${J > 0 ? "." + "0".repeat(J) : ""}`,
1397
+ disabled: L,
1398
+ readOnly: D,
1376
1399
  required: m,
1377
- "aria-invalid": !!he,
1378
- "aria-describedby": he || u ? `${$}-help` : void 0
1400
+ "aria-invalid": !!fe,
1401
+ "aria-describedby": fe || u ? `${x}-help` : void 0,
1402
+ ...A && {
1403
+ role: "spinbutton",
1404
+ "aria-valuenow": e ? e.amount / Math.pow(10, J) : void 0,
1405
+ "aria-valuemin": i,
1406
+ "aria-valuemax": o,
1407
+ "aria-valuetext": xe || void 0
1408
+ }
1379
1409
  }
1380
1410
  ),
1381
- B && /* @__PURE__ */ c(
1411
+ A && /* @__PURE__ */ c(
1382
1412
  "button",
1383
1413
  {
1384
1414
  type: "button",
1385
1415
  className: "nice-money-input__step nice-money-input__step--up",
1386
- onClick: () => Ae(xe),
1387
- disabled: z || C || o != null && e != null && e.amount / Math.pow(10, ee) >= o,
1388
- "aria-label": F("moneyInput.increaseAmount", "Increase amount"),
1416
+ onClick: () => $e(Se),
1417
+ disabled: L || D || o != null && e != null && e.amount / Math.pow(10, J) >= o,
1418
+ "aria-label": O("moneyInput.increaseAmount", "Increase amount"),
1389
1419
  tabIndex: -1,
1390
- children: "+"
1420
+ children: /* @__PURE__ */ c(ve, { name: "plus", size: 14 })
1391
1421
  }
1392
1422
  ),
1393
- g && /* @__PURE__ */ c("span", { className: "nice-money-input__spinner", "aria-hidden": !0, children: /* @__PURE__ */ c(Pe, { name: "refresh", size: 14 }) })
1423
+ g && /* @__PURE__ */ c("span", { className: "nice-money-input__spinner", "aria-hidden": !0, children: /* @__PURE__ */ c(ve, { name: "refresh", size: 14 }) })
1394
1424
  ] }),
1395
- W && Ee && /* @__PURE__ */ c("span", { className: "nice-money-input__preview", "aria-live": "polite", children: Ee }),
1396
- (he || u) && /* @__PURE__ */ c(
1425
+ ee && xe && /* @__PURE__ */ c("span", { className: "nice-money-input__preview", "aria-live": "polite", children: xe }),
1426
+ (fe || u) && /* @__PURE__ */ c(
1397
1427
  "span",
1398
1428
  {
1399
- id: `${$}-help`,
1400
- className: he ? "nice-money-input__error" : "nice-money-input__helper",
1401
- children: he ?? u
1429
+ id: `${x}-help`,
1430
+ className: fe ? "nice-money-input__error" : "nice-money-input__helper",
1431
+ children: fe ?? u
1402
1432
  }
1403
1433
  )
1404
1434
  ] });
1405
1435
  }
1406
- ), Bt = { number: "", expiry: "", cvc: "" }, Lt = /* @__PURE__ */ se(function({
1407
- value: e = Bt,
1436
+ ), Yt = { number: "", expiry: "", cvc: "" }, Gt = /* @__PURE__ */ se(function({
1437
+ value: e = Yt,
1408
1438
  onChange: r,
1409
1439
  showHolderName: n = !0,
1410
1440
  requireHolderName: a,
1411
- showPostalCode: i = !1,
1441
+ showPostalCode: s = !1,
1412
1442
  acceptedBrands: d,
1413
- showBrandIcon: s = !0,
1443
+ showBrandIcon: i = !0,
1414
1444
  size: o = "md",
1415
1445
  disabled: l,
1416
1446
  readOnly: y,
1417
1447
  loading: N,
1418
- accessMode: b,
1448
+ accessMode: f,
1419
1449
  label: u,
1420
- helperText: f,
1450
+ helperText: b,
1421
1451
  error: h,
1422
- required: w,
1423
- className: x,
1452
+ required: k,
1453
+ className: R,
1424
1454
  style: m,
1425
1455
  id: g,
1426
1456
  title: v,
1427
1457
  "data-testid": S
1428
- }, A) {
1429
- const { t: P } = oe(), M = b === "hidden", q = l || b === "disabled" || N, I = y || b === "readOnly", W = _e(), B = g ?? `nice-cc-${W}`, [D, T] = H({
1458
+ }, E) {
1459
+ const { t: M } = oe(), I = f === "hidden", q = l || f === "disabled" || N, $ = y || f === "readOnly", ee = Ne(), A = g ?? `nice-cc-${ee}`, [P, T] = j({
1430
1460
  number: !1,
1431
1461
  expiry: !1,
1432
1462
  cvc: !1,
1433
1463
  holder: !1,
1434
1464
  postal: !1
1435
- }), O = K(() => ke(e.number), [e.number]), X = K(
1436
- () => qe(e, { requireHolder: a ?? n }),
1465
+ }), K = B(() => Me(e.number), [e.number]), Q = B(
1466
+ () => Le(e, { requireHolder: a ?? n }),
1437
1467
  [e, a, n]
1438
- ), ne = !d || d.includes(O) || O === "unknown", Y = j(
1439
- (C) => {
1440
- const L = { ...e, ...C }, le = qe(L, { requireHolder: a ?? n });
1441
- r == null || r(L, le);
1468
+ ), re = !d || d.includes(K) || K === "unknown", G = Y(
1469
+ (D) => {
1470
+ const z = { ...e, ...D }, le = Le(z, { requireHolder: a ?? n });
1471
+ r == null || r(z, le);
1442
1472
  },
1443
1473
  [e, a, n, r]
1444
- ), Z = j(
1445
- (C) => {
1446
- const L = C.target.value.replace(/\D/g, "").slice(0, 19);
1447
- Y({ number: L });
1474
+ ), X = Y(
1475
+ (D) => {
1476
+ const z = D.target.value.replace(/\D/g, "").slice(0, 19);
1477
+ G({ number: z });
1448
1478
  },
1449
- [Y]
1450
- ), Q = j(
1451
- (C) => {
1452
- const L = C.target.value.replace(/\D/g, "").slice(0, 4);
1453
- let le = L;
1454
- L.length >= 3 ? le = `${L.slice(0, 2)}/${L.slice(2)}` : L.length === 2 && (le = `${L}/`), Y({ expiry: le });
1479
+ [G]
1480
+ ), V = Y(
1481
+ (D) => {
1482
+ const z = D.target.value.replace(/\D/g, "").slice(0, 4);
1483
+ let le = z;
1484
+ z.length >= 3 ? le = `${z.slice(0, 2)}/${z.slice(2)}` : z.length === 2 && (le = `${z}/`), G({ expiry: le });
1455
1485
  },
1456
- [Y]
1457
- ), ae = j(
1458
- (C) => {
1459
- const L = C.target.value.replace(/\D/g, "").slice(0, be(O));
1460
- Y({ cvc: L });
1486
+ [G]
1487
+ ), ne = Y(
1488
+ (D) => {
1489
+ const z = D.target.value.replace(/\D/g, "").slice(0, be(K));
1490
+ G({ cvc: z });
1461
1491
  },
1462
- [O, Y]
1463
- ), E = K(() => mt(e.number, O), [e.number, O]), k = D.number && e.number.length > 0 && (ze(e.number) ? ne ? void 0 : "Card brand not accepted" : X.errors.number), p = D.expiry && e.expiry.length > 0 && !Ye(e.expiry) ? X.errors.expiry : void 0, F = D.cvc && e.cvc.length > 0 && e.cvc.length !== be(O) ? X.errors.cvc : void 0, z = `nice-credit-card nice-credit-card--${o}` + (q ? " nice-credit-card--disabled" : "") + (N ? " nice-credit-card--loading" : "") + (h ? " nice-credit-card--error" : "") + (x ? ` ${x}` : "");
1464
- return M ? null : /* @__PURE__ */ _("div", { ref: A, className: z, style: m, title: v, "data-testid": S, children: [
1492
+ [K, G]
1493
+ ), F = B(() => bt(e.number, K), [e.number, K]), C = P.number && e.number.length > 0 && (Ze(e.number) ? re ? void 0 : "Card brand not accepted" : Q.errors.number), p = P.expiry && e.expiry.length > 0 && !Xe(e.expiry) ? Q.errors.expiry : void 0, O = P.cvc && e.cvc.length > 0 && e.cvc.length !== be(K) ? Q.errors.cvc : void 0, L = `nice-credit-card nice-credit-card--${o}` + (q ? " nice-credit-card--disabled" : "") + (N ? " nice-credit-card--loading" : "") + (h ? " nice-credit-card--error" : "") + (R ? ` ${R}` : "");
1494
+ return I ? null : /* @__PURE__ */ _("div", { ref: E, className: L, style: m, title: v, "data-testid": S, children: [
1465
1495
  u && /* @__PURE__ */ _("div", { className: "nice-credit-card__title", children: [
1466
1496
  u,
1467
- w && /* @__PURE__ */ c("span", { className: "nice-credit-card__required", "aria-hidden": !0, children: "*" })
1497
+ k && /* @__PURE__ */ c("span", { className: "nice-credit-card__required", "aria-hidden": !0, children: "*" })
1468
1498
  ] }),
1469
1499
  /* @__PURE__ */ c("div", { className: "nice-credit-card__row", children: /* @__PURE__ */ _("label", { className: "nice-credit-card__field nice-credit-card__field--number", children: [
1470
- /* @__PURE__ */ c("span", { className: "nice-credit-card__label", children: P("creditCardInput.cardNumber", "Card number") }),
1500
+ /* @__PURE__ */ c("span", { className: "nice-credit-card__label", children: M("creditCardInput.cardNumber", "Card number") }),
1471
1501
  /* @__PURE__ */ _("span", { className: "nice-credit-card__input-wrapper", children: [
1472
1502
  /* @__PURE__ */ c(
1473
1503
  "input",
1474
1504
  {
1475
- id: `${B}-number`,
1505
+ id: `${A}-number`,
1476
1506
  type: "text",
1477
1507
  inputMode: "numeric",
1478
1508
  autoComplete: "cc-number",
1479
- placeholder: O === "amex" ? "3782 822463 10005" : "1234 1234 1234 1234",
1480
- value: E,
1481
- onChange: Z,
1482
- onBlur: () => T((C) => ({ ...C, number: !0 })),
1509
+ placeholder: K === "amex" ? "3782 822463 10005" : "1234 1234 1234 1234",
1510
+ value: F,
1511
+ onChange: X,
1512
+ onBlur: () => T((D) => ({ ...D, number: !0 })),
1483
1513
  disabled: q,
1484
- readOnly: I,
1485
- "aria-invalid": !!k,
1486
- "aria-describedby": k ? `${B}-number-err` : void 0,
1514
+ readOnly: $,
1515
+ "aria-invalid": !!C,
1516
+ "aria-describedby": C ? `${A}-number-err` : void 0,
1487
1517
  className: "nice-credit-card__input",
1488
- maxLength: O === "amex" ? 17 : 23
1518
+ maxLength: K === "amex" ? 17 : 23
1489
1519
  }
1490
1520
  ),
1491
- s && /* @__PURE__ */ c(Ht, { brand: O })
1521
+ i && /* @__PURE__ */ c(Zt, { brand: K })
1492
1522
  ] }),
1493
- k && /* @__PURE__ */ c("span", { id: `${B}-number-err`, className: "nice-credit-card__error", children: k })
1523
+ C && /* @__PURE__ */ c("span", { id: `${A}-number-err`, className: "nice-credit-card__error", children: C })
1494
1524
  ] }) }),
1495
1525
  /* @__PURE__ */ _("div", { className: "nice-credit-card__row nice-credit-card__row--split", children: [
1496
1526
  /* @__PURE__ */ _("label", { className: "nice-credit-card__field", children: [
1497
- /* @__PURE__ */ c("span", { className: "nice-credit-card__label", children: P("creditCardInput.expiry", "Expiry") }),
1527
+ /* @__PURE__ */ c("span", { className: "nice-credit-card__label", children: M("creditCardInput.expiry", "Expiry") }),
1498
1528
  /* @__PURE__ */ c(
1499
1529
  "input",
1500
1530
  {
1501
- id: `${B}-expiry`,
1531
+ id: `${A}-expiry`,
1502
1532
  type: "text",
1503
1533
  inputMode: "numeric",
1504
1534
  autoComplete: "cc-exp",
1505
- placeholder: P("creditCardInput.mmYy", "MM/YY"),
1535
+ placeholder: M("creditCardInput.mmYy", "MM/YY"),
1506
1536
  value: e.expiry,
1507
- onChange: Q,
1537
+ onChange: V,
1508
1538
  onBlur: () => {
1509
- T((L) => ({ ...L, expiry: !0 }));
1510
- const C = je(e.expiry);
1511
- C && C !== e.expiry && Y({ expiry: C });
1539
+ T((z) => ({ ...z, expiry: !0 }));
1540
+ const D = Je(e.expiry);
1541
+ D && D !== e.expiry && G({ expiry: D });
1512
1542
  },
1513
1543
  disabled: q,
1514
- readOnly: I,
1544
+ readOnly: $,
1515
1545
  "aria-invalid": !!p,
1516
- "aria-describedby": p ? `${B}-expiry-err` : void 0,
1546
+ "aria-describedby": p ? `${A}-expiry-err` : void 0,
1517
1547
  className: "nice-credit-card__input",
1518
1548
  maxLength: 5
1519
1549
  }
1520
1550
  ),
1521
- p && /* @__PURE__ */ c("span", { id: `${B}-expiry-err`, className: "nice-credit-card__error", children: p })
1551
+ p && /* @__PURE__ */ c("span", { id: `${A}-expiry-err`, className: "nice-credit-card__error", children: p })
1522
1552
  ] }),
1523
1553
  /* @__PURE__ */ _("label", { className: "nice-credit-card__field", children: [
1524
- /* @__PURE__ */ c("span", { className: "nice-credit-card__label", children: O === "amex" ? P("creditCardInput.cid", "CID") : P("creditCardInput.cvc", "CVC") }),
1554
+ /* @__PURE__ */ c("span", { className: "nice-credit-card__label", children: K === "amex" ? M("creditCardInput.cid", "CID") : M("creditCardInput.cvc", "CVC") }),
1525
1555
  /* @__PURE__ */ c(
1526
1556
  "input",
1527
1557
  {
1528
- id: `${B}-cvc`,
1558
+ id: `${A}-cvc`,
1529
1559
  type: "text",
1530
1560
  inputMode: "numeric",
1531
1561
  autoComplete: "cc-csc",
1532
- placeholder: "•".repeat(be(O)),
1562
+ placeholder: "•".repeat(be(K)),
1533
1563
  value: e.cvc,
1534
- onChange: ae,
1535
- onBlur: () => T((C) => ({ ...C, cvc: !0 })),
1564
+ onChange: ne,
1565
+ onBlur: () => T((D) => ({ ...D, cvc: !0 })),
1536
1566
  disabled: q,
1537
- readOnly: I,
1538
- "aria-invalid": !!F,
1539
- "aria-describedby": F ? `${B}-cvc-err` : void 0,
1567
+ readOnly: $,
1568
+ "aria-invalid": !!O,
1569
+ "aria-describedby": O ? `${A}-cvc-err` : void 0,
1540
1570
  className: "nice-credit-card__input",
1541
- maxLength: be(O)
1571
+ maxLength: be(K)
1542
1572
  }
1543
1573
  ),
1544
- F && /* @__PURE__ */ c("span", { id: `${B}-cvc-err`, className: "nice-credit-card__error", children: F })
1574
+ O && /* @__PURE__ */ c("span", { id: `${A}-cvc-err`, className: "nice-credit-card__error", children: O })
1545
1575
  ] })
1546
1576
  ] }),
1547
1577
  n && /* @__PURE__ */ c("div", { className: "nice-credit-card__row", children: /* @__PURE__ */ _("label", { className: "nice-credit-card__field", children: [
1548
- /* @__PURE__ */ c("span", { className: "nice-credit-card__label", children: P("creditCardInput.cardholderName", "Cardholder name") }),
1578
+ /* @__PURE__ */ c("span", { className: "nice-credit-card__label", children: M("creditCardInput.cardholderName", "Cardholder name") }),
1549
1579
  /* @__PURE__ */ c(
1550
1580
  "input",
1551
1581
  {
1552
- id: `${B}-holder`,
1582
+ id: `${A}-holder`,
1553
1583
  type: "text",
1554
1584
  autoComplete: "cc-name",
1555
- placeholder: P("creditCardInput.janeDoe", "Jane Doe"),
1585
+ placeholder: M("creditCardInput.janeDoe", "Jane Doe"),
1556
1586
  value: e.holderName ?? "",
1557
- onChange: (C) => Y({ holderName: C.target.value }),
1558
- onBlur: () => T((C) => ({ ...C, holder: !0 })),
1587
+ onChange: (D) => G({ holderName: D.target.value }),
1588
+ onBlur: () => T((D) => ({ ...D, holder: !0 })),
1559
1589
  disabled: q,
1560
- readOnly: I,
1590
+ readOnly: $,
1561
1591
  className: "nice-credit-card__input",
1562
1592
  maxLength: 120
1563
1593
  }
1564
1594
  )
1565
1595
  ] }) }),
1566
- i && /* @__PURE__ */ c("div", { className: "nice-credit-card__row", children: /* @__PURE__ */ _("label", { className: "nice-credit-card__field", children: [
1567
- /* @__PURE__ */ c("span", { className: "nice-credit-card__label", children: P("creditCardInput.postalCode", "Postal code") }),
1596
+ s && /* @__PURE__ */ c("div", { className: "nice-credit-card__row", children: /* @__PURE__ */ _("label", { className: "nice-credit-card__field", children: [
1597
+ /* @__PURE__ */ c("span", { className: "nice-credit-card__label", children: M("creditCardInput.postalCode", "Postal code") }),
1568
1598
  /* @__PURE__ */ c(
1569
1599
  "input",
1570
1600
  {
1571
- id: `${B}-postal`,
1601
+ id: `${A}-postal`,
1572
1602
  type: "text",
1573
1603
  autoComplete: "postal-code",
1574
1604
  value: e.postalCode ?? "",
1575
- onChange: (C) => Y({ postalCode: C.target.value }),
1576
- onBlur: () => T((C) => ({ ...C, postal: !0 })),
1605
+ onChange: (D) => G({ postalCode: D.target.value }),
1606
+ onBlur: () => T((D) => ({ ...D, postal: !0 })),
1577
1607
  disabled: q,
1578
- readOnly: I,
1608
+ readOnly: $,
1579
1609
  className: "nice-credit-card__input",
1580
1610
  maxLength: 16
1581
1611
  }
1582
1612
  )
1583
1613
  ] }) }),
1584
- (h || f) && /* @__PURE__ */ c(
1614
+ (h || b) && /* @__PURE__ */ c(
1585
1615
  "div",
1586
1616
  {
1587
1617
  className: h ? "nice-credit-card__form-error" : "nice-credit-card__helper",
1588
1618
  role: h ? "alert" : void 0,
1589
- children: h ?? f
1619
+ children: h ?? b
1590
1620
  }
1591
1621
  )
1592
1622
  ] });
1593
- }), Ke = {
1623
+ }), He = {
1594
1624
  visa: "VISA",
1595
1625
  mastercard: "MasterCard",
1596
1626
  amex: "AMEX",
@@ -1604,143 +1634,143 @@ const Oe = /* @__PURE__ */ se(
1604
1634
  hipercard: "Hipercard",
1605
1635
  unknown: ""
1606
1636
  };
1607
- function Ht({ brand: t }) {
1637
+ function Zt({ brand: t }) {
1608
1638
  return t === "unknown" ? null : /* @__PURE__ */ c(
1609
1639
  "span",
1610
1640
  {
1611
1641
  className: `nice-credit-card__brand nice-credit-card__brand--${t}`,
1612
- "aria-label": Ke[t],
1613
- children: Ke[t]
1642
+ "aria-label": He[t],
1643
+ children: He[t]
1614
1644
  }
1615
1645
  );
1616
1646
  }
1617
- const yr = /* @__PURE__ */ se(
1647
+ const gr = /* @__PURE__ */ se(
1618
1648
  function({
1619
1649
  processor: e,
1620
1650
  amount: r,
1621
1651
  editableAmount: n,
1622
1652
  customer: a,
1623
- currencies: i,
1653
+ currencies: s,
1624
1654
  description: d,
1625
- metadata: s,
1655
+ metadata: i,
1626
1656
  autoCapture: o = !0,
1627
1657
  submitLabel: l,
1628
1658
  onSuccess: y,
1629
1659
  onError: N,
1630
- consents: b,
1660
+ consents: f,
1631
1661
  className: u,
1632
- style: f
1662
+ style: b
1633
1663
  }, h) {
1634
- const { t: w } = oe(), x = l ?? w("paymentForm.pay", "Pay"), [m, g] = H(r), [v, S] = H(r.currency), [A, P] = H({ number: "", expiry: "", cvc: "" }), [M, q] = H(null), [I, W] = H(!1), [B, D] = H(null), T = Kt(e), O = K(() => e.supportedCurrencies === "*" ? !0 : e.supportedCurrencies.includes(m.currency.toUpperCase()), [e, m.currency]), X = K(() => {
1635
- var k;
1636
- const E = (k = e.minimums) == null ? void 0 : k[m.currency.toUpperCase()];
1637
- return E == null || m.amount >= E;
1638
- }, [e, m]), ne = K(() => {
1639
- var k;
1640
- const E = (k = e.minimums) == null ? void 0 : k[m.currency.toUpperCase()];
1641
- return E == null ? null : { amount: E, currency: m.currency };
1642
- }, [e, m.currency]), Y = !!(M != null && M.isValid), Z = !I && O && X && Y, Q = j(
1643
- async (E) => {
1644
- if (E.preventDefault(), !!Z) {
1645
- D(null), W(!0);
1664
+ const { t: k } = oe(), R = l ?? k("paymentForm.pay", "Pay"), [m, g] = j(r), [v, S] = j(r.currency), [E, M] = j({ number: "", expiry: "", cvc: "" }), [I, q] = j(null), [$, ee] = j(!1), [A, P] = j(null), T = jt(e), K = B(() => e.supportedCurrencies === "*" ? !0 : e.supportedCurrencies.includes(m.currency.toUpperCase()), [e, m.currency]), Q = B(() => {
1665
+ var C;
1666
+ const F = (C = e.minimums) == null ? void 0 : C[m.currency.toUpperCase()];
1667
+ return F == null || m.amount >= F;
1668
+ }, [e, m]), re = B(() => {
1669
+ var C;
1670
+ const F = (C = e.minimums) == null ? void 0 : C[m.currency.toUpperCase()];
1671
+ return F == null ? null : { amount: F, currency: m.currency };
1672
+ }, [e, m.currency]), G = !!(I != null && I.isValid), X = !$ && K && Q && G, V = Y(
1673
+ async (F) => {
1674
+ if (F.preventDefault(), !!X) {
1675
+ P(null), ee(!0);
1646
1676
  try {
1647
- const k = {
1677
+ const C = {
1648
1678
  amount: m,
1649
- card: A,
1679
+ card: E,
1650
1680
  customer: a,
1651
1681
  description: d,
1652
- metadata: s,
1653
- idempotencyKey: zt()
1654
- }, p = await T.authorize(k);
1682
+ metadata: i,
1683
+ idempotencyKey: Jt()
1684
+ }, p = await T.authorize(C);
1655
1685
  if (o && p.status === "authorized") {
1656
- const F = await T.capture(p.id, m);
1657
- y == null || y(F);
1686
+ const O = await T.capture(p.id, m);
1687
+ y == null || y(O);
1658
1688
  } else
1659
1689
  y == null || y(p);
1660
- } catch (k) {
1661
- const p = k instanceof Error ? k : new Error(String(k));
1662
- D(p.message), N == null || N(p);
1690
+ } catch (C) {
1691
+ const p = C instanceof Error ? C : new Error(String(C));
1692
+ P(p.message), N == null || N(p);
1663
1693
  } finally {
1664
- W(!1);
1694
+ ee(!1);
1665
1695
  }
1666
1696
  }
1667
1697
  },
1668
1698
  [
1669
- Z,
1699
+ X,
1670
1700
  m,
1671
- A,
1701
+ E,
1672
1702
  a,
1673
1703
  d,
1674
- s,
1704
+ i,
1675
1705
  o,
1676
1706
  T,
1677
1707
  y,
1678
1708
  N
1679
1709
  ]
1680
- ), ae = re(m.currency);
1710
+ ), ne = te(m.currency);
1681
1711
  return /* @__PURE__ */ _(
1682
1712
  "form",
1683
1713
  {
1684
1714
  ref: h,
1685
1715
  className: "nice-payment-form" + (u ? ` ${u}` : ""),
1686
- style: f,
1687
- onSubmit: Q,
1688
- "aria-busy": I,
1716
+ style: b,
1717
+ onSubmit: V,
1718
+ "aria-busy": $,
1689
1719
  children: [
1690
1720
  /* @__PURE__ */ c("div", { className: "nice-payment-form__amount", children: n ? /* @__PURE__ */ c(
1691
- Ze,
1721
+ Ve,
1692
1722
  {
1693
- label: w("paymentForm.amount", "Amount"),
1723
+ label: k("paymentForm.amount", "Amount"),
1694
1724
  value: m,
1695
1725
  currency: v,
1696
- currencies: i,
1697
- onChange: (E) => E && g(E),
1698
- onCurrencyChange: (E) => {
1699
- S(E), g((k) => ({ ...k, currency: E }));
1726
+ currencies: s,
1727
+ onChange: (F) => F && g(F),
1728
+ onCurrencyChange: (F) => {
1729
+ S(F), g((C) => ({ ...C, currency: F }));
1700
1730
  },
1701
- disabled: I,
1731
+ disabled: $,
1702
1732
  required: !0,
1703
1733
  showFormattedPreview: !0
1704
1734
  }
1705
1735
  ) : /* @__PURE__ */ _("div", { className: "nice-payment-form__total", children: [
1706
- /* @__PURE__ */ c("span", { className: "nice-payment-form__total-label", children: w("paymentForm.total", "Total") }),
1707
- /* @__PURE__ */ c(Oe, { value: m })
1736
+ /* @__PURE__ */ c("span", { className: "nice-payment-form__total-label", children: k("paymentForm.total", "Total") }),
1737
+ /* @__PURE__ */ c(ze, { value: m })
1708
1738
  ] }) }),
1709
1739
  d && /* @__PURE__ */ c("p", { className: "nice-payment-form__description", children: d }),
1710
1740
  /* @__PURE__ */ c("div", { className: "nice-payment-form__card", children: /* @__PURE__ */ c(
1711
- Lt,
1741
+ Gt,
1712
1742
  {
1713
- value: A,
1714
- onChange: (E, k) => {
1715
- P(E), q(k);
1743
+ value: E,
1744
+ onChange: (F, C) => {
1745
+ M(F), q(C);
1716
1746
  },
1717
- disabled: I
1747
+ disabled: $
1718
1748
  }
1719
1749
  ) }),
1720
- !O && /* @__PURE__ */ c("div", { className: "nice-payment-form__warning", role: "alert", children: w("paymentForm.doesNotAccept", "{provider} does not accept {currency}.").replace("{provider}", String(e.name)).replace("{currency}", String((ae == null ? void 0 : ae.name) ?? m.currency)) }),
1721
- !X && ne && /* @__PURE__ */ _("div", { className: "nice-payment-form__warning", role: "alert", children: [
1722
- w("paymentForm.minimumChargeForIs", "Minimum charge for {name} is").replace(
1750
+ !K && /* @__PURE__ */ c("div", { className: "nice-payment-form__warning", role: "alert", children: k("paymentForm.doesNotAccept", "{provider} does not accept {currency}.").replace("{provider}", String(e.name)).replace("{currency}", String((ne == null ? void 0 : ne.name) ?? m.currency)) }),
1751
+ !Q && re && /* @__PURE__ */ _("div", { className: "nice-payment-form__warning", role: "alert", children: [
1752
+ k("paymentForm.minimumChargeForIs", "Minimum charge for {name} is").replace(
1723
1753
  "{name}",
1724
1754
  String(e.name)
1725
1755
  ),
1726
1756
  " ",
1727
- /* @__PURE__ */ c(Oe, { value: ne }),
1757
+ /* @__PURE__ */ c(ze, { value: re }),
1728
1758
  "."
1729
1759
  ] }),
1730
- b && /* @__PURE__ */ c("div", { className: "nice-payment-form__consents", children: b }),
1731
- B && /* @__PURE__ */ c("div", { className: "nice-payment-form__error", role: "alert", children: B }),
1760
+ f && /* @__PURE__ */ c("div", { className: "nice-payment-form__consents", children: f }),
1761
+ A && /* @__PURE__ */ c("div", { className: "nice-payment-form__error", role: "alert", children: A }),
1732
1762
  /* @__PURE__ */ c(
1733
1763
  "button",
1734
1764
  {
1735
1765
  type: "submit",
1736
1766
  className: "nice-payment-form__submit",
1737
- disabled: !Z,
1738
- "aria-disabled": !Z,
1739
- children: I ? w("paymentForm.processing", "Processing…") : x
1767
+ disabled: !X,
1768
+ "aria-disabled": !X,
1769
+ children: $ ? k("paymentForm.processing", "Processing…") : R
1740
1770
  }
1741
1771
  ),
1742
1772
  /* @__PURE__ */ _("p", { className: "nice-payment-form__processor", children: [
1743
- w("paymentForm.securedBy", "Secured by"),
1773
+ k("paymentForm.securedBy", "Secured by"),
1744
1774
  " ",
1745
1775
  /* @__PURE__ */ c("strong", { children: e.name })
1746
1776
  ] })
@@ -1749,23 +1779,23 @@ const yr = /* @__PURE__ */ se(
1749
1779
  );
1750
1780
  }
1751
1781
  );
1752
- function zt() {
1782
+ function Jt() {
1753
1783
  return typeof crypto < "u" && "randomUUID" in crypto ? crypto.randomUUID() : `idem_${Date.now().toString(36)}_${Math.random().toString(36).slice(2)}`;
1754
1784
  }
1755
- const hr = /* @__PURE__ */ se(
1785
+ const vr = /* @__PURE__ */ se(
1756
1786
  function({
1757
1787
  price: e,
1758
1788
  originalPrice: r,
1759
1789
  period: n,
1760
1790
  prefix: a,
1761
- suffix: i,
1791
+ suffix: s,
1762
1792
  showDiscountBadge: d = !0,
1763
- size: s = "md",
1793
+ size: i = "md",
1764
1794
  locale: o,
1765
1795
  className: l,
1766
1796
  style: y
1767
1797
  }, N) {
1768
- const { t: b } = oe(), u = r && r.currency === e.currency && r.amount > e.amount, f = K(() => !u || !r ? null : Math.round((r.amount - e.amount) / r.amount * 100), [u, r, e.amount]), h = `nice-price-tag nice-price-tag--${s}` + (l ? ` ${l}` : "");
1798
+ const { t: f } = oe(), u = r && r.currency === e.currency && r.amount > e.amount, b = B(() => !u || !r ? null : Math.round((r.amount - e.amount) / r.amount * 100), [u, r, e.amount]), h = `nice-price-tag nice-price-tag--${i}` + (l ? ` ${l}` : "");
1769
1799
  return /* @__PURE__ */ _("div", { ref: N, className: h, style: y, children: [
1770
1800
  a && /* @__PURE__ */ c("span", { className: "nice-price-tag__prefix", children: a }),
1771
1801
  /* @__PURE__ */ _("span", { className: "nice-price-tag__main", children: [
@@ -1776,73 +1806,73 @@ const hr = /* @__PURE__ */ se(
1776
1806
  "span",
1777
1807
  {
1778
1808
  className: "nice-price-tag__original",
1779
- "aria-label": b("priceTag.originalPrice", "Original price"),
1809
+ "aria-label": f("priceTag.originalPrice", "Original price"),
1780
1810
  children: /* @__PURE__ */ c("s", { children: ie(r, { locale: o }) })
1781
1811
  }
1782
1812
  ),
1783
- u && d && f != null && f > 0 && /* @__PURE__ */ _(
1813
+ u && d && b != null && b > 0 && /* @__PURE__ */ _(
1784
1814
  "span",
1785
1815
  {
1786
1816
  className: "nice-price-tag__discount",
1787
- "aria-label": b("priceTag.percentOff", "{pct} percent off").replace("{pct}", String(f)),
1817
+ "aria-label": f("priceTag.percentOff", "{pct} percent off").replace("{pct}", String(b)),
1788
1818
  children: [
1789
1819
  "−",
1790
- f,
1820
+ b,
1791
1821
  "%"
1792
1822
  ]
1793
1823
  }
1794
1824
  ),
1795
- i && /* @__PURE__ */ c("span", { className: "nice-price-tag__suffix", children: i })
1825
+ s && /* @__PURE__ */ c("span", { className: "nice-price-tag__suffix", children: s })
1796
1826
  ] });
1797
1827
  }
1798
- ), jt = { amount: 0, currency: "USD" }, br = /* @__PURE__ */ se(function({
1828
+ ), Xt = { amount: 0, currency: "USD" }, Nr = /* @__PURE__ */ se(function({
1799
1829
  source: e,
1800
1830
  defaultSource: r,
1801
1831
  onSourceChange: n,
1802
1832
  targetCurrency: a,
1803
- defaultTargetCurrency: i,
1833
+ defaultTargetCurrency: s,
1804
1834
  onTargetCurrencyChange: d,
1805
- provider: s,
1835
+ provider: i,
1806
1836
  locale: o,
1807
1837
  showRateLine: l = !0,
1808
1838
  className: y,
1809
1839
  style: N
1810
- }, b) {
1811
- const { t: u } = oe(), [f, h] = Me({
1840
+ }, f) {
1841
+ const { t: u } = oe(), [b, h] = Ue({
1812
1842
  value: e,
1813
1843
  defaultValue: r,
1814
- fallbackValue: jt,
1844
+ fallbackValue: Xt,
1815
1845
  onChange: n,
1816
1846
  componentName: "NiceCurrencyConverter"
1817
- }), [w, x] = Me({
1847
+ }), [k, R] = Ue({
1818
1848
  value: a,
1819
- defaultValue: i,
1820
- fallbackValue: f.currency,
1849
+ defaultValue: s,
1850
+ fallbackValue: b.currency,
1821
1851
  onChange: d,
1822
1852
  componentName: "NiceCurrencyConverter"
1823
- }), { converted: m, loading: g, error: v } = Ie(f, w, s), S = K(
1824
- () => ({ amount: Math.pow(10, 2), currency: f.currency }),
1825
- [f.currency]
1826
- ), { converted: A } = Ie(
1853
+ }), { converted: m, loading: g, error: v } = Ee(b, k, i), S = B(
1854
+ () => ({ amount: Math.pow(10, 2), currency: b.currency }),
1855
+ [b.currency]
1856
+ ), { converted: E } = Ee(
1827
1857
  l ? S : null,
1828
- w,
1829
- s
1858
+ k,
1859
+ i
1830
1860
  );
1831
1861
  return /* @__PURE__ */ _(
1832
1862
  "div",
1833
1863
  {
1834
- ref: b,
1864
+ ref: f,
1835
1865
  className: "nice-currency-converter" + (y ? ` ${y}` : ""),
1836
1866
  style: N,
1837
1867
  children: [
1838
1868
  /* @__PURE__ */ c("div", { className: "nice-currency-converter__row", children: /* @__PURE__ */ c(
1839
- Ze,
1869
+ Ve,
1840
1870
  {
1841
1871
  label: u("currencyConverter.from", "From"),
1842
- value: f,
1843
- onChange: (P) => P && h(P),
1844
- currency: f.currency,
1845
- onCurrencyChange: (P) => h({ ...f, currency: P }),
1872
+ value: b,
1873
+ onChange: (M) => M && h(M),
1874
+ currency: b.currency,
1875
+ onCurrencyChange: (M) => h({ ...b, currency: M }),
1846
1876
  showFormattedPreview: !1
1847
1877
  }
1848
1878
  ) }),
@@ -1850,60 +1880,60 @@ const hr = /* @__PURE__ */ se(
1850
1880
  /* @__PURE__ */ c("label", { className: "nice-currency-converter__label", children: u("currencyConverter.to", "To") }),
1851
1881
  /* @__PURE__ */ _("div", { className: "nice-currency-converter__output", children: [
1852
1882
  /* @__PURE__ */ c(
1853
- Ge,
1883
+ Qe,
1854
1884
  {
1855
- value: w,
1856
- onChange: (P) => x(P),
1885
+ value: k,
1886
+ onChange: (M) => R(M),
1857
1887
  compact: !0
1858
1888
  }
1859
1889
  ),
1860
1890
  /* @__PURE__ */ c("span", { className: "nice-currency-converter__amount", children: g ? "…" : v ? "—" : m ? ie(m, { locale: o }) : "" })
1861
1891
  ] })
1862
1892
  ] }),
1863
- l && A && /* @__PURE__ */ _("p", { className: "nice-currency-converter__rate", children: [
1893
+ l && E && /* @__PURE__ */ _("p", { className: "nice-currency-converter__rate", children: [
1864
1894
  "1 ",
1865
- f.currency,
1895
+ b.currency,
1866
1896
  " = ",
1867
- ie(A, { locale: o }),
1897
+ ie(E, { locale: o }),
1868
1898
  " ",
1869
1899
  /* @__PURE__ */ _("span", { className: "nice-currency-converter__inverse", children: [
1870
1900
  "· 1 ",
1871
- w,
1901
+ k,
1872
1902
  " =",
1873
1903
  " ",
1874
- ie(ce(1 / He(A), f.currency), { locale: o })
1904
+ ie(ae(1 / Ge(E), b.currency), { locale: o })
1875
1905
  ] })
1876
1906
  ] }),
1877
1907
  v && /* @__PURE__ */ c("p", { className: "nice-currency-converter__error", role: "alert", children: v.message })
1878
1908
  ]
1879
1909
  }
1880
1910
  );
1881
- }), Yt = [];
1882
- function Be(t) {
1911
+ }), Qt = [];
1912
+ function je(t) {
1883
1913
  return { amount: Math.round(t.amount), currency: t.currency };
1884
1914
  }
1885
- const fr = /* @__PURE__ */ se(
1915
+ const wr = /* @__PURE__ */ se(
1886
1916
  function({
1887
- lines: e = Yt,
1917
+ lines: e = Qt,
1888
1918
  locale: r,
1889
1919
  rounding: n = "line",
1890
1920
  showTotals: a = !0,
1891
- showGrandTotal: i = !0,
1921
+ showGrandTotal: s = !0,
1892
1922
  hideRateColumn: d = !1,
1893
- labels: s,
1923
+ labels: i,
1894
1924
  density: o = "comfortable",
1895
1925
  className: l,
1896
1926
  style: y,
1897
1927
  id: N
1898
- }, b) {
1899
- const { t: u } = oe(), f = {
1900
- label: (s == null ? void 0 : s.label) ?? u("taxBreakdown.item", "Item"),
1901
- rate: (s == null ? void 0 : s.rate) ?? "VAT",
1902
- net: (s == null ? void 0 : s.net) ?? "Net",
1903
- vat: (s == null ? void 0 : s.vat) ?? "Tax",
1904
- gross: (s == null ? void 0 : s.gross) ?? "Gross",
1905
- total: (s == null ? void 0 : s.total) ?? "Total"
1906
- }, h = K(() => {
1928
+ }, f) {
1929
+ const { t: u } = oe(), b = {
1930
+ label: (i == null ? void 0 : i.label) ?? u("taxBreakdown.item", "Item"),
1931
+ rate: (i == null ? void 0 : i.rate) ?? "VAT",
1932
+ net: (i == null ? void 0 : i.net) ?? "Net",
1933
+ vat: (i == null ? void 0 : i.vat) ?? "Tax",
1934
+ gross: (i == null ? void 0 : i.gross) ?? "Gross",
1935
+ total: (i == null ? void 0 : i.total) ?? "Total"
1936
+ }, h = B(() => {
1907
1937
  if (n === "total") {
1908
1938
  const m = /* @__PURE__ */ new Map();
1909
1939
  for (const v of e) {
@@ -1912,40 +1942,40 @@ const fr = /* @__PURE__ */ se(
1912
1942
  }
1913
1943
  const g = [];
1914
1944
  for (const [v, S] of m) {
1915
- const A = S.reduce((q, I) => ye(q, I), ce(0, S[0].currency)), P = Be(Se(A, v)), M = ye(A, P);
1916
- g.push({ rate: v, net: A, vat: P, gross: M });
1945
+ const E = S.reduce((q, $) => ye(q, $), ae(0, S[0].currency)), M = je(Ae(E, v)), I = ye(E, M);
1946
+ g.push({ rate: v, net: E, vat: M, gross: I });
1917
1947
  }
1918
1948
  return g;
1919
1949
  }
1920
1950
  return e.map((m) => {
1921
- const g = Be(Se(m.netAmount, m.vatRate)), v = ye(m.netAmount, g);
1951
+ const g = je(Ae(m.netAmount, m.vatRate)), v = ye(m.netAmount, g);
1922
1952
  return { label: m.label, rate: m.vatRate, net: m.netAmount, vat: g, gross: v };
1923
1953
  });
1924
- }, [e, n]), w = K(() => {
1954
+ }, [e, n]), k = B(() => {
1925
1955
  if (h.length === 0)
1926
1956
  return null;
1927
1957
  const m = h[0].net.currency;
1928
- let g = ce(0, m), v = ce(0, m), S = ce(0, m);
1929
- for (const A of h)
1930
- g = ye(g, A.net), v = ye(v, A.vat), S = ye(S, A.gross);
1958
+ let g = ae(0, m), v = ae(0, m), S = ae(0, m);
1959
+ for (const E of h)
1960
+ g = ye(g, E.net), v = ye(v, E.vat), S = ye(S, E.gross);
1931
1961
  return { net: g, vat: v, gross: S };
1932
- }, [h]), x = (m) => ie(m, { locale: r });
1962
+ }, [h]), R = (m) => ie(m, { locale: r });
1933
1963
  return /* @__PURE__ */ _(
1934
1964
  "table",
1935
1965
  {
1936
- ref: b,
1966
+ ref: f,
1937
1967
  id: N,
1938
1968
  className: `nice-tax-breakdown nice-tax-breakdown--${o} ${l ?? ""}`,
1939
1969
  style: y,
1940
1970
  role: "table",
1941
- "aria-label": f.total,
1971
+ "aria-label": b.total,
1942
1972
  children: [
1943
1973
  /* @__PURE__ */ c("thead", { children: /* @__PURE__ */ _("tr", { children: [
1944
- h.some((m) => m.label !== void 0) && /* @__PURE__ */ c("th", { scope: "col", children: f.label }),
1945
- !d && /* @__PURE__ */ c("th", { scope: "col", className: "nice-tax-breakdown__rate", children: f.rate }),
1946
- /* @__PURE__ */ c("th", { scope: "col", className: "nice-tax-breakdown__num", children: f.net }),
1947
- /* @__PURE__ */ c("th", { scope: "col", className: "nice-tax-breakdown__num", children: f.vat }),
1948
- /* @__PURE__ */ c("th", { scope: "col", className: "nice-tax-breakdown__num", children: f.gross })
1974
+ h.some((m) => m.label !== void 0) && /* @__PURE__ */ c("th", { scope: "col", children: b.label }),
1975
+ !d && /* @__PURE__ */ c("th", { scope: "col", className: "nice-tax-breakdown__rate", children: b.rate }),
1976
+ /* @__PURE__ */ c("th", { scope: "col", className: "nice-tax-breakdown__num", children: b.net }),
1977
+ /* @__PURE__ */ c("th", { scope: "col", className: "nice-tax-breakdown__num", children: b.vat }),
1978
+ /* @__PURE__ */ c("th", { scope: "col", className: "nice-tax-breakdown__num", children: b.gross })
1949
1979
  ] }) }),
1950
1980
  /* @__PURE__ */ c("tbody", { children: h.map((m, g) => /* @__PURE__ */ _("tr", { children: [
1951
1981
  h.some((v) => v.label !== void 0) && /* @__PURE__ */ c("td", { children: m.label ?? "" }),
@@ -1953,64 +1983,64 @@ const fr = /* @__PURE__ */ se(
1953
1983
  (m.rate * 100).toLocaleString(r, { maximumFractionDigits: 2 }),
1954
1984
  "%"
1955
1985
  ] }),
1956
- /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: x(m.net) }),
1957
- /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: x(m.vat) }),
1958
- /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: x(m.gross) })
1986
+ /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: R(m.net) }),
1987
+ /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: R(m.vat) }),
1988
+ /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: R(m.gross) })
1959
1989
  ] }, `${m.rate}-${g}`)) }),
1960
- a && w && /* @__PURE__ */ c("tfoot", { children: i && /* @__PURE__ */ _("tr", { className: "nice-tax-breakdown__totals", children: [
1961
- h.some((m) => m.label !== void 0) && /* @__PURE__ */ c("td", { children: f.total }),
1962
- !d && /* @__PURE__ */ c("td", { children: h.some((m) => m.label !== void 0) ? null : f.total }),
1963
- /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: x(w.net) }),
1964
- /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: x(w.vat) }),
1965
- /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: x(w.gross) })
1990
+ a && k && /* @__PURE__ */ c("tfoot", { children: s && /* @__PURE__ */ _("tr", { className: "nice-tax-breakdown__totals", children: [
1991
+ h.some((m) => m.label !== void 0) && /* @__PURE__ */ c("td", { children: b.total }),
1992
+ !d && /* @__PURE__ */ c("td", { children: h.some((m) => m.label !== void 0) ? null : b.total }),
1993
+ /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: R(k.net) }),
1994
+ /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: R(k.vat) }),
1995
+ /* @__PURE__ */ c("td", { className: "nice-tax-breakdown__num", children: R(k.gross) })
1966
1996
  ] }) })
1967
1997
  ]
1968
1998
  }
1969
1999
  );
1970
2000
  }
1971
- ), Gt = [], _r = /* @__PURE__ */ se(function(e, r) {
2001
+ ), Vt = [], kr = /* @__PURE__ */ se(function(e, r) {
1972
2002
  const { t: n } = oe(), {
1973
- methods: a = Gt,
1974
- value: i,
2003
+ methods: a = Vt,
2004
+ value: s,
1975
2005
  onChange: d,
1976
- layout: s = "list",
2006
+ layout: i = "list",
1977
2007
  columns: o = 2,
1978
2008
  currency: l,
1979
2009
  label: y,
1980
2010
  name: N,
1981
- readOnly: b = !1,
2011
+ readOnly: f = !1,
1982
2012
  className: u,
1983
- style: f,
2013
+ style: b,
1984
2014
  id: h,
1985
- accessMode: w,
1986
- "data-testid": x
1987
- } = e, m = _e(), g = N ?? `nice-pm-${m}`, v = K(() => {
2015
+ accessMode: k,
2016
+ "data-testid": R
2017
+ } = e, m = Ne(), g = N ?? `nice-pm-${m}`, v = B(() => {
1988
2018
  if (!l)
1989
2019
  return a;
1990
- const M = l.toUpperCase();
2020
+ const I = l.toUpperCase();
1991
2021
  return a.filter(
1992
- (q) => !q.currencies || q.currencies.map((I) => I.toUpperCase()).includes(M)
2022
+ (q) => !q.currencies || q.currencies.map(($) => $.toUpperCase()).includes(I)
1993
2023
  );
1994
2024
  }, [a, l]);
1995
- if (w === "hidden")
2025
+ if (k === "hidden")
1996
2026
  return null;
1997
- const S = b || w === "disabled" || w === "readOnly", A = `nice-payment-method-selector nice-payment-method-selector--${s}` + (u ? ` ${u}` : ""), P = s === "grid" ? { gridTemplateColumns: `repeat(${o}, minmax(0, 1fr))` } : void 0;
1998
- return /* @__PURE__ */ _("div", { ref: r, id: h, className: A, style: f, "data-testid": x, children: [
2027
+ const S = f || k === "disabled" || k === "readOnly", E = `nice-payment-method-selector nice-payment-method-selector--${i}` + (u ? ` ${u}` : ""), M = i === "grid" ? { gridTemplateColumns: `repeat(${o}, minmax(0, 1fr))` } : void 0;
2028
+ return /* @__PURE__ */ _("div", { ref: r, id: h, className: E, style: b, "data-testid": R, children: [
1999
2029
  y && /* @__PURE__ */ c("div", { className: "nice-payment-method-selector__label", children: y }),
2000
2030
  /* @__PURE__ */ _(
2001
2031
  "div",
2002
2032
  {
2003
2033
  className: "nice-payment-method-selector__options",
2004
- style: P,
2034
+ style: M,
2005
2035
  role: "radiogroup",
2006
2036
  "aria-label": y ?? n("paymentMethodSelector.paymentMethod", "Payment method"),
2007
2037
  children: [
2008
- v.map((M) => {
2009
- const q = M.id === i, I = S || M.disabled;
2038
+ v.map((I) => {
2039
+ const q = I.id === s, $ = S || I.disabled;
2010
2040
  return /* @__PURE__ */ _(
2011
2041
  "label",
2012
2042
  {
2013
- className: "nice-payment-method-selector__option" + (q ? " nice-payment-method-selector__option--selected" : "") + (I ? " nice-payment-method-selector__option--disabled" : ""),
2043
+ className: "nice-payment-method-selector__option" + (q ? " nice-payment-method-selector__option--selected" : "") + ($ ? " nice-payment-method-selector__option--disabled" : ""),
2014
2044
  children: [
2015
2045
  /* @__PURE__ */ c(
2016
2046
  "input",
@@ -2018,20 +2048,20 @@ const fr = /* @__PURE__ */ se(
2018
2048
  type: "radio",
2019
2049
  className: "nice-payment-method-selector__radio",
2020
2050
  name: g,
2021
- value: M.id,
2051
+ value: I.id,
2022
2052
  checked: q,
2023
- disabled: I,
2024
- onChange: () => d == null ? void 0 : d(M.id)
2053
+ disabled: $,
2054
+ onChange: () => d == null ? void 0 : d(I.id)
2025
2055
  }
2026
2056
  ),
2027
- M.icon && /* @__PURE__ */ c("span", { className: "nice-payment-method-selector__icon", children: M.icon }),
2057
+ I.icon && /* @__PURE__ */ c("span", { className: "nice-payment-method-selector__icon", children: I.icon }),
2028
2058
  /* @__PURE__ */ _("span", { className: "nice-payment-method-selector__text", children: [
2029
- /* @__PURE__ */ c("span", { className: "nice-payment-method-selector__name", children: M.label }),
2030
- M.description && /* @__PURE__ */ c("span", { className: "nice-payment-method-selector__desc", children: M.description })
2059
+ /* @__PURE__ */ c("span", { className: "nice-payment-method-selector__name", children: I.label }),
2060
+ I.description && /* @__PURE__ */ c("span", { className: "nice-payment-method-selector__desc", children: I.description })
2031
2061
  ] })
2032
2062
  ]
2033
2063
  },
2034
- M.id
2064
+ I.id
2035
2065
  );
2036
2066
  }),
2037
2067
  v.length === 0 && /* @__PURE__ */ c("div", { className: "nice-payment-method-selector__empty", children: n("paymentMethodSelector.noMethodsAvailable", "No methods available.") })
@@ -2039,7 +2069,7 @@ const fr = /* @__PURE__ */ se(
2039
2069
  }
2040
2070
  )
2041
2071
  ] });
2042
- }), Zt = [
2072
+ }), Wt = [
2043
2073
  {
2044
2074
  target: ".nice-payment-provider-config",
2045
2075
  titleKey: "tutorial.paymentProviderConfig.intro.title",
@@ -2048,65 +2078,65 @@ const fr = /* @__PURE__ */ se(
2048
2078
  content: "Pick a provider, fill its credentials (secrets are masked), choose test/live, enable methods and copy the webhook URL.",
2049
2079
  placement: "auto"
2050
2080
  }
2051
- ], Jt = {
2081
+ ], er = {
2052
2082
  providerId: "",
2053
2083
  mode: "test",
2054
2084
  credentials: {},
2055
2085
  enabledMethods: []
2056
- }, gr = /* @__PURE__ */ se(function(e, r) {
2086
+ }, Cr = /* @__PURE__ */ se(function(e, r) {
2057
2087
  const { t: n } = oe(), {
2058
2088
  value: a,
2059
- defaultValue: i,
2089
+ defaultValue: s,
2060
2090
  onChange: d,
2061
- providers: s,
2091
+ providers: i,
2062
2092
  onTestConnection: o,
2063
2093
  showWebhookUrl: l = !0,
2064
2094
  baseUrl: y,
2065
2095
  readOnly: N = !1,
2066
- testLabel: b = n("paymentProviderConfig.testConnection", "Test connection"),
2096
+ testLabel: f = n("paymentProviderConfig.testConnection", "Test connection"),
2067
2097
  tutorial: u,
2068
- className: f,
2098
+ className: b,
2069
2099
  style: h,
2070
- id: w,
2071
- accessMode: x,
2100
+ id: k,
2101
+ accessMode: R,
2072
2102
  "data-testid": m
2073
- } = e, [g, v] = Me({
2103
+ } = e, [g, v] = Ue({
2074
2104
  value: a,
2075
- defaultValue: i,
2076
- fallbackValue: Jt,
2105
+ defaultValue: s,
2106
+ fallbackValue: er,
2077
2107
  onChange: d,
2078
2108
  componentName: "NicePaymentProviderConfig"
2079
- }), S = _e(), [A, P] = H(/* @__PURE__ */ new Set()), [M, q] = H(!1), [I, W] = H(null), B = K(() => s ? s.map((p) => we[p]).filter((p) => !!p) : Ot, [s]), D = we[g.providerId];
2080
- if (x === "hidden")
2109
+ }), S = Ne(), [E, M] = j(/* @__PURE__ */ new Set()), [I, q] = j(!1), [$, ee] = j(null), A = B(() => i ? i.map((p) => Pe[p]).filter((p) => !!p) : Ht, [i]), P = Pe[g.providerId];
2110
+ if (R === "hidden")
2081
2111
  return null;
2082
- const T = N || x === "disabled" || x === "readOnly", O = (p) => {
2083
- W(null), P(/* @__PURE__ */ new Set()), v({ providerId: p, mode: g.mode, credentials: {}, enabledMethods: [] });
2084
- }, X = (p, F) => {
2085
- v({ ...g, credentials: { ...g.credentials, [p]: F } });
2086
- }, ne = (p) => {
2087
- const F = new Set(g.enabledMethods ?? []);
2088
- F.has(p) ? F.delete(p) : F.add(p), v({ ...g, enabledMethods: [...F] });
2089
- }, Y = (p) => {
2090
- P((F) => {
2091
- const z = new Set(F);
2092
- return z.has(p) ? z.delete(p) : z.add(p), z;
2112
+ const T = N || R === "disabled" || R === "readOnly", K = (p) => {
2113
+ ee(null), M(/* @__PURE__ */ new Set()), v({ providerId: p, mode: g.mode, credentials: {}, enabledMethods: [] });
2114
+ }, Q = (p, O) => {
2115
+ v({ ...g, credentials: { ...g.credentials, [p]: O } });
2116
+ }, re = (p) => {
2117
+ const O = new Set(g.enabledMethods ?? []);
2118
+ O.has(p) ? O.delete(p) : O.add(p), v({ ...g, enabledMethods: [...O] });
2119
+ }, G = (p) => {
2120
+ M((O) => {
2121
+ const L = new Set(O);
2122
+ return L.has(p) ? L.delete(p) : L.add(p), L;
2093
2123
  });
2094
- }, Z = async () => {
2124
+ }, X = async () => {
2095
2125
  if (o) {
2096
- q(!0), W(null);
2126
+ q(!0), ee(null);
2097
2127
  try {
2098
- W(await o(g));
2128
+ ee(await o(g));
2099
2129
  } catch (p) {
2100
- W({ ok: !1, message: p instanceof Error ? p.message : String(p) });
2130
+ ee({ ok: !1, message: p instanceof Error ? p.message : String(p) });
2101
2131
  } finally {
2102
2132
  q(!1);
2103
2133
  }
2104
2134
  }
2105
- }, Q = D != null && D.webhookPath ? `${(y ?? "").replace(/\/$/, "")}${D.webhookPath}` : "", ae = (D == null ? void 0 : D.supportedCurrencies) === "*" ? n("paymentProviderConfig.allCurrencies", "All currencies") : ((D == null ? void 0 : D.supportedCurrencies) ?? []).join(", "), E = "nice-payment-provider-config" + (f ? ` ${f}` : ""), k = ((D == null ? void 0 : D.credentials) ?? []).filter(
2135
+ }, V = P != null && P.webhookPath ? `${(y ?? "").replace(/\/$/, "")}${P.webhookPath}` : "", ne = (P == null ? void 0 : P.supportedCurrencies) === "*" ? n("paymentProviderConfig.allCurrencies", "All currencies") : ((P == null ? void 0 : P.supportedCurrencies) ?? []).join(", "), F = "nice-payment-provider-config" + (b ? ` ${b}` : ""), C = ((P == null ? void 0 : P.credentials) ?? []).filter(
2106
2136
  (p) => !p.testOnly || g.mode === "test"
2107
2137
  );
2108
- return /* @__PURE__ */ _("div", { ref: r, id: w, className: E, style: h, "data-testid": m, children: [
2109
- u && /* @__PURE__ */ c("div", { className: "nice-payment-provider-config__tutorial", children: /* @__PURE__ */ c(st, { steps: ot(u, Zt) }) }),
2138
+ return /* @__PURE__ */ _("div", { ref: r, id: k, className: F, style: h, "data-testid": m, children: [
2139
+ u && /* @__PURE__ */ c("div", { className: "nice-payment-provider-config__tutorial", children: /* @__PURE__ */ c(mt, { steps: pt(u, Wt) }) }),
2110
2140
  /* @__PURE__ */ _("div", { className: "nice-payment-provider-config__row", children: [
2111
2141
  /* @__PURE__ */ _("label", { className: "nice-payment-provider-config__field", children: [
2112
2142
  /* @__PURE__ */ c("span", { className: "nice-payment-provider-config__field-label", children: n("paymentProviderConfig.provider", "Provider") }),
@@ -2116,15 +2146,15 @@ const fr = /* @__PURE__ */ se(
2116
2146
  className: "nice-payment-provider-config__select",
2117
2147
  value: g.providerId,
2118
2148
  disabled: T,
2119
- onChange: (p) => O(p.target.value),
2149
+ onChange: (p) => K(p.target.value),
2120
2150
  children: [
2121
2151
  /* @__PURE__ */ c("option", { value: "", children: n("paymentProviderConfig.selectProvider", "— select provider —") }),
2122
- B.map((p) => /* @__PURE__ */ c("option", { value: p.id, children: p.name }, p.id))
2152
+ A.map((p) => /* @__PURE__ */ c("option", { value: p.id, children: p.name }, p.id))
2123
2153
  ]
2124
2154
  }
2125
2155
  )
2126
2156
  ] }),
2127
- (D == null ? void 0 : D.hasTestMode) && /* @__PURE__ */ _(
2157
+ (P == null ? void 0 : P.hasTestMode) && /* @__PURE__ */ _(
2128
2158
  "div",
2129
2159
  {
2130
2160
  className: "nice-payment-provider-config__mode",
@@ -2155,15 +2185,15 @@ const fr = /* @__PURE__ */ se(
2155
2185
  }
2156
2186
  )
2157
2187
  ] }),
2158
- D && /* @__PURE__ */ _(it, { children: [
2188
+ P && /* @__PURE__ */ _(dt, { children: [
2159
2189
  /* @__PURE__ */ _("div", { className: "nice-payment-provider-config__meta", children: [
2160
- /* @__PURE__ */ c("span", { className: "nice-payment-provider-config__badge", children: D.type }),
2161
- /* @__PURE__ */ c("span", { className: "nice-payment-provider-config__currencies", children: ae })
2190
+ /* @__PURE__ */ c("span", { className: "nice-payment-provider-config__badge", children: P.type }),
2191
+ /* @__PURE__ */ c("span", { className: "nice-payment-provider-config__currencies", children: ne })
2162
2192
  ] }),
2163
- /* @__PURE__ */ c("div", { className: "nice-payment-provider-config__credentials", children: k.map((p) => {
2164
- const F = `${S}-${p.key}`, z = p.secret, C = A.has(p.key);
2193
+ /* @__PURE__ */ c("div", { className: "nice-payment-provider-config__credentials", children: C.map((p) => {
2194
+ const O = `${S}-${p.key}`, L = p.secret, D = E.has(p.key);
2165
2195
  return /* @__PURE__ */ _("div", { className: "nice-payment-provider-config__field", children: [
2166
- /* @__PURE__ */ _("label", { className: "nice-payment-provider-config__field-label", htmlFor: F, children: [
2196
+ /* @__PURE__ */ _("label", { className: "nice-payment-provider-config__field-label", htmlFor: O, children: [
2167
2197
  p.label,
2168
2198
  p.required && /* @__PURE__ */ c("span", { className: "nice-payment-provider-config__required", children: " *" })
2169
2199
  ] }),
@@ -2171,48 +2201,48 @@ const fr = /* @__PURE__ */ se(
2171
2201
  /* @__PURE__ */ c(
2172
2202
  "input",
2173
2203
  {
2174
- id: F,
2175
- type: z && !C ? "password" : "text",
2204
+ id: O,
2205
+ type: L && !D ? "password" : "text",
2176
2206
  className: "nice-payment-provider-config__input",
2177
2207
  value: g.credentials[p.key] ?? "",
2178
2208
  readOnly: T,
2179
- autoComplete: z ? "new-password" : "off",
2180
- onChange: (L) => X(p.key, L.target.value)
2209
+ autoComplete: L ? "new-password" : "off",
2210
+ onChange: (z) => Q(p.key, z.target.value)
2181
2211
  }
2182
2212
  ),
2183
- z && /* @__PURE__ */ c(
2213
+ L && /* @__PURE__ */ c(
2184
2214
  "button",
2185
2215
  {
2186
2216
  type: "button",
2187
2217
  className: "nice-payment-provider-config__reveal",
2188
- onClick: () => Y(p.key),
2189
- "aria-label": C ? n("paymentProviderConfig.hide", "Hide") : n("paymentProviderConfig.reveal", "Reveal"),
2190
- "aria-pressed": C,
2191
- children: /* @__PURE__ */ c(Pe, { name: C ? "eye-off" : "eye", size: 14 })
2218
+ onClick: () => G(p.key),
2219
+ "aria-label": D ? n("paymentProviderConfig.hide", "Hide") : n("paymentProviderConfig.reveal", "Reveal"),
2220
+ "aria-pressed": D,
2221
+ children: /* @__PURE__ */ c(ve, { name: D ? "eye-off" : "eye", size: 14 })
2192
2222
  }
2193
2223
  )
2194
2224
  ] }),
2195
2225
  p.help && /* @__PURE__ */ c("span", { className: "nice-payment-provider-config__help", children: p.help })
2196
2226
  ] }, p.key);
2197
2227
  }) }),
2198
- D.supportedMethods && D.supportedMethods.length > 0 && /* @__PURE__ */ _("div", { className: "nice-payment-provider-config__methods", children: [
2228
+ P.supportedMethods && P.supportedMethods.length > 0 && /* @__PURE__ */ _("div", { className: "nice-payment-provider-config__methods", children: [
2199
2229
  /* @__PURE__ */ c("span", { className: "nice-payment-provider-config__field-label", children: n("paymentProviderConfig.enabledMethods", "Enabled methods") }),
2200
- /* @__PURE__ */ c("div", { className: "nice-payment-provider-config__method-list", children: D.supportedMethods.map((p) => /* @__PURE__ */ _("label", { className: "nice-payment-provider-config__method", children: [
2230
+ /* @__PURE__ */ c("div", { className: "nice-payment-provider-config__method-list", children: P.supportedMethods.map((p) => /* @__PURE__ */ _("label", { className: "nice-payment-provider-config__method", children: [
2201
2231
  /* @__PURE__ */ c(
2202
2232
  "input",
2203
2233
  {
2204
2234
  type: "checkbox",
2205
2235
  checked: (g.enabledMethods ?? []).includes(p),
2206
2236
  disabled: T,
2207
- onChange: () => ne(p)
2237
+ onChange: () => re(p)
2208
2238
  }
2209
2239
  ),
2210
2240
  p
2211
2241
  ] }, p)) })
2212
2242
  ] }),
2213
- l && D.webhookPath && /* @__PURE__ */ _("div", { className: "nice-payment-provider-config__field", children: [
2243
+ l && P.webhookPath && /* @__PURE__ */ _("div", { className: "nice-payment-provider-config__field", children: [
2214
2244
  /* @__PURE__ */ c("span", { className: "nice-payment-provider-config__field-label", children: n("paymentProviderConfig.webhookUrl", "Webhook URL") }),
2215
- /* @__PURE__ */ c("code", { className: "nice-payment-provider-config__webhook", children: Q })
2245
+ /* @__PURE__ */ c("code", { className: "nice-payment-provider-config__webhook", children: V })
2216
2246
  ] }),
2217
2247
  o && /* @__PURE__ */ _("div", { className: "nice-payment-provider-config__test", children: [
2218
2248
  /* @__PURE__ */ c(
@@ -2220,19 +2250,19 @@ const fr = /* @__PURE__ */ se(
2220
2250
  {
2221
2251
  type: "button",
2222
2252
  className: "nice-payment-provider-config__test-btn",
2223
- onClick: () => void Z(),
2224
- disabled: T || M,
2225
- children: M ? n("paymentProviderConfig.testing", "Testing…") : b
2253
+ onClick: () => void X(),
2254
+ disabled: T || I,
2255
+ children: I ? n("paymentProviderConfig.testing", "Testing…") : f
2226
2256
  }
2227
2257
  ),
2228
- I && /* @__PURE__ */ _(
2258
+ $ && /* @__PURE__ */ _(
2229
2259
  "span",
2230
2260
  {
2231
- className: "nice-payment-provider-config__test-result nice-payment-provider-config__test-result--" + (I.ok ? "ok" : "error"),
2261
+ className: "nice-payment-provider-config__test-result nice-payment-provider-config__test-result--" + ($.ok ? "ok" : "error"),
2232
2262
  children: [
2233
- /* @__PURE__ */ c(Pe, { name: I.ok ? "check" : "close", size: 14 }),
2263
+ /* @__PURE__ */ c(ve, { name: $.ok ? "check" : "close", size: 14 }),
2234
2264
  " ",
2235
- I.message ?? (I.ok ? n("paymentProviderConfig.ok", "OK") : n("paymentProviderConfig.failed", "Failed"))
2265
+ $.message ?? ($.ok ? n("paymentProviderConfig.ok", "OK") : n("paymentProviderConfig.failed", "Failed"))
2236
2266
  ]
2237
2267
  }
2238
2268
  )
@@ -2241,71 +2271,71 @@ const fr = /* @__PURE__ */ se(
2241
2271
  ] });
2242
2272
  });
2243
2273
  export {
2244
- ft as EcbRatesProvider,
2245
- ht as ExchangeRateHostProvider,
2246
- pt as FrankfurterProvider,
2247
- _t as FreeForexApiProvider,
2248
- vt as MockPaymentProcessor,
2249
- fe as NICE_CURRENCY_CATALOG,
2250
- pr as NICE_CURRENCY_CODES,
2251
- Tt as NICE_PAYMENT_PROCESSORS,
2252
- Ot as NICE_PAYMENT_PROVIDER_LIST,
2253
- we as NICE_PAYMENT_PROVIDER_PROFILES,
2254
- bt as NbpRatesProvider,
2255
- Lt as NiceCreditCardInput,
2256
- br as NiceCurrencyConverter,
2257
- Ge as NiceCurrencySelector,
2258
- Oe as NiceMoney,
2259
- Ze as NiceMoneyInput,
2260
- yr as NicePaymentForm,
2261
- _r as NicePaymentMethodSelector,
2262
- gr as NicePaymentProviderConfig,
2263
- hr as NicePriceTag,
2264
- fr as NiceTaxBreakdown,
2265
- yt as OpenExchangeRatesProvider,
2266
- ir as StaticExchangeRateProvider,
2274
+ wt as EcbRatesProvider,
2275
+ vt as ExchangeRateHostProvider,
2276
+ _t as FrankfurterProvider,
2277
+ kt as FreeForexApiProvider,
2278
+ Dt as MockPaymentProcessor,
2279
+ _e as NICE_CURRENCY_CATALOG,
2280
+ _r as NICE_CURRENCY_CODES,
2281
+ Kt as NICE_PAYMENT_PROCESSORS,
2282
+ Ht as NICE_PAYMENT_PROVIDER_LIST,
2283
+ Pe as NICE_PAYMENT_PROVIDER_PROFILES,
2284
+ Nt as NbpRatesProvider,
2285
+ Gt as NiceCreditCardInput,
2286
+ Nr as NiceCurrencyConverter,
2287
+ Qe as NiceCurrencySelector,
2288
+ ze as NiceMoney,
2289
+ Ve as NiceMoneyInput,
2290
+ gr as NicePaymentForm,
2291
+ kr as NicePaymentMethodSelector,
2292
+ Cr as NicePaymentProviderConfig,
2293
+ vr as NicePriceTag,
2294
+ wr as NiceTaxBreakdown,
2295
+ gt as OpenExchangeRatesProvider,
2296
+ ur as StaticExchangeRateProvider,
2267
2297
  ye as addMoney,
2268
- tr as compareMoney,
2269
- gt as convertMoney,
2270
- or as createEcbRatesProvider,
2271
- dr as createFreeForexApiProvider,
2272
- sr as createNbpRatesProvider,
2273
- lr as createOpenExchangeRatesProvider,
2274
- ke as detectCardBrand,
2298
+ ir as compareMoney,
2299
+ Ct as convertMoney,
2300
+ pr as createEcbRatesProvider,
2301
+ hr as createFreeForexApiProvider,
2302
+ mr as createNbpRatesProvider,
2303
+ yr as createOpenExchangeRatesProvider,
2304
+ Me as detectCardBrand,
2275
2305
  be as expectedCvcLength,
2276
- re as findCurrency,
2277
- ur as findPaymentProviderProfile,
2278
- mt as formatCardNumber,
2306
+ te as findCurrency,
2307
+ fr as findPaymentProviderProfile,
2308
+ bt as formatCardNumber,
2279
2309
  ie as formatMoney,
2280
- He as fromMoney,
2281
- Ye as isExpiryValid,
2282
- nr as isNegative,
2283
- rr as isZero,
2284
- ze as luhnCheck,
2285
- kt as makeAdyenAdapter,
2286
- xt as makeAutopayAdapter,
2287
- Rt as makeBlikAdapter,
2288
- Pt as makeBraintreeAdapter,
2289
- At as makeCoinbaseCommerceAdapter,
2290
- Ut as makeKlarnaAdapter,
2291
- Dt as makeMollieAdapter,
2292
- wt as makePayPalAdapter,
2293
- St as makePayUAdapter,
2294
- It as makePrzelewy24Adapter,
2295
- Mt as makeRazorpayAdapter,
2296
- Ct as makeSquareAdapter,
2297
- Nt as makeStripeAdapter,
2298
- $t as makeTpayAdapter,
2299
- cr as maskCardNumber,
2300
- Se as multiplyMoney,
2301
- ar as negateMoney,
2302
- je as normaliseExpiry,
2303
- ut as parseMoney,
2304
- er as registerCurrency,
2305
- dt as subtractMoney,
2306
- ce as toMoney,
2307
- Ie as useNiceExchangeRate,
2308
- mr as useNiceMoney,
2309
- Kt as useNicePayment,
2310
- qe as validateCreditCard
2310
+ Ge as fromMoney,
2311
+ Xe as isExpiryValid,
2312
+ or as isNegative,
2313
+ sr as isZero,
2314
+ Ze as luhnCheck,
2315
+ It as makeAdyenAdapter,
2316
+ Tt as makeAutopayAdapter,
2317
+ Ft as makeBlikAdapter,
2318
+ xt as makeBraintreeAdapter,
2319
+ qt as makeCoinbaseCommerceAdapter,
2320
+ Ot as makeKlarnaAdapter,
2321
+ $t as makeMollieAdapter,
2322
+ Mt as makePayPalAdapter,
2323
+ Ut as makePayUAdapter,
2324
+ At as makePrzelewy24Adapter,
2325
+ Rt as makeRazorpayAdapter,
2326
+ St as makeSquareAdapter,
2327
+ Pt as makeStripeAdapter,
2328
+ Et as makeTpayAdapter,
2329
+ dr as maskCardNumber,
2330
+ Ae as multiplyMoney,
2331
+ lr as negateMoney,
2332
+ Je as normaliseExpiry,
2333
+ ft as parseMoney,
2334
+ cr as registerCurrency,
2335
+ ht as subtractMoney,
2336
+ ae as toMoney,
2337
+ Ee as useNiceExchangeRate,
2338
+ br as useNiceMoney,
2339
+ jt as useNicePayment,
2340
+ Le as validateCreditCard
2311
2341
  };