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