@code-collective/booking-widget 1.0.7 → 1.0.9

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.
Files changed (39) hide show
  1. package/README.md +33 -2
  2. package/dist/booking-widget.css +1 -1
  3. package/dist/booking-widget.js +1038 -795
  4. package/dist/booking-widget.min.js +23 -9
  5. package/dist/booking-widget.umd.cjs +3 -2
  6. package/package.json +6 -2
  7. package/src/lib/CartBar.svelte +4 -11
  8. package/src/lib/CartBarView.svelte +2 -1
  9. package/src/lib/CartExpiredView.svelte +63 -0
  10. package/src/lib/CartExpiryGuard.svelte +410 -0
  11. package/src/lib/CartExpiryGuard.test.ts +331 -0
  12. package/src/lib/CartExpiryWatcher.svelte +46 -0
  13. package/src/lib/CartOverviewButton.svelte +6 -17
  14. package/src/lib/Checkout.svelte +55 -14
  15. package/src/lib/CheckoutModal.confirm-outcome.test.ts +91 -0
  16. package/src/lib/CheckoutModal.payment-timeout.test.ts +140 -0
  17. package/src/lib/CheckoutModal.svelte +805 -560
  18. package/src/lib/CountdownTimer.svelte +2 -4
  19. package/src/lib/EditBookingView.svelte +15 -4
  20. package/src/lib/PaymentPage.svelte +78 -61
  21. package/src/lib/ResultView.svelte +43 -3
  22. package/src/lib/StillTherePrompt.svelte +72 -0
  23. package/src/lib/TicketConfigurator.svelte +25 -3
  24. package/src/lib/UnitCounter.svelte +84 -8
  25. package/src/lib/WizardPage.svelte +11 -0
  26. package/src/lib/api.ts +89 -2
  27. package/src/lib/cart-expiry.ts +46 -0
  28. package/src/lib/cart-manager.ts +23 -6
  29. package/src/lib/client-types.ts +6 -0
  30. package/src/lib/elements/bw-cart.svelte +3 -12
  31. package/src/lib/elements/bw-checkout.svelte +9 -16
  32. package/src/lib/elements/bw-configurator.svelte +3 -13
  33. package/src/lib/elements/register.ts +33 -10
  34. package/src/lib/generated-types.ts +133 -3
  35. package/src/lib/index.ts +19 -28
  36. package/src/lib/messages.ts +75 -1
  37. package/src/lib/payment-attempt.ts +56 -0
  38. package/src/lib/test/fixtures.ts +107 -0
  39. package/src/lib/test/messages-mock.ts +34 -0
@@ -13,7 +13,7 @@ function p() {
13
13
  reject: t
14
14
  };
15
15
  }
