@code-collective/booking-widget 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -1
- package/dist/booking-widget.css +1 -1
- package/dist/booking-widget.js +411 -384
- package/dist/booking-widget.min.js +16 -7
- package/dist/booking-widget.umd.cjs +2 -2
- package/package.json +1 -1
- package/src/lib/CartBar.svelte +4 -11
- package/src/lib/CartOverviewButton.svelte +4 -12
- package/src/lib/Checkout.svelte +12 -13
- package/src/lib/CheckoutModal.svelte +122 -30
- package/src/lib/EditBookingView.svelte +15 -4
- package/src/lib/PaymentPage.svelte +59 -61
- package/src/lib/ResultView.svelte +43 -3
- package/src/lib/TicketConfigurator.svelte +25 -3
- package/src/lib/api.ts +20 -2
- package/src/lib/cart-manager.ts +19 -6
- package/src/lib/client-types.ts +6 -0
- package/src/lib/elements/bw-cart.svelte +3 -12
- package/src/lib/elements/bw-checkout.svelte +9 -16
- package/src/lib/elements/bw-configurator.svelte +3 -13
- package/src/lib/elements/register.ts +3 -5
- package/src/lib/generated-types.ts +1 -0
- package/src/lib/index.ts +12 -28
- package/src/lib/messages.ts +63 -3
package/dist/booking-widget.js
CHANGED
|
@@ -2417,10 +2417,18 @@ function hi(e) {
|
|
|
2417
2417
|
//#region src/lib/api.ts
|
|
2418
2418
|
var gi = class extends Error {
|
|
2419
2419
|
status;
|
|
2420
|
-
|
|
2421
|
-
|
|
2420
|
+
body;
|
|
2421
|
+
constructor(e, t) {
|
|
2422
|
+
super(`API error ${e}`), this.status = e, this.body = t;
|
|
2423
|
+
}
|
|
2424
|
+
get code() {
|
|
2425
|
+
return typeof this.body == "object" && this.body !== null && "error" in this.body ? String(this.body.error) : void 0;
|
|
2422
2426
|
}
|
|
2423
|
-
}
|
|
2427
|
+
};
|
|
2428
|
+
function _i(e) {
|
|
2429
|
+
return e instanceof gi && e.status === 400 && e.code === "PRICE_MISMATCH";
|
|
2430
|
+
}
|
|
2431
|
+
var vi = class {
|
|
2424
2432
|
sessionToken = "";
|
|
2425
2433
|
cartToken = "";
|
|
2426
2434
|
client;
|
|
@@ -2428,7 +2436,7 @@ var gi = class extends Error {
|
|
|
2428
2436
|
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) });
|
|
2429
2437
|
}
|
|
2430
2438
|
unwrap(e) {
|
|
2431
|
-
if (e.data === void 0) throw new gi(e.response.status);
|
|
2439
|
+
if (e.data === void 0) throw new gi(e.response.status, e.error);
|
|
2432
2440
|
return e.data;
|
|
2433
2441
|
}
|
|
2434
2442
|
async startSession(e) {
|
|
@@ -2487,7 +2495,7 @@ var gi = class extends Error {
|
|
|
2487
2495
|
async confirmCart() {
|
|
2488
2496
|
return this.unwrap(await this.client.POST("/v1/checkout/cart/confirm"));
|
|
2489
2497
|
}
|
|
2490
|
-
},
|
|
2498
|
+
}, yi = 3e5, bi = 12e4, xi = class {
|
|
2491
2499
|
api;
|
|
2492
2500
|
sessions = /* @__PURE__ */ new Map();
|
|
2493
2501
|
intervalId = null;
|
|
@@ -2502,7 +2510,7 @@ var gi = class extends Error {
|
|
|
2502
2510
|
return this.sessions.set(e, n), this.activeCheckoutKey = e, n;
|
|
2503
2511
|
}
|
|
2504
2512
|
startBackgroundRefresh() {
|
|
2505
|
-
this.intervalId ||= setInterval(() => this.refreshExpiringSessions(),
|
|
2513
|
+
this.intervalId ||= setInterval(() => this.refreshExpiringSessions(), yi);
|
|
2506
2514
|
}
|
|
2507
2515
|
stop() {
|
|
2508
2516
|
this.intervalId &&= (clearInterval(this.intervalId), null);
|
|
@@ -2514,7 +2522,7 @@ var gi = class extends Error {
|
|
|
2514
2522
|
return new Date(e.expiresAt ?? 0).getTime() <= Date.now();
|
|
2515
2523
|
}
|
|
2516
2524
|
isExpiringSoon(e) {
|
|
2517
|
-
return new Date(e.refreshAfter ?? 0).getTime() <= Date.now() +
|
|
2525
|
+
return new Date(e.refreshAfter ?? 0).getTime() <= Date.now() + bi;
|
|
2518
2526
|
}
|
|
2519
2527
|
async refreshExpiringSessions() {
|
|
2520
2528
|
for (let [e, t] of this.sessions) {
|
|
@@ -2531,7 +2539,7 @@ var gi = class extends Error {
|
|
|
2531
2539
|
}
|
|
2532
2540
|
}
|
|
2533
2541
|
}
|
|
2534
|
-
},
|
|
2542
|
+
}, Si = "morii-checkout-cart", Ci = typeof sessionStorage < "u" ? sessionStorage : null, wi = class {
|
|
2535
2543
|
api;
|
|
2536
2544
|
cart = null;
|
|
2537
2545
|
constructor(e) {
|
|
@@ -2549,9 +2557,9 @@ var gi = class extends Error {
|
|
|
2549
2557
|
return this.cart = e, this.saveToStorage(), e;
|
|
2550
2558
|
}
|
|
2551
2559
|
reset() {
|
|
2552
|
-
this.cart = null;
|
|
2560
|
+
this.cart = null, this.api.cartToken = "";
|
|
2553
2561
|
try {
|
|
2554
|
-
|
|
2562
|
+
Ci?.removeItem(Si);
|
|
2555
2563
|
} catch {}
|
|
2556
2564
|
}
|
|
2557
2565
|
isExpired() {
|
|
@@ -2564,16 +2572,16 @@ var gi = class extends Error {
|
|
|
2564
2572
|
absoluteExpiresAt: this.cart.absoluteExpiresAt ?? ""
|
|
2565
2573
|
};
|
|
2566
2574
|
try {
|
|
2567
|
-
|
|
2575
|
+
Ci?.setItem(Si, JSON.stringify(e));
|
|
2568
2576
|
} catch {}
|
|
2569
2577
|
}
|
|
2570
2578
|
loadFromStorage() {
|
|
2571
2579
|
try {
|
|
2572
|
-
let e =
|
|
2580
|
+
let e = Ci?.getItem(Si);
|
|
2573
2581
|
if (!e) return;
|
|
2574
2582
|
let t = JSON.parse(e);
|
|
2575
2583
|
if (new Date(t.absoluteExpiresAt).getTime() <= Date.now()) {
|
|
2576
|
-
|
|
2584
|
+
Ci?.removeItem(Si);
|
|
2577
2585
|
return;
|
|
2578
2586
|
}
|
|
2579
2587
|
this.cart = {
|
|
@@ -2584,13 +2592,35 @@ var gi = class extends Error {
|
|
|
2584
2592
|
}, this.api.cartToken = t.cartToken;
|
|
2585
2593
|
} catch {}
|
|
2586
2594
|
}
|
|
2587
|
-
}
|
|
2595
|
+
}, Ti = /* @__PURE__ */ new Set([
|
|
2596
|
+
"cart:change",
|
|
2597
|
+
"cart:updated",
|
|
2598
|
+
"modal:open",
|
|
2599
|
+
"modal:close",
|
|
2600
|
+
"order:complete"
|
|
2601
|
+
]);
|
|
2602
|
+
function Ei(e) {
|
|
2603
|
+
window.parent?.postMessage(JSON.stringify(e), window.location.origin);
|
|
2604
|
+
}
|
|
2605
|
+
function Di(e) {
|
|
2606
|
+
function t(t) {
|
|
2607
|
+
if (t.source !== window || t.origin !== window.location.origin) return;
|
|
2608
|
+
let n;
|
|
2609
|
+
try {
|
|
2610
|
+
n = typeof t.data == "string" ? JSON.parse(t.data) : t.data;
|
|
2611
|
+
} catch {
|
|
2612
|
+
return;
|
|
2613
|
+
}
|
|
2614
|
+
typeof n?.type != "string" || !Ti.has(n.type) || e(n);
|
|
2615
|
+
}
|
|
2616
|
+
return window.addEventListener("message", t), () => window.removeEventListener("message", t);
|
|
2617
|
+
}
|
|
2588
2618
|
//#endregion
|
|
2589
2619
|
//#region node_modules/svelte/src/internal/disclose-version.js
|
|
2590
2620
|
typeof window < "u" && ((window.__svelte ??= {}).v ??= /* @__PURE__ */ new Set()).add("5");
|
|
2591
2621
|
//#endregion
|
|
2592
2622
|
//#region src/lib/config.ts
|
|
2593
|
-
var
|
|
2623
|
+
var Oi = [
|
|
2594
2624
|
{
|
|
2595
2625
|
title: "Option",
|
|
2596
2626
|
widgets: ["option", "age-category"]
|
|
@@ -2603,8 +2633,8 @@ var Ci = [
|
|
|
2603
2633
|
title: "Pickup",
|
|
2604
2634
|
widgets: ["pickup"]
|
|
2605
2635
|
}
|
|
2606
|
-
],
|
|
2607
|
-
"option-first":
|
|
2636
|
+
], ki = {
|
|
2637
|
+
"option-first": Oi,
|
|
2608
2638
|
"date-first": [
|
|
2609
2639
|
{
|
|
2610
2640
|
title: "Age & capacity",
|
|
@@ -2624,16 +2654,16 @@ var Ci = [
|
|
|
2624
2654
|
}
|
|
2625
2655
|
]
|
|
2626
2656
|
};
|
|
2627
|
-
function
|
|
2628
|
-
if (!e) return
|
|
2629
|
-
if (e in
|
|
2657
|
+
function Ai(e) {
|
|
2658
|
+
if (!e) return Oi;
|
|
2659
|
+
if (e in ki) return ki[e];
|
|
2630
2660
|
try {
|
|
2631
2661
|
let t = JSON.parse(e);
|
|
2632
2662
|
if (Array.isArray(t) && t.length > 0 && t[0].widgets) return t;
|
|
2633
2663
|
} catch {}
|
|
2634
|
-
return
|
|
2664
|
+
return Oi;
|
|
2635
2665
|
}
|
|
2636
|
-
var
|
|
2666
|
+
var ji = {
|
|
2637
2667
|
"option-first": [
|
|
2638
2668
|
{
|
|
2639
2669
|
title: "Option",
|
|
@@ -2671,56 +2701,51 @@ var Ei = {
|
|
|
2671
2701
|
}
|
|
2672
2702
|
]
|
|
2673
2703
|
};
|
|
2674
|
-
function
|
|
2704
|
+
function Mi(e, t) {
|
|
2675
2705
|
if (t) {
|
|
2676
|
-
if (t in
|
|
2706
|
+
if (t in ji) return ji[t];
|
|
2677
2707
|
try {
|
|
2678
2708
|
let e = JSON.parse(t);
|
|
2679
2709
|
if (Array.isArray(e) && e.length > 0 && e[0].widgets) return e;
|
|
2680
2710
|
} catch {}
|
|
2681
2711
|
}
|
|
2682
|
-
let n = e ? e in
|
|
2683
|
-
return n ?
|
|
2684
|
-
}
|
|
2685
|
-
//#endregion
|
|
2686
|
-
//#region src/lib/messages.ts
|
|
2687
|
-
function Oi(e) {
|
|
2688
|
-
window.parent?.postMessage(JSON.stringify(e), "*");
|
|
2712
|
+
let n = e ? e in ki ? e : null : "option-first";
|
|
2713
|
+
return n ? ji[n] : Ai(e);
|
|
2689
2714
|
}
|
|
2690
2715
|
//#endregion
|
|
2691
2716
|
//#region src/lib/currency.ts
|
|
2692
|
-
var
|
|
2717
|
+
var Ni = {
|
|
2693
2718
|
ZAR: "R",
|
|
2694
2719
|
USD: "$",
|
|
2695
2720
|
EUR: "€",
|
|
2696
2721
|
GBP: "£"
|
|
2697
2722
|
};
|
|
2698
|
-
function
|
|
2723
|
+
function Pi(e, t, n, r = 0) {
|
|
2699
2724
|
let i = e / 10 ** n;
|
|
2700
|
-
return `${
|
|
2725
|
+
return `${Ni[t] ?? t}\u00A0${i.toFixed(r)}`;
|
|
2701
2726
|
}
|
|
2702
2727
|
//#endregion
|
|
2703
2728
|
//#region src/lib/SelectableCard.svelte
|
|
2704
|
-
var
|
|
2705
|
-
function
|
|
2706
|
-
var n =
|
|
2729
|
+
var Fi = /* @__PURE__ */ Y("<div class=\"leading\"><!></div>"), Ii = /* @__PURE__ */ Y("<div class=\"heading svelte-idp8p9\"> </div>"), Li = /* @__PURE__ */ Y("<div class=\"body svelte-idp8p9\"> </div>"), Ri = /* @__PURE__ */ Y("<button><div class=\"layout svelte-idp8p9\"><!> <div class=\"text svelte-idp8p9\"><!> <!> <!></div> <span></span></div></button>");
|
|
2730
|
+
function zi(e, t) {
|
|
2731
|
+
var n = Ri();
|
|
2707
2732
|
let r;
|
|
2708
2733
|
var i = V(n), a = V(i), o = (e) => {
|
|
2709
|
-
var n =
|
|
2734
|
+
var n = Fi();
|
|
2710
2735
|
Mr(V(n), () => t.leading), M(n), X(e, n);
|
|
2711
2736
|
};
|
|
2712
2737
|
Q(a, (e) => {
|
|
2713
2738
|
t.leading && e(o);
|
|
2714
2739
|
});
|
|
2715
2740
|
var s = U(a, 2), c = V(s), l = (e) => {
|
|
2716
|
-
var n =
|
|
2741
|
+
var n = Ii(), r = V(n, !0);
|
|
2717
2742
|
M(n), W(() => Z(r, t.heading)), X(e, n);
|
|
2718
2743
|
};
|
|
2719
2744
|
Q(c, (e) => {
|
|
2720
2745
|
t.heading && e(l);
|
|
2721
2746
|
});
|
|
2722
2747
|
var u = U(c, 2), d = (e) => {
|
|
2723
|
-
var n =
|
|
2748
|
+
var n = Li(), r = V(n, !0);
|
|
2724
2749
|
M(n), W(() => Z(r, t.body)), X(e, n);
|
|
2725
2750
|
};
|
|
2726
2751
|
Q(u, (e) => {
|
|
@@ -2744,19 +2769,19 @@ function Fi(e, t) {
|
|
|
2744
2769
|
cr(["click"]);
|
|
2745
2770
|
//#endregion
|
|
2746
2771
|
//#region src/lib/OptionCard.svelte
|
|
2747
|
-
var
|
|
2748
|
-
function
|
|
2772
|
+
var Bi = /* @__PURE__ */ Y("<p class=\"pricing svelte-19wqhng\"> </p>");
|
|
2773
|
+
function Vi(e, t) {
|
|
2749
2774
|
P(t, !0);
|
|
2750
2775
|
let n = /* @__PURE__ */ L(() => () => {
|
|
2751
2776
|
let e = [];
|
|
2752
2777
|
for (let n of t.option.units) {
|
|
2753
2778
|
if (!n.pricing || n.pricing.length === 0) continue;
|
|
2754
2779
|
let t = n.pricing[0];
|
|
2755
|
-
e.push(`${n.title ?? n.id} from ${
|
|
2780
|
+
e.push(`${n.title ?? n.id} from ${Pi(t.retail, t.currency, t.currencyPrecision)}`);
|
|
2756
2781
|
}
|
|
2757
2782
|
return e.join(", ");
|
|
2758
2783
|
});
|
|
2759
|
-
|
|
2784
|
+
zi(e, {
|
|
2760
2785
|
get selected() {
|
|
2761
2786
|
return t.selected;
|
|
2762
2787
|
},
|
|
@@ -2771,7 +2796,7 @@ function Li(e, t) {
|
|
|
2771
2796
|
},
|
|
2772
2797
|
children: (e, t) => {
|
|
2773
2798
|
var r = gr(), i = H(r), a = (e) => {
|
|
2774
|
-
var t =
|
|
2799
|
+
var t = Bi(), r = V(t, !0);
|
|
2775
2800
|
M(t), W((e) => Z(r, e), [() => q(n)()]), X(e, t);
|
|
2776
2801
|
}, o = /* @__PURE__ */ L(() => q(n)());
|
|
2777
2802
|
Q(i, (e) => {
|
|
@@ -2783,13 +2808,13 @@ function Li(e, t) {
|
|
|
2783
2808
|
}
|
|
2784
2809
|
//#endregion
|
|
2785
2810
|
//#region src/lib/UnitCounter.svelte
|
|
2786
|
-
var
|
|
2787
|
-
function
|
|
2811
|
+
var Hi = /* @__PURE__ */ Y("<span class=\"price svelte-bzhcxd\"> </span>"), Ui = /* @__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\">−</button> <span class=\"qty svelte-bzhcxd\"> </span> <button class=\"step-btn svelte-bzhcxd\" aria-label=\"Increase\">+</button></div></div>");
|
|
2812
|
+
function Wi(e, t) {
|
|
2788
2813
|
P(t, !0);
|
|
2789
2814
|
let n = /* @__PURE__ */ L(() => () => {
|
|
2790
2815
|
if (!t.unit.pricing || t.unit.pricing.length === 0) return "";
|
|
2791
2816
|
let e = t.unit.pricing[0];
|
|
2792
|
-
return `from ${
|
|
2817
|
+
return `from ${Pi(e.retail, e.currency, e.currencyPrecision)}`;
|
|
2793
2818
|
});
|
|
2794
2819
|
function r() {
|
|
2795
2820
|
t.quantity > 0 && t.onChange(t.quantity - 1);
|
|
@@ -2797,10 +2822,10 @@ function Bi(e, t) {
|
|
|
2797
2822
|
function i() {
|
|
2798
2823
|
t.onChange(t.quantity + 1);
|
|
2799
2824
|
}
|
|
2800
|
-
var a =
|
|
2825
|
+
var a = Ui(), o = V(a), s = V(o), c = V(s, !0);
|
|
2801
2826
|
M(s);
|
|
2802
2827
|
var l = U(s, 2), u = (e) => {
|
|
2803
|
-
var t =
|
|
2828
|
+
var t = Hi(), r = V(t, !0);
|
|
2804
2829
|
M(t), W((e) => Z(r, e), [() => q(n)()]), X(e, t);
|
|
2805
2830
|
}, d = /* @__PURE__ */ L(() => q(n)());
|
|
2806
2831
|
Q(l, (e) => {
|
|
@@ -2816,8 +2841,8 @@ function Bi(e, t) {
|
|
|
2816
2841
|
cr(["click"]);
|
|
2817
2842
|
//#endregion
|
|
2818
2843
|
//#region src/lib/AvailabilityCalendar.svelte
|
|
2819
|
-
var
|
|
2820
|
-
function
|
|
2844
|
+
var Gi = /* @__PURE__ */ Y("<div class=\"loading-center\"><div class=\"spinner\"></div></div>"), Ki = /* @__PURE__ */ Y("<span class=\"svelte-10gu2tq\"> </span>"), qi = /* @__PURE__ */ Y("<span class=\"cell empty svelte-10gu2tq\"></span>"), Ji = /* @__PURE__ */ Y("<span class=\"day-price svelte-10gu2tq\"> </span>"), Yi = /* @__PURE__ */ Y("<button><span class=\"day-num svelte-10gu2tq\"> </span> <!></button>"), Xi = /* @__PURE__ */ Y("<div class=\"header svelte-10gu2tq\"><button class=\"nav-btn svelte-10gu2tq\" aria-label=\"Previous month\">‹</button> <span class=\"month svelte-10gu2tq\"> </span> <button class=\"nav-btn svelte-10gu2tq\" aria-label=\"Next month\">›</button></div> <div class=\"day-names svelte-10gu2tq\"></div> <div class=\"grid svelte-10gu2tq\"></div>", 1), Zi = /* @__PURE__ */ Y("<div class=\"calendar svelte-10gu2tq\"><!></div>");
|
|
2845
|
+
function Qi(e, t) {
|
|
2821
2846
|
P(t, !0);
|
|
2822
2847
|
let n = [
|
|
2823
2848
|
"SU",
|
|
@@ -2850,7 +2875,7 @@ function Ji(e, t) {
|
|
|
2850
2875
|
if (!n || !n.available) return "";
|
|
2851
2876
|
if (n.unitPricing && n.unitPricing.length > 0) {
|
|
2852
2877
|
let e = n.unitPricing[0];
|
|
2853
|
-
return
|
|
2878
|
+
return Pi(e.retail, e.currency, e.currencyPrecision);
|
|
2854
2879
|
}
|
|
2855
2880
|
return "";
|
|
2856
2881
|
}
|
|
@@ -2864,30 +2889,30 @@ function Ji(e, t) {
|
|
|
2864
2889
|
function f(e) {
|
|
2865
2890
|
c(e) !== "available" || d(e) || t.onDateSelected(e);
|
|
2866
2891
|
}
|
|
2867
|
-
var p =
|
|
2868
|
-
X(e,
|
|
2892
|
+
var p = Zi(), m = V(p), h = (e) => {
|
|
2893
|
+
X(e, Gi());
|
|
2869
2894
|
}, g = (e) => {
|
|
2870
|
-
var t =
|
|
2895
|
+
var t = Xi(), r = H(t), p = V(r), m = U(p, 2), h = V(m, !0);
|
|
2871
2896
|
M(m);
|
|
2872
2897
|
var g = U(m, 2);
|
|
2873
2898
|
M(r);
|
|
2874
2899
|
var _ = U(r, 2);
|
|
2875
2900
|
Er(_, 21, () => n, $, (e, t) => {
|
|
2876
|
-
var n =
|
|
2901
|
+
var n = Ki(), r = V(n, !0);
|
|
2877
2902
|
M(n), W(() => Z(r, q(t))), X(e, n);
|
|
2878
2903
|
}), M(_);
|
|
2879
2904
|
var v = U(_, 2);
|
|
2880
2905
|
Er(v, 21, () => q(i)(), $, (e, t) => {
|
|
2881
2906
|
var n = gr(), r = H(n), i = (e) => {
|
|
2882
|
-
X(e,
|
|
2907
|
+
X(e, qi());
|
|
2883
2908
|
}, a = (e) => {
|
|
2884
2909
|
let n = /* @__PURE__ */ L(() => c(q(t))), r = /* @__PURE__ */ L(() => d(q(t))), i = /* @__PURE__ */ L(() => l(q(t)));
|
|
2885
|
-
var a =
|
|
2910
|
+
var a = Yi();
|
|
2886
2911
|
let o;
|
|
2887
2912
|
var s = V(a), p = V(s, !0);
|
|
2888
2913
|
M(s);
|
|
2889
2914
|
var m = U(s, 2), h = (e) => {
|
|
2890
|
-
var t =
|
|
2915
|
+
var t = Ji(), n = V(t, !0);
|
|
2891
2916
|
M(t), W(() => Z(n, q(i))), X(e, t);
|
|
2892
2917
|
};
|
|
2893
2918
|
Q(m, (e) => {
|
|
@@ -2913,20 +2938,20 @@ function Ji(e, t) {
|
|
|
2913
2938
|
cr(["click"]);
|
|
2914
2939
|
//#endregion
|
|
2915
2940
|
//#region src/lib/TimeSlotPicker.svelte
|
|
2916
|
-
var
|
|
2917
|
-
function
|
|
2941
|
+
var $i = /* @__PURE__ */ Y("<div class=\"loading-center\"><div class=\"spinner\"></div></div>"), ea = /* @__PURE__ */ Y("<p class=\"hint svelte-1hu99a4\">All-day availability</p>"), ta = /* @__PURE__ */ Y("<div class=\"slots svelte-1hu99a4\"></div>");
|
|
2942
|
+
function na(e, t) {
|
|
2918
2943
|
P(t, !0);
|
|
2919
2944
|
var n = gr(), r = H(n), i = (e) => {
|
|
2920
|
-
X(e,
|
|
2945
|
+
X(e, $i());
|
|
2921
2946
|
}, a = (e) => {
|
|
2922
|
-
X(e,
|
|
2947
|
+
X(e, ea());
|
|
2923
2948
|
}, o = (e) => {
|
|
2924
|
-
var n =
|
|
2949
|
+
var n = ta();
|
|
2925
2950
|
Er(n, 21, () => t.timeSlots, $, (e, n) => {
|
|
2926
2951
|
let r = /* @__PURE__ */ L(() => pi(q(n).localDateTimeStart));
|
|
2927
2952
|
{
|
|
2928
2953
|
let i = /* @__PURE__ */ L(() => t.selectedTime === q(r)), a = /* @__PURE__ */ L(() => q(n).vacancies == null ? void 0 : `${q(n).vacancies} left`);
|
|
2929
|
-
|
|
2954
|
+
zi(e, {
|
|
2930
2955
|
get selected() {
|
|
2931
2956
|
return q(i);
|
|
2932
2957
|
},
|
|
@@ -2947,8 +2972,8 @@ function Qi(e, t) {
|
|
|
2947
2972
|
}
|
|
2948
2973
|
//#endregion
|
|
2949
2974
|
//#region src/lib/WizardPage.svelte
|
|
2950
|
-
var
|
|
2951
|
-
function
|
|
2975
|
+
var ra = /* @__PURE__ */ Y("<div class=\"wizard-header svelte-9w5z1v\"><h2 class=\"svelte-9w5z1v\">Buy Tickets</h2></div>"), ia = /* @__PURE__ */ Y("<span></span>"), aa = /* @__PURE__ */ Y("<div class=\"page-dots svelte-9w5z1v\"></div>"), oa = /* @__PURE__ */ Y("<div class=\"page-title-row svelte-9w5z1v\"><h3 class=\"page-title svelte-9w5z1v\"> </h3> <!></div>"), sa = /* @__PURE__ */ Y("<span> </span>"), ca = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><div class=\"option-list svelte-9w5z1v\"></div></div>"), la = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><div class=\"unit-list svelte-9w5z1v\"></div></div>"), ua = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><!></div>"), da = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><div class=\"pickup-list svelte-9w5z1v\"></div></div>"), fa = /* @__PURE__ */ Y("<!> <!> <!> <!> <!>", 1), pa = /* @__PURE__ */ Y("<div class=\"accordion-body svelte-9w5z1v\"></div>"), ma = /* @__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>"), ha = /* @__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 & Update</button></div>", 1), ga = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Options</h4> <div class=\"option-list svelte-9w5z1v\"></div></div>"), _a = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">How many tickets?</h4> <div class=\"unit-list svelte-9w5z1v\"></div></div>"), va = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Choose a date</h4> <!></div>"), ya = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Select a time</h4> <!></div>"), ba = /* @__PURE__ */ Y("<div class=\"section svelte-9w5z1v\"><h4 class=\"section-title\">Select pickup point</h4> <div class=\"pickup-list svelte-9w5z1v\"></div></div>"), xa = /* @__PURE__ */ Y("<button class=\"btn btn-secondary\"> </button>"), Sa = /* @__PURE__ */ Y("<div class=\"wizard-body svelte-9w5z1v\"></div> <div class=\"action-bar\"><!> <button class=\"btn btn-primary\"> <span class=\"arrow\">→</span></button></div>", 1), Ca = /* @__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>"), wa = /* @__PURE__ */ Y("<div class=\"wizard svelte-9w5z1v\"><!> <!> <!></div> <!>", 1);
|
|
2976
|
+
function Ta(e, t) {
|
|
2952
2977
|
P(t, !0);
|
|
2953
2978
|
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()));
|
|
2954
2979
|
function x(...e) {
|
|
@@ -3161,19 +3186,19 @@ function xa(e, t) {
|
|
|
3161
3186
|
currencyPrecision: a
|
|
3162
3187
|
});
|
|
3163
3188
|
}
|
|
3164
|
-
var A =
|
|
3165
|
-
X(e,
|
|
3189
|
+
var A = wa(), De = H(A), j = V(De), Oe = (e) => {
|
|
3190
|
+
X(e, ra());
|
|
3166
3191
|
};
|
|
3167
3192
|
Q(j, (e) => {
|
|
3168
3193
|
q(i) || e(Oe);
|
|
3169
3194
|
});
|
|
3170
3195
|
var ke = U(j, 2), je = (e) => {
|
|
3171
|
-
var t =
|
|
3196
|
+
var t = oa(), n = V(t), r = V(n, !0);
|
|
3172
3197
|
M(n);
|
|
3173
3198
|
var i = U(n, 2), a = (e) => {
|
|
3174
|
-
var t =
|
|
3199
|
+
var t = aa();
|
|
3175
3200
|
Er(t, 21, () => q(se)(), $, (e, t, n) => {
|
|
3176
|
-
var r =
|
|
3201
|
+
var r = ia();
|
|
3177
3202
|
let i;
|
|
3178
3203
|
W(() => i = Fr(r, 1, "dot svelte-9w5z1v", null, i, { active: n === q(o) })), X(e, r);
|
|
3179
3204
|
}), M(t), X(e, t);
|
|
@@ -3186,15 +3211,15 @@ function xa(e, t) {
|
|
|
3186
3211
|
q(i) || e(je);
|
|
3187
3212
|
});
|
|
3188
3213
|
var Me = U(ke, 2), Ne = (e) => {
|
|
3189
|
-
var n =
|
|
3214
|
+
var n = ha(), r = H(n);
|
|
3190
3215
|
Er(r, 21, () => q(me)(), $, (e, n, r) => {
|
|
3191
3216
|
let i = /* @__PURE__ */ L(() => q(n).widgets.some((e) => q(b).has(e)));
|
|
3192
|
-
var o =
|
|
3217
|
+
var o = ma();
|
|
3193
3218
|
let d;
|
|
3194
3219
|
var _ = V(o), v = V(_), x = V(v), S = V(x, !0);
|
|
3195
3220
|
M(x);
|
|
3196
3221
|
var w = U(x, 2), T = (e) => {
|
|
3197
|
-
var t =
|
|
3222
|
+
var t = sa();
|
|
3198
3223
|
let r;
|
|
3199
3224
|
var a = V(t, !0);
|
|
3200
3225
|
M(t), W((e) => {
|
|
@@ -3208,14 +3233,14 @@ function xa(e, t) {
|
|
|
3208
3233
|
let ne;
|
|
3209
3234
|
M(_);
|
|
3210
3235
|
var re = U(_, 2), ie = (e) => {
|
|
3211
|
-
var r =
|
|
3236
|
+
var r = pa();
|
|
3212
3237
|
Er(r, 21, () => q(n).widgets, $, (e, n) => {
|
|
3213
|
-
var r =
|
|
3214
|
-
var n =
|
|
3238
|
+
var r = fa(), i = H(r), o = (e) => {
|
|
3239
|
+
var n = ca(), r = V(n);
|
|
3215
3240
|
Er(r, 21, () => t.product.options, $, (e, t) => {
|
|
3216
3241
|
{
|
|
3217
3242
|
let n = /* @__PURE__ */ L(() => q(s)?.id === q(t).id);
|
|
3218
|
-
|
|
3243
|
+
Vi(e, {
|
|
3219
3244
|
get option() {
|
|
3220
3245
|
return q(t);
|
|
3221
3246
|
},
|
|
@@ -3231,11 +3256,11 @@ function xa(e, t) {
|
|
|
3231
3256
|
q(n) === "option" && !q(a) && e(o);
|
|
3232
3257
|
});
|
|
3233
3258
|
var d = U(i, 2), _ = (e) => {
|
|
3234
|
-
var t =
|
|
3259
|
+
var t = la(), n = V(t);
|
|
3235
3260
|
Er(n, 21, () => q(E)(), $, (e, t) => {
|
|
3236
3261
|
{
|
|
3237
3262
|
let n = /* @__PURE__ */ L(() => q(c)[q(t).id] ?? 0);
|
|
3238
|
-
|
|
3263
|
+
Wi(e, {
|
|
3239
3264
|
get unit() {
|
|
3240
3265
|
return q(t);
|
|
3241
3266
|
},
|
|
@@ -3251,8 +3276,8 @@ function xa(e, t) {
|
|
|
3251
3276
|
q(v) && e(_);
|
|
3252
3277
|
});
|
|
3253
3278
|
var y = U(d, 2), b = (e) => {
|
|
3254
|
-
var t =
|
|
3255
|
-
|
|
3279
|
+
var t = ua();
|
|
3280
|
+
Qi(V(t), {
|
|
3256
3281
|
get availabilityByDate() {
|
|
3257
3282
|
return q(p);
|
|
3258
3283
|
},
|
|
@@ -3269,8 +3294,8 @@ function xa(e, t) {
|
|
|
3269
3294
|
q(n) === "date" && q(C) && e(b);
|
|
3270
3295
|
});
|
|
3271
3296
|
var x = U(y, 2), S = (e) => {
|
|
3272
|
-
var t =
|
|
3273
|
-
|
|
3297
|
+
var t = ua();
|
|
3298
|
+
na(V(t), {
|
|
3274
3299
|
get timeSlots() {
|
|
3275
3300
|
return q(m);
|
|
3276
3301
|
},
|
|
@@ -3287,11 +3312,11 @@ function xa(e, t) {
|
|
|
3287
3312
|
q(n) === "time" && q(l) && !q(te) && e(S);
|
|
3288
3313
|
});
|
|
3289
3314
|
var w = U(x, 2), T = (e) => {
|
|
3290
|
-
var t =
|
|
3315
|
+
var t = da(), n = V(t);
|
|
3291
3316
|
Er(n, 21, () => q(s).pickupLocations, $, (e, t) => {
|
|
3292
3317
|
{
|
|
3293
3318
|
let n = /* @__PURE__ */ L(() => q(f)?.id === q(t).id), r = /* @__PURE__ */ L(() => q(t).title ?? q(t).id);
|
|
3294
|
-
|
|
3319
|
+
zi(e, {
|
|
3295
3320
|
get selected() {
|
|
3296
3321
|
return q(n);
|
|
3297
3322
|
},
|
|
@@ -3325,14 +3350,14 @@ function xa(e, t) {
|
|
|
3325
3350
|
var i = U(r, 2), o = V(i), d = U(o, 2);
|
|
3326
3351
|
M(i), W((e) => d.disabled = e, [() => !q(he)()]), J("click", o, we), J("click", d, Ee), X(e, n);
|
|
3327
3352
|
}, Pe = (e) => {
|
|
3328
|
-
var n =
|
|
3353
|
+
var n = Sa(), r = H(n);
|
|
3329
3354
|
Er(r, 21, () => q(le)()?.widgets ?? [], $, (e, n) => {
|
|
3330
|
-
var r =
|
|
3331
|
-
var n =
|
|
3355
|
+
var r = fa(), i = H(r), o = (e) => {
|
|
3356
|
+
var n = ga(), r = U(V(n), 2);
|
|
3332
3357
|
Er(r, 21, () => t.product.options, $, (e, t) => {
|
|
3333
3358
|
{
|
|
3334
3359
|
let n = /* @__PURE__ */ L(() => q(s)?.id === q(t).id);
|
|
3335
|
-
|
|
3360
|
+
Vi(e, {
|
|
3336
3361
|
get option() {
|
|
3337
3362
|
return q(t);
|
|
3338
3363
|
},
|
|
@@ -3348,11 +3373,11 @@ function xa(e, t) {
|
|
|
3348
3373
|
q(n) === "option" && !q(a) && e(o);
|
|
3349
3374
|
});
|
|
3350
3375
|
var d = U(i, 2), _ = (e) => {
|
|
3351
|
-
var t =
|
|
3376
|
+
var t = _a(), n = U(V(t), 2);
|
|
3352
3377
|
Er(n, 21, () => q(E)(), $, (e, t) => {
|
|
3353
3378
|
{
|
|
3354
3379
|
let n = /* @__PURE__ */ L(() => q(c)[q(t).id] ?? 0);
|
|
3355
|
-
|
|
3380
|
+
Wi(e, {
|
|
3356
3381
|
get unit() {
|
|
3357
3382
|
return q(t);
|
|
3358
3383
|
},
|
|
@@ -3368,8 +3393,8 @@ function xa(e, t) {
|
|
|
3368
3393
|
q(v) && e(_);
|
|
3369
3394
|
});
|
|
3370
3395
|
var y = U(d, 2), b = (e) => {
|
|
3371
|
-
var t =
|
|
3372
|
-
|
|
3396
|
+
var t = va();
|
|
3397
|
+
Qi(U(V(t), 2), {
|
|
3373
3398
|
get availabilityByDate() {
|
|
3374
3399
|
return q(p);
|
|
3375
3400
|
},
|
|
@@ -3386,8 +3411,8 @@ function xa(e, t) {
|
|
|
3386
3411
|
q(n) === "date" && q(C) && e(b);
|
|
3387
3412
|
});
|
|
3388
3413
|
var x = U(y, 2), S = (e) => {
|
|
3389
|
-
var t =
|
|
3390
|
-
|
|
3414
|
+
var t = ya();
|
|
3415
|
+
na(U(V(t), 2), {
|
|
3391
3416
|
get timeSlots() {
|
|
3392
3417
|
return q(m);
|
|
3393
3418
|
},
|
|
@@ -3404,11 +3429,11 @@ function xa(e, t) {
|
|
|
3404
3429
|
q(n) === "time" && q(l) && !q(te) && e(S);
|
|
3405
3430
|
});
|
|
3406
3431
|
var w = U(x, 2), T = (e) => {
|
|
3407
|
-
var t =
|
|
3432
|
+
var t = ba(), n = U(V(t), 2);
|
|
3408
3433
|
Er(n, 21, () => q(s).pickupLocations, $, (e, t) => {
|
|
3409
3434
|
{
|
|
3410
3435
|
let n = /* @__PURE__ */ L(() => q(f)?.id === q(t).id), r = /* @__PURE__ */ L(() => q(t).title ?? q(t).id);
|
|
3411
|
-
|
|
3436
|
+
zi(e, {
|
|
3412
3437
|
get selected() {
|
|
3413
3438
|
return q(n);
|
|
3414
3439
|
},
|
|
@@ -3428,7 +3453,7 @@ function xa(e, t) {
|
|
|
3428
3453
|
}), X(e, r);
|
|
3429
3454
|
}), M(r);
|
|
3430
3455
|
var i = U(r, 2), d = V(i), _ = (e) => {
|
|
3431
|
-
var t =
|
|
3456
|
+
var t = xa(), n = V(t, !0);
|
|
3432
3457
|
M(t), W(() => Z(n, q(o) > 0 ? "Back" : "Cancel")), J("click", t, Ce), X(e, t);
|
|
3433
3458
|
};
|
|
3434
3459
|
Q(d, (e) => {
|
|
@@ -3443,7 +3468,7 @@ function xa(e, t) {
|
|
|
3443
3468
|
q(i) ? e(Ne) : e(Pe, -1);
|
|
3444
3469
|
}), M(De);
|
|
3445
3470
|
var Fe = U(De, 2), N = (e) => {
|
|
3446
|
-
var t =
|
|
3471
|
+
var t = Ca(), n = V(t), r = U(V(n), 4), i = V(r), a = U(i, 2);
|
|
3447
3472
|
M(r), M(n), M(t), J("click", t, () => {
|
|
3448
3473
|
B(v, !1);
|
|
3449
3474
|
}), J("click", n, (e) => e.stopPropagation()), J("click", i, Te), J("click", a, () => {
|
|
@@ -3457,10 +3482,10 @@ function xa(e, t) {
|
|
|
3457
3482
|
cr(["click"]);
|
|
3458
3483
|
//#endregion
|
|
3459
3484
|
//#region src/lib/TicketConfigurator.svelte
|
|
3460
|
-
var
|
|
3461
|
-
function
|
|
3485
|
+
var Ea = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100vh\"><div class=\"spinner\"></div></div>"), Da = /* @__PURE__ */ Y("<p class=\"add-to-cart-error svelte-19qd5my\"> </p>"), Oa = /* @__PURE__ */ Y("<!> <!>", 1), ka = /* @__PURE__ */ Y("<div class=\"bw-widget svelte-19qd5my\"><!></div>");
|
|
3486
|
+
function Aa(e, t) {
|
|
3462
3487
|
P(t, !0);
|
|
3463
|
-
let n = Xr(t, "wizardPages", 3,
|
|
3488
|
+
let n = Xr(t, "wizardPages", 3, Oi), r = Xr(t, "autoSelectSingleTimeSlot", 3, !1), i = /* @__PURE__ */ z(null), a = /* @__PURE__ */ z(!0), o = /* @__PURE__ */ z(!1), s = /* @__PURE__ */ z(null);
|
|
3464
3489
|
async function c() {
|
|
3465
3490
|
B(i, await t.api.getProduct(t.productId), !0), B(a, !1);
|
|
3466
3491
|
}
|
|
@@ -3474,17 +3499,15 @@ function Ea(e, t) {
|
|
|
3474
3499
|
availabilityId: e.availabilityId,
|
|
3475
3500
|
localDate: e.localDate,
|
|
3476
3501
|
pickupPointId: e.pickupPointId,
|
|
3477
|
-
amount: e.totalPrice
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
}), i = Ai(e.totalPrice, e.currency, e.currencyPrecision, 2);
|
|
3481
|
-
Oi({
|
|
3502
|
+
amount: e.totalPrice
|
|
3503
|
+
}), i = Pi(e.totalPrice, e.currency, e.currencyPrecision, 2);
|
|
3504
|
+
Ei({
|
|
3482
3505
|
type: "cart:change",
|
|
3483
3506
|
itemCount: n.length,
|
|
3484
3507
|
cartItemId: r.id,
|
|
3485
3508
|
totalFormatted: i,
|
|
3486
3509
|
openCheckout: !0
|
|
3487
|
-
}),
|
|
3510
|
+
}), Ei({
|
|
3488
3511
|
type: "cart:updated",
|
|
3489
3512
|
cart: await t.api.getCart().catch(() => null)
|
|
3490
3513
|
});
|
|
@@ -3494,6 +3517,10 @@ function Ea(e, t) {
|
|
|
3494
3517
|
try {
|
|
3495
3518
|
await l(e);
|
|
3496
3519
|
} catch (n) {
|
|
3520
|
+
if (_i(n)) {
|
|
3521
|
+
await d();
|
|
3522
|
+
return;
|
|
3523
|
+
}
|
|
3497
3524
|
if (n instanceof gi && (n.status === 401 || n.status === 404)) {
|
|
3498
3525
|
t.cartManager.reset();
|
|
3499
3526
|
try {
|
|
@@ -3506,16 +3533,24 @@ function Ea(e, t) {
|
|
|
3506
3533
|
B(o, !1);
|
|
3507
3534
|
}
|
|
3508
3535
|
}
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3536
|
+
async function d() {
|
|
3537
|
+
B(s, "This ticket's price has changed since you started. Please check the updated price and try again.");
|
|
3538
|
+
try {
|
|
3539
|
+
await c();
|
|
3540
|
+
} catch {
|
|
3541
|
+
B(s, "This ticket's price has changed and we could not load the new one. Please reload the page.");
|
|
3542
|
+
}
|
|
3543
|
+
}
|
|
3544
|
+
var f = ka(), p = V(f), m = (e) => {
|
|
3545
|
+
X(e, Ea());
|
|
3546
|
+
}, h = (e) => {
|
|
3547
|
+
var a = Oa(), o = H(a), c = (e) => {
|
|
3548
|
+
var t = Da(), n = V(t, !0);
|
|
3514
3549
|
M(t), W(() => Z(n, q(s))), X(e, t);
|
|
3515
3550
|
};
|
|
3516
3551
|
Q(o, (e) => {
|
|
3517
3552
|
q(s) && e(c);
|
|
3518
|
-
}),
|
|
3553
|
+
}), Ta(U(o, 2), {
|
|
3519
3554
|
get product() {
|
|
3520
3555
|
return q(i);
|
|
3521
3556
|
},
|
|
@@ -3534,14 +3569,14 @@ function Ea(e, t) {
|
|
|
3534
3569
|
onComplete: u
|
|
3535
3570
|
}), X(e, a);
|
|
3536
3571
|
};
|
|
3537
|
-
Q(
|
|
3538
|
-
q(a) || q(o) ? e(
|
|
3539
|
-
}), M(
|
|
3572
|
+
Q(p, (e) => {
|
|
3573
|
+
q(a) || q(o) ? e(m) : q(i) && e(h, 1);
|
|
3574
|
+
}), M(f), X(e, f), F();
|
|
3540
3575
|
}
|
|
3541
3576
|
//#endregion
|
|
3542
3577
|
//#region src/lib/ContactForm.svelte
|
|
3543
|
-
var
|
|
3544
|
-
function
|
|
3578
|
+
var ja = /* @__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>");
|
|
3579
|
+
function Ma(e, t) {
|
|
3545
3580
|
P(t, !0);
|
|
3546
3581
|
let n = Xr(t, "firstName", 15, ""), r = Xr(t, "lastName", 15, ""), i = Xr(t, "emailAddress", 15, ""), a = Xr(t, "phoneNumber", 15, "");
|
|
3547
3582
|
function o() {
|
|
@@ -3561,7 +3596,7 @@ function Oa(e, t) {
|
|
|
3561
3596
|
var l = {
|
|
3562
3597
|
isValid: o,
|
|
3563
3598
|
getContact: s
|
|
3564
|
-
}, u =
|
|
3599
|
+
}, u = ja(), d = V(u), f = U(V(d), 2);
|
|
3565
3600
|
zr(f);
|
|
3566
3601
|
let p;
|
|
3567
3602
|
M(d);
|
|
@@ -3584,10 +3619,10 @@ function Oa(e, t) {
|
|
|
3584
3619
|
}
|
|
3585
3620
|
//#endregion
|
|
3586
3621
|
//#region src/lib/ConsentSection.svelte
|
|
3587
|
-
var
|
|
3588
|
-
function
|
|
3622
|
+
var Na = /* @__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>");
|
|
3623
|
+
function Pa(e, t) {
|
|
3589
3624
|
P(t, !0);
|
|
3590
|
-
var n =
|
|
3625
|
+
var n = Na(), r = V(n);
|
|
3591
3626
|
let i;
|
|
3592
3627
|
var a = V(r);
|
|
3593
3628
|
zr(a), Ae(2), M(r);
|
|
@@ -3599,8 +3634,8 @@ function Aa(e, t) {
|
|
|
3599
3634
|
cr(["change"]);
|
|
3600
3635
|
//#endregion
|
|
3601
3636
|
//#region src/lib/CountdownTimer.svelte
|
|
3602
|
-
var
|
|
3603
|
-
function
|
|
3637
|
+
var Fa = /* @__PURE__ */ Y("<span class=\"timer svelte-1u82ue3\"> </span>");
|
|
3638
|
+
function Ia(e, t) {
|
|
3604
3639
|
P(t, !0);
|
|
3605
3640
|
let n = /* @__PURE__ */ z("");
|
|
3606
3641
|
function r() {
|
|
@@ -3610,20 +3645,20 @@ function Ma(e, t) {
|
|
|
3610
3645
|
r();
|
|
3611
3646
|
let i = setInterval(r, 1e3);
|
|
3612
3647
|
Qr(() => clearInterval(i));
|
|
3613
|
-
var a =
|
|
3648
|
+
var a = Fa(), o = V(a, !0);
|
|
3614
3649
|
M(a), W(() => Z(o, q(n))), X(e, a), F();
|
|
3615
3650
|
}
|
|
3616
3651
|
//#endregion
|
|
3617
3652
|
//#region src/lib/peach-sdk.ts
|
|
3618
|
-
var
|
|
3653
|
+
var La = {
|
|
3619
3654
|
prod: "https://checkout.peachpayments.com/js/checkout.js",
|
|
3620
3655
|
qa: "https://sandbox-checkout.peachpayments.com/js/checkout.js"
|
|
3621
|
-
},
|
|
3622
|
-
function
|
|
3656
|
+
}, Ra = null;
|
|
3657
|
+
function za() {
|
|
3623
3658
|
if (window.Checkout) return Promise.resolve();
|
|
3624
|
-
if (
|
|
3625
|
-
let e = window, t = e.BW_CHECKOUT_ENV ?? "prod", n = e.BW_CHECKOUT_PEACH_SDK_URL ??
|
|
3626
|
-
return
|
|
3659
|
+
if (Ra) return Ra;
|
|
3660
|
+
let e = window, t = e.BW_CHECKOUT_ENV ?? "prod", n = e.BW_CHECKOUT_PEACH_SDK_URL ?? La[t] ?? La.prod;
|
|
3661
|
+
return Ra = new Promise((e, t) => {
|
|
3627
3662
|
let r = document.querySelector(`script[src="${n}"]`);
|
|
3628
3663
|
if (r) {
|
|
3629
3664
|
r.addEventListener("load", () => e()), r.addEventListener("error", () => t(/* @__PURE__ */ Error("Failed to load the Peach Payments SDK script")));
|
|
@@ -3631,18 +3666,18 @@ function Fa() {
|
|
|
3631
3666
|
}
|
|
3632
3667
|
let i = document.createElement("script");
|
|
3633
3668
|
i.src = n, i.onload = () => e(), i.onerror = () => t(/* @__PURE__ */ Error("Failed to load the Peach Payments SDK script")), document.head.appendChild(i);
|
|
3634
|
-
}),
|
|
3669
|
+
}), Ra;
|
|
3635
3670
|
}
|
|
3636
3671
|
//#endregion
|
|
3637
3672
|
//#region src/lib/PaymentPage.svelte
|
|
3638
|
-
var
|
|
3639
|
-
function
|
|
3673
|
+
var Ba = /* @__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>"), Va = /* @__PURE__ */ Y("<div id=\"peach-container\" class=\"svelte-1ubcp68\"></div>"), Ha = /* @__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>");
|
|
3674
|
+
function Ua(e, t) {
|
|
3640
3675
|
P(t, !0);
|
|
3641
3676
|
let n = /* @__PURE__ */ z(!1), r = /* @__PURE__ */ z(""), i = null;
|
|
3642
3677
|
Zr(() => {
|
|
3643
3678
|
(async () => {
|
|
3644
3679
|
try {
|
|
3645
|
-
await
|
|
3680
|
+
await za();
|
|
3646
3681
|
let e = window.Checkout;
|
|
3647
3682
|
if (!e) {
|
|
3648
3683
|
B(n, !0), B(r, "Payment SDK not loaded");
|
|
@@ -3650,6 +3685,7 @@ function za(e, t) {
|
|
|
3650
3685
|
}
|
|
3651
3686
|
i = e.initiate({
|
|
3652
3687
|
checkoutId: t.checkoutId,
|
|
3688
|
+
key: t.entityId,
|
|
3653
3689
|
customisations: {
|
|
3654
3690
|
card: { submitButtonText: "Pay Now" },
|
|
3655
3691
|
theme: { brand: { primary: "#E30613" } }
|
|
@@ -3678,73 +3714,85 @@ function za(e, t) {
|
|
|
3678
3714
|
i &&= (i.unmount(), null);
|
|
3679
3715
|
}
|
|
3680
3716
|
Qr(a);
|
|
3681
|
-
var o =
|
|
3682
|
-
|
|
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);
|
|
3717
|
+
var o = Ha(), s = V(o), c = U(V(s), 2), l = V(c), u = (e) => {
|
|
3718
|
+
var t = Ba(), n = U(V(t), 4), i = V(n, !0);
|
|
3687
3719
|
M(n), M(t), W(() => Z(i, q(r) || "The checkout session may have expired.")), X(e, t);
|
|
3688
|
-
},
|
|
3689
|
-
|
|
3690
|
-
Ae(2), X(e, t);
|
|
3720
|
+
}, d = (e) => {
|
|
3721
|
+
X(e, Va());
|
|
3691
3722
|
};
|
|
3692
|
-
Q(
|
|
3693
|
-
q(n) ? e(
|
|
3694
|
-
}), M(
|
|
3695
|
-
t.onBack?.apply(this, e);
|
|
3696
|
-
}), J("click", l, function(...e) {
|
|
3697
|
-
t.onClose?.apply(this, e);
|
|
3698
|
-
}), X(e, o), F();
|
|
3723
|
+
Q(l, (e) => {
|
|
3724
|
+
q(n) ? e(u) : e(d, -1);
|
|
3725
|
+
}), M(c), M(s), M(o), J("click", s, (e) => e.stopPropagation()), X(e, o), F();
|
|
3699
3726
|
}
|
|
3700
3727
|
cr(["click"]);
|
|
3701
3728
|
//#endregion
|
|
3702
3729
|
//#region src/lib/ResultView.svelte
|
|
3703
|
-
var
|
|
3704
|
-
function
|
|
3730
|
+
var Wa = /* @__PURE__ */ Y("<div class=\"spinner\"></div> <p class=\"hint svelte-16gfovn\">Verifying payment...</p>", 1), Ga = /* @__PURE__ */ Y("<button class=\"btn btn-primary\">Check Again</button>"), Ka = /* @__PURE__ */ Y("<div class=\"icon pending svelte-16gfovn\">…</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), qa = /* @__PURE__ */ Y("<button class=\"btn btn-primary\">Done</button>"), Ja = /* @__PURE__ */ Y("<button class=\"btn btn-outline\">Try Again</button>"), Ya = /* @__PURE__ */ Y("<button class=\"btn btn-outline\">Close</button>"), Xa = /* @__PURE__ */ Y("<div> </div> <h2 class=\"svelte-16gfovn\"> </h2> <p class=\"desc svelte-16gfovn\"> </p> <!>", 1), Za = /* @__PURE__ */ Y("<div class=\"result svelte-16gfovn\"><!></div>");
|
|
3731
|
+
function Qa(e, t) {
|
|
3705
3732
|
P(t, !0);
|
|
3706
|
-
let n = /* @__PURE__ */ L(() => t.status?.outcome === "successful");
|
|
3707
|
-
var
|
|
3708
|
-
var t =
|
|
3733
|
+
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);
|
|
3734
|
+
var a = Za(), o = V(a), s = (e) => {
|
|
3735
|
+
var t = Wa();
|
|
3709
3736
|
Ae(2), X(e, t);
|
|
3710
|
-
},
|
|
3711
|
-
var r =
|
|
3712
|
-
|
|
3713
|
-
var o = V(
|
|
3714
|
-
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3737
|
+
}, c = (e) => {
|
|
3738
|
+
var n = Ka(), r = U(H(n), 4), i = V(r, !0);
|
|
3739
|
+
M(r);
|
|
3740
|
+
var a = U(r, 2), o = V(a), s = (e) => {
|
|
3741
|
+
var n = Ga();
|
|
3742
|
+
J("click", n, function(...e) {
|
|
3743
|
+
t.onCheckAgain?.apply(this, e);
|
|
3744
|
+
}), X(e, n);
|
|
3745
|
+
};
|
|
3746
|
+
Q(o, (e) => {
|
|
3747
|
+
t.onCheckAgain && e(s);
|
|
3748
|
+
});
|
|
3749
|
+
var c = U(o, 2);
|
|
3750
|
+
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) {
|
|
3751
|
+
t.onDone?.apply(this, e);
|
|
3752
|
+
}), X(e, n);
|
|
3753
|
+
}, l = (e) => {
|
|
3754
|
+
var r = Xa(), a = H(r);
|
|
3755
|
+
let o;
|
|
3756
|
+
var s = V(a, !0);
|
|
3757
|
+
M(a);
|
|
3758
|
+
var c = U(a, 2), l = V(c, !0);
|
|
3759
|
+
M(c);
|
|
3760
|
+
var u = U(c, 2), d = V(u, !0);
|
|
3761
|
+
M(u);
|
|
3762
|
+
var f = U(u, 2), p = (e) => {
|
|
3763
|
+
var n = qa();
|
|
3721
3764
|
J("click", n, function(...e) {
|
|
3722
3765
|
t.onDone?.apply(this, e);
|
|
3723
3766
|
}), X(e, n);
|
|
3724
|
-
},
|
|
3725
|
-
var n =
|
|
3767
|
+
}, m = (e) => {
|
|
3768
|
+
var n = Ja();
|
|
3726
3769
|
J("click", n, function(...e) {
|
|
3727
3770
|
t.onRetry?.apply(this, e);
|
|
3728
3771
|
}), X(e, n);
|
|
3772
|
+
}, h = (e) => {
|
|
3773
|
+
var n = Ya();
|
|
3774
|
+
J("click", n, function(...e) {
|
|
3775
|
+
t.onDone?.apply(this, e);
|
|
3776
|
+
}), X(e, n);
|
|
3729
3777
|
};
|
|
3730
|
-
Q(
|
|
3731
|
-
q(n) ? e(
|
|
3778
|
+
Q(f, (e) => {
|
|
3779
|
+
q(n) ? e(p) : q(i) ? e(m, 1) : e(h, -1);
|
|
3732
3780
|
}), W(() => {
|
|
3733
|
-
|
|
3781
|
+
o = Fr(a, 1, "icon svelte-16gfovn", null, o, {
|
|
3734
3782
|
success: q(n),
|
|
3735
3783
|
failure: !q(n)
|
|
3736
|
-
}), Z(
|
|
3784
|
+
}), 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
3785
|
}), X(e, r);
|
|
3738
3786
|
};
|
|
3739
|
-
Q(
|
|
3740
|
-
t.verifying ? e(
|
|
3741
|
-
}), M(
|
|
3787
|
+
Q(o, (e) => {
|
|
3788
|
+
t.verifying ? e(s) : q(r) ? e(c, 1) : e(l, -1);
|
|
3789
|
+
}), M(a), X(e, a), F();
|
|
3742
3790
|
}
|
|
3743
3791
|
cr(["click"]);
|
|
3744
3792
|
//#endregion
|
|
3745
3793
|
//#region src/lib/EditBookingView.svelte
|
|
3746
|
-
var
|
|
3747
|
-
function
|
|
3794
|
+
var $a = /* @__PURE__ */ Y("<p class=\"edit-error svelte-15l4305\"> </p>"), eo = /* @__PURE__ */ Y("<div class=\"saving-overlay svelte-15l4305\"><div class=\"spinner\"></div></div>"), to = /* @__PURE__ */ Y("<div class=\"edit-view svelte-15l4305\"><div class=\"page-header\"><button class=\"icon-btn\" aria-label=\"Back\">←</button> <h2>Edit Item</h2> <span class=\"spacer\"></span> <button class=\"icon-btn\" aria-label=\"Close\">×</button></div> <!> <div><!> <!></div></div>");
|
|
3795
|
+
function no(e, t) {
|
|
3748
3796
|
P(t, !0);
|
|
3749
3797
|
let n = Xr(t, "autoSelectSingleTimeSlot", 3, !1), r = /* @__PURE__ */ z(!1), i = /* @__PURE__ */ z(null);
|
|
3750
3798
|
async function a(e) {
|
|
@@ -3757,20 +3805,22 @@ function Ya(e, t) {
|
|
|
3757
3805
|
availabilityId: e.availabilityId,
|
|
3758
3806
|
localDate: e.localDate,
|
|
3759
3807
|
pickupPointId: e.pickupPointId,
|
|
3760
|
-
amount: e.totalPrice
|
|
3761
|
-
currencyCode: e.currency,
|
|
3762
|
-
currencyPrecision: e.currencyPrecision
|
|
3808
|
+
amount: e.totalPrice
|
|
3763
3809
|
}), t.onUpdated();
|
|
3764
3810
|
} catch (e) {
|
|
3811
|
+
if (_i(e)) {
|
|
3812
|
+
B(i, "This item's price has changed. Please check the updated price and save again."), await t.onPriceChanged?.();
|
|
3813
|
+
return;
|
|
3814
|
+
}
|
|
3765
3815
|
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);
|
|
3766
3816
|
} finally {
|
|
3767
3817
|
B(r, !1);
|
|
3768
3818
|
}
|
|
3769
3819
|
}
|
|
3770
|
-
var o =
|
|
3820
|
+
var o = to(), s = V(o), c = V(s), l = U(c, 6);
|
|
3771
3821
|
M(s);
|
|
3772
3822
|
var u = U(s, 2), d = (e) => {
|
|
3773
|
-
var t =
|
|
3823
|
+
var t = $a(), n = V(t, !0);
|
|
3774
3824
|
M(t), W(() => Z(n, q(i))), X(e, t);
|
|
3775
3825
|
};
|
|
3776
3826
|
Q(u, (e) => {
|
|
@@ -3780,8 +3830,8 @@ function Ya(e, t) {
|
|
|
3780
3830
|
let p;
|
|
3781
3831
|
var m = V(f);
|
|
3782
3832
|
{
|
|
3783
|
-
let e = /* @__PURE__ */ L(() => t.wizardPages ??
|
|
3784
|
-
|
|
3833
|
+
let e = /* @__PURE__ */ L(() => t.wizardPages ?? Oi), r = /* @__PURE__ */ L(() => t.editPages ?? t.wizardPages ?? Oi);
|
|
3834
|
+
Ta(m, {
|
|
3785
3835
|
get product() {
|
|
3786
3836
|
return t.product;
|
|
3787
3837
|
},
|
|
@@ -3807,7 +3857,7 @@ function Ya(e, t) {
|
|
|
3807
3857
|
});
|
|
3808
3858
|
}
|
|
3809
3859
|
var h = U(m, 2), g = (e) => {
|
|
3810
|
-
X(e,
|
|
3860
|
+
X(e, eo());
|
|
3811
3861
|
};
|
|
3812
3862
|
Q(h, (e) => {
|
|
3813
3863
|
q(r) && e(g);
|
|
@@ -3820,17 +3870,17 @@ function Ya(e, t) {
|
|
|
3820
3870
|
cr(["click"]);
|
|
3821
3871
|
//#endregion
|
|
3822
3872
|
//#region src/lib/CheckoutModal.svelte
|
|
3823
|
-
var
|
|
3824
|
-
function
|
|
3873
|
+
var ro = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100%\"><div class=\"spinner\"></div></div>"), io = /* @__PURE__ */ Y("<p class=\"pay-error svelte-i0rtg0\"> </p>"), ao = /* @__PURE__ */ Y("<div class=\"page-header\"><button class=\"icon-btn\" aria-label=\"Back\">←</button> <h2>Checkout</h2> <span class=\"spacer\"></span> <button class=\"icon-btn\" aria-label=\"Close\">×</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\">→</span></button></div>", 1), oo = /* @__PURE__ */ Y("<p class=\"cart-detail svelte-i0rtg0\"> </p>"), so = /* @__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>"), co = /* @__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>"), lo = /* @__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\">→</span></button></div>", 1), uo = /* @__PURE__ */ Y("<div class=\"modal svelte-i0rtg0\"><!></div>");
|
|
3874
|
+
function fo(e, t) {
|
|
3825
3875
|
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(
|
|
3876
|
+
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(null), 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
3877
|
async function S() {
|
|
3828
3878
|
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
3879
|
for (let e of r) i.set(e.id, e);
|
|
3830
3880
|
B(x, i, !0), B(l, !1);
|
|
3831
3881
|
}
|
|
3832
3882
|
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(() => () =>
|
|
3883
|
+
let C = /* @__PURE__ */ L(() => () => n().items.reduce((e, t) => e + t.amount, 0)), w = /* @__PURE__ */ L(() => () => n().items[0]?.currencyCode ?? "ZAR"), T = /* @__PURE__ */ L(() => () => Pi(q(C)(), q(w)(), 2, 2)), ee = /* @__PURE__ */ L(() => () => new Date(n().absoluteExpiresAt));
|
|
3834
3884
|
function te(e) {
|
|
3835
3885
|
return q(x).get(e.productId)?.title ?? e.productId;
|
|
3836
3886
|
}
|
|
@@ -3870,9 +3920,9 @@ function io(e, t) {
|
|
|
3870
3920
|
"Dec"
|
|
3871
3921
|
][n.getMonth()]} ${n.getFullYear()}`;
|
|
3872
3922
|
}
|
|
3873
|
-
Qr(() =>
|
|
3923
|
+
Qr(() => Ei({ type: "modal:close" }));
|
|
3874
3924
|
function ie() {
|
|
3875
|
-
|
|
3925
|
+
Ei({ type: "modal:close" }), t.onClose();
|
|
3876
3926
|
}
|
|
3877
3927
|
function ae() {
|
|
3878
3928
|
ie();
|
|
@@ -3890,13 +3940,17 @@ function io(e, t) {
|
|
|
3890
3940
|
n(r), se(r), n().items.length === 0 && ie();
|
|
3891
3941
|
}
|
|
3892
3942
|
function se(e) {
|
|
3893
|
-
|
|
3943
|
+
Ei({
|
|
3894
3944
|
type: "cart:updated",
|
|
3895
3945
|
cart: e
|
|
3896
3946
|
});
|
|
3897
3947
|
}
|
|
3898
3948
|
async function ce() {
|
|
3899
3949
|
if (B(p, !0), !q(b)?.isValid() || !q(d)) return;
|
|
3950
|
+
if (q(o)) {
|
|
3951
|
+
B(i, "payment");
|
|
3952
|
+
return;
|
|
3953
|
+
}
|
|
3900
3954
|
let e = q(b).getContact();
|
|
3901
3955
|
B(h, !0), B(m, null);
|
|
3902
3956
|
try {
|
|
@@ -3912,68 +3966,84 @@ function io(e, t) {
|
|
|
3912
3966
|
B(i, "contact");
|
|
3913
3967
|
return;
|
|
3914
3968
|
}
|
|
3915
|
-
if (e.status === "expired") {
|
|
3916
|
-
B(c,
|
|
3969
|
+
if (e.status === "expired" || e.status === "error") {
|
|
3970
|
+
B(c, "notCharged"), B(u, !1), B(i, "result");
|
|
3917
3971
|
return;
|
|
3918
3972
|
}
|
|
3919
|
-
B(
|
|
3920
|
-
|
|
3973
|
+
B(i, "result"), await de();
|
|
3974
|
+
}
|
|
3975
|
+
async function ue() {
|
|
3976
|
+
try {
|
|
3921
3977
|
B(s, await t.api.confirmCart(), !0);
|
|
3922
3978
|
let e = q(s).items.every((e) => e.statusCode >= 200 && e.statusCode < 300);
|
|
3923
|
-
B(c,
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3979
|
+
return B(c, e ? "success" : "partial", !0), e && t.onOrderConfirmed(), "settled";
|
|
3980
|
+
} catch (e) {
|
|
3981
|
+
return e instanceof gi && (e.status === 402 || e.status === 409) ? "awaitingWebhook" : (B(c, "pending"), "settled");
|
|
3982
|
+
}
|
|
3983
|
+
}
|
|
3984
|
+
async function de() {
|
|
3985
|
+
B(u, !0), B(c, null);
|
|
3986
|
+
for (let e = 1; e <= 10; e++) {
|
|
3987
|
+
if (await ue() === "settled") {
|
|
3988
|
+
B(u, !1);
|
|
3989
|
+
return;
|
|
3990
|
+
}
|
|
3991
|
+
if (e === 10) {
|
|
3992
|
+
B(c, "pending"), B(u, !1);
|
|
3928
3993
|
return;
|
|
3929
3994
|
}
|
|
3930
3995
|
await new Promise((e) => setTimeout(e, 1500));
|
|
3931
3996
|
}
|
|
3932
3997
|
}
|
|
3933
|
-
|
|
3934
|
-
|
|
3935
|
-
}
|
|
3936
|
-
|
|
3937
|
-
|
|
3938
|
-
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
|
|
3944
|
-
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
|
|
3952
|
-
|
|
3998
|
+
async function fe() {
|
|
3999
|
+
B(u, !0), await ue() === "awaitingWebhook" && B(c, "pending"), B(u, !1);
|
|
4000
|
+
}
|
|
4001
|
+
let pe = /* @__PURE__ */ L(() => q(u) ? null : q(c) === "success" ? { outcome: "successful" } : q(c) === "pending" ? { outcome: "pending" } : q(c) === "partial" ? {
|
|
4002
|
+
outcome: "failed",
|
|
4003
|
+
resultDescription: "Your payment succeeded, but we couldn't confirm every item in your booking. Please contact us with your order details.",
|
|
4004
|
+
retryPayment: !1
|
|
4005
|
+
} : q(c) === "notCharged" ? {
|
|
4006
|
+
outcome: "failed",
|
|
4007
|
+
resultDescription: "Your payment could not be completed. Please try again.",
|
|
4008
|
+
retryPayment: !0
|
|
4009
|
+
} : null);
|
|
4010
|
+
var me = uo(), he = V(me), ge = (e) => {
|
|
4011
|
+
X(e, ro());
|
|
4012
|
+
}, _e = (e) => {
|
|
4013
|
+
Ua(e, {
|
|
4014
|
+
get checkoutId() {
|
|
4015
|
+
return q(o).checkoutId;
|
|
4016
|
+
},
|
|
4017
|
+
get entityId() {
|
|
4018
|
+
return q(o).entityId;
|
|
4019
|
+
},
|
|
4020
|
+
onPaymentComplete: le
|
|
4021
|
+
});
|
|
4022
|
+
}, ve = (e) => {
|
|
3953
4023
|
{
|
|
3954
|
-
let
|
|
3955
|
-
|
|
3956
|
-
resultDescription: "Something went wrong confirming your order. Please try again."
|
|
3957
|
-
} : { outcome: "successful" });
|
|
3958
|
-
Ga(e, {
|
|
4024
|
+
let t = /* @__PURE__ */ L(() => q(c) === "pending" ? fe : void 0);
|
|
4025
|
+
Qa(e, {
|
|
3959
4026
|
get status() {
|
|
3960
|
-
return q(
|
|
4027
|
+
return q(pe);
|
|
3961
4028
|
},
|
|
3962
4029
|
get verifying() {
|
|
3963
4030
|
return q(u);
|
|
3964
4031
|
},
|
|
3965
4032
|
onDone: () => {
|
|
3966
|
-
|
|
4033
|
+
Ei({ type: "modal:close" });
|
|
3967
4034
|
},
|
|
3968
4035
|
onRetry: () => {
|
|
3969
4036
|
B(i, "payment");
|
|
4037
|
+
},
|
|
4038
|
+
get onCheckAgain() {
|
|
4039
|
+
return q(t);
|
|
3970
4040
|
}
|
|
3971
4041
|
});
|
|
3972
4042
|
}
|
|
3973
|
-
},
|
|
4043
|
+
}, ye = (e) => {
|
|
3974
4044
|
{
|
|
3975
4045
|
let n = /* @__PURE__ */ L(() => q(x).get(q(a).productId));
|
|
3976
|
-
|
|
4046
|
+
no(e, {
|
|
3977
4047
|
get cartItem() {
|
|
3978
4048
|
return q(a);
|
|
3979
4049
|
},
|
|
@@ -3996,21 +4066,22 @@ function io(e, t) {
|
|
|
3996
4066
|
B(i, "cart");
|
|
3997
4067
|
},
|
|
3998
4068
|
onClose: ie,
|
|
3999
|
-
onUpdated: O
|
|
4069
|
+
onUpdated: O,
|
|
4070
|
+
onPriceChanged: S
|
|
4000
4071
|
});
|
|
4001
4072
|
}
|
|
4002
|
-
},
|
|
4003
|
-
var t =
|
|
4073
|
+
}, be = /* @__PURE__ */ L(() => q(i) === "edit" && q(a) && q(x).get(q(a).productId)), xe = (e) => {
|
|
4074
|
+
var t = ao(), n = H(t), r = V(n), a = U(r, 6);
|
|
4004
4075
|
M(n);
|
|
4005
4076
|
var o = U(n, 2), s = V(o), c = (e) => {
|
|
4006
|
-
var t =
|
|
4077
|
+
var t = io(), n = V(t, !0);
|
|
4007
4078
|
M(t), W(() => Z(n, q(m))), X(e, t);
|
|
4008
4079
|
};
|
|
4009
4080
|
Q(s, (e) => {
|
|
4010
4081
|
q(m) && e(c);
|
|
4011
4082
|
});
|
|
4012
4083
|
var l = U(s, 4);
|
|
4013
|
-
Yr(
|
|
4084
|
+
Yr(Ma(l, {
|
|
4014
4085
|
get hasAttemptedSubmit() {
|
|
4015
4086
|
return q(p);
|
|
4016
4087
|
},
|
|
@@ -4040,7 +4111,7 @@ function io(e, t) {
|
|
|
4040
4111
|
}
|
|
4041
4112
|
}), (e) => B(b, e, !0), () => q(b));
|
|
4042
4113
|
var u = U(l, 2);
|
|
4043
|
-
|
|
4114
|
+
Pa(V(u), {
|
|
4044
4115
|
get privacyAccepted() {
|
|
4045
4116
|
return q(d);
|
|
4046
4117
|
},
|
|
@@ -4065,11 +4136,11 @@ function io(e, t) {
|
|
|
4065
4136
|
}, [() => q(T)()]), J("click", r, () => {
|
|
4066
4137
|
B(i, "cart");
|
|
4067
4138
|
}), J("click", a, ie), J("click", w, ce), X(e, t);
|
|
4068
|
-
},
|
|
4069
|
-
var t =
|
|
4139
|
+
}, Se = (e) => {
|
|
4140
|
+
var t = lo(), r = H(t), a = U(V(r), 4);
|
|
4070
4141
|
{
|
|
4071
4142
|
let e = /* @__PURE__ */ L(() => q(ee)());
|
|
4072
|
-
|
|
4143
|
+
Ia(a, { get expiresAt() {
|
|
4073
4144
|
return q(e);
|
|
4074
4145
|
} });
|
|
4075
4146
|
}
|
|
@@ -4077,12 +4148,12 @@ function io(e, t) {
|
|
|
4077
4148
|
M(r);
|
|
4078
4149
|
var s = U(r, 2), c = V(s);
|
|
4079
4150
|
Er(c, 17, () => n().items, $, (e, t) => {
|
|
4080
|
-
var n =
|
|
4151
|
+
var n = co(), r = V(n), i = V(r), a = V(i, !0);
|
|
4081
4152
|
M(i);
|
|
4082
4153
|
var o = U(i, 2), s = V(o, !0);
|
|
4083
4154
|
M(o), M(r);
|
|
4084
4155
|
var c = U(r, 2), l = V(c), u = (e) => {
|
|
4085
|
-
var n =
|
|
4156
|
+
var n = oo(), r = V(n, !0);
|
|
4086
4157
|
M(n), W((e) => Z(r, e), [() => re(q(t))]), X(e, n);
|
|
4087
4158
|
}, d = /* @__PURE__ */ L(() => re(q(t)));
|
|
4088
4159
|
Q(l, (e) => {
|
|
@@ -4092,19 +4163,19 @@ function io(e, t) {
|
|
|
4092
4163
|
M(f), M(c);
|
|
4093
4164
|
var m = U(c, 4);
|
|
4094
4165
|
Er(m, 21, () => E(q(t)), $, (e, n) => {
|
|
4095
|
-
var r =
|
|
4166
|
+
var r = so(), i = V(r), a = V(i);
|
|
4096
4167
|
M(i);
|
|
4097
4168
|
var o = U(i, 2), s = V(o, !0);
|
|
4098
4169
|
M(o), M(r), W((e) => {
|
|
4099
4170
|
Z(a, `${q(n).title ?? ""} × ${q(n).quantity ?? ""}`), Z(s, e);
|
|
4100
|
-
}, [() =>
|
|
4171
|
+
}, [() => Pi(q(n).linePrice, q(t).currencyCode, 2, 0)]), X(e, r);
|
|
4101
4172
|
}), M(m);
|
|
4102
4173
|
var h = U(m, 2), g = V(h), _ = U(g, 2);
|
|
4103
4174
|
M(h), M(n), W((e, t, n) => {
|
|
4104
4175
|
Z(a, e), Z(s, t), Z(p, n);
|
|
4105
4176
|
}, [
|
|
4106
4177
|
() => te(q(t)),
|
|
4107
|
-
() =>
|
|
4178
|
+
() => Pi(q(t).amount, q(t).currencyCode, 2, 0),
|
|
4108
4179
|
() => ne(q(t))
|
|
4109
4180
|
]), J("click", g, () => D(q(t))), J("click", _, () => oe(q(t))), X(e, n);
|
|
4110
4181
|
});
|
|
@@ -4115,17 +4186,17 @@ function io(e, t) {
|
|
|
4115
4186
|
B(i, "contact");
|
|
4116
4187
|
}), X(e, t);
|
|
4117
4188
|
};
|
|
4118
|
-
Q(
|
|
4119
|
-
q(l) ? e(
|
|
4120
|
-
}), M(
|
|
4189
|
+
Q(he, (e) => {
|
|
4190
|
+
q(l) ? e(ge) : q(i) === "payment" && q(o) ? e(_e, 1) : q(i) === "result" ? e(ve, 2) : q(be) ? e(ye, 3) : q(i) === "contact" ? e(xe, 4) : e(Se, -1);
|
|
4191
|
+
}), M(me), X(e, me), F();
|
|
4121
4192
|
}
|
|
4122
4193
|
cr(["click"]);
|
|
4123
4194
|
//#endregion
|
|
4124
4195
|
//#region src/lib/Checkout.svelte
|
|
4125
|
-
var
|
|
4126
|
-
function
|
|
4196
|
+
var po = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100vh\"><div class=\"spinner\"></div></div>"), mo = /* @__PURE__ */ Y("<div class=\"loading-center\" style=\"height:100vh;color:var(--bw-color-text-secondary)\">No items in cart.</div>"), ho = /* @__PURE__ */ Y("<div class=\"bw-widget svelte-5e515v\"><!></div>");
|
|
4197
|
+
function go(e, t) {
|
|
4127
4198
|
P(t, !0);
|
|
4128
|
-
let n = Xr(t, "wizardPages", 3,
|
|
4199
|
+
let n = Xr(t, "wizardPages", 3, Oi), r = Xr(t, "autoSelectSingleTimeSlot", 3, !1), i = /* @__PURE__ */ L(() => t.editPages ?? n()), a = /* @__PURE__ */ z(null), o = /* @__PURE__ */ z(!0);
|
|
4129
4200
|
async function s() {
|
|
4130
4201
|
try {
|
|
4131
4202
|
B(a, await t.api.getCart(), !0);
|
|
@@ -4134,21 +4205,13 @@ function co(e, t) {
|
|
|
4134
4205
|
}
|
|
4135
4206
|
B(o, !1);
|
|
4136
4207
|
}
|
|
4137
|
-
s()
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
|
|
4144
|
-
}
|
|
4145
|
-
t?.type === "cart:updated" && "cart" in t && B(a, t.cart, !0);
|
|
4146
|
-
}
|
|
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, {
|
|
4208
|
+
s(), un(() => Di((e) => {
|
|
4209
|
+
e.type === "cart:updated" && "cart" in e && B(a, e.cart, !0);
|
|
4210
|
+
}));
|
|
4211
|
+
var c = ho(), l = V(c), u = (e) => {
|
|
4212
|
+
X(e, po());
|
|
4213
|
+
}, d = (e) => {
|
|
4214
|
+
fo(e, {
|
|
4152
4215
|
get cart() {
|
|
4153
4216
|
return q(a);
|
|
4154
4217
|
},
|
|
@@ -4164,39 +4227,39 @@ function co(e, t) {
|
|
|
4164
4227
|
get autoSelectSingleTimeSlot() {
|
|
4165
4228
|
return r();
|
|
4166
4229
|
},
|
|
4167
|
-
onClose: () =>
|
|
4230
|
+
onClose: () => Ei({ type: "modal:close" }),
|
|
4168
4231
|
onOrderConfirmed: () => {
|
|
4169
|
-
let e = q(a).items.reduce((e, t) => e + t.amount, 0),
|
|
4170
|
-
|
|
4232
|
+
let e = q(a).items.reduce((e, t) => e + t.amount, 0), n = q(a).items[0]?.currencyCode ?? "ZAR";
|
|
4233
|
+
Ei({
|
|
4171
4234
|
type: "order:complete",
|
|
4172
4235
|
cartToken: q(a).cartToken,
|
|
4173
4236
|
value: e,
|
|
4174
|
-
currency:
|
|
4175
|
-
});
|
|
4237
|
+
currency: n
|
|
4238
|
+
}), t.cartManager?.reset();
|
|
4176
4239
|
}
|
|
4177
4240
|
});
|
|
4178
|
-
},
|
|
4179
|
-
X(e,
|
|
4241
|
+
}, f = (e) => {
|
|
4242
|
+
X(e, mo());
|
|
4180
4243
|
};
|
|
4181
|
-
Q(
|
|
4182
|
-
q(o) ? e(
|
|
4183
|
-
}), M(
|
|
4244
|
+
Q(l, (e) => {
|
|
4245
|
+
q(o) ? e(u) : q(a) && q(a).items.length > 0 ? e(d, 1) : e(f, -1);
|
|
4246
|
+
}), M(c), X(e, c), F();
|
|
4184
4247
|
}
|
|
4185
4248
|
//#endregion
|
|
4186
4249
|
//#region src/lib/CartBarView.svelte
|
|
4187
|
-
var
|
|
4188
|
-
function
|
|
4250
|
+
var _o = /* @__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 →</button></div>");
|
|
4251
|
+
function vo(e, t) {
|
|
4189
4252
|
P(t, !0);
|
|
4190
4253
|
let n = /* @__PURE__ */ L(() => t.cart?.items.length ?? 0), r = /* @__PURE__ */ L(() => () => {
|
|
4191
4254
|
if (!t.cart || t.cart.items.length === 0) return "";
|
|
4192
4255
|
let e = t.cart.items[0].currencyCode;
|
|
4193
|
-
return
|
|
4256
|
+
return Pi(t.cart.items.reduce((e, t) => e + t.amount, 0), e, 2, 2);
|
|
4194
4257
|
}), i = /* @__PURE__ */ L(() => () => t.cart ? new Date(t.cart.absoluteExpiresAt) : /* @__PURE__ */ new Date());
|
|
4195
4258
|
var a = gr(), o = H(a), s = (e) => {
|
|
4196
|
-
var t =
|
|
4259
|
+
var t = _o(), a = V(t), o = V(a), s = V(o), c = U(s);
|
|
4197
4260
|
{
|
|
4198
4261
|
let e = /* @__PURE__ */ L(() => q(i)());
|
|
4199
|
-
|
|
4262
|
+
Ia(c, { get expiresAt() {
|
|
4200
4263
|
return q(e);
|
|
4201
4264
|
} });
|
|
4202
4265
|
}
|
|
@@ -4206,7 +4269,7 @@ function uo(e, t) {
|
|
|
4206
4269
|
var d = U(a, 2);
|
|
4207
4270
|
M(t), W((e) => {
|
|
4208
4271
|
Z(s, `${q(n) === 1 ? "1 item" : `${q(n)} items`} `), Z(u, e);
|
|
4209
|
-
}, [() => q(r)()]), J("click", d, () =>
|
|
4272
|
+
}, [() => q(r)()]), J("click", d, () => Ei({ type: "modal:open" })), X(e, t);
|
|
4210
4273
|
};
|
|
4211
4274
|
Q(o, (e) => {
|
|
4212
4275
|
t.cart && t.cart.items.length > 0 && e(s);
|
|
@@ -4215,7 +4278,7 @@ function uo(e, t) {
|
|
|
4215
4278
|
cr(["click"]);
|
|
4216
4279
|
//#endregion
|
|
4217
4280
|
//#region src/lib/CartBar.svelte
|
|
4218
|
-
function
|
|
4281
|
+
function yo(e, t) {
|
|
4219
4282
|
P(t, !0);
|
|
4220
4283
|
let n = /* @__PURE__ */ z(null), r = /* @__PURE__ */ z(!0);
|
|
4221
4284
|
async function i() {
|
|
@@ -4226,30 +4289,22 @@ function fo(e, t) {
|
|
|
4226
4289
|
}
|
|
4227
4290
|
B(r, !1);
|
|
4228
4291
|
}
|
|
4229
|
-
i()
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
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() {
|
|
4292
|
+
i(), un(() => Di((e) => {
|
|
4293
|
+
e.type === "cart:updated" && "cart" in e && B(n, e.cart, !0);
|
|
4294
|
+
}));
|
|
4295
|
+
var a = gr(), o = H(a), s = (e) => {
|
|
4296
|
+
vo(e, { get cart() {
|
|
4242
4297
|
return q(n);
|
|
4243
4298
|
} });
|
|
4244
4299
|
};
|
|
4245
|
-
Q(
|
|
4246
|
-
q(r) || e(
|
|
4247
|
-
}), X(e,
|
|
4300
|
+
Q(o, (e) => {
|
|
4301
|
+
q(r) || e(s);
|
|
4302
|
+
}), X(e, a), F();
|
|
4248
4303
|
}
|
|
4249
4304
|
//#endregion
|
|
4250
4305
|
//#region src/lib/CartOverviewButton.svelte
|
|
4251
|
-
var
|
|
4252
|
-
function
|
|
4306
|
+
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>");
|
|
4307
|
+
function xo(e, t) {
|
|
4253
4308
|
P(t, !0);
|
|
4254
4309
|
let n = /* @__PURE__ */ z(null), r = /* @__PURE__ */ z("");
|
|
4255
4310
|
async function i() {
|
|
@@ -4259,18 +4314,10 @@ function mo(e, t) {
|
|
|
4259
4314
|
B(n, null);
|
|
4260
4315
|
}
|
|
4261
4316
|
}
|
|
4262
|
-
i()
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
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() {
|
|
4317
|
+
i(), un(() => Di((e) => {
|
|
4318
|
+
e.type === "cart:updated" && "cart" in e && B(n, e.cart, !0);
|
|
4319
|
+
}));
|
|
4320
|
+
function a() {
|
|
4274
4321
|
if (!q(n)) {
|
|
4275
4322
|
B(r, "0:00");
|
|
4276
4323
|
return;
|
|
@@ -4278,28 +4325,28 @@ function mo(e, t) {
|
|
|
4278
4325
|
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
4326
|
B(r, `${t}:${String(i).padStart(2, "0")}`);
|
|
4280
4327
|
}
|
|
4281
|
-
|
|
4282
|
-
let
|
|
4283
|
-
Qr(() => clearInterval(
|
|
4284
|
-
let
|
|
4285
|
-
var
|
|
4286
|
-
var t =
|
|
4328
|
+
a();
|
|
4329
|
+
let o = setInterval(a, 1e3);
|
|
4330
|
+
Qr(() => clearInterval(o));
|
|
4331
|
+
let s = /* @__PURE__ */ L(() => q(n)?.items.length ?? 0);
|
|
4332
|
+
var c = gr(), l = H(c), u = (e) => {
|
|
4333
|
+
var t = bo(), n = U(V(t), 2), i = V(n, !0);
|
|
4287
4334
|
M(n);
|
|
4288
4335
|
var a = U(n, 2), o = V(a, !0);
|
|
4289
4336
|
M(a), M(t), W(() => {
|
|
4290
|
-
Z(i, q(
|
|
4291
|
-
}), J("click", t, () =>
|
|
4337
|
+
Z(i, q(s)), Z(o, q(r));
|
|
4338
|
+
}), J("click", t, () => Ei({ type: "modal:open" })), X(e, t);
|
|
4292
4339
|
};
|
|
4293
|
-
Q(
|
|
4294
|
-
q(n) && q(n).items.length > 0 && e(
|
|
4295
|
-
}), X(e,
|
|
4340
|
+
Q(l, (e) => {
|
|
4341
|
+
q(n) && q(n).items.length > 0 && e(u);
|
|
4342
|
+
}), X(e, c), F();
|
|
4296
4343
|
}
|
|
4297
4344
|
cr(["click"]);
|
|
4298
4345
|
//#endregion
|
|
4299
4346
|
//#region src/lib/CartOverview.svelte
|
|
4300
|
-
function
|
|
4347
|
+
function So(e, t) {
|
|
4301
4348
|
var n = gr(), r = H(n), i = (e) => {
|
|
4302
|
-
|
|
4349
|
+
xo(e, {
|
|
4303
4350
|
get api() {
|
|
4304
4351
|
return t.api;
|
|
4305
4352
|
},
|
|
@@ -4308,7 +4355,7 @@ function ho(e, t) {
|
|
|
4308
4355
|
}
|
|
4309
4356
|
});
|
|
4310
4357
|
}, a = (e) => {
|
|
4311
|
-
|
|
4358
|
+
yo(e, {
|
|
4312
4359
|
get api() {
|
|
4313
4360
|
return t.api;
|
|
4314
4361
|
},
|
|
@@ -4323,18 +4370,18 @@ function ho(e, t) {
|
|
|
4323
4370
|
}
|
|
4324
4371
|
//#endregion
|
|
4325
4372
|
//#region src/lib/index.ts
|
|
4326
|
-
function
|
|
4327
|
-
let t = new
|
|
4373
|
+
function Co(e) {
|
|
4374
|
+
let t = new vi(e.apiBaseUrl ?? ""), n = new xi(t), r = new wi(t);
|
|
4328
4375
|
return n.startBackgroundRefresh(), {
|
|
4329
4376
|
api: t,
|
|
4330
4377
|
sessionManager: n,
|
|
4331
4378
|
cartManager: r
|
|
4332
4379
|
};
|
|
4333
4380
|
}
|
|
4334
|
-
async function
|
|
4335
|
-
let { api: n, sessionManager: r, cartManager: i } =
|
|
4381
|
+
async function wo(e, t) {
|
|
4382
|
+
let { api: n, sessionManager: r, cartManager: i } = Co(t);
|
|
4336
4383
|
await r.ensureSession(t.checkoutKey ?? "");
|
|
4337
|
-
let a = _r(
|
|
4384
|
+
let a = _r(Aa, {
|
|
4338
4385
|
target: e,
|
|
4339
4386
|
props: {
|
|
4340
4387
|
api: n,
|
|
@@ -4344,76 +4391,56 @@ async function _o(e, t) {
|
|
|
4344
4391
|
autoSelectSingleTimeSlot: t.autoSelectSingleTimeSlot ?? !1,
|
|
4345
4392
|
onCancel: t.onCancel
|
|
4346
4393
|
}
|
|
4394
|
+
}), o = Di((e) => {
|
|
4395
|
+
e.type === "cart:change" && t.onCartChange && t.onCartChange({
|
|
4396
|
+
itemCount: e.itemCount ?? 0,
|
|
4397
|
+
cartItemId: e.cartItemId ?? "",
|
|
4398
|
+
totalFormatted: e.totalFormatted ?? ""
|
|
4399
|
+
}), e.type === "cart:updated" && "cart" in e && t.onCartUpdated?.(e.cart);
|
|
4347
4400
|
});
|
|
4348
|
-
|
|
4349
|
-
|
|
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);
|
|
4401
|
+
return { destroy() {
|
|
4402
|
+
o(), r.stop(), xr(a);
|
|
4363
4403
|
} };
|
|
4364
4404
|
}
|
|
4365
|
-
async function
|
|
4366
|
-
let { api: n, sessionManager: r } =
|
|
4405
|
+
async function To(e, t) {
|
|
4406
|
+
let { api: n, sessionManager: r, cartManager: i } = Co(t);
|
|
4367
4407
|
await r.ensureSession(t.checkoutKey ?? "");
|
|
4368
|
-
let
|
|
4408
|
+
let a = _r(go, {
|
|
4369
4409
|
target: e,
|
|
4370
4410
|
props: {
|
|
4371
4411
|
api: n,
|
|
4412
|
+
cartManager: i,
|
|
4372
4413
|
wizardPages: t.wizardPages,
|
|
4373
4414
|
editPages: t.editPages,
|
|
4374
4415
|
autoSelectSingleTimeSlot: t.autoSelectSingleTimeSlot ?? !1
|
|
4375
4416
|
}
|
|
4417
|
+
}), o = Di((e) => {
|
|
4418
|
+
e.type === "modal:close" && t.onClose && t.onClose(), e.type === "order:complete" && t.onOrderConfirmed && t.onOrderConfirmed({
|
|
4419
|
+
cartToken: e.cartToken ?? "",
|
|
4420
|
+
value: e.value ?? 0,
|
|
4421
|
+
currency: e.currency ?? "ZAR"
|
|
4422
|
+
}), e.type === "cart:updated" && "cart" in e && t.onCartUpdated?.(e.cart);
|
|
4376
4423
|
});
|
|
4377
|
-
|
|
4378
|
-
|
|
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);
|
|
4424
|
+
return { destroy() {
|
|
4425
|
+
o(), r.stop(), xr(a);
|
|
4392
4426
|
} };
|
|
4393
4427
|
}
|
|
4394
|
-
async function
|
|
4395
|
-
let { api: n, sessionManager: r, cartManager: i } =
|
|
4428
|
+
async function Eo(e, t) {
|
|
4429
|
+
let { api: n, sessionManager: r, cartManager: i } = Co(t);
|
|
4396
4430
|
await r.ensureSession(t.checkoutKey ?? "");
|
|
4397
|
-
let a = _r(
|
|
4431
|
+
let a = _r(So, {
|
|
4398
4432
|
target: e,
|
|
4399
4433
|
props: {
|
|
4400
4434
|
api: n,
|
|
4401
4435
|
cartManager: i,
|
|
4402
4436
|
display: t.display ?? "bar"
|
|
4403
4437
|
}
|
|
4438
|
+
}), o = Di((e) => {
|
|
4439
|
+
e.type === "modal:open" && t.onCheckout && t.onCheckout(), e.type === "cart:updated" && "cart" in e && t.onCartUpdated?.(e.cart);
|
|
4404
4440
|
});
|
|
4405
|
-
|
|
4406
|
-
|
|
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);
|
|
4441
|
+
return { destroy() {
|
|
4442
|
+
o(), r.stop(), xr(a);
|
|
4416
4443
|
} };
|
|
4417
4444
|
}
|
|
4418
4445
|
//#endregion
|
|
4419
|
-
export {
|
|
4446
|
+
export { vi as ApiClient, gi as ApiError, yo as CartBar, wi as CartManager, So as CartOverview, xo as CartOverviewButton, go as Checkout, Oi as DEFAULT_WIZARD_PAGES, xi as SessionManager, Aa as TicketConfigurator, Eo as mountCartOverview, To as mountCheckout, wo as mountConfigurator, Mi as resolveEditPages, Ai as resolveWizardPages };
|