16
- var m = 1024, h = 2048, g = 4096, _ = 8192, v = 16384, y = 32768, b = 1 << 25, x = 65536, S = 1 << 19, C = 1 << 20, w = 1 << 25, T = 65536, ee = 1 << 21, te = 1 << 22, ne = 1 << 23, E = Symbol("$state"), re = Symbol("legacy props"), ie = Symbol(""), ae = Symbol("attributes"), D = Symbol("class"), O = Symbol("style"), oe = Symbol("text"), se = Symbol("form reset"), ce = new class extends Error {
16
+ var m = 1024, h = 2048, g = 4096, _ = 8192, v = 16384, y = 32768, b = 1 << 25, x = 65536, S = 1 << 19, C = 1 << 20, ee = 1 << 25, w = 65536, te = 1 << 21, ne = 1 << 22, T = 1 << 23, E = Symbol("$state"), re = Symbol("legacy props"), ie = Symbol(""), ae = Symbol("attributes"), D = Symbol("class"), O = Symbol("style"), oe = Symbol("text"), se = Symbol("form reset"), ce = new class extends Error {
17
17
  name = "StaleReactionError";
18
18
  message = "The reaction that called `getAbortSignal()` was re-run or destroyed";
19
19
  }(), le = !!globalThis.document?.contentType && /* @__PURE__ */ globalThis.document.contentType.includes("xml");
@@ -171,7 +171,7 @@ function Ve() {
171
171
  }
172
172
  function He(e) {
173
173
  var t = K;
174
- if (t === null) return G.f |= ne, e;
174
+ if (t === null) return G.f |= T, e;
175
175
  if (!(t.f & 32768) && !(t.f & 4)) throw e;
176
176
  Ue(e, t);
177
177
  }
@@ -204,7 +204,7 @@ function Ge(e) {
204
204
  //#endregion
205
205
  //#region node_modules/svelte/src/internal/client/reactivity/utils.js
206
206
  function Ke(e) {
207
- if (e !== null) for (let t of e) !(t.f & 2) || !(t.f & 65536) || (t.f ^= T, Ke(t.deps));
207
+ if (e !== null) for (let t of e) !(t.f & 2) || !(t.f & 65536) || (t.f ^= w, Ke(t.deps));
208
208
  }
209
209
  function qe(e, t, n) {
210
210
  e.f & 2048 ? t.add(e) : e.f & 4096 && n.add(e), Ke(e.deps), I(e, m);
@@ -527,7 +527,7 @@ function ut(e, t, n) {
527
527
  s.add(n), c.async_deriveds.set(t, n);
528
528
  }
529
529
  let u = (e, t = void 0) => {
530
- l?.(), s.delete(n), t !== lt && (c.activate(), t ? (a.f |= ne, Bt(a, t)) : (a.f & 8388608 && (a.f ^= ne), Bt(a, e)), c.deactivate());
530
+ l?.(), s.delete(n), t !== lt && (c.activate(), t ? (a.f |= T, Bt(a, t)) : (a.f & 8388608 && (a.f ^= T), Bt(a, e)), c.deactivate());
531
531
  };
532
532
  n.promise.then(u, (e) => u(null, e || "unknown"));
533
533
  }), ln(() => {
@@ -564,7 +564,7 @@ function pt(e) {
564
564
  if (!jn && r !== null && e.v !== k && r.f & 24576) return we(), e.v;
565
565
  Fn(r);
566
566
  try {
567
- e.f &= ~T, ft(e), t = Yn(e);
567
+ e.f &= ~w, ft(e), t = Yn(e);
568
568
  } finally {
569
569
  Fn(n);
570
570
  }
@@ -949,7 +949,7 @@ function Wt(e, t, n) {
949
949
  if (l && I(s, t), c & 131072) Ft.add(s);
950
950
  else if (c & 2) {
951
951
  var u = s;
952
- yt?.delete(u), c & 65536 || (c & 512 && (K === null || !(K.f & 2097152)) && (s.f |= T), Wt(u, g, n));
952
+ yt?.delete(u), c & 65536 || (c & 512 && (K === null || !(K.f & 2097152)) && (s.f |= w), Wt(u, g, n));
953
953
  } else if (l) {
954
954
  var d = s;
955
955
  c & 16 && At !== null && At.add(d), n === null ? Mt(d) : n.push(d);
@@ -1199,7 +1199,7 @@ function pn(e) {
1199
1199
  return sn(4, e);
1200
1200
  }
1201
1201
  function mn(e) {
1202
- return sn(te | S, e);
1202
+ return sn(ne | S, e);
1203
1203
  }
1204
1204
  function hn(e, t = 0) {
1205
1205
  return sn(8 | t, e);
@@ -1343,7 +1343,7 @@ function Kn() {
1343
1343
  function qn(e) {
1344
1344
  var t = e.f;
1345
1345
  if (t & 2048) return !0;
1346
- if (t & 2 && (e.f &= ~T), t & 4096) {
1346
+ if (t & 2 && (e.f &= ~w), t & 4096) {
1347
1347
  for (var n = e.deps, r = n.length, i = 0; i < r; i++) {
1348
1348
  var a = n[i];
1349
1349
  if (qn(a) && mt(a), a.wv > e.wv) return !0;
@@ -1365,7 +1365,7 @@ function Yn(e) {
1365
1365
  e.ac.abort(ce);
1366
1366
  }), e.ac = null);
1367
1367
  try {
1368
- e.f |= ee;
1368
+ e.f |= te;
1369
1369
  var u = e.fn, d = u();
1370
1370
  e.f |= y;
1371
1371
  var f = e.deps, p = R?.is_fork;
@@ -1381,11 +1381,11 @@ function Yn(e) {
1381
1381
  if (t !== null) for (let e of t) e.rv = Un;
1382
1382
  Bn !== null && (r === null ? r = Bn : r.push(...Bn));
1383
1383
  }
1384
- return e.f & 8388608 && (e.f ^= ne), d;
1384
+ return e.f & 8388608 && (e.f ^= T), d;
1385
1385
  } catch (e) {
1386
1386
  return He(e);
1387
1387
  } finally {
1388
- e.f ^= ee, Rn = t, zn = n, Bn = r, G = i, In = a, Ie(o), Nn = s, Wn = c;
1388
+ e.f ^= te, Rn = t, zn = n, Bn = r, G = i, In = a, Ie(o), Nn = s, Wn = c;
1389
1389
  }
1390
1390
  }
1391
1391
  function Xn(e, r) {
@@ -1399,7 +1399,7 @@ function Xn(e, r) {
1399
1399
  }
1400
1400
  if (i === null && r.f & 2 && (Rn === null || !n.call(Rn, r))) {
1401
1401
  var s = r;
1402
- s.f & 512 && (s.f ^= 512, s.f &= ~T), s.v !== k && Ge(s), s.ac !== null && Qe(() => {
1402
+ s.f & 512 && (s.f ^= 512, s.f &= ~w), s.v !== k && Ge(s), s.ac !== null && Qe(() => {
1403
1403
  s.ac.abort(ce), s.ac = null, I(s, h);
1404
1404
  }), ht(s), Zn(s, 0);
1405
1405
  }
@@ -1476,20 +1476,37 @@ function ir(e) {
1476
1476
  //#endregion
1477
1477
  //#region node_modules/svelte/src/internal/client/dom/elements/events.js
1478
1478
  var ar = Symbol("events"), or = /* @__PURE__ */ new Set(), sr = /* @__PURE__ */ new Set();
1479
+ function cr(e, t, n, r = {}) {
1480
+ function i(e) {
1481
+ if (r.capture || pr.call(t, e), !e.cancelBubble) return Qe(() => n?.call(this, e));
1482
+ }
1483
+ return e.startsWith("pointer") || e.startsWith("touch") || e === "wheel" ? Be(() => {
1484
+ t.addEventListener(e, i, r);
1485
+ }) : t.addEventListener(e, i, r), i;
1486
+ }
1487
+ function lr(e, t, n, r, i) {
1488
+ var a = {
1489
+ capture: r,
1490
+ passive: i
1491
+ }, o = cr(e, t, n, a);
1492
+ (t === document.body || t === window || t === document || t instanceof HTMLMediaElement) && ln(() => {
1493
+ t.removeEventListener(e, o, a);
1494
+ });
1495
+ }
1479
1496
  function J(e, t, n) {
1480
1497
  (t[ar] ??= {})[e] = n;
1481
1498
  }
1482
- function cr(e) {
1499
+ function ur(e) {
1483
1500
  for (var t = 0; t < e.length; t++) or.add(e[t]);
1484
1501
  for (var n of sr) n(e);
1485
1502
  }
1486
- var lr = null, ur = !1;
1487
- function dr(e) {
1503
+ var dr = null, fr = !1;
1504
+ function pr(e) {
1488
1505
  var t = this, n = t.ownerDocument, r = e.type, a = e.composedPath?.() || [], o = a[0] || e.target;
1489
- lr = e, ur || (ur = !0, setTimeout(() => {
1490
- ur = !1, lr = null;
1506
+ dr = e, fr || (fr = !0, setTimeout(() => {
1507
+ fr = !1, dr = null;
1491
1508
  }));
1492
- var s = 0, c = lr === e && e[ar];
1509
+ var s = 0, c = dr === e && e[ar];
1493
1510
  if (c) {
1494
1511
  var l = a.indexOf(c);
1495
1512
  if (l !== -1 && (t === document || t === window)) {
@@ -1533,17 +1550,17 @@ function dr(e) {
1533
1550
  }
1534
1551
  //#endregion
1535
1552
  //#region node_modules/svelte/src/internal/client/dom/reconciler.js
1536
- var fr = globalThis?.window?.trustedTypes && /* @__PURE__ */ globalThis.window.trustedTypes.createPolicy("svelte-trusted-html", { createHTML: (e) => e });
1537
- function pr(e) {
1538
- return fr?.createHTML(e) ?? e;
1553
+ var mr = globalThis?.window?.trustedTypes && /* @__PURE__ */ globalThis.window.trustedTypes.createPolicy("svelte-trusted-html", { createHTML: (e) => e });
1554
+ function hr(e) {
1555
+ return mr?.createHTML(e) ?? e;
1539
1556
  }
1540
- function mr(e) {
1557
+ function gr(e) {
1541
1558
  var t = nn("template");
1542
- return t.innerHTML = pr(e.replaceAll("<!>", "<!---->")), t.content;
1559
+ return t.innerHTML = hr(e.replaceAll("<!>", "<!---->")), t.content;
1543
1560
  }
1544
1561
  //#endregion
1545
1562
  //#region node_modules/svelte/src/internal/client/dom/template.js
1546
- function hr(e, t) {
1563
+ function _r(e, t) {
1547
1564
  var n = K;
1548
1565
  n.nodes === null && (n.nodes = {
1549
1566
  start: e,
@@ -1556,20 +1573,20 @@ function hr(e, t) {
1556
1573
  function Y(e, t) {
1557
1574
  var n = !!(t & 1), r = !!(t & 2), i, a = !e.startsWith("<!>");
1558
1575
  return () => {
1559
- if (A) return hr(j, null), j;
1560
- i === void 0 && (i = mr(a ? e : "<!>" + e), n || (i = /* @__PURE__ */ Qt(i)));
1576
+ if (A) return _r(j, null), j;
1577
+ i === void 0 && (i = gr(a ? e : "<!>" + e), n || (i = /* @__PURE__ */ Qt(i)));
1561
1578
  var t = r || qt ? document.importNode(i, !0) : i.cloneNode(!0);
1562
1579
  if (n) {
1563
1580
  var o = /* @__PURE__ */ Qt(t), s = t.lastChild;
1564
- hr(o, s);
1565
- } else hr(t, t);
1581
+ _r(o, s);
1582
+ } else _r(t, t);
1566
1583
  return t;
1567
1584
  };
1568
1585
  }
1569
- function gr() {
1570
- if (A) return hr(j, null), j;
1586
+ function vr() {
1587
+ if (A) return _r(j, null), j;
1571
1588
  var e = document.createDocumentFragment(), t = document.createComment(""), n = Zt();
1572
- return e.append(t, n), hr(t, n), e;
1589
+ return e.append(t, n), _r(t, n), e;
1573
1590
  }
1574
1591
  function X(e, t) {
1575
1592
  if (A) {
@@ -1583,18 +1600,18 @@ function Z(e, t) {
1583
1600
  var n = t == null ? "" : typeof t == "object" ? `${t}` : t;
1584
1601
  n !== (e[oe] ??= e.nodeValue) && (e[oe] = n, e.nodeValue = `${n}`);
1585
1602
  }
1586
- function _r(e, t) {
1587
- return yr(e, t);
1603
+ function yr(e, t) {
1604
+ return xr(e, t);
1588
1605
  }
1589
- var vr = /* @__PURE__ */ new Map();
1590
- function yr(e, { target: t, anchor: n, props: i = {}, events: a, context: o, intro: s = !0, transformError: c }) {
1606
+ var br = /* @__PURE__ */ new Map();
1607
+ function xr(e, { target: t, anchor: n, props: i = {}, events: a, context: o, intro: s = !0, transformError: c }) {
1591
1608
  Xt();
1592
1609
  var l = void 0, u = fn(() => {
1593
1610
  var s = n ?? t.appendChild(Zt());
1594
1611
  nt(s, { pending: () => {} }, (t) => {
1595
1612
  P({});
1596
1613
  var n = N;
1597
- if (o && (n.c = o), a && (i.$$events = a), A && hr(t, null), l = e(t, i) || {}, A && (K.nodes.end = j, j === null || j.nodeType !== 8 || j.data !== "]")) throw Te(), Se;
1614
+ if (o && (n.c = o), a && (i.$$events = a), A && _r(t, null), l = e(t, i) || {}, A && (K.nodes.end = j, j === null || j.nodeType !== 8 || j.data !== "]")) throw Te(), Se;
1598
1615
  F();
1599
1616
  }, c);
1600
1617
  var u = /* @__PURE__ */ new Set(), d = (e) => {
@@ -1604,32 +1621,32 @@ function yr(e, { target: t, anchor: n, props: i = {}, events: a, context: o, int
1604
1621
  u.add(r);
1605
1622
  var i = ir(r);
1606
1623
  for (let e of [t, document]) {
1607
- var a = vr.get(e);
1608
- a === void 0 && (a = /* @__PURE__ */ new Map(), vr.set(e, a));
1624
+ var a = br.get(e);
1625
+ a === void 0 && (a = /* @__PURE__ */ new Map(), br.set(e, a));
1609
1626
  var o = a.get(r);
1610
- o === void 0 ? (e.addEventListener(r, dr, { passive: i }), a.set(r, 1)) : a.set(r, o + 1);
1627
+ o === void 0 ? (e.addEventListener(r, pr, { passive: i }), a.set(r, 1)) : a.set(r, o + 1);
1611
1628
  }
1612
1629
  }
1613
1630
  }
1614
1631
  };
1615
1632
  return d(r(or)), sr.add(d), () => {
1616
1633
  for (var e of u) for (let n of [t, document]) {
1617
- var r = vr.get(n), i = r.get(e);
1618
- --i == 0 ? (n.removeEventListener(e, dr), r.delete(e), r.size === 0 && vr.delete(n)) : r.set(e, i);
1634
+ var r = br.get(n), i = r.get(e);
1635
+ --i == 0 ? (n.removeEventListener(e, pr), r.delete(e), r.size === 0 && br.delete(n)) : r.set(e, i);
1619
1636
  }
1620
1637
  sr.delete(d), s !== n && s.parentNode?.removeChild(s);
1621
1638
  };
1622
1639
  });
1623
- return br.set(l, u), l;
1640
+ return Sr.set(l, u), l;
1624
1641
  }
1625
- var br = /* @__PURE__ */ new WeakMap();
1626
- function xr(e, t) {
1627
- let n = br.get(e);
1628
- return n ? (br.delete(e), n(t)) : Promise.resolve();
1642
+ var Sr = /* @__PURE__ */ new WeakMap();
1643
+ function Cr(e, t) {
1644
+ let n = Sr.get(e);
1645
+ return n ? (Sr.delete(e), n(t)) : Promise.resolve();
1629
1646
  }
1630
1647
  //#endregion
1631
1648
  //#region node_modules/svelte/src/internal/client/dom/blocks/branches.js
1632
- var Sr = class {
1649
+ var wr = class {
1633
1650
  anchor;
1634
1651
  #e = /* @__PURE__ */ new Map();
1635
1652
  #t = /* @__PURE__ */ new Map();
@@ -1696,7 +1713,7 @@ var Sr = class {
1696
1713
  function Q(e, t, n = !1) {
1697
1714
  var r;
1698
1715
  A && (r = j, ke());
1699
- var i = new Sr(e), a = n ? x : 0;
1716
+ var i = new wr(e), a = n ? x : 0;
1700
1717
  function o(e, t) {
1701
1718
  if (A) {
1702
1719
  var n = Me(r);
@@ -1717,17 +1734,17 @@ function Q(e, t, n = !1) {
1717
1734
  }
1718
1735
  //#endregion
1719
1736
  //#region node_modules/svelte/src/internal/client/dom/blocks/each.js
1720
- function $(e, t) {
1737
+ function Tr(e, t) {
1721
1738
  return t;
1722
1739
  }
1723
- function Cr(e, t, n) {
1740
+ function Er(e, t, n) {
1724
1741
  for (var i = [], a = t.length, o, s = t.length, c = 0; c < a; c++) {
1725
1742
  let n = t[c];
1726
1743
  wn(n, () => {
1727
1744
  if (o) {
1728
1745
  if (o.pending.delete(n), o.done.add(n), o.pending.size === 0) {
1729
1746
  var t = e.outrogroups;
1730
- wr(e, r(o.done)), t.delete(o), t.size === 0 && (e.outrogroups = null);
1747
+ Dr(e, r(o.done)), t.delete(o), t.size === 0 && (e.outrogroups = null);
1731
1748
  }
1732
1749
  } else --s;
1733
1750
  }, !1);
@@ -1738,13 +1755,13 @@ function Cr(e, t, n) {
1738
1755
  var u = n, d = u.parentNode;
1739
1756
  en(d), d.append(u), e.items.clear();
1740
1757
  }
1741
- wr(e, t, !l);
1758
+ Dr(e, t, !l);
1742
1759
  } else o = {
1743
1760
  pending: new Set(t),
1744
1761
  done: /* @__PURE__ */ new Set()
1745
1762
  }, (e.outrogroups ??= /* @__PURE__ */ new Set()).add(o);
1746
1763
  }
1747
- function wr(e, t, n = !0) {
1764
+ function Dr(e, t, n = !0) {
1748
1765
  var r;
1749
1766
  if (e.pending.size > 0) {
1750
1767
  r = /* @__PURE__ */ new Set();
@@ -1752,11 +1769,11 @@ function wr(e, t, n = !0) {
1752
1769
  }
1753
1770
  for (var i = 0; i < t.length; i++) {
1754
1771
  var a = t[i];
1755
- r?.has(a) ? (a.f |= w, On(a, document.createDocumentFragment())) : xn(t[i], n);
1772
+ r?.has(a) ? (a.f |= ee, On(a, document.createDocumentFragment())) : xn(t[i], n);
1756
1773
  }
1757
1774
  }
1758
- var Tr;
1759
- function Er(t, n, i, a, o, s = null) {
1775
+ var Or;
1776
+ function kr(t, n, i, a, o, s = null) {
1760
1777
  var c = t, l = /* @__PURE__ */ new Map();
1761
1778
  if (n & 4) {
1762
1779
  var u = t;
@@ -1768,7 +1785,7 @@ function Er(t, n, i, a, o, s = null) {
1768
1785
  return e(t) ? t : t == null ? [] : r(t);
1769
1786
  }), p, m = /* @__PURE__ */ new Map(), h = !0;
1770
1787
  function g(e) {
1771
- v.effect.f & 16384 || (v.pending.delete(e), v.fallback = d, Or(v, p, c, n, a), d !== null && (p.length === 0 ? d.f & 33554432 ? (d.f ^= w, Ar(d, null, c)) : En(d) : wn(d, () => {
1788
+ v.effect.f & 16384 || (v.pending.delete(e), v.fallback = d, jr(v, p, c, n, a), d !== null && (p.length === 0 ? d.f & 33554432 ? (d.f ^= ee, Nr(d, null, c)) : En(d) : wn(d, () => {
1772
1789
  d = null;
1773
1790
  })));
1774
1791
  }
@@ -1784,9 +1801,9 @@ function Er(t, n, i, a, o, s = null) {
1784
1801
  for (var r = /* @__PURE__ */ new Set(), u = R, v = tn(), y = 0; y < e; y += 1) {
1785
1802
  A && j.nodeType === 8 && j.data === "]" && (c = j, t = !0, De(!1));
1786
1803
  var b = p[y], x = a(b, y), S = h ? null : l.get(x);
1787
- S ? (S.v && Bt(S.v, b), S.i && Bt(S.i, y), v && u.unskip_effect(S.e)) : (S = kr(l, h ? c : Tr ??= Zt(), b, x, y, o, n, i), h || (S.e.f |= w), l.set(x, S)), r.add(x);
1804
+ S ? (S.v && Bt(S.v, b), S.i && Bt(S.i, y), v && u.unskip_effect(S.e)) : (S = Mr(l, h ? c : Or ??= Zt(), b, x, y, o, n, i), h || (S.e.f |= ee), l.set(x, S)), r.add(x);
1788
1805
  }
1789
- if (e === 0 && s && !d && (h ? d = _n(() => s(c)) : (d = _n(() => s(Tr ??= Zt())), d.f |= w)), e > r.size && fe("", "", ""), A && e > 0 && Oe(je()), !h) {
1806
+ if (e === 0 && s && !d && (h ? d = _n(() => s(c)) : (d = _n(() => s(Or ??= Zt())), d.f |= ee)), e > r.size && fe("", "", ""), A && e > 0 && Oe(je()), !h) {
1790
1807
  if (m.set(u, r), v) {
1791
1808
  for (let [e, t] of l) r.has(e) || u.skip_effect(t.e);
1792
1809
  u.oncommit(g), u.ondiscard(_);
@@ -1802,20 +1819,20 @@ function Er(t, n, i, a, o, s = null) {
1802
1819
  };
1803
1820
  h = !1, A && (c = j);
1804
1821
  }
1805
- function Dr(e) {
1822
+ function Ar(e) {
1806
1823
  for (; e !== null && !(e.f & 32);) e = e.next;
1807
1824
  return e;
1808
1825
  }
1809
- function Or(e, t, n, i, a) {
1810
- var o = !!(i & 8), s = t.length, c = e.items, l = Dr(e.effect.first), u, d = null, f, p = [], m = [], h, g, _, v;
1826
+ function jr(e, t, n, i, a) {
1827
+ var o = !!(i & 8), s = t.length, c = e.items, l = Ar(e.effect.first), u, d = null, f, p = [], m = [], h, g, _, v;
1811
1828
  if (o) for (v = 0; v < s; v += 1) h = t[v], g = a(h, v), _ = c.get(g).e, _.f & 33554432 || (_.nodes?.a?.measure(), (f ??= /* @__PURE__ */ new Set()).add(_));
1812
1829
  for (v = 0; v < s; v += 1) {
1813
1830
  if (h = t[v], g = a(h, v), _ = c.get(g).e, e.outrogroups !== null) for (let t of e.outrogroups) t.pending.delete(_), t.done.delete(_);
1814
1831
  if (_.f & 8192 && (En(_), o && (_.nodes?.a?.unfix(), (f ??= /* @__PURE__ */ new Set()).delete(_))), _.f & 33554432) {
1815
- if (_.f ^= w, _ === l) Ar(_, null, n);
1832
+ if (_.f ^= ee, _ === l) Nr(_, null, n);
1816
1833
  else {
1817
1834
  var y = d ? d.next : l;
1818
- _ === e.effect.last && (e.effect.last = _.prev), _.prev && (_.prev.next = _.next), _.next && (_.next.prev = _.prev), jr(e, d, _), jr(e, _, y), Ar(_, y, n), d = _, p = [], m = [], l = Dr(d.next);
1835
+ _ === e.effect.last && (e.effect.last = _.prev), _.prev && (_.prev.next = _.next), _.next && (_.next.prev = _.prev), Pr(e, d, _), Pr(e, _, y), Nr(_, y, n), d = _, p = [], m = [], l = Ar(d.next);
1819
1836
  continue;
1820
1837
  }
1821
1838
  }
@@ -1825,40 +1842,40 @@ function Or(e, t, n, i, a) {
1825
1842
  var b = m[0], x;
1826
1843
  d = b.prev;
1827
1844
  var S = p[0], C = p[p.length - 1];
1828
- for (x = 0; x < p.length; x += 1) Ar(p[x], b, n);
1845
+ for (x = 0; x < p.length; x += 1) Nr(p[x], b, n);
1829
1846
  for (x = 0; x < m.length; x += 1) u.delete(m[x]);
1830
- jr(e, S.prev, C.next), jr(e, d, S), jr(e, C, b), l = b, d = C, --v, p = [], m = [];
1831
- } else u.delete(_), Ar(_, l, n), jr(e, _.prev, _.next), jr(e, _, d === null ? e.effect.first : d.next), jr(e, d, _), d = _;
1847
+ Pr(e, S.prev, C.next), Pr(e, d, S), Pr(e, C, b), l = b, d = C, --v, p = [], m = [];
1848
+ } else u.delete(_), Nr(_, l, n), Pr(e, _.prev, _.next), Pr(e, _, d === null ? e.effect.first : d.next), Pr(e, d, _), d = _;
1832
1849
  continue;
1833
1850
  }
1834
- for (p = [], m = []; l !== null && l !== _;) (u ??= /* @__PURE__ */ new Set()).add(l), m.push(l), l = Dr(l.next);
1851
+ for (p = [], m = []; l !== null && l !== _;) (u ??= /* @__PURE__ */ new Set()).add(l), m.push(l), l = Ar(l.next);
1835
1852
  if (l === null) continue;
1836
1853
  }
1837
- _.f & 33554432 || p.push(_), d = _, l = Dr(_.next);
1854
+ _.f & 33554432 || p.push(_), d = _, l = Ar(_.next);
1838
1855
  }
1839
1856
  if (e.outrogroups !== null) {
1840
- for (let t of e.outrogroups) t.pending.size === 0 && (wr(e, r(t.done)), e.outrogroups?.delete(t));
1857
+ for (let t of e.outrogroups) t.pending.size === 0 && (Dr(e, r(t.done)), e.outrogroups?.delete(t));
1841
1858
  e.outrogroups.size === 0 && (e.outrogroups = null);
1842
1859
  }
1843
1860
  if (l !== null || u !== void 0) {
1844
- var T = [];
1845
- if (u !== void 0) for (_ of u) _.f & 8192 || T.push(_);
1846
- for (; l !== null;) !(l.f & 8192) && l !== e.fallback && T.push(l), l = Dr(l.next);
1847
- var ee = T.length;
1848
- if (ee > 0) {
1849
- var te = i & 4 && s === 0 ? n : null;
1861
+ var w = [];
1862
+ if (u !== void 0) for (_ of u) _.f & 8192 || w.push(_);
1863
+ for (; l !== null;) !(l.f & 8192) && l !== e.fallback && w.push(l), l = Ar(l.next);
1864
+ var te = w.length;
1865
+ if (te > 0) {
1866
+ var ne = i & 4 && s === 0 ? n : null;
1850
1867
  if (o) {
1851
- for (v = 0; v < ee; v += 1) T[v].nodes?.a?.measure();
1852
- for (v = 0; v < ee; v += 1) T[v].nodes?.a?.fix();
1868
+ for (v = 0; v < te; v += 1) w[v].nodes?.a?.measure();
1869
+ for (v = 0; v < te; v += 1) w[v].nodes?.a?.fix();
1853
1870
  }
1854
- Cr(e, T, te);
1871
+ Er(e, w, ne);
1855
1872
  }
1856
1873
  }
1857
1874
  o && Be(() => {
1858
1875
  if (f !== void 0) for (_ of f) _.nodes?.a?.apply();
1859
1876
  });
1860
1877
  }
1861
- function kr(e, t, n, r, i, a, o, s) {
1878
+ function Mr(e, t, n, r, i, a, o, s) {
1862
1879
  var c = o & 1 ? o & 16 ? Rt(n) : /* @__PURE__ */ zt(n, !1, !1) : null, l = o & 2 ? Rt(i) : null;
1863
1880
  return {
1864
1881
  v: c,
@@ -1868,20 +1885,20 @@ function kr(e, t, n, r, i, a, o, s) {
1868
1885
  }))
1869
1886
  };
1870
1887
  }
1871
- function Ar(e, t, n) {
1888
+ function Nr(e, t, n) {
1872
1889
  if (e.nodes) for (var r = e.nodes.start, i = e.nodes.end, a = t && !(t.f & 33554432) ? t.nodes.start : n; r !== null;) {
1873
1890
  var o = /* @__PURE__ */ $t(r);
1874
1891
  if (a.before(r), r === i) return;
1875
1892
  r = o;
1876
1893
  }
1877
1894
  }
1878
- function jr(e, t, n) {
1895
+ function Pr(e, t, n) {
1879
1896
  t === null ? e.effect.first = n : t.next = n, n === null ? e.effect.last = t : n.prev = t;
1880
1897
  }
1881
1898
  //#endregion
1882
1899
  //#region node_modules/svelte/src/internal/client/dom/blocks/snippet.js
1883
- function Mr(e, t, ...n) {
1884
- var r = new Sr(e);
1900
+ function Fr(e, t, ...n) {
1901
+ var r = new wr(e);
1885
1902
  gn(() => {
1886
1903
  let e = t() ?? null;
1887
1904
  r.ensure(e, e && ((t) => e(t, ...n)));
@@ -1889,24 +1906,24 @@ function Mr(e, t, ...n) {
1889
1906
  }
1890
1907
  //#endregion
1891
1908
  //#region node_modules/svelte/src/internal/shared/attributes.js
1892
- var Nr = [..." \n\r\f\xA0\v"];
1893
- function Pr(e, t, n) {
1909
+ var Ir = [..." \n\r\f\xA0\v"];
1910
+ function Lr(e, t, n) {
1894
1911
  var r = e == null ? "" : "" + e;
1895
1912
  if (t && (r = r ? r + " " + t : t), n) {
1896
1913
  for (var i of Object.keys(n)) if (n[i]) r = r ? r + " " + i : i;
1897
1914
  else if (r.length) for (var a = i.length, o = 0; (o = r.indexOf(i, o)) >= 0;) {
1898
1915
  var s = o + a;
1899
- (o === 0 || Nr.includes(r[o - 1])) && (s === r.length || Nr.includes(r[s])) ? r = (o === 0 ? "" : r.substring(0, o)) + r.substring(s + 1) : o = s;
1916
+ (o === 0 || Ir.includes(r[o - 1])) && (s === r.length || Ir.includes(r[s])) ? r = (o === 0 ? "" : r.substring(0, o)) + r.substring(s + 1) : o = s;
1900
1917
  }
1901
1918
  }
1902
1919
  return r === "" ? null : r;
1903
1920
  }
1904
1921
  //#endregion
1905
1922
  //#region node_modules/svelte/src/internal/client/dom/elements/class.js
1906
- function Fr(e, t, n, r, i, a) {
1923
+ function Rr(e, t, n, r, i, a) {
1907
1924
  var o = e[D];
1908
1925
  if (A || o !== n || o === void 0) {
1909
- var s = Pr(n, r, a);
1926
+ var s = Lr(n, r, a);
1910
1927
  (!A || s !== e.getAttribute("class")) && (s == null ? e.removeAttribute("class") : t ? e.className = s : e.setAttribute("class", s)), e[D] = n;
1911
1928
  } else if (a && i !== a) for (var c in a) {
1912
1929
  var l = !!a[c];
@@ -1916,43 +1933,43 @@ function Fr(e, t, n, r, i, a) {
1916
1933
  }
1917
1934
  //#endregion
1918
1935
  //#region node_modules/svelte/src/internal/client/dom/elements/attributes.js
1919
- var Ir = Symbol("is custom element"), Lr = Symbol("is html"), Rr = le ? "link" : "LINK";
1920
- function zr(e) {
1936
+ var zr = Symbol("is custom element"), Br = Symbol("is html"), Vr = le ? "link" : "LINK";
1937
+ function Hr(e) {
1921
1938
  if (A) {
1922
1939
  var t = !1, n = () => {
1923
1940
  if (!t) {
1924
1941
  if (t = !0, e.hasAttribute("value")) {
1925
1942
  var n = e.value;
1926
- Vr(e, "value", null), e.value = n;
1943
+ Wr(e, "value", null), e.value = n;
1927
1944
  }
1928
1945
  if (e.hasAttribute("checked")) {
1929
1946
  var r = e.checked;
1930
- Vr(e, "checked", null), e.checked = r;
1947
+ Wr(e, "checked", null), e.checked = r;
1931
1948
  }
1932
1949
  }
1933
1950
  };
1934
1951
  e[se] = n, Be(n), Ze();
1935
1952
  }
1936
1953
  }
1937
- function Br(e, t) {
1938
- var n = Hr(e);
1954
+ function Ur(e, t) {
1955
+ var n = Gr(e);
1939
1956
  n.checked !== (n.checked = t ?? void 0) && (e.checked = t);
1940
1957
  }
1941
- function Vr(e, t, n, r) {
1942
- var i = Hr(e);
1943
- A && (i[t] = e.getAttribute(t), t === "src" || t === "srcset" || t === "href" && e.nodeName === Rr) || i[t] !== (i[t] = n) && (t === "loading" && (e[ie] = n), n == null ? e.removeAttribute(t) : typeof n != "string" && Wr(e).includes(t) ? e[t] = n : e.setAttribute(t, n));
1958
+ function Wr(e, t, n, r) {
1959
+ var i = Gr(e);
1960
+ A && (i[t] = e.getAttribute(t), t === "src" || t === "srcset" || t === "href" && e.nodeName === Vr) || i[t] !== (i[t] = n) && (t === "loading" && (e[ie] = n), n == null ? e.removeAttribute(t) : typeof n != "string" && qr(e).includes(t) ? e[t] = n : e.setAttribute(t, n));
1944
1961
  }
1945
- function Hr(e) {
1962
+ function Gr(e) {
1946
1963
  return e[ae] ??= {
1947
- [Ir]: e.nodeName.includes("-"),
1948
- [Lr]: e.namespaceURI === Ce
1964
+ [zr]: e.nodeName.includes("-"),
1965
+ [Br]: e.namespaceURI === Ce
1949
1966
  };
1950
1967
  }
1951
- var Ur = /* @__PURE__ */ new Map();
1952
- function Wr(e) {
1953
- var t = e.getAttribute("is") || e.nodeName, n = Ur.get(t);
1968
+ var Kr = /* @__PURE__ */ new Map();
1969
+ function qr(e) {
1970
+ var t = e.getAttribute("is") || e.nodeName, n = Kr.get(t);
1954
1971
  if (n) return n;
1955
- Ur.set(t, n = []);
1972
+ Kr.set(t, n = []);
1956
1973
  for (var r, i = e, a = Element.prototype; a !== i;) {
1957
1974
  for (var s in r = o(i), r) r[s].set && s !== "innerHTML" && s !== "textContent" && s !== "innerText" && n.push(s);
1958
1975
  i = l(i);
@@ -1961,51 +1978,51 @@ function Wr(e) {
1961
1978
  }
1962
1979
  //#endregion
1963
1980
  //#region node_modules/svelte/src/internal/client/dom/elements/bindings/input.js
1964
- function Gr(e, t, n = t) {
1981
+ function Jr(e, t, n = t) {
1965
1982
  var r = /* @__PURE__ */ new WeakSet();
1966
1983
  $e(e, "input", async (i) => {
1967
1984
  var a = i ? e.defaultValue : e.value;
1968
- if (a = Kr(e) ? qr(a) : a, n(a), R !== null && r.add(R), await $n(), a !== (a = t())) {
1985
+ if (a = Yr(e) ? Xr(a) : a, n(a), R !== null && r.add(R), await $n(), a !== (a = t())) {
1969
1986
  var o = e.selectionStart, s = e.selectionEnd, c = e.value.length;
1970
1987
  if (e.value = a ?? "", s !== null) {
1971
1988
  var l = e.value.length;
1972
1989
  o === s && s === c && l > c ? (e.selectionStart = l, e.selectionEnd = l) : (e.selectionStart = o, e.selectionEnd = Math.min(s, l));
1973
1990
  }
1974
1991
  }
1975
- }), (A && e.defaultValue !== e.value || nr(t) == null && e.value) && (n(Kr(e) ? qr(e.value) : e.value), R !== null && r.add(R)), hn(() => {
1992
+ }), (A && e.defaultValue !== e.value || nr(t) == null && e.value) && (n(Yr(e) ? Xr(e.value) : e.value), R !== null && r.add(R)), hn(() => {
1976
1993
  var n = t();
1977
1994
  if (e === document.activeElement) {
1978
1995
  var i = R;
1979
1996
  if (r.has(i)) return;
1980
1997
  }
1981
- Kr(e) && n === qr(e.value) || e.type === "date" && !n && !e.value || n !== e.value && (e.value = n ?? "");
1998
+ Yr(e) && n === Xr(e.value) || e.type === "date" && !n && !e.value || n !== e.value && (e.value = n ?? "");
1982
1999
  });
1983
2000
  }
1984
- function Kr(e) {
2001
+ function Yr(e) {
1985
2002
  var t = e.type;
1986
2003
  return t === "number" || t === "range";
1987
2004
  }
1988
- function qr(e) {
2005
+ function Xr(e) {
1989
2006
  return e === "" ? null : +e;
1990
2007
  }
1991
2008
  //#endregion
1992
2009
  //#region node_modules/svelte/src/internal/client/dom/elements/bindings/this.js
1993
- function Jr(e, t) {
2010
+ function Zr(e, t) {
1994
2011
  return e === t || e?.[E] === t;
1995
2012
  }
1996
- function Yr(e = {}, t, n, r) {
2013
+ function Qr(e = {}, t, n, r) {
1997
2014
  var i = N.r, a = K;
1998
2015
  return pn(() => {
1999
2016
  var o, s;
2000
2017
  return hn(() => {
2001
2018
  o = s, s = r?.() || [], nr(() => {
2002
- Jr(n(...s), e) || (t(e, ...s), o && Jr(n(...o), e) && t(null, ...o));
2019
+ Zr(n(...s), e) || (t(e, ...s), o && Zr(n(...o), e) && t(null, ...o));
2003
2020
  });
2004
2021
  }), () => {
2005
2022
  let r = a;
2006
2023
  for (; r !== i && r.parent !== null && r.parent.f & 33554432;) r = r.parent;
2007
2024
  let o = () => {
2008
- s && Jr(n(...s), e) && t(null, ...s);
2025
+ s && Zr(n(...s), e) && t(null, ...s);
2009
2026
  }, c = r.teardown;
2010
2027
  r.teardown = () => {
2011
2028
  o(), c?.();
@@ -2015,7 +2032,7 @@ function Yr(e = {}, t, n, r) {
2015
2032
  }
2016
2033
  //#endregion
2017
2034
  //#region node_modules/svelte/src/internal/client/reactivity/props.js
2018
- function Xr(e, t, n, r) {
2035
+ function $r(e, t, n, r) {
2019
2036
  var i = !0, o = !!(n & 8), s = !!(n & 16), c = r, l = !0, u = void 0, d = () => s && i ? (u ??= /* @__PURE__ */ ct(r), q(u)) : (l && (l = !1, c = s ? nr(r) : r), c);
2020
2037
  let f;
2021
2038
  if (o) {
@@ -2049,54 +2066,54 @@ function Xr(e, t, n, r) {
2049
2066
  return jn && v || b.f & 16384 ? y.v : q(y);
2050
2067
  });
2051
2068
  }
2052
- function Zr(e) {
2069
+ function ei(e) {
2053
2070
  N === null && ue("onMount"), un(() => {
2054
2071
  let t = nr(e);
2055
2072
  if (typeof t == "function") return t;
2056
2073
  });
2057
2074
  }
2058
- function Qr(e) {
2059
- N === null && ue("onDestroy"), Zr(() => () => nr(e));
2075
+ function ti(e) {
2076
+ N === null && ue("onDestroy"), ei(() => () => nr(e));
2060
2077
  }
2061
2078
  //#endregion
2062
2079
  //#region node_modules/openapi-fetch/dist/index.mjs
2063
- var $r = /\{[^{}]+\}/g, ei = () => typeof process == "object" && Number.parseInt(process?.versions?.node?.substring(0, 2)) >= 18 && process.versions.undici;
2064
- function ti() {
2080
+ var ni = /\{[^{}]+\}/g, ri = () => typeof process == "object" && Number.parseInt(process?.versions?.node?.substring(0, 2)) >= 18 && process.versions.undici;
2081
+ function ii() {
2065
2082
  return Math.random().toString(36).slice(2, 11);
2066
2083
  }
2067
- function ni(e) {
2084
+ function ai(e) {
2068
2085
  let { baseUrl: t = "", Request: n = globalThis.Request, fetch: r = globalThis.fetch, querySerializer: i, bodySerializer: a, pathSerializer: o, headers: s, requestInitExt: c = void 0, ...l } = { ...e };
2069
- c = ei() ? c : void 0, t = di(t);
2086
+ c = ri() ? c : void 0, t = mi(t);
2070
2087
  let u = [];
2071
2088
  async function d(e, d) {
2072
- let { baseUrl: f, fetch: p = r, Request: m = n, headers: h, params: g = {}, parseAs: _ = "json", querySerializer: v, bodySerializer: y = a ?? ci, pathSerializer: b, body: x, middleware: S = [], ...C } = d || {}, w = t;
2073
- f && (w = di(f) ?? t);
2074
- let T = typeof i == "function" ? i : oi(i);
2075
- v && (T = typeof v == "function" ? v : oi({
2089
+ let { baseUrl: f, fetch: p = r, Request: m = n, headers: h, params: g = {}, parseAs: _ = "json", querySerializer: v, bodySerializer: y = a ?? di, pathSerializer: b, body: x, middleware: S = [], ...C } = d || {}, ee = t;
2090
+ f && (ee = mi(f) ?? t);
2091
+ let w = typeof i == "function" ? i : li(i);
2092
+ v && (w = typeof v == "function" ? v : li({
2076
2093
  ...typeof i == "object" ? i : {},
2077
2094
  ...v
2078
2095
  }));
2079
- let ee = b || o || si, te = x === void 0 ? void 0 : y(x, ui(s, h, g.header)), ne = ui(te === void 0 || te instanceof FormData ? {} : { "Content-Type": "application/json" }, s, h, g.header), E = [...u, ...S], re = {
2096
+ let te = b || o || ui, ne = x === void 0 ? void 0 : y(x, pi(s, h, g.header)), T = pi(ne === void 0 || ne instanceof FormData ? {} : { "Content-Type": "application/json" }, s, h, g.header), E = [...u, ...S], re = {
2080
2097
  redirect: "follow",
2081
2098
  ...l,
2082
2099
  ...C,
2083
- body: te,
2084
- headers: ne
2085
- }, ie, ae, D = new m(li(e, {
2086
- baseUrl: w,
2100
+ body: ne,
2101
+ headers: T
2102
+ }, ie, ae, D = new m(fi(e, {
2103
+ baseUrl: ee,
2087
2104
  params: g,
2088
- querySerializer: T,
2089
- pathSerializer: ee
2105
+ querySerializer: w,
2106
+ pathSerializer: te
2090
2107
  }), re), O;
2091
2108
  for (let e in C) e in D || (D[e] = C[e]);
2092
2109
  if (E.length) {
2093
- ie = ti(), ae = Object.freeze({
2094
- baseUrl: w,
2110
+ ie = ii(), ae = Object.freeze({
2111
+ baseUrl: ee,
2095
2112
  fetch: p,
2096
2113
  parseAs: _,
2097
- querySerializer: T,
2114
+ querySerializer: w,
2098
2115
  bodySerializer: y,
2099
- pathSerializer: ee
2116
+ pathSerializer: te
2100
2117
  });
2101
2118
  for (let t of E) if (t && typeof t == "object" && typeof t.onRequest == "function") {
2102
2119
  let n = await t.onRequest({
@@ -2261,12 +2278,12 @@ function ni(e) {
2261
2278
  }
2262
2279
  };
2263
2280
  }
2264
- function ri(e, t, n) {
2281
+ function oi(e, t, n) {
2265
2282
  if (t == null) return "";
2266
2283
  if (typeof t == "object") throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");
2267
2284
  return `${e}=${n?.allowReserved === !0 ? t : encodeURIComponent(t)}`;
2268
2285
  }
2269
- function ii(e, t, n) {
2286
+ function si(e, t, n) {
2270
2287
  if (!t || typeof t != "object") return "";
2271
2288
  let r = [], i = {
2272
2289
  simple: ",",
@@ -2285,12 +2302,12 @@ function ii(e, t, n) {
2285
2302
  }
2286
2303
  for (let i in t) {
2287
2304
  let a = n.style === "deepObject" ? `${e}[${i}]` : i;
2288
- r.push(ri(a, t[i], n));
2305
+ r.push(oi(a, t[i], n));
2289
2306
  }
2290
2307
  let a = r.join(i);
2291
2308
  return n.style === "label" || n.style === "matrix" ? `${i}${a}` : a;
2292
2309
  }
2293
- function ai(e, t, n) {
2310
+ function ci(e, t, n) {
2294
2311
  if (!Array.isArray(t)) return "";
2295
2312
  if (n.explode === !1) {
2296
2313
  let r = {
@@ -2310,10 +2327,10 @@ function ai(e, t, n) {
2310
2327
  label: ".",
2311
2328
  matrix: ";"
2312
2329
  }[n.style] || "&", i = [];
2313
- for (let r of t) n.style === "simple" || n.style === "label" ? i.push(n.allowReserved === !0 ? r : encodeURIComponent(r)) : i.push(ri(e, r, n));
2330
+ for (let r of t) n.style === "simple" || n.style === "label" ? i.push(n.allowReserved === !0 ? r : encodeURIComponent(r)) : i.push(oi(e, r, n));
2314
2331
  return n.style === "label" || n.style === "matrix" ? `${r}${i.join(r)}` : i.join(r);
2315
2332
  }
2316
- function oi(e) {
2333
+ function li(e) {
2317
2334
  return function(t) {
2318
2335
  let n = [];
2319
2336
  if (t && typeof t == "object") for (let r in t) {
@@ -2321,7 +2338,7 @@ function oi(e) {
2321
2338
  if (i != null) {
2322
2339
  if (Array.isArray(i)) {
2323
2340
  if (i.length === 0) continue;
2324
- n.push(ai(r, i, {
2341
+ n.push(ci(r, i, {
2325
2342
  style: "form",
2326
2343
  explode: !0,
2327
2344
  ...e?.array,
@@ -2330,7 +2347,7 @@ function oi(e) {
2330
2347
  continue;
2331
2348
  }
2332
2349
  if (typeof i == "object") {
2333
- n.push(ii(r, i, {
2350
+ n.push(si(r, i, {
2334
2351
  style: "deepObject",
2335
2352
  explode: !0,
2336
2353
  ...e?.object,
@@ -2338,50 +2355,50 @@ function oi(e) {
2338
2355
  }));
2339
2356
  continue;
2340
2357
  }
2341
- n.push(ri(r, i, e));
2358
+ n.push(oi(r, i, e));
2342
2359
  }
2343
2360
  }
2344
2361
  return n.join("&");
2345
2362
  };
2346
2363
  }
2347
- function si(e, t) {
2364
+ function ui(e, t) {
2348
2365
  let n = e;
2349
- for (let r of e.match($r) ?? []) {
2366
+ for (let r of e.match(ni) ?? []) {
2350
2367
  let e = r.substring(1, r.length - 1), i = !1, a = "simple";
2351
2368
  if (e.endsWith("*") && (i = !0, e = e.substring(0, e.length - 1)), e.startsWith(".") ? (a = "label", e = e.substring(1)) : e.startsWith(";") && (a = "matrix", e = e.substring(1)), !t || t[e] === void 0 || t[e] === null) continue;
2352
2369
  let o = t[e];
2353
2370
  if (Array.isArray(o)) {
2354
- n = n.replace(r, ai(e, o, {
2371
+ n = n.replace(r, ci(e, o, {
2355
2372
  style: a,
2356
2373
  explode: i
2357
2374
  }));
2358
2375
  continue;
2359
2376
  }
2360
2377
  if (typeof o == "object") {
2361
- n = n.replace(r, ii(e, o, {
2378
+ n = n.replace(r, si(e, o, {
2362
2379
  style: a,
2363
2380
  explode: i
2364
2381
  }));
2365
2382
  continue;
2366
2383
  }
2367
2384
  if (a === "matrix") {
2368
- n = n.replace(r, `;${ri(e, o)}`);
2385
+ n = n.replace(r, `;${oi(e, o)}`);
2369
2386
  continue;
2370
2387
  }
2371
2388
  n = n.replace(r, a === "label" ? `.${encodeURIComponent(o)}` : encodeURIComponent(o));
2372
2389
  }
2373
2390
  return n;
2374
2391
  }
2375
- function ci(e, t) {
2392
+ function di(e, t) {
2376
2393
  return e instanceof FormData ? e : t && (t.get instanceof Function ? t.get("Content-Type") ?? t.get("content-type") : t["Content-Type"] ?? t["content-type"]) === "application/x-www-form-urlencoded" ? new URLSearchParams(e).toString() : JSON.stringify(e);
2377
2394
  }
2378
- function li(e, t) {
2395
+ function fi(e, t) {
2379
2396
  let n = `${t.baseUrl}${e}`;
2380
2397
  t.params?.path && (n = t.pathSerializer(n, t.params.path));
2381
2398
  let r = t.querySerializer(t.params.query ?? {});
2382
2399
  return r.startsWith("?") && (r = r.substring(1)), r && (n += `?${r}`), n;
2383
2400
  }
2384
- function ui(...e) {
2401
+ function pi(...e) {
2385
2402
  let t = new Headers();
2386
2403
  for (let n of e) {
2387
2404
  if (!n || typeof n != "object") continue;
@@ -2392,43 +2409,63 @@ function ui(...e) {
2392
2409
  }
2393
2410
  return t;
2394
2411
  }
2395
- function di(e) {
2412
+ function mi(e) {
2396
2413
  return e.endsWith("/") ? e.substring(0, e.length - 1) : e;
2397
2414
  }
2398
2415
  //#endregion
2399
2416
  //#region src/lib/utils.ts
2400
- function fi(e) {
2417
+ function hi(e) {
2401
2418
  return `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`;
2402
2419
  }
2403
- function pi(e) {
2420
+ function gi(e) {
2404
2421
  let t = new Date(e);
2405
2422
  return `${String(t.getHours()).padStart(2, "0")}:${String(t.getMinutes()).padStart(2, "0")}`;
2406
2423
  }
2407
- function mi(e) {
2424
+ function _i(e) {
2408
2425
  let t = e.match(/\d{4}-\d{2}-\d{2}/);
2409
2426
  return t ? t[0] : null;
2410
2427
  }
2411
- function hi(e) {
2428
+ function vi(e) {
2412
2429
  let t = [];
2413
2430
  for (let n of e) for (let e = 0; e < n.quantity; e++) t.push({ unitId: n.unitId });
2414
2431
  return t;
2415
2432
  }
2416
2433
  //#endregion
2417
2434
  //#region src/lib/api.ts
2418
- var gi = class extends Error {
2435
+ var yi = class extends Error {
2419
2436
  status;
2420
- constructor(e) {
2421
- super(`API error ${e}`), this.status = e;
2437
+ body;
2438
+ constructor(e, t) {
2439
+ super(`API error ${e}`), this.status = e, this.body = t;
2440
+ }
2441
+ get code() {
2442
+ return typeof this.body == "object" && this.body !== null && "error" in this.body ? String(this.body.error) : void 0;
2422
2443
  }
2423
- }, _i = class {
2444
+ };
2445
+ function bi(e) {
2446
+ return e instanceof yi && e.status === 400 && e.code === "PRICE_MISMATCH";
2447
+ }
2448
+ function xi(e) {
2449
+ return e instanceof yi && e.status === 401;
2450
+ }
2451
+ function Si(e) {
2452
+ return e instanceof yi && e.status === 409 && e.code === "PAYMENT_SETTLED";
2453
+ }
2454
+ function Ci(e) {
2455
+ return e instanceof yi && e.status === 409 && e.code === "PAYMENT_PENDING";
2456
+ }
2457
+ function wi(e) {
2458
+ return e instanceof yi && e.status === 409 && e.code === "PAYMENT_FAILED";
2459
+ }
2460
+ var Ti = class {
2424
2461
  sessionToken = "";
2425
2462
  cartToken = "";
2426
2463
  client;
2427
2464
  constructor(e) {
2428
- this.client = ni({ baseUrl: e }), this.client.use({ onRequest: ({ request: e }) => (e.headers.set("Origin", window.location.origin), this.sessionToken && e.headers.set("Morii-Checkout-Session", this.sessionToken), this.cartToken && e.headers.set("Morii-Checkout-Cart", this.cartToken), e) });
2465
+ this.client = ai({ baseUrl: e }), this.client.use({ onRequest: ({ request: e }) => (e.headers.set("Origin", window.location.origin), this.sessionToken && e.headers.set("Morii-Checkout-Session", this.sessionToken), this.cartToken && e.headers.set("Morii-Checkout-Cart", this.cartToken), e) });
2429
2466
  }
2430
2467
  unwrap(e) {
2431
- if (e.data === void 0) throw new gi(e.response.status);
2468
+ if (e.data === void 0) throw new yi(e.response.status, e.error);
2432
2469
  return e.data;
2433
2470
  }
2434
2471
  async startSession(e) {
@@ -2448,8 +2485,8 @@ var gi = class extends Error {
2448
2485
  let i = this.unwrap(await this.client.POST("/v1/checkout/availability/calendar", { body: {
2449
2486
  productId: e,
2450
2487
  optionId: t,
2451
- localDateStart: fi(n),
2452
- localDateEnd: fi(r)
2488
+ localDateStart: hi(n),
2489
+ localDateEnd: hi(r)
2453
2490
  } })), a = {};
2454
2491
  for (let e of i) a[e.localDate] = e;
2455
2492
  return a;
@@ -2479,7 +2516,7 @@ var gi = class extends Error {
2479
2516
  }
2480
2517
  async removeCartItem(e) {
2481
2518
  let t = await this.client.DELETE("/v1/checkout/cart/items/{itemId}", { params: { path: { itemId: e } } });
2482
- if (t.response.status >= 400) throw new gi(t.response.status);
2519
+ if (t.response.status >= 400) throw new yi(t.response.status);
2483
2520
  }
2484
2521
  async payCart(e) {
2485
2522
  return this.unwrap(await this.client.POST("/v1/checkout/cart/pay", { body: { contact: e } }));
@@ -2487,7 +2524,14 @@ var gi = class extends Error {
2487
2524
  async confirmCart() {
2488
2525
  return this.unwrap(await this.client.POST("/v1/checkout/cart/confirm"));
2489
2526
  }
2490
- }, vi = 3e5, yi = 12e4, bi = class {
2527
+ async extendCart() {
2528
+ return this.unwrap(await this.client.POST("/v1/checkout/cart/extend"));
2529
+ }
2530
+ async abandonPayment(e) {
2531
+ let t = await this.client.POST("/v1/checkout/cart/abandon-payment", { body: { checkoutId: e } });
2532
+ if (t.response.status >= 400) throw new yi(t.response.status, t.error);
2533
+ }
2534
+ }, Ei = 3e5, Di = 12e4, Oi = class {
2491
2535
  api;
2492
2536
  sessions = /* @__PURE__ */ new Map();
2493
2537
  intervalId = null;
@@ -2502,7 +2546,7 @@ var gi = class extends Error {
2502
2546
  return this.sessions.set(e, n), this.activeCheckoutKey = e, n;
2503
2547
  }
2504
2548
  startBackgroundRefresh() {
2505
- this.intervalId ||= setInterval(() => this.refreshExpiringSessions(), vi);
2549
+ this.intervalId ||= setInterval(() => this.refreshExpiringSessions(), Ei);
2506
2550
  }
2507
2551
  stop() {
2508
2552
  this.intervalId &&= (clearInterval(this.intervalId), null);
@@ -2514,7 +2558,7 @@ var gi = class extends Error {
2514
2558
  return new Date(e.expiresAt ?? 0).getTime() <= Date.now();
2515
2559
  }
2516
2560
  isExpiringSoon(e) {
2517
- return new Date(e.refreshAfter ?? 0).getTime() <= Date.now() + yi;
2561
+ return new Date(e.refreshAfter ?? 0).getTime() <= Date.now() + Di;
2518
2562
  }
2519
2563
  async refreshExpiringSessions() {
2520
2564
  for (let [e, t] of this.sessions) {
@@ -2531,7 +2575,37 @@ var gi = class extends Error {
2531
2575
  }
2532
2576
  }
2533
2577
  }
2534
- }, xi = "morii-checkout-cart", Si = class {
2578
+ }, ki = "morii-checkout-payment", Ai = typeof sessionStorage < "u" ? sessionStorage : null;
2579
+ function ji(e, t) {
2580
+ let n = {
2581
+ cartToken: e,
2582
+ ...t
2583
+ };
2584
+ try {
2585
+ Ai?.setItem(ki, JSON.stringify(n));
2586
+ } catch {}
2587
+ }
2588
+ function Mi(e) {
2589
+ try {
2590
+ let t = Ai?.getItem(ki);
2591
+ if (!t) return null;
2592
+ let n = JSON.parse(t);
2593
+ return !e || n.cartToken !== e || !n.checkoutId || !n.entityId ? (Ni(), null) : {
2594
+ checkoutId: n.checkoutId,
2595
+ entityId: n.entityId
2596
+ };
2597
+ } catch {
2598
+ return null;
2599
+ }
2600
+ }
2601
+ function Ni() {
2602
+ try {
2603
+ Ai?.removeItem(ki);
2604
+ } catch {}
2605
+ }
2606
+ //#endregion
2607
+ //#region src/lib/cart-manager.ts
2608
+ var Pi = "morii-checkout-cart", Fi = typeof sessionStorage < "u" ? sessionStorage : null, Ii = class {
2535
2609
  api;
2536
2610
  cart = null;
2537
2611
  constructor(e) {
@@ -2549,10 +2623,11 @@ var gi = class extends Error {
2549
2623
  return this.cart = e, this.saveToStorage(), e;
2550
2624
  }
2551
2625
  reset() {
2552
- this.cart = null;
2626
+ this.cart = null, this.api.cartToken = "";
2553
2627
  try {
2554
- localStorage.removeItem(xi);
2628
+ Fi?.removeItem(Pi);
2555
2629
  } catch {}
2630
+ Ni();
2556
2631
  }
2557
2632
  isExpired() {
2558
2633
  return !this.cart || new Date(this.cart.absoluteExpiresAt ?? 0).getTime() <= Date.now();
@@ -2564,16 +2639,16 @@ var gi = class extends Error {
2564
2639
  absoluteExpiresAt: this.cart.absoluteExpiresAt ?? ""
2565
2640
  };
2566
2641
  try {
2567
- localStorage.setItem(xi, JSON.stringify(e));
2642
+ Fi?.setItem(Pi, JSON.stringify(e));
2568
2643
  } catch {}
2569
2644
  }
2570
2645
  loadFromStorage() {
2571
2646
  try {
2572
- let e = localStorage.getItem(xi);
2647
+ let e = Fi?.getItem(Pi);
2573
2648
  if (!e) return;
2574
2649
  let t = JSON.parse(e);
2575
2650
  if (new Date(t.absoluteExpiresAt).getTime() <= Date.now()) {
2576
- localStorage.removeItem(xi);
2651
+ Fi?.removeItem(Pi), Ni();
2577
2652
  return;
2578
2653
  }
2579
2654
  this.cart = {
@@ -2584,13 +2659,39 @@ var gi = class extends Error {
2584
2659
  }, this.api.cartToken = t.cartToken;
2585
2660
  } catch {}
2586
2661
  }
2587
- };
2662
+ }, Li = /* @__PURE__ */ new Set([
2663
+ "cart:change",
2664
+ "cart:updated",
2665
+ "cart:expired",
2666
+ "modal:open",
2667
+ "modal:close",
2668
+ "order:complete",
2669
+ "payment:started",
2670
+ "payment:ended",
2671
+ "payment:timed-out"
2672
+ ]);
2673
+ function $(e) {
2674
+ window.parent?.postMessage(JSON.stringify(e), window.location.origin);
2675
+ }
2676
+ function Ri(e) {
2677
+ function t(t) {
2678
+ if (t.source !== window || t.origin !== window.location.origin) return;
2679
+ let n;
2680
+ try {
2681
+ n = typeof t.data == "string" ? JSON.parse(t.data) : t.data;
2682
+ } catch {
2683
+ return;
2684
+ }
2685
+ typeof n?.type != "string" || !Li.has(n.type) || e(n);
2686
+ }
2687
+ return window.addEventListener("message", t), () => window.removeEventListener("message", t);
2688
+ }
2588
2689
  //#endregion
2589
2690
  //#region node_modules/svelte/src/internal/disclose-version.js
2590
2691
  typeof window < "u" && ((window.__svelte ??= {}).v ??= /* @__PURE__ */ new Set()).add("5");
2591
2692
  //#endregion
2592
2693
  //#region src/lib/config.ts
2593
- var Ci = [
2694
+ var zi = [
2594
2695
  {
2595
2696
  title: "Option",
2596
2697
  widgets: ["option", "age-category"]
@@ -2603,8 +2704,8 @@ var Ci = [
2603
2704
  title: "Pickup",
2604
2705
  widgets: ["pickup"]
2605
2706
  }
2606
- ], wi = {
2607
- "option-first": Ci,
2707
+ ], Bi = {
2708
+ "option-first": zi,
2608
2709
  "date-first": [
2609
2710
  {
2610
2711
  title: "Age & capacity",
@@ -2624,16 +2725,16 @@ var Ci = [
2624
2725
  }
2625
2726
  ]
2626
2727
  };
2627
- function Ti(e) {
2628
- if (!e) return Ci;
2629
- if (e in wi) return wi[e];
2728
+ function Vi(e) {
2729
+ if (!e) return zi;
2730
+ if (e in Bi) return Bi[e];
2630
2731
  try {
2631
2732
  let t = JSON.parse(e);
2632
2733
  if (Array.isArray(t) && t.length > 0 && t[0].widgets) return t;
2633
2734
  } catch {}
2634
- return Ci;
2735
+ return zi;
2635
2736
  }
2636
- var Ei = {
2737
+ var Hi = {
2637
2738
  "option-first": [
2638
2739
  {
2639
2740
  title: "Option",
@@ -2671,64 +2772,59 @@ var Ei = {
2671
2772
  }
2672
2773
  ]
2673
2774
  };
2674
- function Di(e, t) {
2775
+ function Ui(e, t) {
2675
2776
  if (t) {
2676
- if (t in Ei) return Ei[t];
2777
+ if (t in Hi) return Hi[t];
2677
2778
  try {
2678
2779
  let e = JSON.parse(t);
2679
2780
  if (Array.isArray(e) && e.length > 0 && e[0].widgets) return e;
2680
2781
  } catch {}
2681
2782
  }
2682
- let n = e ? e in wi ? e : null : "option-first";
2683
- return n ? Ei[n] : Ti(e);
2684
- }
2685
- //#endregion
2686
- //#region src/lib/messages.ts
2687
- function Oi(e) {
2688
- window.parent?.postMessage(JSON.stringify(e), "*");
2783
+ let n = e ? e in Bi ? e : null : "option-first";
2784
+ return n ? Hi[n] : Vi(e);
2689
2785
  }
2690
2786
  //#endregion
2691
2787
  //#region src/lib/currency.ts
2692
- var ki = {
2788
+ var Wi = {
2693
2789
  ZAR: "R",
2694
2790
  USD: "$",
2695
2791
  EUR: "€",
2696
2792
  GBP: "£"
2697
2793
  };
2698
- function Ai(e, t, n, r = 0) {
2794
+ function Gi(e, t, n, r = 0) {
2699
2795
  let i = e / 10 ** n;
2700
- return `${ki[t] ?? t}\u00A0${i.toFixed(r)}`;
2796
+ return `${Wi[t] ?? t}\u00A0${i.toFixed(r)}`;
2701
2797
  }
2702
2798
  //#endregion
2703
2799
  //#region src/lib/SelectableCard.svelte
2704
- var ji = /* @__PURE__ */ Y("<div class=\"leading\"><!></div>"), Mi = /* @__PURE__ */ Y("<div class=\"heading svelte-idp8p9\"> </div>"), Ni = /* @__PURE__ */ Y("<div class=\"body svelte-idp8p9\"> </div>"), Pi = /* @__PURE__ */ Y("<button><div class=\"layout svelte-idp8p9\"><!> <div class=\"text svelte-idp8p9\"><!> <!> <!></div> <span></span></div></button>");
2705
- function Fi(e, t) {
2706
- var n = Pi();
2800
+ var Ki = /* @__PURE__ */ Y("<div class=\"leading\"><!></div>"), qi = /* @__PURE__ */ Y("<div class=\"heading svelte-idp8p9\"> </div>"), Ji = /* @__PURE__ */ Y("<div class=\"body svelte-idp8p9\"> </div>"), Yi = /* @__PURE__ */ Y("<button><div class=\"layout svelte-idp8p9\"><!> <div class=\"text svelte-idp8p9\"><!> <!> <!></div> <span></span></div></button>");
2801
+ function Xi(e, t) {
2802
+ var n = Yi();
2707
2803
  let r;
2708
2804
  var i = V(n), a = V(i), o = (e) => {
2709
- var n = ji();
2710
- Mr(V(n), () => t.leading), M(n), X(e, n);
2805
+ var n = Ki();
2806
+ Fr(V(n), () => t.leading), M(n), X(e, n);
2711
2807
  };
2712
2808
  Q(a, (e) => {
2713
2809
  t.leading && e(o);
2714
2810
  });
2715
2811
  var s = U(a, 2), c = V(s), l = (e) => {
2716
- var n = Mi(), r = V(n, !0);
2812
+ var n = qi(), r = V(n, !0);
2717
2813
  M(n), W(() => Z(r, t.heading)), X(e, n);
2718
2814
  };
2719
2815
  Q(c, (e) => {
2720
2816
  t.heading && e(l);
2721
2817
  });
2722
2818
  var u = U(c, 2), d = (e) => {
2723
- var n = Ni(), r = V(n, !0);
2819
+ var n = Ji(), r = V(n, !0);
2724
2820
  M(n), W(() => Z(r, t.body)), X(e, n);
2725
2821
  };
2726
2822
  Q(u, (e) => {
2727
2823
  t.body && e(d);
2728
2824
  });
2729
2825
  var f = U(u, 2), p = (e) => {
2730
- var n = gr();
2731
- Mr(H(n), () => t.children), X(e, n);
2826
+ var n = vr();
2827
+ Fr(H(n), () => t.children), X(e, n);
2732
2828
  };
2733
2829
  Q(f, (e) => {
2734
2830
  t.children && e(p);
@@ -2736,27 +2832,27 @@ function Fi(e, t) {
2736
2832
  var m = U(s, 2);
2737
2833
  let h;
2738
2834
  M(i), M(n), W(() => {
2739
- r = Fr(n, 1, "card card-selectable", null, r, { "card-selected": t.selected }), h = Fr(m, 1, "radio svelte-idp8p9", null, h, { "radio-selected": t.selected });
2835
+ r = Rr(n, 1, "card card-selectable", null, r, { "card-selected": t.selected }), h = Rr(m, 1, "radio svelte-idp8p9", null, h, { "radio-selected": t.selected });
2740
2836
  }), J("click", n, function(...e) {
2741
2837
  t.onSelect?.apply(this, e);
2742
2838
  }), X(e, n);
2743
2839
  }
2744
- cr(["click"]);
2840
+ ur(["click"]);
2745
2841
  //#endregion
2746
2842
  //#region src/lib/OptionCard.svelte
2747
- var Ii = /* @__PURE__ */ Y("<p class=\"pricing svelte-19wqhng\"> </p>");
2748
- function Li(e, t) {
2843
+ var Zi = /* @__PURE__ */ Y("<p class=\"pricing svelte-19wqhng\"> </p>");
2844
+ function Qi(e, t) {
2749
2845
  P(t, !0);
2750
2846
  let n = /* @__PURE__ */ L(() => () => {
2751
2847
  let e = [];
2752
2848
  for (let n of t.option.units) {
2753
2849
  if (!n.pricing || n.pricing.length === 0) continue;
2754
2850
  let t = n.pricing[0];
2755
- e.push(`${n.title ?? n.id} from ${Ai(t.retail, t.currency, t.currencyPrecision)}`);
2851
+ e.push(`${n.title ?? n.id} from ${Gi(t.retail, t.currency, t.currencyPrecision)}`);
2756
2852
  }
2757
2853
  return e.join(", ");
2758
2854
  });
2759
- Fi(e, {
2855
+ Xi(e, {
2760
2856
  get selected() {
2761
2857
  return t.selected;
2762
2858
  },
@@ -2770,8 +2866,8 @@ function Li(e, t) {
2770
2866
  return t.option.description;
2771
2867
  },
2772
2868
  children: (e, t) => {
2773
- var r = gr(), i = H(r), a = (e) => {
2774
- var t = Ii(), r = V(t, !0);
2869
+ var r = vr(), i = H(r), a = (e) => {
2870
+ var t = Zi(), r = V(t, !0);
2775
2871
  M(t), W((e) => Z(r, e), [() => q(n)()]), X(e, t);
2776
2872
  }, o = /* @__PURE__ */ L(() => q(n)());
2777
2873
  Q(i, (e) => {
@@ -2783,41 +2879,70 @@ function Li(e, t) {
2783
2879
  }
2784
2880
  //#endregion
2785
2881
  //#region src/lib/UnitCounter.svelte
2786
- var Ri = /* @__PURE__ */ Y("<span class=\"price svelte-bzhcxd\"> </span>"), zi = /* @__PURE__ */ Y("<div class=\"card row svelte-bzhcxd\"><div class=\"info svelte-bzhcxd\"><span class=\"name svelte-bzhcxd\"> </span> <!></div> <div class=\"stepper svelte-bzhcxd\"><button class=\"step-btn svelte-bzhcxd\" aria-label=\"Decrease\">&minus;</button> <span class=\"qty svelte-bzhcxd\"> </span> <button class=\"step-btn svelte-bzhcxd\" aria-label=\"Increase\">+</button></div></div>");
2787
- function Bi(e, t) {
2882
+ var $i = /* @__PURE__ */ Y("<span class=\"price svelte-bzhcxd\"> </span>"), ea = /* @__PURE__ */ Y("<p class=\"limit-message svelte-bzhcxd\"> </p>"), ta = /* @__PURE__ */ Y("<div class=\"card row svelte-bzhcxd\"><div class=\"info svelte-bzhcxd\"><span class=\"name svelte-bzhcxd\"> </span> <!></div> <div class=\"stepper svelte-bzhcxd\"><button class=\"step-btn svelte-bzhcxd\" aria-label=\"Decrease\">&minus;</button> <input class=\"qty svelte-bzhcxd\" type=\"text\" inputmode=\"numeric\" pattern=\"[0-9]*\"/> <button class=\"step-btn svelte-bzhcxd\" aria-label=\"Increase\">+</button></div></div> <!>", 1);
2883
+ function na(e, t) {
2788
2884
  P(t, !0);
2789
2885
  let n = /* @__PURE__ */ L(() => () => {
2790
2886
  if (!t.unit.pricing || t.unit.pricing.length === 0) return "";
2791
2887
  let e = t.unit.pricing[0];
2792
- return `from ${Ai(e.retail, e.currency, e.currencyPrecision)}`;
2888
+ return `from ${Gi(e.retail, e.currency, e.currencyPrecision)}`;
2889
+ }), r = /* @__PURE__ */ z(Gt(String(t.quantity))), i = /* @__PURE__ */ z("");
2890
+ un(() => {
2891
+ B(r, String(t.quantity), !0);
2793
2892
  });
2794
- function r() {
2893
+ function a() {
2795
2894
  t.quantity > 0 && t.onChange(t.quantity - 1);
2796
2895
  }
2797
- function i() {
2798
- t.onChange(t.quantity + 1);
2896
+ function o() {
2897
+ if (t.max != null && t.quantity >= t.max) {
2898
+ s();
2899
+ return;
2900
+ }
2901
+ B(i, ""), t.onChange(t.quantity + 1);
2799
2902
  }
2800
- var a = zi(), o = V(a), s = V(o), c = V(s, !0);
2801
- M(s);
2802
- var l = U(s, 2), u = (e) => {
2803
- var t = Ri(), r = V(t, !0);
2804
- M(t), W((e) => Z(r, e), [() => q(n)()]), X(e, t);
2805
- }, d = /* @__PURE__ */ L(() => q(n)());
2806
- Q(l, (e) => {
2807
- q(d) && e(u);
2808
- }), M(o);
2809
- var f = U(o, 2), p = V(f), m = U(p, 2), h = V(m, !0);
2903
+ function s() {
2904
+ let e = t.unit.title ?? t.unit.id;
2905
+ B(i, t.max === 0 ? `No ${e} tickets left for this time slot.` : `Only ${t.max} ${e} ticket${t.max === 1 ? "" : "s"} left for this time slot.`, !0);
2906
+ }
2907
+ function c() {
2908
+ let e = q(r).replace(/[^0-9]/g, "");
2909
+ e !== q(r) && B(r, e, !0), B(i, "");
2910
+ }
2911
+ function l() {
2912
+ let e = q(r) === "" ? 0 : parseInt(q(r), 10);
2913
+ Number.isNaN(e) && (e = 0), t.max != null && e > t.max && (e = t.max, s()), B(r, String(e), !0), e !== t.quantity && t.onChange(e);
2914
+ }
2915
+ function u(e) {
2916
+ e.currentTarget.select();
2917
+ }
2918
+ var d = ta(), f = H(d), p = V(f), m = V(p), h = V(m, !0);
2810
2919
  M(m);
2811
- var g = U(m, 2);
2812
- M(f), M(a), W(() => {
2813
- Z(c, t.unit.title ?? t.unit.id), p.disabled = t.quantity === 0, Z(h, t.quantity);
2814
- }), J("click", p, r), J("click", g, i), X(e, a), F();
2920
+ var g = U(m, 2), _ = (e) => {
2921
+ var t = $i(), r = V(t, !0);
2922
+ M(t), W((e) => Z(r, e), [() => q(n)()]), X(e, t);
2923
+ }, v = /* @__PURE__ */ L(() => q(n)());
2924
+ Q(g, (e) => {
2925
+ q(v) && e(_);
2926
+ }), M(p);
2927
+ var y = U(p, 2), b = V(y), x = U(b, 2);
2928
+ Hr(x);
2929
+ var S = U(x, 2);
2930
+ M(y), M(f);
2931
+ var C = U(f, 2), ee = (e) => {
2932
+ var t = ea(), n = V(t, !0);
2933
+ M(t), W(() => Z(n, q(i))), X(e, t);
2934
+ };
2935
+ Q(C, (e) => {
2936
+ q(i) && e(ee);
2937
+ }), W(() => {
2938
+ Z(h, t.unit.title ?? t.unit.id), b.disabled = t.quantity === 0, Wr(x, "aria-label", `${t.unit.title ?? t.unit.id ?? ""} quantity`), S.disabled = t.max != null && t.quantity >= t.max;
2939
+ }), J("click", b, a), J("input", x, c), lr("blur", x, l), lr("focus", x, u), Jr(x, () => q(r), (e) => B(r, e)), J("click", S, o), X(e, d), F();
2815
2940
  }
2816
- cr(["click"]);
2941
+ ur(["click", "input"]);
2817
2942
  //#endregion
2818
2943
  //#region src/lib/AvailabilityCalendar.svelte
2819
- var Vi = /* @__PURE__ */ Y("<div class=\"loading-center\"><div class=\"spinner\"></div></div>"), Hi = /* @__PURE__ */ Y("<span class=\"svelte-10gu2tq\"> </span>"), Ui = /* @__PURE__ */ Y("<span class=\"cell empty svelte-10gu2tq\"></span>"), Wi = /* @__PURE__ */ Y("<span class=\"day-price svelte-10gu2tq\"> </span>"), Gi = /* @__PURE__ */ Y("<button><span class=\"day-num svelte-10gu2tq\"> </span> <!></button>"), Ki = /* @__PURE__ */ Y("<div class=\"header svelte-10gu2tq\"><button class=\"nav-btn svelte-10gu2tq\" aria-label=\"Previous month\">&lsaquo;</button> <span class=\"month svelte-10gu2tq\"> </span> <button class=\"nav-btn svelte-10gu2tq\" aria-label=\"Next month\">&rsaquo;</button></div> <div class=\"day-names svelte-10gu2tq\"></div> <div class=\"grid svelte-10gu2tq\"></div>", 1), qi = /* @__PURE__ */ Y("<div class=\"calendar svelte-10gu2tq\"><!></div>");
2820
- function Ji(e, t) {
2944
+ var ra = /* @__PURE__ */ Y("<div class=\"loading-center\"><div class=\"spinner\"></div></div>"), ia = /* @__PURE__ */ Y("<span class=\"svelte-10gu2tq\"> </span>"), aa = /* @__PURE__ */ Y("<span class=\"cell empty svelte-10gu2tq\"></span>"), oa = /* @__PURE__ */ Y("<span class=\"day-price svelte-10gu2tq\"> </span>"), sa = /* @__PURE__ */ Y("<button><span class=\"day-num svelte-10gu2tq\"> </span> <!></button>"), ca = /* @__PURE__ */ Y("<div class=\"header svelte-10gu2tq\"><button class=\"nav-btn svelte-10gu2tq\" aria-label=\"Previous month\">&lsaquo;</button> <span class=\"month svelte-10gu2tq\"> </span> <button class=\"nav-btn svelte-10gu2tq\" aria-label=\"Next month\">&rsaquo;</button></div> <div class=\"day-names svelte-10gu2tq\"></div> <div class=\"grid svelte-10gu2tq\"></div>", 1), la = /* @__PURE__ */ Y("<div class=\"calendar svelte-10gu2tq\"><!></div>");
2945
+ function ua(e, t) {
2821
2946
  P(t, !0);
2822
2947
  let n = [
2823
2948
  "SU",
@@ -2842,20 +2967,20 @@ function Ji(e, t) {
2842
2967
  e.setMonth(e.getMonth() + 1), B(r, e, !0);
2843
2968
  }
2844
2969
  function c(e) {
2845
- let n = t.availabilityByDate[fi(e)];
2970
+ let n = t.availabilityByDate[hi(e)];
2846
2971
  return n ? n.available ? "available" : n.status === "SOLD_OUT" ? "sold-out" : "unavailable" : "unavailable";
2847
2972
  }
2848
2973
  function l(e) {
2849
- let n = t.availabilityByDate[fi(e)];
2974
+ let n = t.availabilityByDate[hi(e)];
2850
2975
  if (!n || !n.available) return "";
2851
2976
  if (n.unitPricing && n.unitPricing.length > 0) {
2852
2977
  let e = n.unitPricing[0];
2853
- return Ai(e.retail, e.currency, e.currencyPrecision);
2978
+ return Gi(e.retail, e.currency, e.currencyPrecision);
2854
2979
  }
2855
2980
  return "";
2856
2981
  }
2857
2982
  function u(e) {
2858
- return t.selectedDate ? fi(e) === fi(t.selectedDate) : !1;
2983
+ return t.selectedDate ? hi(e) === hi(t.selectedDate) : !1;
2859
2984
  }
2860
2985
  function d(e) {
2861
2986
  let t = /* @__PURE__ */ new Date();
@@ -2864,36 +2989,36 @@ function Ji(e, t) {
2864
2989
  function f(e) {
2865
2990
  c(e) !== "available" || d(e) || t.onDateSelected(e);
2866
2991
  }
2867
- var p = qi(), m = V(p), h = (e) => {
2868
- X(e, Vi());
2992
+ var p = la(), m = V(p), h = (e) => {
2993
+ X(e, ra());
2869
2994
  }, g = (e) => {
2870
- var t = Ki(), r = H(t), p = V(r), m = U(p, 2), h = V(m, !0);
2995
+ var t = ca(), r = H(t), p = V(r), m = U(p, 2), h = V(m, !0);
2871
2996
  M(m);
2872
2997
  var g = U(m, 2);
2873
2998
  M(r);
2874
2999
  var _ = U(r, 2);
2875
- Er(_, 21, () => n, $, (e, t) => {
2876
- var n = Hi(), r = V(n, !0);
3000
+ kr(_, 21, () => n, Tr, (e, t) => {
3001
+ var n = ia(), r = V(n, !0);
2877
3002
  M(n), W(() => Z(r, q(t))), X(e, n);
2878
3003
  }), M(_);
2879
3004
  var v = U(_, 2);
2880
- Er(v, 21, () => q(i)(), $, (e, t) => {
2881
- var n = gr(), r = H(n), i = (e) => {
2882
- X(e, Ui());
3005
+ kr(v, 21, () => q(i)(), Tr, (e, t) => {
3006
+ var n = vr(), r = H(n), i = (e) => {
3007
+ X(e, aa());
2883
3008
  }, a = (e) => {
2884
3009
  let n = /* @__PURE__ */ L(() => c(q(t))), r = /* @__PURE__ */ L(() => d(q(t))), i = /* @__PURE__ */ L(() => l(q(t)));
2885
- var a = Gi();
3010
+ var a = sa();
2886
3011
  let o;
2887
3012
  var s = V(a), p = V(s, !0);
2888
3013
  M(s);
2889
3014
  var m = U(s, 2), h = (e) => {
2890
- var t = Wi(), n = V(t, !0);
3015
+ var t = oa(), n = V(t, !0);
2891
3016
  M(t), W(() => Z(n, q(i))), X(e, t);
2892
3017
  };
2893
3018
  Q(m, (e) => {
2894
3019
  q(i) && !q(r) && e(h);
2895
3020
  }), M(a), W((e, t) => {
2896
- o = Fr(a, 1, "cell svelte-10gu2tq", null, o, e), a.disabled = q(n) !== "available" || q(r), Z(p, t);
3021
+ o = Rr(a, 1, "cell svelte-10gu2tq", null, o, e), a.disabled = q(n) !== "available" || q(r), Z(p, t);
2897
3022
  }, [() => ({
2898
3023
  available: q(n) === "available" && !q(r),
2899
3024
  "sold-out": q(n) === "sold-out",
@@ -2910,23 +3035,23 @@ function Ji(e, t) {
2910
3035
  t.loading ? e(h) : e(g, -1);
2911
3036
  }), M(p), X(e, p), F();
2912
3037
  }
2913
- cr(["click"]);
3038
+ ur(["click"]);
2914
3039
  //#endregion
2915
3040
  //#region src/lib/TimeSlotPicker.svelte
2916
- var Yi = /* @__PURE__ */ Y("<div class=\"loading-center\"><div class=\"spinner\"></div></div>"), Xi = /* @__PURE__ */ Y("<p class=\"hint svelte-1hu99a4\">All-day availability</p>"), Zi = /* @__PURE__ */ Y("<div class=\"slots svelte-1hu99a4\"></div>");
2917
- function Qi(e, t) {
3041
+ var da = /* @__PURE__ */ Y("<div class=\"loading-center\"><div class=\"spinner\"></div></div>"), fa = /* @__PURE__ */ Y("<p class=\"hint svelte-1hu99a4\">All-day availability</p>"), pa = /* @__PURE__ */ Y("<div class=\"slots svelte-1hu99a4\"></div>");
3042
+ function ma(e, t) {
2918
3043
  P(t, !0);
2919
- var n = gr(), r = H(n), i = (e) => {
2920
- X(e, Yi());
3044
+ var n = vr(), r = H(n), i = (e) => {
3045
+ X(e, da());
2921
3046
  }, a = (e) => {
2922
- X(e, Xi());
3047
+ X(e, fa());
2923
3048
  }, o = (e) => {
2924
- var n = Zi();
2925
- Er(n, 21, () => t.timeSlots, $, (e, n) => {
2926
- let r = /* @__PURE__ */ L(() => pi(q(n).localDateTimeStart));
3049
+ var n = pa();
3050
+ kr(n, 21, () => t.timeSlots, Tr, (e, n) => {
3051
+ let r = /* @__PURE__ */ L(() => gi(q(n).localDateTimeStart));
2927
3052
  {
2928
3053
  let i = /* @__PURE__ */ L(() => t.selectedTime === q(r)), a = /* @__PURE__ */ L(() => q(n).vacancies == null ? void 0 : `${q(n).vacancies} left`);
2929
- Fi(e, {
3054
+ Xi(e, {
2930
3055
  get selected() {
2931
3056
  return q(i);
2932
3057
  },
@@ -2947,21 +3072,21 @@ function Qi(e, t) {
2947
3072
  }
2948
3073
  //#endregion
2949
3074
  //#region src/lib/WizardPage.svelte
2950
- var $i = /* @__PURE__ */ Y("<div class=\"wizard-header svelte-9w5z1v\"><h2 class=\"svelte-9w5z1v\">Buy Tickets</h2></div>"), ea = /* @__PURE__ */ Y("<span></span>"), ta = /* @__PURE__ */ Y("<div class=\"page-dots svelte-9w5z1v\"></div>"), na = /* @__PURE__ */ Y("<div class=\"page-title-row svelte-9w5z1v\"><h3 class=\"page-title svelte-9w5z1v\"> </h3> <!></div>"), ra = /* @__PURE__ */ Y("<span> </span>"), ia = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><div class=\"option-list svelte-9w5z1v\"></div></div>"), aa = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><div class=\"unit-list svelte-9w5z1v\"></div></div>"), oa = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><!></div>"), sa = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><div class=\"pickup-list svelte-9w5z1v\"></div></div>"), ca = /* @__PURE__ */ Y("<!> <!> <!> <!> <!>", 1), la = /* @__PURE__ */ Y("<div class=\"accordion-body svelte-9w5z1v\"></div>"), ua = /* @__PURE__ */ Y("<div><button class=\"accordion-header svelte-9w5z1v\"><div class=\"accordion-header-text svelte-9w5z1v\"><span class=\"accordion-title svelte-9w5z1v\"> </span> <!></div> <span></span></button> <!></div>"), da = /* @__PURE__ */ Y("<div class=\"wizard-body svelte-9w5z1v\"></div> <div class=\"action-bar\"><button class=\"btn btn-secondary\">Return to Cart</button> <button class=\"btn btn-primary\">Save &amp; Update</button></div>", 1), fa = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Options</h4> <div class=\"option-list svelte-9w5z1v\"></div></div>"), pa = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">How many tickets?</h4> <div class=\"unit-list svelte-9w5z1v\"></div></div>"), ma = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Choose a date</h4> <!></div>"), ha = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Select a time</h4> <!></div>"), ga = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Select pickup point</h4> <div class=\"pickup-list svelte-9w5z1v\"></div></div>"), _a = /* @__PURE__ */ Y("<button class=\"btn btn-secondary\"> </button>"), va = /* @__PURE__ */ Y("<div class=\"wizard-body svelte-9w5z1v\"></div> <div class=\"action-bar\"><!> <button class=\"btn btn-primary\"> <span class=\"arrow\">&rarr;</span></button></div>", 1), ya = /* @__PURE__ */ Y("<div class=\"dialog-backdrop svelte-9w5z1v\"><div class=\"dialog svelte-9w5z1v\"><h3 class=\"dialog-title svelte-9w5z1v\">You have unsaved changes</h3> <p class=\"dialog-body svelte-9w5z1v\">Would you like to proceed?</p> <div class=\"dialog-actions svelte-9w5z1v\"><button class=\"dialog-btn-text svelte-9w5z1v\">Discard changes</button> <button class=\"dialog-btn-fill svelte-9w5z1v\">Return to editing</button></div></div></div>"), ba = /* @__PURE__ */ Y("<div class=\"wizard svelte-9w5z1v\"><!> <!> <!></div> <!>", 1);
2951
- function xa(e, t) {
3075
+ var ha = /* @__PURE__ */ Y("<div class=\"wizard-header svelte-9w5z1v\"><h2 class=\"svelte-9w5z1v\">Buy Tickets</h2></div>"), ga = /* @__PURE__ */ Y("<span></span>"), _a = /* @__PURE__ */ Y("<div class=\"page-dots svelte-9w5z1v\"></div>"), va = /* @__PURE__ */ Y("<div class=\"page-title-row svelte-9w5z1v\"><h3 class=\"page-title svelte-9w5z1v\"> </h3> <!></div>"), ya = /* @__PURE__ */ Y("<span> </span>"), ba = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><div class=\"option-list svelte-9w5z1v\"></div></div>"), xa = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><div class=\"unit-list svelte-9w5z1v\"></div></div>"), Sa = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><!></div>"), Ca = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><div class=\"pickup-list svelte-9w5z1v\"></div></div>"), wa = /* @__PURE__ */ Y("<!> <!> <!> <!> <!>", 1), Ta = /* @__PURE__ */ Y("<div class=\"accordion-body svelte-9w5z1v\"></div>"), Ea = /* @__PURE__ */ Y("<div><button class=\"accordion-header svelte-9w5z1v\"><div class=\"accordion-header-text svelte-9w5z1v\"><span class=\"accordion-title svelte-9w5z1v\"> </span> <!></div> <span></span></button> <!></div>"), Da = /* @__PURE__ */ Y("<div class=\"wizard-body svelte-9w5z1v\"></div> <div class=\"action-bar\"><button class=\"btn btn-secondary\">Return to Cart</button> <button class=\"btn btn-primary\">Save &amp; Update</button></div>", 1), Oa = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Options</h4> <div class=\"option-list svelte-9w5z1v\"></div></div>"), ka = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">How many tickets?</h4> <div class=\"unit-list svelte-9w5z1v\"></div></div>"), Aa = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Choose a date</h4> <!></div>"), ja = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Select a time</h4> <!></div>"), Ma = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Select pickup point</h4> <div class=\"pickup-list svelte-9w5z1v\"></div></div>"), Na = /* @__PURE__ */ Y("<button class=\"btn btn-secondary\"> </button>"), Pa = /* @__PURE__ */ Y("<div class=\"wizard-body svelte-9w5z1v\"></div> <div class=\"action-bar\"><!> <button class=\"btn btn-primary\"> <span class=\"arrow\">&rarr;</span></button></div>", 1), Fa = /* @__PURE__ */ Y("<div class=\"dialog-backdrop svelte-9w5z1v\"><div class=\"dialog svelte-9w5z1v\"><h3 class=\"dialog-title svelte-9w5z1v\">You have unsaved changes</h3> <p class=\"dialog-body svelte-9w5z1v\">Would you like to proceed?</p> <div class=\"dialog-actions svelte-9w5z1v\"><button class=\"dialog-btn-text svelte-9w5z1v\">Discard changes</button> <button class=\"dialog-btn-fill svelte-9w5z1v\">Return to editing</button></div></div></div>"), Ia = /* @__PURE__ */ Y("<div class=\"wizard svelte-9w5z1v\"><!> <!> <!></div> <!>", 1);
3076
+ function La(e, t) {
2952
3077
  P(t, !0);
2953
- let n = Xr(t, "editPages", 19, () => t.wizardPages), r = Xr(t, "autoSelectSingleTimeSlot", 3, !1), i = /* @__PURE__ */ L(() => t.editItem != null), a = /* @__PURE__ */ L(() => t.editItem && !q(ne)() ? t.editItem.optionId : void 0), o = /* @__PURE__ */ z(0), s = /* @__PURE__ */ z(null), c = /* @__PURE__ */ z(Gt({})), l = /* @__PURE__ */ z(null), u = /* @__PURE__ */ z(null), d = /* @__PURE__ */ z(null), f = /* @__PURE__ */ z(null), p = /* @__PURE__ */ z(Gt({})), m = /* @__PURE__ */ z(Gt([])), h = /* @__PURE__ */ z(!1), g = /* @__PURE__ */ z(!1), _ = /* @__PURE__ */ z(!1), v = /* @__PURE__ */ z(!1), y = /* @__PURE__ */ z(0), b = /* @__PURE__ */ z(Gt(/* @__PURE__ */ new Set()));
3078
+ let n = $r(t, "editPages", 19, () => t.wizardPages), r = $r(t, "autoSelectSingleTimeSlot", 3, !1), i = /* @__PURE__ */ L(() => t.editItem != null), a = /* @__PURE__ */ L(() => t.editItem && !q(T)() ? t.editItem.optionId : void 0), o = /* @__PURE__ */ z(0), s = /* @__PURE__ */ z(null), c = /* @__PURE__ */ z(Gt({})), l = /* @__PURE__ */ z(null), u = /* @__PURE__ */ z(null), d = /* @__PURE__ */ z(null), f = /* @__PURE__ */ z(null), p = /* @__PURE__ */ z(Gt({})), m = /* @__PURE__ */ z(Gt([])), h = /* @__PURE__ */ z(!1), g = /* @__PURE__ */ z(!1), _ = /* @__PURE__ */ z(!1), v = /* @__PURE__ */ z(!1), y = /* @__PURE__ */ z(0), b = /* @__PURE__ */ z(Gt(/* @__PURE__ */ new Set()));
2954
3079
  function x(...e) {
2955
3080
  B(b, /* @__PURE__ */ new Set([...q(b), ...e]), !0);
2956
3081
  }
2957
3082
  function S(...e) {
2958
3083
  e.every((e) => !q(b).has(e)) || B(b, new Set([...q(b)].filter((t) => !e.includes(t))), !0);
2959
3084
  }
2960
- let C = /* @__PURE__ */ L(() => Object.values(q(c)).some((e) => e > 0)), w = /* @__PURE__ */ L(() => q(m).length === 1 && q(m)[0].allDay), T = /* @__PURE__ */ L(() => q(m).length === 1), ee = /* @__PURE__ */ L(() => !q(g) && q(m).length === 0), te = /* @__PURE__ */ L(() => q(w) || r() && q(T)), ne = /* @__PURE__ */ L(() => () => {
3085
+ let C = /* @__PURE__ */ L(() => Object.values(q(c)).some((e) => e > 0)), ee = /* @__PURE__ */ L(() => q(m).length === 1 && q(m)[0].allDay), w = /* @__PURE__ */ L(() => q(m).length === 1), te = /* @__PURE__ */ L(() => !q(g) && q(m).length === 0), ne = /* @__PURE__ */ L(() => q(ee) || r() && q(w)), T = /* @__PURE__ */ L(() => () => {
2961
3086
  let e = t.wizardPages.findIndex((e) => e.widgets.includes("age-category")), n = t.wizardPages.findIndex((e) => e.widgets.includes("option"));
2962
3087
  return e >= 0 && (n < 0 || e < n);
2963
- }), E = /* @__PURE__ */ L(() => () => q(s) ? q(s).units : q(ne)() ? t.product.options[0]?.units ?? [] : []), re = /* @__PURE__ */ L(() => () => q(s) ? q(s).id : q(ne)() ? t.product.options[0]?.id ?? null : null);
2964
- Zr(() => {
3088
+ }), E = /* @__PURE__ */ L(() => () => q(s) ? q(s).units : q(T)() ? t.product.options[0]?.units ?? [] : []), re = /* @__PURE__ */ L(() => () => q(s) ? q(s).id : q(T)() ? t.product.options[0]?.id ?? null : null);
3089
+ ei(() => {
2965
3090
  t.editItem && ie(t.editItem);
2966
3091
  });
2967
3092
  function ie(e) {
@@ -2972,8 +3097,8 @@ function xa(e, t) {
2972
3097
  B(c, r, !0), q(C) && ae(e.availabilityId, e.pickupPointId);
2973
3098
  }
2974
3099
  async function ae(e, n) {
2975
- if (await ye(), !e) return;
2976
- let r = mi(e);
3100
+ if (await be(), !e) return;
3101
+ let r = _i(e);
2977
3102
  if (!r) return;
2978
3103
  let i = q(re)();
2979
3104
  if (!i) return;
@@ -2982,17 +3107,17 @@ function xa(e, t) {
2982
3107
  let o = await t.api.getAvailability(t.product.id, i, r);
2983
3108
  B(m, o, !0), B(g, !1);
2984
3109
  let c = o.find((t) => t.id === e);
2985
- c && (B(d, c, !0), c.allDay || B(u, pi(c.localDateTimeStart), !0), n && q(s)?.pickupAvailable && B(f, q(s).pickupLocations?.find((e) => e.id === n) ?? null, !0));
3110
+ c && (B(d, c, !0), c.allDay || B(u, gi(c.localDateTimeStart), !0), n && q(s)?.pickupAvailable && B(f, q(s).pickupLocations?.find((e) => e.id === n) ?? null, !0));
2986
3111
  }
2987
3112
  function D(e) {
2988
- return q(ne)() ? oe(e) : O(e);
3113
+ return q(T)() ? oe(e) : O(e);
2989
3114
  }
2990
3115
  function O(e) {
2991
3116
  switch (e) {
2992
3117
  case "option": return !q(a);
2993
3118
  case "age-category": return q(s) != null;
2994
3119
  case "date": return q(C);
2995
- case "time": return q(l) != null && !q(te) && !q(ee);
3120
+ case "time": return q(l) != null && !q(ne) && !q(te);
2996
3121
  case "pickup": return q(d) != null && q(s)?.pickupAvailable === !0;
2997
3122
  case "addon": return !1;
2998
3123
  }
@@ -3001,8 +3126,8 @@ function xa(e, t) {
3001
3126
  switch (e) {
3002
3127
  case "age-category": return q(E)().length > 0;
3003
3128
  case "date": return q(C);
3004
- case "time": return q(l) != null && !q(te) && !q(ee);
3005
- case "option": return !q(a) && (q(d) != null || q(l) != null && q(te));
3129
+ case "time": return q(l) != null && !q(ne) && !q(te);
3130
+ case "option": return !q(a) && (q(d) != null || q(l) != null && q(ne));
3006
3131
  case "pickup": return q(s) != null && q(s).pickupAvailable === !0 && q(d) != null;
3007
3132
  case "addon": return !1;
3008
3133
  }
@@ -3042,7 +3167,7 @@ function xa(e, t) {
3042
3167
  month: "short",
3043
3168
  year: "numeric"
3044
3169
  }) : "Not selected";
3045
- case "time": return q(u) ?? (q(te) ? "All day" : "Not selected");
3170
+ case "time": return q(u) ?? (q(ne) ? "All day" : "Not selected");
3046
3171
  case "pickup": return q(f)?.title ?? q(f)?.id ?? "Not selected";
3047
3172
  default: return "";
3048
3173
  }
@@ -3061,7 +3186,7 @@ function xa(e, t) {
3061
3186
  }
3062
3187
  return e;
3063
3188
  }), he = /* @__PURE__ */ L(() => () => {
3064
- if (q(l) != null && q(ee)) return !1;
3189
+ if (q(l) != null && q(te)) return !1;
3065
3190
  let e = q(i) ? q(ce)() : q(le)()?.widgets ?? [];
3066
3191
  if (e.length === 0) return !1;
3067
3192
  for (let t of e) switch (t) {
@@ -3075,14 +3200,14 @@ function xa(e, t) {
3075
3200
  if (!q(l)) return !1;
3076
3201
  break;
3077
3202
  case "time":
3078
- if (!q(u) && !q(te)) return !1;
3203
+ if (!q(u) && !q(ne)) return !1;
3079
3204
  break;
3080
3205
  case "pickup": if (q(s)?.pickupRequired && !q(f)) return !1;
3081
3206
  }
3082
3207
  return !0;
3083
3208
  });
3084
3209
  function ge(e) {
3085
- if (q(ne)()) {
3210
+ if (q(T)()) {
3086
3211
  B(s, e, !0), q(f) && !e.pickupLocations?.some((e) => e.id === q(f).id) && (B(f, null), x("pickup")), B(_, !0);
3087
3212
  return;
3088
3213
  }
@@ -3092,46 +3217,51 @@ function xa(e, t) {
3092
3217
  B(c, {
3093
3218
  ...q(c),
3094
3219
  [e]: t
3095
- }, !0), B(_, !0), q(C) && Object.keys(q(p)).length === 0 && ye(), ve();
3220
+ }, !0), B(_, !0), q(C) && Object.keys(q(p)).length === 0 && be(), ve();
3096
3221
  }
3097
3222
  function ve() {
3098
3223
  !q(d) || q(d).vacancies == null || Object.values(q(c)).reduce((e, t) => e + t, 0) <= q(d).vacancies || (B(l, null), B(u, null), B(d, null), B(m, [], !0), x("date", "time"));
3099
3224
  }
3100
- async function ye() {
3225
+ function ye(e) {
3226
+ if (!q(d) || q(d).vacancies == null) return;
3227
+ let t = Object.values(q(c)).reduce((e, t) => e + t, 0), n = q(c)[e] ?? 0;
3228
+ return q(d).vacancies - t + n;
3229
+ }
3230
+ async function be() {
3101
3231
  let e = q(re)();
3102
3232
  e && (B(h, !0), B(p, await t.api.getAvailabilityCalendar(t.product.id, e), !0), B(h, !1));
3103
3233
  }
3104
- async function be(e) {
3234
+ async function xe(e) {
3105
3235
  let n = q(re)();
3106
3236
  if (!n) return;
3107
3237
  B(l, e, !0), B(u, null), B(d, null), B(m, [], !0), B(_, !0), B(g, !0), S("date", "time");
3108
- let i = await t.api.getAvailability(t.product.id, n, fi(e));
3109
- B(m, i, !0), B(g, !1), i.length === 1 && (i[0].allDay || r()) && (B(d, i[0], !0), i[0].allDay || B(u, pi(i[0].localDateTimeStart), !0));
3238
+ let i = await t.api.getAvailability(t.product.id, n, hi(e));
3239
+ B(m, i, !0), B(g, !1), i.length === 1 && (i[0].allDay || r()) && (B(d, i[0], !0), i[0].allDay || B(u, gi(i[0].localDateTimeStart), !0));
3110
3240
  }
3111
- function xe(e) {
3112
- let t = q(m).find((t) => pi(t.localDateTimeStart) === e && t.available);
3241
+ function Se(e) {
3242
+ let t = q(m).find((t) => gi(t.localDateTimeStart) === e && t.available);
3113
3243
  t && (B(u, e, !0), B(d, t, !0), B(_, !0), S("time"));
3114
3244
  }
3115
- function Se(e) {
3245
+ function k(e) {
3116
3246
  B(f, e, !0), B(_, !0), S("pickup");
3117
3247
  }
3118
- function k() {
3119
- q(ue)() ? Ee() : Ht(o);
3120
- }
3121
3248
  function Ce() {
3122
- q(o) > 0 ? Ht(o, -1) : t.onCancel ? we() : !q(a) && q(s) && (B(s, null), B(c, {}, !0), B(l, null), B(u, null), B(d, null), B(f, null), B(p, {}, !0), B(m, [], !0));
3249
+ q(ue)() ? A() : Ht(o);
3123
3250
  }
3124
3251
  function we() {
3252
+ q(o) > 0 ? Ht(o, -1) : t.onCancel ? Te() : !q(a) && q(s) && (B(s, null), B(c, {}, !0), B(l, null), B(u, null), B(d, null), B(f, null), B(p, {}, !0), B(m, [], !0));
3253
+ }
3254
+ function Te() {
3125
3255
  if (q(_)) {
3126
3256
  B(v, !0);
3127
3257
  return;
3128
3258
  }
3129
3259
  t.onCancel?.();
3130
3260
  }
3131
- function Te() {
3261
+ function Ee() {
3132
3262
  B(v, !1), t.onCancel?.();
3133
3263
  }
3134
- function Ee() {
3264
+ function A() {
3135
3265
  if (!q(d) || !q(s)) return;
3136
3266
  let e = [];
3137
3267
  for (let t of q(d).unitPricing ?? []) {
@@ -3153,7 +3283,7 @@ function xa(e, t) {
3153
3283
  optionId: q(s).id,
3154
3284
  optionTitle: q(s).title,
3155
3285
  availabilityId: q(d).id,
3156
- localDate: q(l) ? fi(q(l)) : void 0,
3286
+ localDate: q(l) ? hi(q(l)) : void 0,
3157
3287
  pickupPointId: q(f)?.id,
3158
3288
  units: e,
3159
3289
  totalPrice: n,
@@ -3161,61 +3291,61 @@ function xa(e, t) {
3161
3291
  currencyPrecision: a
3162
3292
  });
3163
3293
  }
3164
- var A = ba(), De = H(A), j = V(De), Oe = (e) => {
3165
- X(e, $i());
3294
+ var De = Ia(), j = H(De), Oe = V(j), ke = (e) => {
3295
+ X(e, ha());
3166
3296
  };
3167
- Q(j, (e) => {
3168
- q(i) || e(Oe);
3297
+ Q(Oe, (e) => {
3298
+ q(i) || e(ke);
3169
3299
  });
3170
- var ke = U(j, 2), je = (e) => {
3171
- var t = na(), n = V(t), r = V(n, !0);
3300
+ var je = U(Oe, 2), Me = (e) => {
3301
+ var t = va(), n = V(t), r = V(n, !0);
3172
3302
  M(n);
3173
3303
  var i = U(n, 2), a = (e) => {
3174
- var t = ta();
3175
- Er(t, 21, () => q(se)(), $, (e, t, n) => {
3176
- var r = ea();
3304
+ var t = _a();
3305
+ kr(t, 21, () => q(se)(), Tr, (e, t, n) => {
3306
+ var r = ga();
3177
3307
  let i;
3178
- W(() => i = Fr(r, 1, "dot svelte-9w5z1v", null, i, { active: n === q(o) })), X(e, r);
3308
+ W(() => i = Rr(r, 1, "dot svelte-9w5z1v", null, i, { active: n === q(o) })), X(e, r);
3179
3309
  }), M(t), X(e, t);
3180
3310
  }, s = /* @__PURE__ */ L(() => q(se)().length > 1);
3181
3311
  Q(i, (e) => {
3182
3312
  q(s) && e(a);
3183
3313
  }), M(t), W((e) => Z(r, e), [() => q(de)()]), X(e, t);
3184
3314
  };
3185
- Q(ke, (e) => {
3186
- q(i) || e(je);
3315
+ Q(je, (e) => {
3316
+ q(i) || e(Me);
3187
3317
  });
3188
- var Me = U(ke, 2), Ne = (e) => {
3189
- var n = da(), r = H(n);
3190
- Er(r, 21, () => q(me)(), $, (e, n, r) => {
3318
+ var Ne = U(je, 2), Pe = (e) => {
3319
+ var n = Da(), r = H(n);
3320
+ kr(r, 21, () => q(me)(), Tr, (e, n, r) => {
3191
3321
  let i = /* @__PURE__ */ L(() => q(n).widgets.some((e) => q(b).has(e)));
3192
- var o = ua();
3322
+ var o = Ea();
3193
3323
  let d;
3194
3324
  var _ = V(o), v = V(_), x = V(v), S = V(x, !0);
3195
3325
  M(x);
3196
- var w = U(x, 2), T = (e) => {
3197
- var t = ra();
3326
+ var ee = U(x, 2), w = (e) => {
3327
+ var t = ya();
3198
3328
  let r;
3199
3329
  var a = V(t, !0);
3200
3330
  M(t), W((e) => {
3201
- r = Fr(t, 1, "accordion-summary svelte-9w5z1v", null, r, { invalidated: q(i) }), Z(a, e);
3331
+ r = Rr(t, 1, "accordion-summary svelte-9w5z1v", null, r, { invalidated: q(i) }), Z(a, e);
3202
3332
  }, [() => q(i) ? "Changes made require new configuration" : pe(q(n).widgets)]), X(e, t);
3203
3333
  };
3204
- Q(w, (e) => {
3205
- q(y) !== r && e(T);
3334
+ Q(ee, (e) => {
3335
+ q(y) !== r && e(w);
3206
3336
  }), M(v);
3207
- var ee = U(v, 2);
3208
- let ne;
3337
+ var te = U(v, 2);
3338
+ let T;
3209
3339
  M(_);
3210
3340
  var re = U(_, 2), ie = (e) => {
3211
- var r = la();
3212
- Er(r, 21, () => q(n).widgets, $, (e, n) => {
3213
- var r = ca(), i = H(r), o = (e) => {
3214
- var n = ia(), r = V(n);
3215
- Er(r, 21, () => t.product.options, $, (e, t) => {
3341
+ var r = Ta();
3342
+ kr(r, 21, () => q(n).widgets, Tr, (e, n) => {
3343
+ var r = wa(), i = H(r), o = (e) => {
3344
+ var n = ba(), r = V(n);
3345
+ kr(r, 21, () => t.product.options, Tr, (e, t) => {
3216
3346
  {
3217
3347
  let n = /* @__PURE__ */ L(() => q(s)?.id === q(t).id);
3218
- Li(e, {
3348
+ Qi(e, {
3219
3349
  get option() {
3220
3350
  return q(t);
3221
3351
  },
@@ -3231,17 +3361,20 @@ function xa(e, t) {
3231
3361
  q(n) === "option" && !q(a) && e(o);
3232
3362
  });
3233
3363
  var d = U(i, 2), _ = (e) => {
3234
- var t = aa(), n = V(t);
3235
- Er(n, 21, () => q(E)(), $, (e, t) => {
3364
+ var t = xa(), n = V(t);
3365
+ kr(n, 21, () => q(E)(), Tr, (e, t) => {
3236
3366
  {
3237
- let n = /* @__PURE__ */ L(() => q(c)[q(t).id] ?? 0);
3238
- Bi(e, {
3367
+ let n = /* @__PURE__ */ L(() => q(c)[q(t).id] ?? 0), r = /* @__PURE__ */ L(() => ye(q(t).id));
3368
+ na(e, {
3239
3369
  get unit() {
3240
3370
  return q(t);
3241
3371
  },
3242
3372
  get quantity() {
3243
3373
  return q(n);
3244
3374
  },
3375
+ get max() {
3376
+ return q(r);
3377
+ },
3245
3378
  onChange: (e) => _e(q(t).id, e)
3246
3379
  });
3247
3380
  }
@@ -3251,15 +3384,15 @@ function xa(e, t) {
3251
3384
  q(v) && e(_);
3252
3385
  });
3253
3386
  var y = U(d, 2), b = (e) => {
3254
- var t = oa();
3255
- Ji(V(t), {
3387
+ var t = Sa();
3388
+ ua(V(t), {
3256
3389
  get availabilityByDate() {
3257
3390
  return q(p);
3258
3391
  },
3259
3392
  get selectedDate() {
3260
3393
  return q(l);
3261
3394
  },
3262
- onDateSelected: be,
3395
+ onDateSelected: xe,
3263
3396
  get loading() {
3264
3397
  return q(h);
3265
3398
  }
@@ -3269,8 +3402,8 @@ function xa(e, t) {
3269
3402
  q(n) === "date" && q(C) && e(b);
3270
3403
  });
3271
3404
  var x = U(y, 2), S = (e) => {
3272
- var t = oa();
3273
- Qi(V(t), {
3405
+ var t = Sa();
3406
+ ma(V(t), {
3274
3407
  get timeSlots() {
3275
3408
  return q(m);
3276
3409
  },
@@ -3280,22 +3413,22 @@ function xa(e, t) {
3280
3413
  get loading() {
3281
3414
  return q(g);
3282
3415
  },
3283
- onTimeSelected: xe
3416
+ onTimeSelected: Se
3284
3417
  }), M(t), X(e, t);
3285
3418
  };
3286
3419
  Q(x, (e) => {
3287
- q(n) === "time" && q(l) && !q(te) && e(S);
3420
+ q(n) === "time" && q(l) && !q(ne) && e(S);
3288
3421
  });
3289
- var w = U(x, 2), T = (e) => {
3290
- var t = sa(), n = V(t);
3291
- Er(n, 21, () => q(s).pickupLocations, $, (e, t) => {
3422
+ var ee = U(x, 2), w = (e) => {
3423
+ var t = Ca(), n = V(t);
3424
+ kr(n, 21, () => q(s).pickupLocations, Tr, (e, t) => {
3292
3425
  {
3293
3426
  let n = /* @__PURE__ */ L(() => q(f)?.id === q(t).id), r = /* @__PURE__ */ L(() => q(t).title ?? q(t).id);
3294
- Fi(e, {
3427
+ Xi(e, {
3295
3428
  get selected() {
3296
3429
  return q(n);
3297
3430
  },
3298
- onSelect: () => Se(q(t)),
3431
+ onSelect: () => k(q(t)),
3299
3432
  get heading() {
3300
3433
  return q(r);
3301
3434
  },
@@ -3306,33 +3439,33 @@ function xa(e, t) {
3306
3439
  }
3307
3440
  }), M(n), M(t), X(e, t);
3308
3441
  };
3309
- Q(w, (e) => {
3310
- q(n) === "pickup" && q(s)?.pickupAvailable && q(s).pickupLocations && e(T);
3442
+ Q(ee, (e) => {
3443
+ q(n) === "pickup" && q(s)?.pickupAvailable && q(s).pickupLocations && e(w);
3311
3444
  }), X(e, r);
3312
3445
  }), M(r), X(e, r);
3313
3446
  };
3314
3447
  Q(re, (e) => {
3315
3448
  q(y) === r && e(ie);
3316
3449
  }), M(o), W((e) => {
3317
- d = Fr(o, 1, "accordion-section svelte-9w5z1v", null, d, {
3450
+ d = Rr(o, 1, "accordion-section svelte-9w5z1v", null, d, {
3318
3451
  expanded: q(y) === r,
3319
3452
  invalidated: q(i)
3320
- }), Z(S, e), ne = Fr(ee, 1, "accordion-chevron svelte-9w5z1v", null, ne, { open: q(y) === r });
3453
+ }), Z(S, e), T = Rr(te, 1, "accordion-chevron svelte-9w5z1v", null, T, { open: q(y) === r });
3321
3454
  }, [() => q(n).title.toUpperCase()]), J("click", _, () => {
3322
3455
  B(y, q(y) === r ? -1 : r, !0);
3323
3456
  }), X(e, o);
3324
3457
  }), M(r);
3325
3458
  var i = U(r, 2), o = V(i), d = U(o, 2);
3326
- M(i), W((e) => d.disabled = e, [() => !q(he)()]), J("click", o, we), J("click", d, Ee), X(e, n);
3327
- }, Pe = (e) => {
3328
- var n = va(), r = H(n);
3329
- Er(r, 21, () => q(le)()?.widgets ?? [], $, (e, n) => {
3330
- var r = ca(), i = H(r), o = (e) => {
3331
- var n = fa(), r = U(V(n), 2);
3332
- Er(r, 21, () => t.product.options, $, (e, t) => {
3459
+ M(i), W((e) => d.disabled = e, [() => !q(he)()]), J("click", o, Te), J("click", d, A), X(e, n);
3460
+ }, Fe = (e) => {
3461
+ var n = Pa(), r = H(n);
3462
+ kr(r, 21, () => q(le)()?.widgets ?? [], Tr, (e, n) => {
3463
+ var r = wa(), i = H(r), o = (e) => {
3464
+ var n = Oa(), r = U(V(n), 2);
3465
+ kr(r, 21, () => t.product.options, Tr, (e, t) => {
3333
3466
  {
3334
3467
  let n = /* @__PURE__ */ L(() => q(s)?.id === q(t).id);
3335
- Li(e, {
3468
+ Qi(e, {
3336
3469
  get option() {
3337
3470
  return q(t);
3338
3471
  },
@@ -3348,17 +3481,20 @@ function xa(e, t) {
3348
3481
  q(n) === "option" && !q(a) && e(o);
3349
3482
  });
3350
3483
  var d = U(i, 2), _ = (e) => {
3351
- var t = pa(), n = U(V(t), 2);
3352
- Er(n, 21, () => q(E)(), $, (e, t) => {
3484
+ var t = ka(), n = U(V(t), 2);
3485
+ kr(n, 21, () => q(E)(), Tr, (e, t) => {
3353
3486
  {
3354
- let n = /* @__PURE__ */ L(() => q(c)[q(t).id] ?? 0);
3355
- Bi(e, {
3487
+ let n = /* @__PURE__ */ L(() => q(c)[q(t).id] ?? 0), r = /* @__PURE__ */ L(() => ye(q(t).id));
3488
+ na(e, {
3356
3489
  get unit() {
3357
3490
  return q(t);
3358
3491
  },
3359
3492
  get quantity() {
3360
3493
  return q(n);
3361
3494
  },
3495
+ get max() {
3496
+ return q(r);
3497
+ },
3362
3498
  onChange: (e) => _e(q(t).id, e)
3363
3499
  });
3364
3500
  }
@@ -3368,15 +3504,15 @@ function xa(e, t) {
3368
3504
  q(v) && e(_);
3369
3505
  });
3370
3506
  var y = U(d, 2), b = (e) => {
3371
- var t = ma();
3372
- Ji(U(V(t), 2), {
3507
+ var t = Aa();
3508
+ ua(U(V(t), 2), {
3373
3509
  get availabilityByDate() {
3374
3510
  return q(p);
3375
3511
  },
3376
3512
  get selectedDate() {
3377
3513
  return q(l);
3378
3514
  },
3379
- onDateSelected: be,
3515
+ onDateSelected: xe,
3380
3516
  get loading() {
3381
3517
  return q(h);
3382
3518
  }
@@ -3386,8 +3522,8 @@ function xa(e, t) {
3386
3522
  q(n) === "date" && q(C) && e(b);
3387
3523
  });
3388
3524
  var x = U(y, 2), S = (e) => {
3389
- var t = ha();
3390
- Qi(U(V(t), 2), {
3525
+ var t = ja();
3526
+ ma(U(V(t), 2), {
3391
3527
  get timeSlots() {
3392
3528
  return q(m);
3393
3529
  },
@@ -3397,22 +3533,22 @@ function xa(e, t) {
3397
3533
  get loading() {
3398
3534
  return q(g);
3399
3535
  },
3400
- onTimeSelected: xe
3536
+ onTimeSelected: Se
3401
3537
  }), M(t), X(e, t);
3402
3538
  };
3403
3539
  Q(x, (e) => {
3404
- q(n) === "time" && q(l) && !q(te) && e(S);
3540
+ q(n) === "time" && q(l) && !q(ne) && e(S);
3405
3541
  });
3406
- var w = U(x, 2), T = (e) => {
3407
- var t = ga(), n = U(V(t), 2);
3408
- Er(n, 21, () => q(s).pickupLocations, $, (e, t) => {
3542
+ var ee = U(x, 2), w = (e) => {
3543
+ var t = Ma(), n = U(V(t), 2);
3544
+ kr(n, 21, () => q(s).pickupLocations, Tr, (e, t) => {
3409
3545
  {
3410
3546
  let n = /* @__PURE__ */ L(() => q(f)?.id === q(t).id), r = /* @__PURE__ */ L(() => q(t).title ?? q(t).id);
3411
- Fi(e, {
3547
+ Xi(e, {
3412
3548
  get selected() {
3413
3549
  return q(n);
3414
3550
  },
3415
- onSelect: () => Se(q(t)),
3551
+ onSelect: () => k(q(t)),
3416
3552
  get heading() {
3417
3553
  return q(r);
3418
3554
  },
@@ -3423,13 +3559,13 @@ function xa(e, t) {
3423
3559
  }
3424
3560
  }), M(n), M(t), X(e, t);
3425
3561
  };
3426
- Q(w, (e) => {
3427
- q(n) === "pickup" && q(s)?.pickupAvailable && q(s).pickupLocations && e(T);
3562
+ Q(ee, (e) => {
3563
+ q(n) === "pickup" && q(s)?.pickupAvailable && q(s).pickupLocations && e(w);
3428
3564
  }), X(e, r);
3429
3565
  }), M(r);
3430
3566
  var i = U(r, 2), d = V(i), _ = (e) => {
3431
- var t = _a(), n = V(t, !0);
3432
- M(t), W(() => Z(n, q(o) > 0 ? "Back" : "Cancel")), J("click", t, Ce), X(e, t);
3567
+ var t = Na(), n = V(t, !0);
3568
+ M(t), W(() => Z(n, q(o) > 0 ? "Back" : "Cancel")), J("click", t, we), X(e, t);
3433
3569
  };
3434
3570
  Q(d, (e) => {
3435
3571
  (q(o) > 0 || t.onCancel) && e(_);
@@ -3437,54 +3573,52 @@ function xa(e, t) {
3437
3573
  var v = U(d, 2), y = V(v);
3438
3574
  Ae(), M(v), M(i), W((e, t) => {
3439
3575
  v.disabled = e, Z(y, `${t ?? ""} `);
3440
- }, [() => !q(he)(), () => q(ue)() ? "Add to Cart" : "Next"]), J("click", v, k), X(e, n);
3576
+ }, [() => !q(he)(), () => q(ue)() ? "Add to Cart" : "Next"]), J("click", v, Ce), X(e, n);
3441
3577
  };
3442
- Q(Me, (e) => {
3443
- q(i) ? e(Ne) : e(Pe, -1);
3444
- }), M(De);
3445
- var Fe = U(De, 2), N = (e) => {
3446
- var t = ya(), n = V(t), r = U(V(n), 4), i = V(r), a = U(i, 2);
3578
+ Q(Ne, (e) => {
3579
+ q(i) ? e(Pe) : e(Fe, -1);
3580
+ }), M(j);
3581
+ var N = U(j, 2), Ie = (e) => {
3582
+ var t = Fa(), n = V(t), r = U(V(n), 4), i = V(r), a = U(i, 2);
3447
3583
  M(r), M(n), M(t), J("click", t, () => {
3448
3584
  B(v, !1);
3449
- }), J("click", n, (e) => e.stopPropagation()), J("click", i, Te), J("click", a, () => {
3585
+ }), J("click", n, (e) => e.stopPropagation()), J("click", i, Ee), J("click", a, () => {
3450
3586
  B(v, !1);
3451
3587
  }), X(e, t);
3452
3588
  };
3453
- Q(Fe, (e) => {
3454
- q(v) && e(N);
3455
- }), X(e, A), F();
3589
+ Q(N, (e) => {
3590
+ q(v) && e(Ie);
3591
+ }), X(e, De), F();
3456
3592
  }
3457
- cr(["click"]);
3593
+ ur(["click"]);
3458
3594
  //#endregion
3459
3595
  //#region src/lib/TicketConfigurator.svelte
3460
- var Sa = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100vh\"><div class=\"spinner\"></div></div>"), Ca = /* @__PURE__ */ Y("<p class=\"add-to-cart-error svelte-19qd5my\"> </p>"), wa = /* @__PURE__ */ Y("<!> <!>", 1), Ta = /* @__PURE__ */ Y("<div class=\"bw-widget svelte-19qd5my\"><!></div>");
3461
- function Ea(e, t) {
3596
+ var Ra = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100vh\"><div class=\"spinner\"></div></div>"), za = /* @__PURE__ */ Y("<p class=\"add-to-cart-error svelte-19qd5my\"> </p>"), Ba = /* @__PURE__ */ Y("<!> <!>", 1), Va = /* @__PURE__ */ Y("<div class=\"bw-widget svelte-19qd5my\"><!></div>");
3597
+ function Ha(e, t) {
3462
3598
  P(t, !0);
3463
- let n = Xr(t, "wizardPages", 3, Ci), r = Xr(t, "autoSelectSingleTimeSlot", 3, !1), i = /* @__PURE__ */ z(null), a = /* @__PURE__ */ z(!0), o = /* @__PURE__ */ z(!1), s = /* @__PURE__ */ z(null);
3599
+ let n = $r(t, "wizardPages", 3, zi), r = $r(t, "autoSelectSingleTimeSlot", 3, !1), i = /* @__PURE__ */ z(null), a = /* @__PURE__ */ z(!0), o = /* @__PURE__ */ z(!1), s = /* @__PURE__ */ z(null);
3464
3600
  async function c() {
3465
3601
  B(i, await t.api.getProduct(t.productId), !0), B(a, !1);
3466
3602
  }
3467
3603
  c();
3468
3604
  async function l(e) {
3469
3605
  await t.cartManager.ensureCart();
3470
- let n = hi(e.units), r = await t.api.addCartItem({
3606
+ let n = vi(e.units), r = await t.api.addCartItem({
3471
3607
  productId: e.productId,
3472
3608
  optionId: e.optionId,
3473
3609
  unitItems: n,
3474
3610
  availabilityId: e.availabilityId,
3475
3611
  localDate: e.localDate,
3476
3612
  pickupPointId: e.pickupPointId,
3477
- amount: e.totalPrice,
3478
- currencyCode: e.currency,
3479
- currencyPrecision: e.currencyPrecision
3480
- }), i = Ai(e.totalPrice, e.currency, e.currencyPrecision, 2);
3481
- Oi({
3613
+ amount: e.totalPrice
3614
+ }), i = Gi(e.totalPrice, e.currency, e.currencyPrecision, 2);
3615
+ $({
3482
3616
  type: "cart:change",
3483
3617
  itemCount: n.length,
3484
3618
  cartItemId: r.id,
3485
3619
  totalFormatted: i,
3486
3620
  openCheckout: !0
3487
- }), Oi({
3621
+ }), $({
3488
3622
  type: "cart:updated",
3489
3623
  cart: await t.api.getCart().catch(() => null)
3490
3624
  });
@@ -3494,7 +3628,11 @@ function Ea(e, t) {
3494
3628
  try {
3495
3629
  await l(e);
3496
3630
  } catch (n) {
3497
- if (n instanceof gi && (n.status === 401 || n.status === 404)) {
3631
+ if (bi(n)) {
3632
+ await d();
3633
+ return;
3634
+ }
3635
+ if (n instanceof yi && (n.status === 401 || n.status === 404)) {
3498
3636
  t.cartManager.reset();
3499
3637
  try {
3500
3638
  await l(e);
@@ -3506,16 +3644,24 @@ function Ea(e, t) {
3506
3644
  B(o, !1);
3507
3645
  }
3508
3646
  }
3509
- var d = Ta(), f = V(d), p = (e) => {
3510
- X(e, Sa());
3511
- }, m = (e) => {
3512
- var a = wa(), o = H(a), c = (e) => {
3513
- var t = Ca(), n = V(t, !0);
3647
+ async function d() {
3648
+ B(s, "This ticket's price has changed since you started. Please check the updated price and try again.");
3649
+ try {
3650
+ await c();
3651
+ } catch {
3652
+ B(s, "This ticket's price has changed and we could not load the new one. Please reload the page.");
3653
+ }
3654
+ }
3655
+ var f = Va(), p = V(f), m = (e) => {
3656
+ X(e, Ra());
3657
+ }, h = (e) => {
3658
+ var a = Ba(), o = H(a), c = (e) => {
3659
+ var t = za(), n = V(t, !0);
3514
3660
  M(t), W(() => Z(n, q(s))), X(e, t);
3515
3661
  };
3516
3662
  Q(o, (e) => {
3517
3663
  q(s) && e(c);
3518
- }), xa(U(o, 2), {
3664
+ }), La(U(o, 2), {
3519
3665
  get product() {
3520
3666
  return q(i);
3521
3667
  },
@@ -3534,16 +3680,29 @@ function Ea(e, t) {
3534
3680
  onComplete: u
3535
3681
  }), X(e, a);
3536
3682
  };
3537
- Q(f, (e) => {
3538
- q(a) || q(o) ? e(p) : q(i) && e(m, 1);
3539
- }), M(d), X(e, d), F();
3683
+ Q(p, (e) => {
3684
+ q(a) || q(o) ? e(m) : q(i) && e(h, 1);
3685
+ }), M(f), X(e, f), F();
3686
+ }
3687
+ //#endregion
3688
+ //#region src/lib/cart-expiry.ts
3689
+ function Ua(e) {
3690
+ let t = Math.max(0, e), n = Math.floor(t / 6e4), r = Math.floor(t % 6e4 / 1e3);
3691
+ return `${String(n).padStart(2, "0")}:${String(r).padStart(2, "0")}`;
3692
+ }
3693
+ function Wa(e) {
3694
+ return new Date(Ka(e.idleExpiresAt));
3695
+ }
3696
+ var Ga = 864e13;
3697
+ function Ka(e) {
3698
+ return e ? new Date(e).getTime() : Ga;
3540
3699
  }
3541
3700
  //#endregion
3542
3701
  //#region src/lib/ContactForm.svelte
3543
- var Da = /* @__PURE__ */ Y("<div class=\"form svelte-12xyhj1\"><div class=\"field svelte-12xyhj1\"><label for=\"firstName\" class=\"svelte-12xyhj1\">First name *</label> <input id=\"firstName\"/></div> <div class=\"field svelte-12xyhj1\"><label for=\"lastName\" class=\"svelte-12xyhj1\">Last name</label> <input id=\"lastName\" class=\"input\"/></div> <div class=\"field svelte-12xyhj1\"><label for=\"email\" class=\"svelte-12xyhj1\">Email address *</label> <input id=\"email\" type=\"email\"/></div> <div class=\"field svelte-12xyhj1\"><label for=\"phone\" class=\"svelte-12xyhj1\">Phone number *</label> <input id=\"phone\" type=\"tel\"/></div></div>");
3544
- function Oa(e, t) {
3702
+ var qa = /* @__PURE__ */ Y("<div class=\"form svelte-12xyhj1\"><div class=\"field svelte-12xyhj1\"><label for=\"firstName\" class=\"svelte-12xyhj1\">First name *</label> <input id=\"firstName\"/></div> <div class=\"field svelte-12xyhj1\"><label for=\"lastName\" class=\"svelte-12xyhj1\">Last name</label> <input id=\"lastName\" class=\"input\"/></div> <div class=\"field svelte-12xyhj1\"><label for=\"email\" class=\"svelte-12xyhj1\">Email address *</label> <input id=\"email\" type=\"email\"/></div> <div class=\"field svelte-12xyhj1\"><label for=\"phone\" class=\"svelte-12xyhj1\">Phone number *</label> <input id=\"phone\" type=\"tel\"/></div></div>");
3703
+ function Ja(e, t) {
3545
3704
  P(t, !0);
3546
- let n = Xr(t, "firstName", 15, ""), r = Xr(t, "lastName", 15, ""), i = Xr(t, "emailAddress", 15, ""), a = Xr(t, "phoneNumber", 15, "");
3705
+ let n = $r(t, "firstName", 15, ""), r = $r(t, "lastName", 15, ""), i = $r(t, "emailAddress", 15, ""), a = $r(t, "phoneNumber", 15, "");
3547
3706
  function o() {
3548
3707
  return n().trim() !== "" && i().trim() !== "" && a().trim() !== "";
3549
3708
  }
@@ -3561,69 +3720,68 @@ function Oa(e, t) {
3561
3720
  var l = {
3562
3721
  isValid: o,
3563
3722
  getContact: s
3564
- }, u = Da(), d = V(u), f = U(V(d), 2);
3565
- zr(f);
3723
+ }, u = qa(), d = V(u), f = U(V(d), 2);
3724
+ Hr(f);
3566
3725
  let p;
3567
3726
  M(d);
3568
3727
  var m = U(d, 2), h = U(V(m), 2);
3569
- zr(h), M(m);
3728
+ Hr(h), M(m);
3570
3729
  var g = U(m, 2), _ = U(V(g), 2);
3571
- zr(_);
3730
+ Hr(_);
3572
3731
  let v;
3573
3732
  M(g);
3574
3733
  var y = U(g, 2), b = U(V(y), 2);
3575
- zr(b);
3734
+ Hr(b);
3576
3735
  let x;
3577
3736
  return M(y), M(u), W((e, t, n) => {
3578
- p = Fr(f, 1, "input", null, p, e), v = Fr(_, 1, "input", null, v, t), x = Fr(b, 1, "input", null, x, n);
3737
+ p = Rr(f, 1, "input", null, p, e), v = Rr(_, 1, "input", null, v, t), x = Rr(b, 1, "input", null, x, n);
3579
3738
  }, [
3580
3739
  () => ({ "input-error": c(n()) }),
3581
3740
  () => ({ "input-error": c(i()) }),
3582
3741
  () => ({ "input-error": c(a()) })
3583
- ]), Gr(f, n), Gr(h, r), Gr(_, i), Gr(b, a), X(e, u), F(l);
3742
+ ]), Jr(f, n), Jr(h, r), Jr(_, i), Jr(b, a), X(e, u), F(l);
3584
3743
  }
3585
3744
  //#endregion
3586
3745
  //#region src/lib/ConsentSection.svelte
3587
- var ka = /* @__PURE__ */ Y("<div class=\"consent svelte-19pmjwi\"><label><input type=\"checkbox\" class=\"svelte-19pmjwi\"/> <span class=\"svelte-19pmjwi\">I accept the privacy policy *</span></label> <label class=\"check svelte-19pmjwi\"><input type=\"checkbox\" class=\"svelte-19pmjwi\"/> <span>I would like to receive marketing communications</span></label></div>");
3588
- function Aa(e, t) {
3746
+ var Ya = /* @__PURE__ */ Y("<div class=\"consent svelte-19pmjwi\"><label><input type=\"checkbox\" class=\"svelte-19pmjwi\"/> <span class=\"svelte-19pmjwi\">I accept the privacy policy *</span></label> <label class=\"check svelte-19pmjwi\"><input type=\"checkbox\" class=\"svelte-19pmjwi\"/> <span>I would like to receive marketing communications</span></label></div>");
3747
+ function Xa(e, t) {
3589
3748
  P(t, !0);
3590
- var n = ka(), r = V(n);
3749
+ var n = Ya(), r = V(n);
3591
3750
  let i;
3592
3751
  var a = V(r);
3593
- zr(a), Ae(2), M(r);
3752
+ Hr(a), Ae(2), M(r);
3594
3753
  var o = U(r, 2), s = V(o);
3595
- zr(s), Ae(2), M(o), M(n), W(() => {
3596
- i = Fr(r, 1, "check svelte-19pmjwi", null, i, { error: t.hasAttemptedSubmit && !t.privacyAccepted }), Br(a, t.privacyAccepted), Br(s, t.marketingOptIn);
3754
+ Hr(s), Ae(2), M(o), M(n), W(() => {
3755
+ i = Rr(r, 1, "check svelte-19pmjwi", null, i, { error: t.hasAttemptedSubmit && !t.privacyAccepted }), Ur(a, t.privacyAccepted), Ur(s, t.marketingOptIn);
3597
3756
  }), J("change", a, (e) => t.onPrivacyChanged(e.target.checked)), J("change", s, (e) => t.onMarketingChanged(e.target.checked)), X(e, n), F();
3598
3757
  }
3599
- cr(["change"]);
3758
+ ur(["change"]);
3600
3759
  //#endregion
3601
3760
  //#region src/lib/CountdownTimer.svelte
3602
- var ja = /* @__PURE__ */ Y("<span class=\"timer svelte-1u82ue3\"> </span>");
3603
- function Ma(e, t) {
3761
+ var Za = /* @__PURE__ */ Y("<span class=\"timer svelte-1u82ue3\"> </span>");
3762
+ function Qa(e, t) {
3604
3763
  P(t, !0);
3605
3764
  let n = /* @__PURE__ */ z("");
3606
3765
  function r() {
3607
- let e = Math.max(0, t.expiresAt.getTime() - Date.now()), r = Math.floor(e / 6e4), i = Math.floor(e % 6e4 / 1e3);
3608
- B(n, `${String(r).padStart(2, "0")}:${String(i).padStart(2, "0")}`);
3766
+ B(n, Ua(t.expiresAt.getTime() - Date.now()), !0);
3609
3767
  }
3610
3768
  r();
3611
3769
  let i = setInterval(r, 1e3);
3612
- Qr(() => clearInterval(i));
3613
- var a = ja(), o = V(a, !0);
3770
+ ti(() => clearInterval(i));
3771
+ var a = Za(), o = V(a, !0);
3614
3772
  M(a), W(() => Z(o, q(n))), X(e, a), F();
3615
3773
  }
3616
3774
  //#endregion
3617
3775
  //#region src/lib/peach-sdk.ts
3618
- var Na = {
3776
+ var $a = {
3619
3777
  prod: "https://checkout.peachpayments.com/js/checkout.js",
3620
3778
  qa: "https://sandbox-checkout.peachpayments.com/js/checkout.js"
3621
- }, Pa = null;
3622
- function Fa() {
3779
+ }, eo = null;
3780
+ function to() {
3623
3781
  if (window.Checkout) return Promise.resolve();
3624
- if (Pa) return Pa;
3625
- let e = window, t = e.BW_CHECKOUT_ENV ?? "prod", n = e.BW_CHECKOUT_PEACH_SDK_URL ?? Na[t] ?? Na.prod;
3626
- return Pa = new Promise((e, t) => {
3782
+ if (eo) return eo;
3783
+ let e = window, t = e.BW_CHECKOUT_ENV ?? "prod", n = e.BW_CHECKOUT_PEACH_SDK_URL ?? $a[t] ?? $a.prod;
3784
+ return eo = new Promise((e, t) => {
3627
3785
  let r = document.querySelector(`script[src="${n}"]`);
3628
3786
  if (r) {
3629
3787
  r.addEventListener("load", () => e()), r.addEventListener("error", () => t(/* @__PURE__ */ Error("Failed to load the Peach Payments SDK script")));
@@ -3631,18 +3789,18 @@ function Fa() {
3631
3789
  }
3632
3790
  let i = document.createElement("script");
3633
3791
  i.src = n, i.onload = () => e(), i.onerror = () => t(/* @__PURE__ */ Error("Failed to load the Peach Payments SDK script")), document.head.appendChild(i);
3634
- }), Pa;
3792
+ }), eo;
3635
3793
  }
3636
3794
  //#endregion
3637
3795
  //#region src/lib/PaymentPage.svelte
3638
- var Ia = /* @__PURE__ */ Y("<div class=\"error-state svelte-1ubcp68\"><div class=\"error-icon svelte-1ubcp68\">!</div> <p class=\"error-title svelte-1ubcp68\">Unable to load payment form</p> <p class=\"error-msg svelte-1ubcp68\"> </p></div>"), La = /* @__PURE__ */ Y("<div class=\"brands svelte-1ubcp68\"><span class=\"brand svelte-1ubcp68\">VISA</span> <span class=\"brand svelte-1ubcp68\">MC</span> <span class=\"brand svelte-1ubcp68\">AMEX</span></div> <div id=\"peach-container\"></div>", 1), Ra = /* @__PURE__ */ Y("<div class=\"payment-page svelte-1ubcp68\"><div class=\"page-header\"><button class=\"icon-btn\" aria-label=\"Back\">&larr;</button> <h2>Payment</h2> <span class=\"spacer\"></span> <button class=\"icon-btn\" aria-label=\"Close\">&times;</button></div> <div class=\"body svelte-1ubcp68\"><div class=\"amount-bar svelte-1ubcp68\"><span>Amount to pay</span> <span class=\"amount svelte-1ubcp68\"> </span></div> <!></div></div>");
3639
- function za(e, t) {
3796
+ var no = /* @__PURE__ */ Y("<span class=\"spacer\"></span> <!>", 1), ro = /* @__PURE__ */ Y("<div class=\"error-state svelte-1ubcp68\"><div class=\"error-icon svelte-1ubcp68\">!</div> <p class=\"error-title svelte-1ubcp68\">Unable to load payment form</p> <p class=\"error-msg svelte-1ubcp68\"> </p> <button class=\"btn btn-primary svelte-1ubcp68\">Start over</button></div>"), io = /* @__PURE__ */ Y("<div id=\"peach-container\" class=\"svelte-1ubcp68\"></div>"), ao = /* @__PURE__ */ Y("<div class=\"payment-overlay svelte-1ubcp68\"><div class=\"payment-dialog svelte-1ubcp68\"><div class=\"page-header\"><h2>Payment</h2> <!></div> <div class=\"body svelte-1ubcp68\"><!></div></div></div>");
3797
+ function oo(e, t) {
3640
3798
  P(t, !0);
3641
3799
  let n = /* @__PURE__ */ z(!1), r = /* @__PURE__ */ z(""), i = null;
3642
- Zr(() => {
3800
+ ei(() => {
3643
3801
  (async () => {
3644
3802
  try {
3645
- await Fa();
3803
+ await to();
3646
3804
  let e = window.Checkout;
3647
3805
  if (!e) {
3648
3806
  B(n, !0), B(r, "Payment SDK not loaded");
@@ -3650,6 +3808,7 @@ function za(e, t) {
3650
3808
  }
3651
3809
  i = e.initiate({
3652
3810
  checkoutId: t.checkoutId,
3811
+ key: t.entityId,
3653
3812
  customisations: {
3654
3813
  card: { submitButtonText: "Pay Now" },
3655
3814
  theme: { brand: { primary: "#E30613" } }
@@ -3677,100 +3836,125 @@ function za(e, t) {
3677
3836
  function a() {
3678
3837
  i &&= (i.unmount(), null);
3679
3838
  }
3680
- Qr(a);
3681
- var o = Ra(), s = V(o), c = V(s), l = U(c, 6);
3682
- M(s);
3683
- var u = U(s, 2), d = V(u), f = U(V(d), 2), p = V(f, !0);
3684
- M(f), M(d);
3685
- var m = U(d, 2), h = (e) => {
3686
- var t = Ia(), n = U(V(t), 4), i = V(n, !0);
3687
- M(n), M(t), W(() => Z(i, q(r) || "The checkout session may have expired.")), X(e, t);
3688
- }, g = (e) => {
3689
- var t = La();
3690
- Ae(2), X(e, t);
3839
+ ti(a);
3840
+ var o = ao(), s = V(o), c = V(s), l = U(V(c), 2), u = (e) => {
3841
+ var n = no();
3842
+ Qa(U(H(n), 2), { get expiresAt() {
3843
+ return t.expiresAt;
3844
+ } }), X(e, n);
3691
3845
  };
3692
- Q(m, (e) => {
3693
- q(n) ? e(h) : e(g, -1);
3694
- }), M(u), M(o), W(() => Z(p, t.totalFormatted)), J("click", c, function(...e) {
3695
- t.onBack?.apply(this, e);
3696
- }), J("click", l, function(...e) {
3697
- t.onClose?.apply(this, e);
3698
- }), X(e, o), F();
3846
+ Q(l, (e) => {
3847
+ t.expiresAt && e(u);
3848
+ }), M(c);
3849
+ var d = U(c, 2), f = V(d), p = (e) => {
3850
+ var n = ro(), i = U(V(n), 4), a = V(i, !0);
3851
+ M(i);
3852
+ var o = U(i, 2);
3853
+ M(n), W(() => Z(a, q(r) || "The checkout session may have expired.")), J("click", o, () => t.onPaymentComplete({ status: "error" })), X(e, n);
3854
+ }, m = (e) => {
3855
+ X(e, io());
3856
+ };
3857
+ Q(f, (e) => {
3858
+ q(n) ? e(p) : e(m, -1);
3859
+ }), M(d), M(s), M(o), J("click", s, (e) => e.stopPropagation()), X(e, o), F();
3699
3860
  }
3700
- cr(["click"]);
3861
+ ur(["click"]);
3701
3862
  //#endregion
3702
3863
  //#region src/lib/ResultView.svelte
3703
- var Ba = /* @__PURE__ */ Y("<div class=\"spinner\"></div> <p class=\"hint svelte-16gfovn\">Verifying payment...</p>", 1), Va = /* @__PURE__ */ Y("<button class=\"btn btn-primary\">Done</button>"), Ha = /* @__PURE__ */ Y("<button class=\"btn btn-outline\">Try Again</button>"), Ua = /* @__PURE__ */ Y("<div> </div> <h2 class=\"svelte-16gfovn\"> </h2> <p class=\"desc svelte-16gfovn\"> </p> <!>", 1), Wa = /* @__PURE__ */ Y("<div class=\"result svelte-16gfovn\"><!></div>");
3704
- function Ga(e, t) {
3864
+ var so = /* @__PURE__ */ Y("<div class=\"spinner\"></div> <p class=\"hint svelte-16gfovn\">Verifying payment...</p>", 1), co = /* @__PURE__ */ Y("<button class=\"btn btn-primary\">Check Again</button>"), lo = /* @__PURE__ */ Y("<div class=\"icon pending svelte-16gfovn\">&hellip;</div> <h2 class=\"svelte-16gfovn\">Payment Received</h2> <p class=\"desc svelte-16gfovn\"> </p> <div class=\"actions svelte-16gfovn\"><!> <button class=\"btn btn-outline\">Close</button></div>", 1), uo = /* @__PURE__ */ Y("<button class=\"btn btn-primary\">Done</button>"), fo = /* @__PURE__ */ Y("<button class=\"btn btn-outline\">Try Again</button>"), po = /* @__PURE__ */ Y("<button class=\"btn btn-outline\">Close</button>"), mo = /* @__PURE__ */ Y("<div> </div> <h2 class=\"svelte-16gfovn\"> </h2> <p class=\"desc svelte-16gfovn\"> </p> <!>", 1), ho = /* @__PURE__ */ Y("<div class=\"result svelte-16gfovn\"><!></div>");
3865
+ function go(e, t) {
3705
3866
  P(t, !0);
3706
- let n = /* @__PURE__ */ L(() => t.status?.outcome === "successful");
3707
- var r = Wa(), i = V(r), a = (e) => {
3708
- var t = Ba();
3867
+ let n = /* @__PURE__ */ L(() => t.status?.outcome === "successful"), r = /* @__PURE__ */ L(() => t.status?.outcome === "pending"), i = /* @__PURE__ */ L(() => t.status?.outcome === "failed" && t.status.retryPayment !== !1);
3868
+ var a = ho(), o = V(a), s = (e) => {
3869
+ var t = so();
3709
3870
  Ae(2), X(e, t);
3710
- }, o = (e) => {
3711
- var r = Ua(), i = H(r);
3712
- let a;
3713
- var o = V(i, !0);
3714
- M(i);
3715
- var s = U(i, 2), c = V(s, !0);
3716
- M(s);
3717
- var l = U(s, 2), u = V(l, !0);
3718
- M(l);
3719
- var d = U(l, 2), f = (e) => {
3720
- var n = Va();
3871
+ }, c = (e) => {
3872
+ var n = lo(), r = U(H(n), 4), i = V(r, !0);
3873
+ M(r);
3874
+ var a = U(r, 2), o = V(a), s = (e) => {
3875
+ var n = co();
3876
+ J("click", n, function(...e) {
3877
+ t.onCheckAgain?.apply(this, e);
3878
+ }), X(e, n);
3879
+ };
3880
+ Q(o, (e) => {
3881
+ t.onCheckAgain && e(s);
3882
+ });
3883
+ var c = U(o, 2);
3884
+ M(a), W(() => Z(i, t.status?.resultDescription ?? "We're still confirming your booking - this can take a minute. Please don't try to pay again; we'll email your confirmation as soon as it's ready.")), J("click", c, function(...e) {
3885
+ t.onDone?.apply(this, e);
3886
+ }), X(e, n);
3887
+ }, l = (e) => {
3888
+ var r = mo(), a = H(r);
3889
+ let o;
3890
+ var s = V(a, !0);
3891
+ M(a);
3892
+ var c = U(a, 2), l = V(c, !0);
3893
+ M(c);
3894
+ var u = U(c, 2), d = V(u, !0);
3895
+ M(u);
3896
+ var f = U(u, 2), p = (e) => {
3897
+ var n = uo();
3721
3898
  J("click", n, function(...e) {
3722
3899
  t.onDone?.apply(this, e);
3723
3900
  }), X(e, n);
3724
- }, p = (e) => {
3725
- var n = Ha();
3901
+ }, m = (e) => {
3902
+ var n = fo();
3726
3903
  J("click", n, function(...e) {
3727
3904
  t.onRetry?.apply(this, e);
3728
3905
  }), X(e, n);
3906
+ }, h = (e) => {
3907
+ var n = po();
3908
+ J("click", n, function(...e) {
3909
+ t.onDone?.apply(this, e);
3910
+ }), X(e, n);
3729
3911
  };
3730
- Q(d, (e) => {
3731
- q(n) ? e(f) : e(p, -1);
3912
+ Q(f, (e) => {
3913
+ q(n) ? e(p) : q(i) ? e(m, 1) : e(h, -1);
3732
3914
  }), W(() => {
3733
- a = Fr(i, 1, "icon svelte-16gfovn", null, a, {
3915
+ o = Rr(a, 1, "icon svelte-16gfovn", null, o, {
3734
3916
  success: q(n),
3735
3917
  failure: !q(n)
3736
- }), Z(o, q(n) ? "✓" : "!"), Z(c, q(n) ? "Payment Successful" : "Payment Failed"), Z(u, q(n) ? "Your booking has been confirmed." : t.status?.resultDescription ?? "Something went wrong. Please try again.");
3918
+ }), Z(s, q(n) ? "✓" : "!"), Z(l, q(n) ? "Payment Successful" : "Payment Failed"), Z(d, q(n) ? "Your booking has been confirmed." : t.status?.resultDescription ?? "Something went wrong. Please try again.");
3737
3919
  }), X(e, r);
3738
3920
  };
3739
- Q(i, (e) => {
3740
- t.verifying ? e(a) : e(o, -1);
3741
- }), M(r), X(e, r), F();
3921
+ Q(o, (e) => {
3922
+ t.verifying ? e(s) : q(r) ? e(c, 1) : e(l, -1);
3923
+ }), M(a), X(e, a), F();
3742
3924
  }
3743
- cr(["click"]);
3925
+ ur(["click"]);
3744
3926
  //#endregion
3745
3927
  //#region src/lib/EditBookingView.svelte
3746
- var Ka = /* @__PURE__ */ Y("<p class=\"edit-error svelte-15l4305\"> </p>"), qa = /* @__PURE__ */ Y("<div class=\"saving-overlay svelte-15l4305\"><div class=\"spinner\"></div></div>"), Ja = /* @__PURE__ */ Y("<div class=\"edit-view svelte-15l4305\"><div class=\"page-header\"><button class=\"icon-btn\" aria-label=\"Back\">&larr;</button> <h2>Edit Item</h2> <span class=\"spacer\"></span> <button class=\"icon-btn\" aria-label=\"Close\">&times;</button></div> <!> <div><!> <!></div></div>");
3747
- function Ya(e, t) {
3928
+ var _o = /* @__PURE__ */ Y("<p class=\"edit-error svelte-15l4305\"> </p>"), vo = /* @__PURE__ */ Y("<div class=\"saving-overlay svelte-15l4305\"><div class=\"spinner\"></div></div>"), yo = /* @__PURE__ */ Y("<div class=\"edit-view svelte-15l4305\"><div class=\"page-header\"><button class=\"icon-btn\" aria-label=\"Back\">&larr;</button> <h2>Edit Item</h2> <span class=\"spacer\"></span> <button class=\"icon-btn\" aria-label=\"Close\">&times;</button></div> <!> <div><!> <!></div></div>");
3929
+ function bo(e, t) {
3748
3930
  P(t, !0);
3749
- let n = Xr(t, "autoSelectSingleTimeSlot", 3, !1), r = /* @__PURE__ */ z(!1), i = /* @__PURE__ */ z(null);
3931
+ let n = $r(t, "autoSelectSingleTimeSlot", 3, !1), r = /* @__PURE__ */ z(!1), i = /* @__PURE__ */ z(null);
3750
3932
  async function a(e) {
3751
3933
  B(r, !0), B(i, null);
3752
3934
  try {
3753
3935
  await t.api.updateCartItem(t.cartItem.id, {
3754
3936
  productId: e.productId,
3755
3937
  optionId: e.optionId,
3756
- unitItems: hi(e.units),
3938
+ unitItems: vi(e.units),
3757
3939
  availabilityId: e.availabilityId,
3758
3940
  localDate: e.localDate,
3759
3941
  pickupPointId: e.pickupPointId,
3760
- amount: e.totalPrice,
3761
- currencyCode: e.currency,
3762
- currencyPrecision: e.currencyPrecision
3942
+ amount: e.totalPrice
3763
3943
  }), t.onUpdated();
3764
3944
  } catch (e) {
3765
- B(i, e instanceof gi && e.status === 424 ? "This change could not be saved - the supplier rejected it. Please try different options." : "Something went wrong saving your changes. Please try again.", !0);
3945
+ if (bi(e)) {
3946
+ B(i, "This item's price has changed. Please check the updated price and save again."), await t.onPriceChanged?.();
3947
+ return;
3948
+ }
3949
+ B(i, e instanceof yi && e.status === 424 ? "This change could not be saved - the supplier rejected it. Please try different options." : "Something went wrong saving your changes. Please try again.", !0);
3766
3950
  } finally {
3767
3951
  B(r, !1);
3768
3952
  }
3769
3953
  }
3770
- var o = Ja(), s = V(o), c = V(s), l = U(c, 6);
3954
+ var o = yo(), s = V(o), c = V(s), l = U(c, 6);
3771
3955
  M(s);
3772
3956
  var u = U(s, 2), d = (e) => {
3773
- var t = Ka(), n = V(t, !0);
3957
+ var t = _o(), n = V(t, !0);
3774
3958
  M(t), W(() => Z(n, q(i))), X(e, t);
3775
3959
  };
3776
3960
  Q(u, (e) => {
@@ -3780,8 +3964,8 @@ function Ya(e, t) {
3780
3964
  let p;
3781
3965
  var m = V(f);
3782
3966
  {
3783
- let e = /* @__PURE__ */ L(() => t.wizardPages ?? Ci), r = /* @__PURE__ */ L(() => t.editPages ?? t.wizardPages ?? Ci);
3784
- xa(m, {
3967
+ let e = /* @__PURE__ */ L(() => t.wizardPages ?? zi), r = /* @__PURE__ */ L(() => t.editPages ?? t.wizardPages ?? zi);
3968
+ La(m, {
3785
3969
  get product() {
3786
3970
  return t.product;
3787
3971
  },
@@ -3807,38 +3991,50 @@ function Ya(e, t) {
3807
3991
  });
3808
3992
  }
3809
3993
  var h = U(m, 2), g = (e) => {
3810
- X(e, qa());
3994
+ X(e, vo());
3811
3995
  };
3812
3996
  Q(h, (e) => {
3813
3997
  q(r) && e(g);
3814
- }), M(f), M(o), W(() => p = Fr(f, 1, "edit-body svelte-15l4305", null, p, { saving: q(r) })), J("click", c, function(...e) {
3998
+ }), M(f), M(o), W(() => p = Rr(f, 1, "edit-body svelte-15l4305", null, p, { saving: q(r) })), J("click", c, function(...e) {
3815
3999
  t.onBack?.apply(this, e);
3816
4000
  }), J("click", l, function(...e) {
3817
4001
  t.onClose?.apply(this, e);
3818
4002
  }), X(e, o), F();
3819
4003
  }
3820
- cr(["click"]);
4004
+ ur(["click"]);
3821
4005
  //#endregion
3822
4006
  //#region src/lib/CheckoutModal.svelte
3823
- var Xa = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100%\"><div class=\"spinner\"></div></div>"), Za = /* @__PURE__ */ Y("<p class=\"pay-error svelte-i0rtg0\"> </p>"), Qa = /* @__PURE__ */ Y("<div class=\"page-header\"><button class=\"icon-btn\" aria-label=\"Back\">&larr;</button> <h2>Checkout</h2> <span class=\"spacer\"></span> <button class=\"icon-btn\" aria-label=\"Close\">&times;</button></div> <div class=\"body svelte-i0rtg0\"><!> <div class=\"contact-header svelte-i0rtg0\"><span class=\"contact-title svelte-i0rtg0\">Contact Details</span> <span class=\"required-hint svelte-i0rtg0\">* Required Fields</span></div> <!> <div style=\"margin-top:24px\"><!></div></div> <div class=\"pay-bar svelte-i0rtg0\"><span class=\"pay-bar-total svelte-i0rtg0\"> </span> <button class=\"pay-bar-btn svelte-i0rtg0\"> <span class=\"arrow svelte-i0rtg0\">&rarr;</span></button></div>", 1), $a = /* @__PURE__ */ Y("<p class=\"cart-detail svelte-i0rtg0\"> </p>"), eo = /* @__PURE__ */ Y("<div class=\"cart-unit-line svelte-i0rtg0\"><span class=\"cart-unit-label svelte-i0rtg0\"> </span> <span class=\"cart-unit-price svelte-i0rtg0\"> </span></div>"), to = /* @__PURE__ */ Y("<div class=\"cart-card svelte-i0rtg0\"><div class=\"cart-card-top svelte-i0rtg0\"><h3 class=\"cart-product svelte-i0rtg0\"> </h3> <span class=\"cart-item-total svelte-i0rtg0\"> </span></div> <div class=\"cart-detail-lines svelte-i0rtg0\"><!> <p class=\"cart-detail svelte-i0rtg0\"> </p></div> <div class=\"cart-divider svelte-i0rtg0\"></div> <div class=\"cart-units svelte-i0rtg0\"></div> <div class=\"cart-actions svelte-i0rtg0\"><button class=\"action-edit svelte-i0rtg0\">Edit</button> <button class=\"action-remove svelte-i0rtg0\">Remove</button></div></div>"), no = /* @__PURE__ */ Y("<div class=\"page-header\"><h2>Your cart</h2> <span class=\"spacer\"></span> <!> <button class=\"keep-shopping-btn svelte-i0rtg0\">+ Keep shopping</button></div> <div class=\"body svelte-i0rtg0\"><!> <div class=\"cart-total-divider svelte-i0rtg0\"></div> <div class=\"cart-total-row svelte-i0rtg0\"><span>Total payable today</span> <span class=\"cart-total-amount svelte-i0rtg0\"> </span></div></div> <div class=\"action-bar\"><button class=\"btn btn-primary\">Checkout <span class=\"arrow\">&rarr;</span></button></div>", 1), ro = /* @__PURE__ */ Y("<div class=\"modal svelte-i0rtg0\"><!></div>");
3824
- function io(e, t) {
4007
+ var xo = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100%\"><div class=\"spinner\"></div></div>"), So = /* @__PURE__ */ Y("<p class=\"pay-error svelte-i0rtg0\"> </p>"), Co = /* @__PURE__ */ Y("<div class=\"page-header\"><button class=\"icon-btn\" aria-label=\"Back\">&larr;</button> <h2>Checkout</h2> <span class=\"spacer\"></span> <!> <button class=\"icon-btn\" aria-label=\"Close\">&times;</button></div> <div class=\"body svelte-i0rtg0\"><!> <div class=\"contact-header svelte-i0rtg0\"><span class=\"contact-title svelte-i0rtg0\">Contact Details</span> <span class=\"required-hint svelte-i0rtg0\">* Required Fields</span></div> <!> <div style=\"margin-top:24px\"><!></div></div> <div class=\"pay-bar svelte-i0rtg0\"><span class=\"pay-bar-total svelte-i0rtg0\"> </span> <button class=\"pay-bar-btn svelte-i0rtg0\"> <span class=\"arrow svelte-i0rtg0\">&rarr;</span></button></div>", 1), wo = /* @__PURE__ */ Y("<p class=\"cart-detail svelte-i0rtg0\"> </p>"), To = /* @__PURE__ */ Y("<div class=\"cart-unit-line svelte-i0rtg0\"><span class=\"cart-unit-label svelte-i0rtg0\"> </span> <span class=\"cart-unit-price svelte-i0rtg0\"> </span></div>"), Eo = /* @__PURE__ */ Y("<div class=\"cart-card svelte-i0rtg0\"><div class=\"cart-card-top svelte-i0rtg0\"><h3 class=\"cart-product svelte-i0rtg0\"> </h3> <span class=\"cart-item-total svelte-i0rtg0\"> </span></div> <div class=\"cart-detail-lines svelte-i0rtg0\"><!> <p class=\"cart-detail svelte-i0rtg0\"> </p></div> <div class=\"cart-divider svelte-i0rtg0\"></div> <div class=\"cart-units svelte-i0rtg0\"></div> <div class=\"cart-actions svelte-i0rtg0\"><button class=\"action-edit svelte-i0rtg0\">Edit</button> <button class=\"action-remove svelte-i0rtg0\">Remove</button></div></div>"), Do = /* @__PURE__ */ Y("<div class=\"page-header\"><h2>Your cart</h2> <span class=\"spacer\"></span> <!> <button class=\"keep-shopping-btn svelte-i0rtg0\">+ Keep shopping</button></div> <div class=\"body svelte-i0rtg0\"><!> <div class=\"cart-total-divider svelte-i0rtg0\"></div> <div class=\"cart-total-row svelte-i0rtg0\"><span>Total payable today</span> <span class=\"cart-total-amount svelte-i0rtg0\"> </span></div></div> <div class=\"action-bar\"><button class=\"btn btn-primary\">Checkout <span class=\"arrow\">&rarr;</span></button></div>", 1), Oo = /* @__PURE__ */ Y("<div class=\"modal svelte-i0rtg0\"><!></div>");
4008
+ function ko(e, t) {
3825
4009
  P(t, !0);
3826
- let n = Xr(t, "cart", 7), r = Xr(t, "autoSelectSingleTimeSlot", 3, !1), i = /* @__PURE__ */ z("cart"), a = /* @__PURE__ */ z(null), o = /* @__PURE__ */ z(null), s = /* @__PURE__ */ z(null), c = /* @__PURE__ */ z(!1), l = /* @__PURE__ */ z(!0), u = /* @__PURE__ */ z(!1), d = /* @__PURE__ */ z(!1), f = /* @__PURE__ */ z(!1), p = /* @__PURE__ */ z(!1), m = /* @__PURE__ */ z(null), h = /* @__PURE__ */ z(!1), g = /* @__PURE__ */ z(""), _ = /* @__PURE__ */ z(""), v = /* @__PURE__ */ z(""), y = /* @__PURE__ */ z(""), b = /* @__PURE__ */ z(null), x = /* @__PURE__ */ z(Gt(/* @__PURE__ */ new Map()));
3827
- async function S() {
4010
+ let n = $r(t, "cart", 7), r = $r(t, "autoSelectSingleTimeSlot", 3, !1);
4011
+ un(() => Ri((e) => {
4012
+ e.type === "cart:updated" && "cart" in e && e.cart === null && D(), e.type === "payment:timed-out" && i();
4013
+ }));
4014
+ async function i() {
4015
+ q(a) !== "payment" || !q(s) || await he();
4016
+ }
4017
+ let a = /* @__PURE__ */ z("cart"), o = /* @__PURE__ */ z(null), s = /* @__PURE__ */ z(null), c = /* @__PURE__ */ z(null), l = /* @__PURE__ */ z(null), u = /* @__PURE__ */ z(!0), d = /* @__PURE__ */ z(!1), f = /* @__PURE__ */ z(!1), p = /* @__PURE__ */ z(!1), m = /* @__PURE__ */ z(!1), h = /* @__PURE__ */ z(null), g = /* @__PURE__ */ z(!1), _ = /* @__PURE__ */ z(""), v = /* @__PURE__ */ z(""), y = /* @__PURE__ */ z(""), b = /* @__PURE__ */ z(""), x = /* @__PURE__ */ z(null), S = /* @__PURE__ */ z(Gt(/* @__PURE__ */ new Map()));
4018
+ async function C() {
3828
4019
  let e = [...new Set(n().items.map((e) => e.productId))], r = await Promise.all(e.map((e) => t.api.getProduct(e))), i = /* @__PURE__ */ new Map();
3829
4020
  for (let e of r) i.set(e.id, e);
3830
- B(x, i, !0), B(l, !1);
3831
- }
3832
- S();
3833
- let C = /* @__PURE__ */ L(() => () => n().items.reduce((e, t) => e + t.amount, 0)), w = /* @__PURE__ */ L(() => () => n().items[0]?.currencyCode ?? "ZAR"), T = /* @__PURE__ */ L(() => () => Ai(q(C)(), q(w)(), 2, 2)), ee = /* @__PURE__ */ L(() => () => new Date(n().absoluteExpiresAt));
3834
- function te(e) {
3835
- return q(x).get(e.productId)?.title ?? e.productId;
4021
+ B(S, i, !0), B(u, !1);
3836
4022
  }
3837
- function ne(e) {
3838
- return q(x).get(e.productId)?.options.find((t) => t.id === e.optionId)?.title ?? e.optionId;
4023
+ C();
4024
+ function ee() {
4025
+ let e = Mi(t.api.cartToken);
4026
+ e && (B(s, e, !0), B(a, "payment"), $({ type: "payment:started" }), Wa(n()).getTime() <= Date.now() && i());
3839
4027
  }
4028
+ ee();
4029
+ let w = /* @__PURE__ */ L(() => () => n().items.reduce((e, t) => e + t.amount, 0)), te = /* @__PURE__ */ L(() => () => n().items[0]?.currencyCode ?? "ZAR"), ne = /* @__PURE__ */ L(() => () => Gi(q(w)(), q(te)(), 2, 2)), T = /* @__PURE__ */ L(() => Wa(n()));
3840
4030
  function E(e) {
3841
- let t = q(x).get(e.productId)?.options.find((t) => t.id === e.optionId), n = /* @__PURE__ */ new Map();
4031
+ return q(S).get(e.productId)?.title ?? e.productId;
4032
+ }
4033
+ function re(e) {
4034
+ return q(S).get(e.productId)?.options.find((t) => t.id === e.optionId)?.title ?? e.optionId;
4035
+ }
4036
+ function ie(e) {
4037
+ let t = q(S).get(e.productId)?.options.find((t) => t.id === e.optionId), n = /* @__PURE__ */ new Map();
3842
4038
  for (let t of e.unitItems) n.set(t.unitId, (n.get(t.unitId) ?? 0) + 1);
3843
4039
  return [...n.entries()].map(([e, n]) => {
3844
4040
  let r = t?.units.find((t) => t.id === e), i = r?.pricing?.[0]?.retail ?? 0;
@@ -3850,7 +4046,7 @@ function io(e, t) {
3850
4046
  };
3851
4047
  });
3852
4048
  }
3853
- function re(e) {
4049
+ function ae(e) {
3854
4050
  if (!e.availabilityId) return null;
3855
4051
  let t = e.availabilityId.match(/(\d{4})-(\d{2})-(\d{2})/);
3856
4052
  if (!t) return null;
@@ -3870,112 +4066,177 @@ function io(e, t) {
3870
4066
  "Dec"
3871
4067
  ][n.getMonth()]} ${n.getFullYear()}`;
3872
4068
  }
3873
- Qr(() => Oi({ type: "modal:close" }));
3874
- function ie() {
3875
- Oi({ type: "modal:close" }), t.onClose();
4069
+ ti(() => $({ type: "modal:close" }));
4070
+ function D() {
4071
+ $({ type: "modal:close" }), t.onClose();
3876
4072
  }
3877
- function ae() {
3878
- ie();
4073
+ function O() {
4074
+ D();
3879
4075
  }
3880
- function D(e) {
3881
- B(a, e, !0), B(i, "edit");
4076
+ function oe(e) {
4077
+ B(o, e, !0), B(a, "edit");
3882
4078
  }
3883
- async function O() {
3884
- let e = await t.api.getCart();
3885
- n(e), B(i, "cart"), se(e);
4079
+ async function se() {
4080
+ await le() && (B(a, "cart"), fe(n()));
3886
4081
  }
3887
- async function oe(e) {
3888
- await t.api.removeCartItem(e.id);
3889
- let r = await t.api.getCart();
3890
- n(r), se(r), n().items.length === 0 && ie();
4082
+ async function ce(e) {
4083
+ try {
4084
+ await t.api.removeCartItem(e.id);
4085
+ } catch (e) {
4086
+ if (!xi(e)) throw e;
4087
+ D();
4088
+ return;
4089
+ }
4090
+ await le() && (fe(n()), n().items.length === 0 && D());
4091
+ }
4092
+ async function le() {
4093
+ try {
4094
+ return n(await t.api.getCart()), !0;
4095
+ } catch (e) {
4096
+ if (!xi(e)) throw e;
4097
+ return D(), !1;
4098
+ }
3891
4099
  }
3892
- function se(e) {
3893
- Oi({
4100
+ async function ue() {
4101
+ try {
4102
+ n(await t.api.getCart()), fe(n());
4103
+ } catch {}
4104
+ }
4105
+ async function de(e) {
4106
+ try {
4107
+ return await t.api.abandonPayment(e), "abandoned";
4108
+ } catch (e) {
4109
+ return Si(e) || Ci(e) ? "settled" : "failed";
4110
+ }
4111
+ }
4112
+ function fe(e) {
4113
+ $({
3894
4114
  type: "cart:updated",
3895
4115
  cart: e
3896
4116
  });
3897
4117
  }
3898
- async function ce() {
3899
- if (B(p, !0), !q(b)?.isValid() || !q(d)) return;
3900
- let e = q(b).getContact();
3901
- B(h, !0), B(m, null);
4118
+ async function pe() {
4119
+ if (B(m, !0), !q(x)?.isValid() || !q(f)) return;
4120
+ if (q(s)) {
4121
+ B(a, "payment");
4122
+ return;
4123
+ }
4124
+ let e = q(x).getContact();
4125
+ B(g, !0), B(h, null);
3902
4126
  try {
3903
- B(o, await t.api.payCart(e), !0), B(i, "payment");
4127
+ B(s, await t.api.payCart(e), !0), ji(t.api.cartToken, {
4128
+ checkoutId: q(s).checkoutId ?? "",
4129
+ entityId: q(s).entityId ?? ""
4130
+ }), B(a, "payment"), $({ type: "payment:started" }), ue();
3904
4131
  } catch (e) {
3905
- B(m, e instanceof gi && e.status === 502 ? "Unable to start payment right now. Please try again." : "Something went wrong starting your payment. Please try again.", !0);
4132
+ if (xi(e)) {
4133
+ D();
4134
+ return;
4135
+ }
4136
+ let t = e instanceof yi ? e.status : null;
4137
+ B(h, t === 502 ? "Unable to start payment right now. Please try again." : "Something went wrong starting your payment. Please try again.", !0);
3906
4138
  } finally {
3907
- B(h, !1);
4139
+ B(g, !1);
3908
4140
  }
3909
4141
  }
3910
- async function le(e) {
3911
- if (e.status === "cancelled") {
3912
- B(i, "contact");
3913
- return;
4142
+ async function me(e) {
4143
+ if (!((e.status === "cancelled" || e.status === "expired" || e.status === "error") && !await he())) {
4144
+ if (e.status === "cancelled") {
4145
+ B(a, "contact");
4146
+ return;
4147
+ }
4148
+ if (e.status === "expired" || e.status === "error") {
4149
+ B(l, "notCharged"), B(d, !1), B(a, "result");
4150
+ return;
4151
+ }
4152
+ B(a, "result"), await _e();
3914
4153
  }
3915
- if (e.status === "expired") {
3916
- B(c, !0), B(u, !1), B(i, "result");
3917
- return;
4154
+ }
4155
+ async function he() {
4156
+ if (!q(s)) return await le();
4157
+ let e = await de(q(s).checkoutId);
4158
+ if (e === "settled") return B(a, "result"), await _e(), !1;
4159
+ e === "abandoned" && (B(s, null), Ni());
4160
+ let t = await le();
4161
+ return t && fe(n()), (e === "abandoned" || !t) && $({ type: "payment:ended" }), t;
4162
+ }
4163
+ async function ge() {
4164
+ try {
4165
+ B(c, await t.api.confirmCart(), !0);
4166
+ let e = q(c).items.every((e) => e.statusCode >= 200 && e.statusCode < 300);
4167
+ return B(l, e ? "success" : "partial", !0), e && t.onOrderConfirmed(), "settled";
4168
+ } catch (e) {
4169
+ return wi(e) ? (B(l, "notCharged"), "settled") : e instanceof yi && (e.status === 402 || e.status === 409) ? "awaitingWebhook" : (B(l, "pending"), "settled");
3918
4170
  }
3919
- B(u, !0), B(i, "result");
3920
- for (let e = 1; e <= 10; e++) try {
3921
- B(s, await t.api.confirmCart(), !0);
3922
- let e = q(s).items.every((e) => e.statusCode >= 200 && e.statusCode < 300);
3923
- B(c, !e), B(u, !1), e && (Oi({ type: "modal:close" }), t.onOrderConfirmed());
3924
- return;
3925
- } catch (t) {
3926
- if (!(t instanceof gi && t.status === 402) || e === 10) {
3927
- B(c, !0), B(u, !1);
4171
+ }
4172
+ async function _e() {
4173
+ B(d, !0), B(l, null);
4174
+ for (let e = 1; e <= 10; e++) {
4175
+ if (await ge() === "settled") {
4176
+ B(d, !1);
4177
+ return;
4178
+ }
4179
+ if (e === 10) {
4180
+ B(l, "pending"), B(d, !1);
3928
4181
  return;
3929
4182
  }
3930
4183
  await new Promise((e) => setTimeout(e, 1500));
3931
4184
  }
3932
4185
  }
3933
- var ue = ro(), de = V(ue), fe = (e) => {
3934
- X(e, Xa());
3935
- }, pe = (e) => {
3936
- {
3937
- let t = /* @__PURE__ */ L(() => q(T)());
3938
- za(e, {
3939
- get checkoutId() {
3940
- return q(o).checkoutId;
3941
- },
3942
- get totalFormatted() {
3943
- return q(t);
3944
- },
3945
- onBack: () => {
3946
- B(i, "contact");
3947
- },
3948
- onClose: ie,
3949
- onPaymentComplete: le
3950
- });
3951
- }
3952
- }, me = (e) => {
4186
+ async function ve() {
4187
+ B(d, !0), await ge() === "awaitingWebhook" && B(l, "pending"), B(d, !1);
4188
+ }
4189
+ let ye = /* @__PURE__ */ L(() => q(d) ? null : q(l) === "success" ? { outcome: "successful" } : q(l) === "pending" ? { outcome: "pending" } : q(l) === "partial" ? {
4190
+ outcome: "failed",
4191
+ resultDescription: "Your payment succeeded, but we couldn't confirm every item in your booking. Please contact us with your order details.",
4192
+ retryPayment: !1
4193
+ } : q(l) === "notCharged" ? {
4194
+ outcome: "failed",
4195
+ resultDescription: "Your payment could not be completed. Please try again.",
4196
+ retryPayment: !0
4197
+ } : null);
4198
+ var be = Oo(), xe = V(be), Se = (e) => {
4199
+ X(e, xo());
4200
+ }, k = (e) => {
4201
+ oo(e, {
4202
+ get checkoutId() {
4203
+ return q(s).checkoutId;
4204
+ },
4205
+ get entityId() {
4206
+ return q(s).entityId;
4207
+ },
4208
+ get expiresAt() {
4209
+ return q(T);
4210
+ },
4211
+ onPaymentComplete: me
4212
+ });
4213
+ }, Ce = (e) => {
3953
4214
  {
3954
- let n = /* @__PURE__ */ L(() => q(u) ? null : q(c) ? {
3955
- outcome: "failed",
3956
- resultDescription: "Something went wrong confirming your order. Please try again."
3957
- } : { outcome: "successful" });
3958
- Ga(e, {
4215
+ let t = /* @__PURE__ */ L(() => q(l) === "pending" ? ve : void 0);
4216
+ go(e, {
3959
4217
  get status() {
3960
- return q(n);
4218
+ return q(ye);
3961
4219
  },
3962
4220
  get verifying() {
3963
- return q(u);
4221
+ return q(d);
3964
4222
  },
3965
4223
  onDone: () => {
3966
- Oi({ type: "modal:close" }), t.onOrderConfirmed();
4224
+ $({ type: "modal:close" });
3967
4225
  },
3968
4226
  onRetry: () => {
3969
- B(i, "payment");
4227
+ B(a, "payment");
4228
+ },
4229
+ get onCheckAgain() {
4230
+ return q(t);
3970
4231
  }
3971
4232
  });
3972
4233
  }
3973
- }, he = (e) => {
4234
+ }, we = (e) => {
3974
4235
  {
3975
- let n = /* @__PURE__ */ L(() => q(x).get(q(a).productId));
3976
- Ya(e, {
4236
+ let n = /* @__PURE__ */ L(() => q(S).get(q(o).productId));
4237
+ bo(e, {
3977
4238
  get cartItem() {
3978
- return q(a);
4239
+ return q(o);
3979
4240
  },
3980
4241
  get product() {
3981
4242
  return q(n);
@@ -3993,162 +4254,182 @@ function io(e, t) {
3993
4254
  return r();
3994
4255
  },
3995
4256
  onBack: () => {
3996
- B(i, "cart");
4257
+ B(a, "cart");
3997
4258
  },
3998
- onClose: ie,
3999
- onUpdated: O
4259
+ onClose: D,
4260
+ onUpdated: se,
4261
+ onPriceChanged: C
4000
4262
  });
4001
4263
  }
4002
- }, ge = /* @__PURE__ */ L(() => q(i) === "edit" && q(a) && q(x).get(q(a).productId)), _e = (e) => {
4003
- var t = Qa(), n = H(t), r = V(n), a = U(r, 6);
4264
+ }, Te = /* @__PURE__ */ L(() => q(a) === "edit" && q(o) && q(S).get(q(o).productId)), Ee = (e) => {
4265
+ var t = Co(), n = H(t), r = V(n), i = U(r, 6);
4266
+ Qa(i, { get expiresAt() {
4267
+ return q(T);
4268
+ } });
4269
+ var o = U(i, 2);
4004
4270
  M(n);
4005
- var o = U(n, 2), s = V(o), c = (e) => {
4006
- var t = Za(), n = V(t, !0);
4007
- M(t), W(() => Z(n, q(m))), X(e, t);
4271
+ var s = U(n, 2), c = V(s), l = (e) => {
4272
+ var t = So(), n = V(t, !0);
4273
+ M(t), W(() => Z(n, q(h))), X(e, t);
4008
4274
  };
4009
- Q(s, (e) => {
4010
- q(m) && e(c);
4275
+ Q(c, (e) => {
4276
+ q(h) && e(l);
4011
4277
  });
4012
- var l = U(s, 4);
4013
- Yr(Oa(l, {
4278
+ var u = U(c, 4);
4279
+ Qr(Ja(u, {
4014
4280
  get hasAttemptedSubmit() {
4015
- return q(p);
4281
+ return q(m);
4016
4282
  },
4017
4283
  get firstName() {
4018
- return q(g);
4284
+ return q(_);
4019
4285
  },
4020
4286
  set firstName(e) {
4021
- B(g, e, !0);
4287
+ B(_, e, !0);
4022
4288
  },
4023
4289
  get lastName() {
4024
- return q(_);
4290
+ return q(v);
4025
4291
  },
4026
4292
  set lastName(e) {
4027
- B(_, e, !0);
4293
+ B(v, e, !0);
4028
4294
  },
4029
4295
  get emailAddress() {
4030
- return q(v);
4296
+ return q(y);
4031
4297
  },
4032
4298
  set emailAddress(e) {
4033
- B(v, e, !0);
4299
+ B(y, e, !0);
4034
4300
  },
4035
4301
  get phoneNumber() {
4036
- return q(y);
4302
+ return q(b);
4037
4303
  },
4038
4304
  set phoneNumber(e) {
4039
- B(y, e, !0);
4305
+ B(b, e, !0);
4040
4306
  }
4041
- }), (e) => B(b, e, !0), () => q(b));
4042
- var u = U(l, 2);
4043
- Aa(V(u), {
4307
+ }), (e) => B(x, e, !0), () => q(x));
4308
+ var d = U(u, 2);
4309
+ Xa(V(d), {
4044
4310
  get privacyAccepted() {
4045
- return q(d);
4311
+ return q(f);
4046
4312
  },
4047
4313
  get marketingOptIn() {
4048
- return q(f);
4314
+ return q(p);
4049
4315
  },
4050
4316
  get hasAttemptedSubmit() {
4051
- return q(p);
4317
+ return q(m);
4052
4318
  },
4053
4319
  onPrivacyChanged: (e) => {
4054
- B(d, e, !0);
4320
+ B(f, e, !0);
4055
4321
  },
4056
4322
  onMarketingChanged: (e) => {
4057
- B(f, e, !0);
4323
+ B(p, e, !0);
4058
4324
  }
4059
- }), M(u), M(o);
4060
- var x = U(o, 2), S = V(x), C = V(S, !0);
4061
- M(S);
4062
- var w = U(S, 2), ee = V(w);
4063
- Ae(), M(w), M(x), W((e) => {
4064
- Z(C, e), w.disabled = q(h), Z(ee, `${q(h) ? "Paying…" : "Pay Now"} `);
4065
- }, [() => q(T)()]), J("click", r, () => {
4066
- B(i, "cart");
4067
- }), J("click", a, ie), J("click", w, ce), X(e, t);
4068
- }, ve = (e) => {
4069
- var t = no(), r = H(t), a = U(V(r), 4);
4070
- {
4071
- let e = /* @__PURE__ */ L(() => q(ee)());
4072
- Ma(a, { get expiresAt() {
4073
- return q(e);
4074
- } });
4075
- }
4076
- var o = U(a, 2);
4325
+ }), M(d), M(s);
4326
+ var S = U(s, 2), C = V(S), ee = V(C, !0);
4327
+ M(C);
4328
+ var w = U(C, 2), te = V(w);
4329
+ Ae(), M(w), M(S), W((e) => {
4330
+ Z(ee, e), w.disabled = q(g), Z(te, `${q(g) ? "Paying…" : "Pay Now"} `);
4331
+ }, [() => q(ne)()]), J("click", r, () => {
4332
+ B(a, "cart");
4333
+ }), J("click", o, D), J("click", w, pe), X(e, t);
4334
+ }, A = (e) => {
4335
+ var t = Do(), r = H(t), i = U(V(r), 4);
4336
+ Qa(i, { get expiresAt() {
4337
+ return q(T);
4338
+ } });
4339
+ var o = U(i, 2);
4077
4340
  M(r);
4078
4341
  var s = U(r, 2), c = V(s);
4079
- Er(c, 17, () => n().items, $, (e, t) => {
4080
- var n = to(), r = V(n), i = V(r), a = V(i, !0);
4342
+ kr(c, 17, () => n().items, Tr, (e, t) => {
4343
+ var n = Eo(), r = V(n), i = V(r), a = V(i, !0);
4081
4344
  M(i);
4082
4345
  var o = U(i, 2), s = V(o, !0);
4083
4346
  M(o), M(r);
4084
4347
  var c = U(r, 2), l = V(c), u = (e) => {
4085
- var n = $a(), r = V(n, !0);
4086
- M(n), W((e) => Z(r, e), [() => re(q(t))]), X(e, n);
4087
- }, d = /* @__PURE__ */ L(() => re(q(t)));
4348
+ var n = wo(), r = V(n, !0);
4349
+ M(n), W((e) => Z(r, e), [() => ae(q(t))]), X(e, n);
4350
+ }, d = /* @__PURE__ */ L(() => ae(q(t)));
4088
4351
  Q(l, (e) => {
4089
4352
  q(d) && e(u);
4090
4353
  });
4091
4354
  var f = U(l, 2), p = V(f, !0);
4092
4355
  M(f), M(c);
4093
4356
  var m = U(c, 4);
4094
- Er(m, 21, () => E(q(t)), $, (e, n) => {
4095
- var r = eo(), i = V(r), a = V(i);
4357
+ kr(m, 21, () => ie(q(t)), Tr, (e, n) => {
4358
+ var r = To(), i = V(r), a = V(i);
4096
4359
  M(i);
4097
4360
  var o = U(i, 2), s = V(o, !0);
4098
4361
  M(o), M(r), W((e) => {
4099
4362
  Z(a, `${q(n).title ?? ""} × ${q(n).quantity ?? ""}`), Z(s, e);
4100
- }, [() => Ai(q(n).linePrice, q(t).currencyCode, 2, 0)]), X(e, r);
4363
+ }, [() => Gi(q(n).linePrice, q(t).currencyCode, 2, 0)]), X(e, r);
4101
4364
  }), M(m);
4102
4365
  var h = U(m, 2), g = V(h), _ = U(g, 2);
4103
4366
  M(h), M(n), W((e, t, n) => {
4104
4367
  Z(a, e), Z(s, t), Z(p, n);
4105
4368
  }, [
4106
- () => te(q(t)),
4107
- () => Ai(q(t).amount, q(t).currencyCode, 2, 0),
4108
- () => ne(q(t))
4109
- ]), J("click", g, () => D(q(t))), J("click", _, () => oe(q(t))), X(e, n);
4369
+ () => E(q(t)),
4370
+ () => Gi(q(t).amount, q(t).currencyCode, 2, 0),
4371
+ () => re(q(t))
4372
+ ]), J("click", g, () => oe(q(t))), J("click", _, () => ce(q(t))), X(e, n);
4110
4373
  });
4111
4374
  var l = U(c, 4), u = U(V(l), 2), d = V(u, !0);
4112
4375
  M(u), M(l), M(s);
4113
4376
  var f = U(s, 2), p = V(f);
4114
- M(f), W((e) => Z(d, e), [() => q(T)()]), J("click", o, ae), J("click", p, () => {
4115
- B(i, "contact");
4377
+ M(f), W((e) => Z(d, e), [() => q(ne)()]), J("click", o, O), J("click", p, () => {
4378
+ B(a, "contact");
4116
4379
  }), X(e, t);
4117
4380
  };
4118
- Q(de, (e) => {
4119
- q(l) ? e(fe) : q(i) === "payment" && q(o) ? e(pe, 1) : q(i) === "result" ? e(me, 2) : q(ge) ? e(he, 3) : q(i) === "contact" ? e(_e, 4) : e(ve, -1);
4120
- }), M(ue), X(e, ue), F();
4381
+ Q(xe, (e) => {
4382
+ q(u) ? e(Se) : q(a) === "payment" && q(s) ? e(k, 1) : q(a) === "result" ? e(Ce, 2) : q(Te) ? e(we, 3) : q(a) === "contact" ? e(Ee, 4) : e(A, -1);
4383
+ }), M(be), X(e, be), F();
4121
4384
  }
4122
- cr(["click"]);
4385
+ ur(["click"]);
4386
+ //#endregion
4387
+ //#region src/lib/CartExpiredView.svelte
4388
+ var Ao = /* @__PURE__ */ Y("<div class=\"expired svelte-bznxud\"><div class=\"icon svelte-bznxud\">!</div> <h2 class=\"svelte-bznxud\">Your cart has expired</h2> <p class=\"desc svelte-bznxud\">The tickets in your cart were held for a limited time and have now been released. Nothing has been\n charged. Start again to choose your tickets.</p> <button class=\"btn btn-primary\">Start again</button></div>");
4389
+ function jo(e, t) {
4390
+ P(t, !0);
4391
+ let n = /* @__PURE__ */ z(null);
4392
+ un(() => {
4393
+ q(n)?.focus();
4394
+ });
4395
+ var r = Ao(), i = U(V(r), 6);
4396
+ Qr(i, (e) => B(n, e), () => q(n)), M(r), J("click", i, function(...e) {
4397
+ t.onStartAgain?.apply(this, e);
4398
+ }), X(e, r), F();
4399
+ }
4400
+ ur(["click"]);
4123
4401
  //#endregion
4124
4402
  //#region src/lib/Checkout.svelte
4125
- var ao = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100vh\"><div class=\"spinner\"></div></div>"), oo = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100vh;color:var(--bw-color-text-secondary)\">No items in cart.</div>"), so = /* @__PURE__ */ Y("<div class=\"bw-widget svelte-5e515v\"><!></div>");
4126
- function co(e, t) {
4403
+ var Mo = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100vh\"><div class=\"spinner\"></div></div>"), No = /* @__PURE__ */ Y("<div style=\"height:100vh\"><!></div>"), Po = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100vh;color:var(--bw-color-text-secondary)\">No items in cart.</div>"), Fo = /* @__PURE__ */ Y("<div class=\"bw-widget svelte-5e515v\"><!></div>");
4404
+ function Io(e, t) {
4127
4405
  P(t, !0);
4128
- let n = Xr(t, "wizardPages", 3, Ci), r = Xr(t, "autoSelectSingleTimeSlot", 3, !1), i = /* @__PURE__ */ L(() => t.editPages ?? n()), a = /* @__PURE__ */ z(null), o = /* @__PURE__ */ z(!0);
4129
- async function s() {
4406
+ let n = $r(t, "wizardPages", 3, zi), r = $r(t, "autoSelectSingleTimeSlot", 3, !1), i = /* @__PURE__ */ L(() => t.editPages ?? n()), a = /* @__PURE__ */ z(null), o = /* @__PURE__ */ z(!0), s = /* @__PURE__ */ z(!1);
4407
+ async function c() {
4408
+ let e = t.api.cartToken !== "";
4130
4409
  try {
4131
4410
  B(a, await t.api.getCart(), !0);
4132
- } catch {
4133
- B(a, null);
4411
+ } catch (t) {
4412
+ B(a, null), e && xi(t) && (l(), B(s, !0));
4134
4413
  }
4135
4414
  B(o, !1);
4136
4415
  }
4137
- s();
4138
- function c(e) {
4139
- let t;
4140
- try {
4141
- t = typeof e.data == "string" ? JSON.parse(e.data) : e.data;
4142
- } catch {
4143
- return;
4144
- }
4145
- t?.type === "cart:updated" && "cart" in t && B(a, t.cart, !0);
4416
+ c();
4417
+ function l() {
4418
+ t.cartManager?.reset(), $({ type: "cart:expired" }), $({
4419
+ type: "cart:updated",
4420
+ cart: null
4421
+ });
4146
4422
  }
4147
- un(() => (window.addEventListener("message", c), () => window.removeEventListener("message", c)));
4148
- var l = so(), u = V(l), d = (e) => {
4149
- X(e, ao());
4150
- }, f = (e) => {
4151
- io(e, {
4423
+ function u() {
4424
+ B(s, !1), $({ type: "modal:close" }), c();
4425
+ }
4426
+ un(() => Ri((e) => {
4427
+ e.type === "cart:updated" && "cart" in e && B(a, e.cart, !0), e.type === "cart:expired" && B(s, !0);
4428
+ }));
4429
+ var d = Fo(), f = V(d), p = (e) => {
4430
+ X(e, Mo());
4431
+ }, m = (e) => {
4432
+ ko(e, {
4152
4433
  get cart() {
4153
4434
  return q(a);
4154
4435
  },
@@ -4164,39 +4445,42 @@ function co(e, t) {
4164
4445
  get autoSelectSingleTimeSlot() {
4165
4446
  return r();
4166
4447
  },
4167
- onClose: () => Oi({ type: "modal:close" }),
4448
+ onClose: () => $({ type: "modal:close" }),
4168
4449
  onOrderConfirmed: () => {
4169
- let e = q(a).items.reduce((e, t) => e + t.amount, 0), t = q(a).items[0]?.currencyCode ?? "ZAR";
4170
- Oi({
4450
+ let e = q(a).items.reduce((e, t) => e + t.amount, 0), n = q(a).items[0]?.currencyCode ?? "ZAR";
4451
+ $({
4171
4452
  type: "order:complete",
4172
4453
  cartToken: q(a).cartToken,
4173
4454
  value: e,
4174
- currency: t
4175
- });
4455
+ currency: n
4456
+ }), t.cartManager?.reset();
4176
4457
  }
4177
4458
  });
4178
- }, p = (e) => {
4179
- X(e, oo());
4459
+ }, h = (e) => {
4460
+ var t = No();
4461
+ jo(V(t), { onStartAgain: u }), M(t), X(e, t);
4462
+ }, g = (e) => {
4463
+ X(e, Po());
4180
4464
  };
4181
- Q(u, (e) => {
4182
- q(o) ? e(d) : q(a) && q(a).items.length > 0 ? e(f, 1) : e(p, -1);
4183
- }), M(l), X(e, l), F();
4465
+ Q(f, (e) => {
4466
+ q(o) ? e(p) : q(a) && q(a).items.length > 0 ? e(m, 1) : q(s) ? e(h, 2) : e(g, -1);
4467
+ }), M(d), X(e, d), F();
4184
4468
  }
4185
4469
  //#endregion
4186
4470
  //#region src/lib/CartBarView.svelte
4187
- var lo = /* @__PURE__ */ Y("<div class=\"cart-bar bw-widget svelte-1xt0fxx\"><div class=\"cart-info svelte-1xt0fxx\"><span class=\"item-count svelte-1xt0fxx\"> <!></span> <span class=\"total svelte-1xt0fxx\"> </span></div> <button class=\"btn btn-primary\">Checkout &rarr;</button></div>");
4188
- function uo(e, t) {
4471
+ var Lo = /* @__PURE__ */ Y("<div class=\"cart-bar bw-widget svelte-1xt0fxx\"><div class=\"cart-info svelte-1xt0fxx\"><span class=\"item-count svelte-1xt0fxx\"> <!></span> <span class=\"total svelte-1xt0fxx\"> </span></div> <button class=\"btn btn-primary\">Checkout &rarr;</button></div>");
4472
+ function Ro(e, t) {
4189
4473
  P(t, !0);
4190
4474
  let n = /* @__PURE__ */ L(() => t.cart?.items.length ?? 0), r = /* @__PURE__ */ L(() => () => {
4191
4475
  if (!t.cart || t.cart.items.length === 0) return "";
4192
4476
  let e = t.cart.items[0].currencyCode;
4193
- return Ai(t.cart.items.reduce((e, t) => e + t.amount, 0), e, 2, 2);
4194
- }), i = /* @__PURE__ */ L(() => () => t.cart ? new Date(t.cart.absoluteExpiresAt) : /* @__PURE__ */ new Date());
4195
- var a = gr(), o = H(a), s = (e) => {
4196
- var t = lo(), a = V(t), o = V(a), s = V(o), c = U(s);
4477
+ return Gi(t.cart.items.reduce((e, t) => e + t.amount, 0), e, 2, 2);
4478
+ }), i = /* @__PURE__ */ L(() => () => t.cart ? Wa(t.cart) : /* @__PURE__ */ new Date());
4479
+ var a = vr(), o = H(a), s = (e) => {
4480
+ var t = Lo(), a = V(t), o = V(a), s = V(o), c = U(s);
4197
4481
  {
4198
4482
  let e = /* @__PURE__ */ L(() => q(i)());
4199
- Ma(c, { get expiresAt() {
4483
+ Qa(c, { get expiresAt() {
4200
4484
  return q(e);
4201
4485
  } });
4202
4486
  }
@@ -4206,16 +4490,16 @@ function uo(e, t) {
4206
4490
  var d = U(a, 2);
4207
4491
  M(t), W((e) => {
4208
4492
  Z(s, `${q(n) === 1 ? "1 item" : `${q(n)} items`} `), Z(u, e);
4209
- }, [() => q(r)()]), J("click", d, () => Oi({ type: "modal:open" })), X(e, t);
4493
+ }, [() => q(r)()]), J("click", d, () => $({ type: "modal:open" })), X(e, t);
4210
4494
  };
4211
4495
  Q(o, (e) => {
4212
4496
  t.cart && t.cart.items.length > 0 && e(s);
4213
4497
  }), X(e, a), F();
4214
4498
  }
4215
- cr(["click"]);
4499
+ ur(["click"]);
4216
4500
  //#endregion
4217
4501
  //#region src/lib/CartBar.svelte
4218
- function fo(e, t) {
4502
+ function zo(e, t) {
4219
4503
  P(t, !0);
4220
4504
  let n = /* @__PURE__ */ z(null), r = /* @__PURE__ */ z(!0);
4221
4505
  async function i() {
@@ -4226,30 +4510,22 @@ function fo(e, t) {
4226
4510
  }
4227
4511
  B(r, !1);
4228
4512
  }
4229
- i();
4230
- function a(e) {
4231
- let t;
4232
- try {
4233
- t = typeof e.data == "string" ? JSON.parse(e.data) : e.data;
4234
- } catch {
4235
- return;
4236
- }
4237
- t?.type === "cart:updated" && "cart" in t && B(n, t.cart, !0);
4238
- }
4239
- un(() => (window.addEventListener("message", a), () => window.removeEventListener("message", a)));
4240
- var o = gr(), s = H(o), c = (e) => {
4241
- uo(e, { get cart() {
4513
+ i(), un(() => Ri((e) => {
4514
+ e.type === "cart:updated" && "cart" in e && B(n, e.cart, !0);
4515
+ }));
4516
+ var a = vr(), o = H(a), s = (e) => {
4517
+ Ro(e, { get cart() {
4242
4518
  return q(n);
4243
4519
  } });
4244
4520
  };
4245
- Q(s, (e) => {
4246
- q(r) || e(c);
4247
- }), X(e, o), F();
4521
+ Q(o, (e) => {
4522
+ q(r) || e(s);
4523
+ }), X(e, a), F();
4248
4524
  }
4249
4525
  //#endregion
4250
4526
  //#region src/lib/CartOverviewButton.svelte
4251
- var po = /* @__PURE__ */ Y("<button class=\"cart-overview-btn bw-widget svelte-16bjfem\"><svg class=\"cart-icon svelte-16bjfem\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"9\" cy=\"21\" r=\"1\"></circle><circle cx=\"20\" cy=\"21\" r=\"1\"></circle><path d=\"M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6\"></path></svg> <span class=\"cart-badge svelte-16bjfem\"> </span> <span class=\"cart-timer svelte-16bjfem\"> </span></button>");
4252
- function mo(e, t) {
4527
+ var Bo = /* @__PURE__ */ Y("<button class=\"cart-overview-btn bw-widget svelte-16bjfem\"><svg class=\"cart-icon svelte-16bjfem\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"9\" cy=\"21\" r=\"1\"></circle><circle cx=\"20\" cy=\"21\" r=\"1\"></circle><path d=\"M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6\"></path></svg> <span class=\"cart-badge svelte-16bjfem\"> </span> <span class=\"cart-timer svelte-16bjfem\"> </span></button>");
4528
+ function Vo(e, t) {
4253
4529
  P(t, !0);
4254
4530
  let n = /* @__PURE__ */ z(null), r = /* @__PURE__ */ z("");
4255
4531
  async function i() {
@@ -4259,47 +4535,34 @@ function mo(e, t) {
4259
4535
  B(n, null);
4260
4536
  }
4261
4537
  }
4262
- i();
4263
- function a(e) {
4264
- let t;
4265
- try {
4266
- t = typeof e.data == "string" ? JSON.parse(e.data) : e.data;
4267
- } catch {
4268
- return;
4269
- }
4270
- t?.type === "cart:updated" && "cart" in t && B(n, t.cart, !0);
4271
- }
4272
- un(() => (window.addEventListener("message", a), () => window.removeEventListener("message", a)));
4273
- function o() {
4274
- if (!q(n)) {
4275
- B(r, "0:00");
4276
- return;
4277
- }
4278
- let e = Math.max(0, new Date(q(n).absoluteExpiresAt).getTime() - Date.now()), t = Math.floor(e / 6e4), i = Math.floor(e % 6e4 / 1e3);
4279
- B(r, `${t}:${String(i).padStart(2, "0")}`);
4280
- }
4281
- o();
4282
- let s = setInterval(o, 1e3);
4283
- Qr(() => clearInterval(s));
4284
- let c = /* @__PURE__ */ L(() => q(n)?.items.length ?? 0);
4285
- var l = gr(), u = H(l), d = (e) => {
4286
- var t = po(), n = U(V(t), 2), i = V(n, !0);
4538
+ i(), un(() => Ri((e) => {
4539
+ e.type === "cart:updated" && "cart" in e && B(n, e.cart, !0);
4540
+ }));
4541
+ function a() {
4542
+ B(r, q(n) ? Ua(Wa(q(n)).getTime() - Date.now()) : Ua(0), !0);
4543
+ }
4544
+ a();
4545
+ let o = setInterval(a, 1e3);
4546
+ ti(() => clearInterval(o));
4547
+ let s = /* @__PURE__ */ L(() => q(n)?.items.length ?? 0);
4548
+ var c = vr(), l = H(c), u = (e) => {
4549
+ var t = Bo(), n = U(V(t), 2), i = V(n, !0);
4287
4550
  M(n);
4288
4551
  var a = U(n, 2), o = V(a, !0);
4289
4552
  M(a), M(t), W(() => {
4290
- Z(i, q(c)), Z(o, q(r));
4291
- }), J("click", t, () => Oi({ type: "modal:open" })), X(e, t);
4553
+ Z(i, q(s)), Z(o, q(r));
4554
+ }), J("click", t, () => $({ type: "modal:open" })), X(e, t);
4292
4555
  };
4293
- Q(u, (e) => {
4294
- q(n) && q(n).items.length > 0 && e(d);
4295
- }), X(e, l), F();
4556
+ Q(l, (e) => {
4557
+ q(n) && q(n).items.length > 0 && e(u);
4558
+ }), X(e, c), F();
4296
4559
  }
4297
- cr(["click"]);
4560
+ ur(["click"]);
4298
4561
  //#endregion
4299
4562
  //#region src/lib/CartOverview.svelte
4300
- function ho(e, t) {
4301
- var n = gr(), r = H(n), i = (e) => {
4302
- mo(e, {
4563
+ function Ho(e, t) {
4564
+ var n = vr(), r = H(n), i = (e) => {
4565
+ Vo(e, {
4303
4566
  get api() {
4304
4567
  return t.api;
4305
4568
  },
@@ -4308,7 +4571,7 @@ function ho(e, t) {
4308
4571
  }
4309
4572
  });
4310
4573
  }, a = (e) => {
4311
- fo(e, {
4574
+ zo(e, {
4312
4575
  get api() {
4313
4576
  return t.api;
4314
4577
  },
@@ -4323,18 +4586,18 @@ function ho(e, t) {
4323
4586
  }
4324
4587
  //#endregion
4325
4588
  //#region src/lib/index.ts
4326
- function go(e) {
4327
- let t = new _i(e.apiBaseUrl ?? ""), n = new bi(t), r = new Si(t);
4589
+ function Uo(e) {
4590
+ let t = new Ti(e.apiBaseUrl ?? ""), n = new Oi(t), r = new Ii(t);
4328
4591
  return n.startBackgroundRefresh(), {
4329
4592
  api: t,
4330
4593
  sessionManager: n,
4331
4594
  cartManager: r
4332
4595
  };
4333
4596
  }
4334
- async function _o(e, t) {
4335
- let { api: n, sessionManager: r, cartManager: i } = go(t);
4597
+ async function Wo(e, t) {
4598
+ let { api: n, sessionManager: r, cartManager: i } = Uo(t);
4336
4599
  await r.ensureSession(t.checkoutKey ?? "");
4337
- let a = _r(Ea, {
4600
+ let a = yr(Ha, {
4338
4601
  target: e,
4339
4602
  props: {
4340
4603
  api: n,
@@ -4344,76 +4607,56 @@ async function _o(e, t) {
4344
4607
  autoSelectSingleTimeSlot: t.autoSelectSingleTimeSlot ?? !1,
4345
4608
  onCancel: t.onCancel
4346
4609
  }
4610
+ }), o = Ri((e) => {
4611
+ e.type === "cart:change" && t.onCartChange && t.onCartChange({
4612
+ itemCount: e.itemCount ?? 0,
4613
+ cartItemId: e.cartItemId ?? "",
4614
+ totalFormatted: e.totalFormatted ?? ""
4615
+ }), e.type === "cart:updated" && "cart" in e && t.onCartUpdated?.(e.cart), e.type === "cart:expired" && t.onCartExpired?.();
4347
4616
  });
4348
- function o(e) {
4349
- let n;
4350
- try {
4351
- n = typeof e.data == "string" ? JSON.parse(e.data) : e.data;
4352
- } catch {
4353
- return;
4354
- }
4355
- n?.type && (n.type === "cart:change" && t.onCartChange && t.onCartChange({
4356
- itemCount: n.itemCount ?? 0,
4357
- cartItemId: n.cartItemId ?? "",
4358
- totalFormatted: n.totalFormatted ?? ""
4359
- }), n.type === "cart:updated" && "cart" in n && t.onCartUpdated?.(n.cart));
4360
- }
4361
- return window.addEventListener("message", o), { destroy() {
4362
- window.removeEventListener("message", o), r.stop(), xr(a);
4617
+ return { destroy() {
4618
+ o(), r.stop(), Cr(a);
4363
4619
  } };
4364
4620
  }
4365
- async function vo(e, t) {
4366
- let { api: n, sessionManager: r } = go(t);
4621
+ async function Go(e, t) {
4622
+ let { api: n, sessionManager: r, cartManager: i } = Uo(t);
4367
4623
  await r.ensureSession(t.checkoutKey ?? "");
4368
- let i = _r(co, {
4624
+ let a = yr(Io, {
4369
4625
  target: e,
4370
4626
  props: {
4371
4627
  api: n,
4628
+ cartManager: i,
4372
4629
  wizardPages: t.wizardPages,
4373
4630
  editPages: t.editPages,
4374
4631
  autoSelectSingleTimeSlot: t.autoSelectSingleTimeSlot ?? !1
4375
4632
  }
4633
+ }), o = Ri((e) => {
4634
+ e.type === "modal:close" && t.onClose && t.onClose(), e.type === "order:complete" && t.onOrderConfirmed && t.onOrderConfirmed({
4635
+ cartToken: e.cartToken ?? "",
4636
+ value: e.value ?? 0,
4637
+ currency: e.currency ?? "ZAR"
4638
+ }), e.type === "cart:updated" && "cart" in e && t.onCartUpdated?.(e.cart), e.type === "cart:expired" && t.onCartExpired?.();
4376
4639
  });
4377
- function a(e) {
4378
- let n;
4379
- try {
4380
- n = typeof e.data == "string" ? JSON.parse(e.data) : e.data;
4381
- } catch {
4382
- return;
4383
- }
4384
- n?.type && (n.type === "modal:close" && t.onClose && t.onClose(), n.type === "order:complete" && t.onOrderConfirmed && t.onOrderConfirmed({
4385
- cartToken: n.cartToken ?? "",
4386
- value: n.value ?? 0,
4387
- currency: n.currency ?? "ZAR"
4388
- }), n.type === "cart:updated" && "cart" in n && t.onCartUpdated?.(n.cart));
4389
- }
4390
- return window.addEventListener("message", a), { destroy() {
4391
- window.removeEventListener("message", a), r.stop(), xr(i);
4640
+ return { destroy() {
4641
+ o(), r.stop(), Cr(a);
4392
4642
  } };
4393
4643
  }
4394
- async function yo(e, t) {
4395
- let { api: n, sessionManager: r, cartManager: i } = go(t);
4644
+ async function Ko(e, t) {
4645
+ let { api: n, sessionManager: r, cartManager: i } = Uo(t);
4396
4646
  await r.ensureSession(t.checkoutKey ?? "");
4397
- let a = _r(ho, {
4647
+ let a = yr(Ho, {
4398
4648
  target: e,
4399
4649
  props: {
4400
4650
  api: n,
4401
4651
  cartManager: i,
4402
4652
  display: t.display ?? "bar"
4403
4653
  }
4654
+ }), o = Ri((e) => {
4655
+ e.type === "modal:open" && t.onCheckout && t.onCheckout(), e.type === "cart:updated" && "cart" in e && t.onCartUpdated?.(e.cart), e.type === "cart:expired" && t.onCartExpired?.();
4404
4656
  });
4405
- function o(e) {
4406
- let n;
4407
- try {
4408
- n = typeof e.data == "string" ? JSON.parse(e.data) : e.data;
4409
- } catch {
4410
- return;
4411
- }
4412
- n?.type && (n.type === "modal:open" && t.onCheckout && t.onCheckout(), n.type === "cart:updated" && "cart" in n && t.onCartUpdated?.(n.cart));
4413
- }
4414
- return window.addEventListener("message", o), { destroy() {
4415
- window.removeEventListener("message", o), r.stop(), xr(a);
4657
+ return { destroy() {
4658
+ o(), r.stop(), Cr(a);
4416
4659
  } };
4417
4660
  }
4418
4661
  //#endregion
4419
- export { _i as ApiClient, gi as ApiError, fo as CartBar, Si as CartManager, ho as CartOverview, mo as CartOverviewButton, co as Checkout, Ci as DEFAULT_WIZARD_PAGES, bi as SessionManager, Ea as TicketConfigurator, yo as mountCartOverview, vo as mountCheckout, _o as mountConfigurator, Di as resolveEditPages, Ti as resolveWizardPages };
4662
+ export { Ti as ApiClient, yi as ApiError, zo as CartBar, Ii as CartManager, Ho as CartOverview, Vo as CartOverviewButton, Io as Checkout, zi as DEFAULT_WIZARD_PAGES, Oi as SessionManager, Ha as TicketConfigurator, Ko as mountCartOverview, Go as mountCheckout, Wo as mountConfigurator, Ui as resolveEditPages, Vi as resolveWizardPages };