@getmicdrop/venue-calendar 4.0.105 → 4.0.106

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 (61) hide show
  1. package/dist/CartView-CIfnfmZj.js +2348 -0
  2. package/dist/CartView-CIfnfmZj.js.map +1 -0
  3. package/dist/Checkout-BEauxCmt.js +1059 -0
  4. package/dist/Checkout-BEauxCmt.js.map +1 -0
  5. package/dist/{Checkout-C2CDej2G.js → Checkout-DO-U-jI4.js} +86 -86
  6. package/dist/Checkout-DO-U-jI4.js.map +1 -0
  7. package/dist/{CheckoutTimer-BI6UpTic.js → CheckoutTimer-BNket1Fg.js} +5 -5
  8. package/dist/{CheckoutTimer-BI6UpTic.js.map → CheckoutTimer-BNket1Fg.js.map} +1 -1
  9. package/dist/{ClockIcon-BTuA4Ut3.js → ClockIcon-Cqo9retG.js} +2 -2
  10. package/dist/{ClockIcon-BTuA4Ut3.js.map → ClockIcon-Cqo9retG.js.map} +1 -1
  11. package/dist/{CollectionView-BmXUlrOH.js → CollectionView-Dq2SqpzE.js} +7 -7
  12. package/dist/{CollectionView-BmXUlrOH.js.map → CollectionView-Dq2SqpzE.js.map} +1 -1
  13. package/dist/{Event-BV-RACl5.js → Event-DoBDfGr-.js} +8 -8
  14. package/dist/{Event-BV-RACl5.js.map → Event-DoBDfGr-.js.map} +1 -1
  15. package/dist/{EventPage-B5tAYG9L.js → EventPage-Dbw2JTn6.js} +376 -370
  16. package/dist/EventPage-Dbw2JTn6.js.map +1 -0
  17. package/dist/{Heading-C6F-scpj.js → Heading-CezkoB7-.js} +2 -2
  18. package/dist/{Heading-C6F-scpj.js.map → Heading-CezkoB7-.js.map} +1 -1
  19. package/dist/{ScarcityBadge-DcWu5t7T.js → ScarcityBadge-DdBiJx4s.js} +18 -18
  20. package/dist/{ScarcityBadge-DcWu5t7T.js.map → ScarcityBadge-DdBiJx4s.js.map} +1 -1
  21. package/dist/{SeriesPage-C-vCBhmv.js → SeriesPage-xrz2-uAc.js} +5 -5
  22. package/dist/{SeriesPage-C-vCBhmv.js.map → SeriesPage-xrz2-uAc.js.map} +1 -1
  23. package/dist/{Spinner-Cn6Xoq6K.js → Spinner-C_CcLVlr.js} +2 -2
  24. package/dist/{Spinner-Cn6Xoq6K.js.map → Spinner-C_CcLVlr.js.map} +1 -1
  25. package/dist/{Success-hYNbEwqe.js → Success-D63NKAXD.js} +7 -7
  26. package/dist/{Success-hYNbEwqe.js.map → Success-D63NKAXD.js.map} +1 -1
  27. package/dist/{Text-DghJWX63.js → Text-CkjZ082Q.js} +6 -6
  28. package/dist/{Text-DghJWX63.js.map → Text-CkjZ082Q.js.map} +1 -1
  29. package/dist/{VenueCalendar-Y94fp6kO.js → VenueCalendar-CNQZD54v.js} +3572 -3466
  30. package/dist/VenueCalendar-CNQZD54v.js.map +1 -0
  31. package/dist/{ViewTicketsEmbed-CnrArq0j.js → ViewTicketsEmbed-XLGxE6AE.js} +5 -5
  32. package/dist/{ViewTicketsEmbed-CnrArq0j.js.map → ViewTicketsEmbed-XLGxE6AE.js.map} +1 -1
  33. package/dist/api/api.cjs +1 -1
  34. package/dist/api/api.cjs.map +1 -1
  35. package/dist/api/api.mjs +333 -327
  36. package/dist/api/api.mjs.map +1 -1
  37. package/dist/api/types.d.ts +37 -1
  38. package/dist/{data-toggle-store.svelte-klyle8-d.js → data-toggle-store.svelte-9Zfr1xPH.js} +2 -2
  39. package/dist/{data-toggle-store.svelte-klyle8-d.js.map → data-toggle-store.svelte-9Zfr1xPH.js.map} +1 -1
  40. package/dist/{labels-BTtStaIW.js → labels-qYCu0gWu.js} +9 -9
  41. package/dist/{labels-BTtStaIW.js.map → labels-qYCu0gWu.js.map} +1 -1
  42. package/dist/{modalManager.svelte-Fn8lihrx.js → modalManager.svelte-CQfHFG2s.js} +2 -2
  43. package/dist/{modalManager.svelte-Fn8lihrx.js.map → modalManager.svelte-CQfHFG2s.js.map} +1 -1
  44. package/dist/promo-WWbp2OWI.js +12 -0
  45. package/dist/promo-WWbp2OWI.js.map +1 -0
  46. package/dist/{transform-KJbS4n7p.js → transform-DKQtPuXk.js} +6 -6
  47. package/dist/{transform-KJbS4n7p.js.map → transform-DKQtPuXk.js.map} +1 -1
  48. package/dist/venue-calendar.css +1 -1
  49. package/dist/venue-calendar.es.js +4 -4
  50. package/dist/venue-calendar.iife.js +45 -45
  51. package/dist/venue-calendar.iife.js.map +1 -1
  52. package/dist/venue-calendar.umd.js +40 -40
  53. package/dist/venue-calendar.umd.js.map +1 -1
  54. package/package.json +187 -180
  55. package/dist/CartView-DcKPVj5T.js +0 -2360
  56. package/dist/CartView-DcKPVj5T.js.map +0 -1
  57. package/dist/Checkout-BoFIUhR2.js +0 -1048
  58. package/dist/Checkout-BoFIUhR2.js.map +0 -1
  59. package/dist/Checkout-C2CDej2G.js.map +0 -1
  60. package/dist/EventPage-B5tAYG9L.js.map +0 -1
  61. package/dist/VenueCalendar-Y94fp6kO.js.map +0 -1
@@ -0,0 +1,1059 @@
1
+ import "svelte/internal/disclose-version";
2
+ import * as e from "svelte/internal/client";
3
+ import { u as _e, p as Se, z as ve, A as me, D as ye, C as je, E as Le, W as Ge, M as Ue, a as Be, b as qe, c as Ve, t as He, F as We, d as Ze, f as Ke, G as Je, H as Ye, J as Xe, K as Qe, L as $e, N as he, O as et, P as tt, Q as xe, R as rt, S as at, T as nt } from "./VenueCalendar-CNQZD54v.js";
4
+ import { onMount as it } from "svelte";
5
+ import { r as st } from "./promo-WWbp2OWI.js";
6
+ import { g as we, C as ot, a as lt } from "./Checkout-DO-U-jI4.js";
7
+ var dt = e.from_svg('<svg aria-hidden="true" fill="none" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" d="M8 2.25v3M16 2.25v3M3.75 9.75h16.5M5.25 4.5h13.5a1.5 1.5 0 011.5 1.5v13.5a1.5 1.5 0 01-1.5 1.5H5.25a1.5 1.5 0 01-1.5-1.5V6a1.5 1.5 0 011.5-1.5z"></path></svg>');
8
+ function ct(n, t) {
9
+ let s = e.prop(t, "size", 3, "24"), f = e.prop(t, "color", 3, "currentColor"), i = e.prop(t, "class", 3, "");
10
+ var o = dt();
11
+ e.template_effect(() => {
12
+ e.set_class(o, 0, e.clsx(i())), e.set_attribute(o, "width", s()), e.set_attribute(o, "height", s()), e.set_attribute(o, "stroke", f());
13
+ }), e.append(n, o);
14
+ }
15
+ var ut = e.from_svg('<path d="M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM205.66,85.66l-96,96a8,8,0,0,1-11.32,0l-40-40a8,8,0,0,1,11.32-11.32L104,164.69l90.34-90.35a8,8,0,0,1,11.32,11.32Z"></path>'), gt = e.from_svg('<polyline points="40 144 96 200 224 72" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></polyline>'), ft = e.from_svg('<svg aria-hidden="true" viewBox="0 0 256 256" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><!></svg>');
16
+ function Ce(n, t) {
17
+ e.push(t, !0);
18
+ let s = e.prop(t, "size", 3, "24"), f = e.prop(t, "color", 3, "currentColor"), i = e.prop(t, "class", 3, "");
19
+ const o = _e();
20
+ let x = e.derived(() => t.weight ?? o?.weight ?? "regular");
21
+ var c = ft();
22
+ let u;
23
+ var h = e.child(c);
24
+ {
25
+ var S = (a) => {
26
+ var g = ut();
27
+ e.append(a, g);
28
+ }, F = (a) => {
29
+ var g = gt();
30
+ e.append(a, g);
31
+ };
32
+ e.if(h, (a) => {
33
+ e.get(x) === "fill" ? a(S) : a(F, -1);
34
+ });
35
+ }
36
+ e.reset(c), e.template_effect(() => {
37
+ e.set_class(c, 0, e.clsx(i())), e.set_attribute(c, "width", s()), e.set_attribute(c, "height", s()), u = e.set_style(c, "", u, { color: f() });
38
+ }), e.append(n, c), e.pop();
39
+ }
40
+ var pt = e.from_svg('<path d="M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z"></path>'), vt = e.from_svg('<line x1="200" y1="56" x2="56" y2="200" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line><line x1="200" y1="200" x2="56" y2="56" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>', 1), mt = e.from_svg('<svg aria-hidden="true" viewBox="0 0 256 256" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><!></svg>');
41
+ function yt(n, t) {
42
+ e.push(t, !0);
43
+ let s = e.prop(t, "size", 3, "24"), f = e.prop(t, "color", 3, "currentColor"), i = e.prop(t, "class", 3, "");
44
+ const o = _e();
45
+ let x = e.derived(() => t.weight ?? o?.weight ?? "regular");
46
+ var c = mt();
47
+ let u;
48
+ var h = e.child(c);
49
+ {
50
+ var S = (a) => {
51
+ var g = pt();
52
+ e.append(a, g);
53
+ }, F = (a) => {
54
+ var g = vt();
55
+ e.next(), e.append(a, g);
56
+ };
57
+ e.if(h, (a) => {
58
+ e.get(x) === "fill" ? a(S) : a(F, -1);
59
+ });
60
+ }
61
+ e.reset(c), e.template_effect(() => {
62
+ e.set_class(c, 0, e.clsx(i())), e.set_attribute(c, "width", s()), e.set_attribute(c, "height", s()), u = e.set_style(c, "", u, { color: f() });
63
+ }), e.append(n, c), e.pop();
64
+ }
65
+ var ht = e.from_svg('<path d="M243.31,136,144,36.69A15.86,15.86,0,0,0,132.69,32H40a8,8,0,0,0-8,8v92.69A15.86,15.86,0,0,0,36.69,144L136,243.31a16,16,0,0,0,22.63,0l84.68-84.68a16,16,0,0,0,0-22.63ZM84,96A12,12,0,1,1,96,84,12,12,0,0,1,84,96Z"></path>'), _t = e.from_svg('<path d="M42.34,138.34A8,8,0,0,1,40,132.69V40h92.69a8,8,0,0,1,5.65,2.34l99.32,99.32a8,8,0,0,1,0,11.31L153,237.66a8,8,0,0,1-11.31,0Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path><circle cx="84" cy="84" r="12"></circle>', 1), bt = e.from_svg('<svg aria-hidden="true" viewBox="0 0 256 256" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><!></svg>');
66
+ function xt(n, t) {
67
+ e.push(t, !0);
68
+ let s = e.prop(t, "size", 3, "24"), f = e.prop(t, "color", 3, "currentColor"), i = e.prop(t, "class", 3, "");
69
+ const o = _e();
70
+ let x = e.derived(() => t.weight ?? o?.weight ?? "regular");
71
+ var c = bt();
72
+ let u;
73
+ var h = e.child(c);
74
+ {
75
+ var S = (a) => {
76
+ var g = ht();
77
+ e.append(a, g);
78
+ }, F = (a) => {
79
+ var g = _t();
80
+ e.next(), e.append(a, g);
81
+ };
82
+ e.if(h, (a) => {
83
+ e.get(x) === "fill" ? a(S) : a(F, -1);
84
+ });
85
+ }
86
+ e.reset(c), e.template_effect(() => {
87
+ e.set_class(c, 0, e.clsx(i())), e.set_attribute(c, "width", s()), e.set_attribute(c, "height", s()), u = e.set_style(c, "", u, { color: f() });
88
+ }), e.append(n, c), e.pop();
89
+ }
90
+ function fe(n) {
91
+ "@babel/helpers - typeof";
92
+ return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? fe = function(t) {
93
+ return typeof t;
94
+ } : fe = function(t) {
95
+ return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
96
+ }, fe(n);
97
+ }
98
+ var Ee = "clover", wt = function(t) {
99
+ return t === 3 ? "v3" : t;
100
+ }, Ae = "https://js.stripe.com", Ct = "".concat(Ae, "/").concat(Ee, "/stripe.js"), It = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/, kt = /^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/;
101
+ var Pt = function(t) {
102
+ return It.test(t) || kt.test(t);
103
+ }, Tt = function() {
104
+ for (var t = document.querySelectorAll('script[src^="'.concat(Ae, '"]')), s = 0; s < t.length; s++) {
105
+ var f = t[s];
106
+ if (Pt(f.src))
107
+ return f;
108
+ }
109
+ return null;
110
+ }, Ie = function(t) {
111
+ var s = "", f = document.createElement("script");
112
+ f.src = "".concat(Ct).concat(s);
113
+ var i = document.head || document.body;
114
+ if (!i)
115
+ throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");
116
+ return i.appendChild(f), f;
117
+ }, St = function(t, s) {
118
+ !t || !t._registerWrapper || t._registerWrapper({
119
+ name: "stripe-js",
120
+ version: "8.8.0",
121
+ startTime: s
122
+ });
123
+ }, le = null, ue = null, ge = null, Et = function(t) {
124
+ return function(s) {
125
+ t(new Error("Failed to load Stripe.js", {
126
+ cause: s
127
+ }));
128
+ };
129
+ }, At = function(t, s) {
130
+ return function() {
131
+ window.Stripe ? t(window.Stripe) : s(new Error("Stripe.js not available"));
132
+ };
133
+ }, Ft = function(t) {
134
+ return le !== null ? le : (le = new Promise(function(s, f) {
135
+ if (typeof window > "u" || typeof document > "u") {
136
+ s(null);
137
+ return;
138
+ }
139
+ if (window.Stripe) {
140
+ s(window.Stripe);
141
+ return;
142
+ }
143
+ try {
144
+ var i = Tt();
145
+ if (!(i && t)) {
146
+ if (!i)
147
+ i = Ie(t);
148
+ else if (i && ge !== null && ue !== null) {
149
+ var o;
150
+ i.removeEventListener("load", ge), i.removeEventListener("error", ue), (o = i.parentNode) === null || o === void 0 || o.removeChild(i), i = Ie(t);
151
+ }
152
+ }
153
+ ge = At(s, f), ue = Et(f), i.addEventListener("load", ge), i.addEventListener("error", ue);
154
+ } catch (x) {
155
+ f(x);
156
+ return;
157
+ }
158
+ }), le.catch(function(s) {
159
+ return le = null, Promise.reject(s);
160
+ }));
161
+ }, zt = function(t, s, f) {
162
+ if (t === null)
163
+ return null;
164
+ var i = s[0];
165
+ if (typeof i != "string")
166
+ throw new Error("Expected publishable key to be of type string, got type ".concat(fe(i), " instead."));
167
+ var o = i.match(/^pk_test/), x = wt(t.version), c = Ee;
168
+ o && x !== c && console.warn("Stripe.js@".concat(x, " was loaded on the page, but @stripe/stripe-js@").concat("8.8.0", " expected Stripe.js@").concat(c, ". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));
169
+ var u = t.apply(void 0, s);
170
+ return St(u, f), u;
171
+ }, de, Fe = !1, ze = function() {
172
+ return de || (de = Ft(null).catch(function(t) {
173
+ return de = null, Promise.reject(t);
174
+ }), de);
175
+ };
176
+ Promise.resolve().then(function() {
177
+ return ze();
178
+ }).catch(function(n) {
179
+ Fe || console.warn(n);
180
+ });
181
+ var Nt = function() {
182
+ for (var t = arguments.length, s = new Array(t), f = 0; f < t; f++)
183
+ s[f] = arguments[f];
184
+ Fe = !0;
185
+ var i = Date.now();
186
+ return ze().then(function(o) {
187
+ return zt(o, s, i);
188
+ });
189
+ };
190
+ function ie(n) {
191
+ const t = n?.code || n?.decline_code || "", s = n?.type || "", f = n?.message || "";
192
+ if (t === "card_declined" || s === "card_error") {
193
+ const i = n?.decline_code || "";
194
+ return i === "insufficient_funds" ? {
195
+ type: "card_declined",
196
+ title: "Insufficient funds",
197
+ message: "Your card has insufficient funds to complete this purchase.",
198
+ suggestion: "Please try a different payment method or contact your bank.",
199
+ retryable: !0
200
+ } : i === "lost_card" || i === "stolen_card" ? {
201
+ type: "card_declined",
202
+ title: "Card cannot be used",
203
+ message: "This card cannot be used for this transaction.",
204
+ suggestion: "Please use a different payment method.",
205
+ retryable: !0
206
+ } : i === "expired_card" ? {
207
+ type: "card_declined",
208
+ title: "Card expired",
209
+ message: "Your card has expired.",
210
+ suggestion: "Please use a different card or update your card details.",
211
+ retryable: !0
212
+ } : {
213
+ type: "card_declined",
214
+ title: "Card declined",
215
+ message: "Your card was declined by your bank.",
216
+ suggestion: "Please try a different card or contact your bank for more information.",
217
+ retryable: !0
218
+ };
219
+ }
220
+ return s === "api_connection_error" || f.includes("network") || f.includes("connection") ? {
221
+ type: "network",
222
+ title: "Connection error",
223
+ message: "We couldn't connect to the payment server.",
224
+ suggestion: "Please check your internet connection and try again.",
225
+ retryable: !0
226
+ } : t === "rate_limit" ? {
227
+ type: "rate_limit",
228
+ title: "Too many attempts",
229
+ message: "Too many payment attempts. Please wait a moment.",
230
+ suggestion: "Wait 30 seconds before trying again.",
231
+ retryable: !0
232
+ } : t === "incorrect_number" || t === "invalid_number" ? {
233
+ type: "validation",
234
+ title: "Invalid card number",
235
+ message: "The card number you entered is invalid.",
236
+ suggestion: "Please check your card number and try again.",
237
+ retryable: !0
238
+ } : t === "incorrect_cvc" || t === "invalid_cvc" ? {
239
+ type: "validation",
240
+ title: "Invalid security code",
241
+ message: "The security code (CVC) is incorrect.",
242
+ suggestion: "Please check the 3-digit code on the back of your card.",
243
+ retryable: !0
244
+ } : t === "invalid_expiry_month" || t === "invalid_expiry_year" ? {
245
+ type: "validation",
246
+ title: "Invalid expiration date",
247
+ message: "The expiration date is invalid.",
248
+ suggestion: "Please check your card's expiration date.",
249
+ retryable: !0
250
+ } : {
251
+ type: "general",
252
+ title: "Payment failed",
253
+ message: f || "Something went wrong with your payment.",
254
+ suggestion: "Please try again or use a different payment method.",
255
+ retryable: !0
256
+ };
257
+ }
258
+ function Mt(n) {
259
+ return {
260
+ subtotal: (n.subtotal ?? 0) / 100,
261
+ fees: (n.service_fee ?? 0) / 100,
262
+ taxes: (n.tax_amount_exclusive ?? n.tax ?? 0) / 100,
263
+ // Residual charged. Falls back to `amount_total` if `stripe_amount` is ever
264
+ // absent (older/stubbed response) — for a no-gift-card order the two are
265
+ // equal, and any non-zero total beats silently rendering $0.00 (the bug this
266
+ // fix closes). A gift card's residual is folded in later via
267
+ // foldGiftCardIntoServerTotals, so this pre-gift value only needs the gross.
268
+ total: (n.stripe_amount ?? n.amount_total ?? 0) / 100,
269
+ promoDiscount: (n.discount ?? 0) / 100,
270
+ giftCardAmount: (n.gift_card_amount ?? 0) / 100,
271
+ stripeAmount: (n.stripe_amount ?? n.amount_total ?? 0) / 100,
272
+ currency: n.currency ? String(n.currency).toUpperCase() : "USD"
273
+ };
274
+ }
275
+ function Ot(n, t) {
276
+ const s = t.requiresStripe ? t.stripeAmount ?? 0 : 0;
277
+ return {
278
+ ...n,
279
+ giftCardAmount: t.giftCardAmount ?? 0,
280
+ total: s
281
+ };
282
+ }
283
+ const ke = Se("GiftCardInput");
284
+ var Dt = e.from_html('<span class="gc-spinner gc-spinner-sm svelte-emw0hd"></span>'), Rt = e.from_html('<div class="applied-card mb-2 svelte-emw0hd"><div class="flex items-center gap-3"><div class="applied-icon svelte-emw0hd"><!></div> <div class="flex flex-col flex-1"><span class="type-caption text-status-success-text"> </span> <span class="type-body font-mono text-text-primary"> </span></div> <span class="type-label text-accent-success"> </span> <button class="remove-btn svelte-emw0hd"><!></button></div></div>'), jt = e.from_html('<div class="full-coverage-badge svelte-emw0hd"><!> <span> </span></div>'), Lt = e.from_html('<div class="flex justify-between items-center type-body mt-1.5"><span class="text-text-secondary"> </span> <span class="type-label text-text-primary"> </span></div>'), Gt = e.from_html('<div class="applied-card mb-3 svelte-emw0hd"><div class="flex justify-between items-center type-body"><span class="text-text-secondary"> </span> <span class="type-label text-accent-success"> </span></div> <!></div>'), Ut = e.from_html('<span class="gc-spinner svelte-emw0hd"></span>'), Bt = e.from_html('<div class="flex items-center gap-1.5 mt-2 type-body text-accent-danger"><!> <span> </span></div>'), qt = e.from_html('<div class="input-section svelte-emw0hd"><div class="flex gap-2"><input type="text" name="giftCardCode" autocomplete="off" autocapitalize="characters"/> <button class="apply-btn svelte-emw0hd"><!></button></div> <!></div>'), Vt = e.from_html('<div class="mb-4"><!> <!> <button class="gift-card-toggle svelte-emw0hd"><!> <span> </span> <span class="toggle-indicator svelte-emw0hd"> </span></button> <!></div>');
285
+ function Ht(n, t) {
286
+ e.push(t, !0);
287
+ let s = e.prop(t, "onApplied", 3, () => {
288
+ }), f = e.prop(t, "onRemoved", 3, () => {
289
+ }), i = e.prop(t, "disabled", 3, !1), o = e.prop(t, "labels", 19, () => ({})), x = e.state(""), c = e.state(!1), u = e.state(""), h = e.state(e.proxy([])), S = e.state(!1), F = e.state(0), a = e.derived(() => e.get(h).reduce((p, m) => p + (m.giftCardAmount || 0), 0)), g = e.derived(() => Math.max(0, e.get(F) - e.get(a))), L = e.derived(() => e.get(h).length > 0 && e.get(g) <= 0);
290
+ function te() {
291
+ if (e.get(h).length === 0) {
292
+ f()();
293
+ return;
294
+ }
295
+ s()({
296
+ code: e.get(h).map((p) => p.code).join(", "),
297
+ giftCardAmount: e.get(a),
298
+ stripeAmount: e.get(g),
299
+ requiresStripe: e.get(g) > 0,
300
+ paymentType: e.get(g) > 0 ? "split" : "gift_card_only",
301
+ orderTotal: e.get(F)
302
+ });
303
+ }
304
+ async function G() {
305
+ const p = e.get(x).trim().toUpperCase();
306
+ if (!(!p || e.get(c) || !t.cartId)) {
307
+ if (e.get(h).some((m) => m.code === p)) {
308
+ e.set(u, o().giftCardAlreadyApplied || "That gift card is already applied", !0);
309
+ return;
310
+ }
311
+ e.set(c, !0), e.set(u, "");
312
+ try {
313
+ const m = await Le(t.cartId, p);
314
+ m.valid ? (e.set(
315
+ h,
316
+ [
317
+ ...e.get(h),
318
+ {
319
+ code: m.giftCardCode || p,
320
+ giftCardAmount: m.giftCardAmount || 0
321
+ }
322
+ ],
323
+ !0
324
+ ), e.set(F, e.get(a) + (m.stripeAmount || 0)), e.set(x, ""), e.set(S, !1), te()) : e.set(u, m.error || o().invalidGiftCardCode || "Invalid gift card code", !0);
325
+ } catch (m) {
326
+ ke.error("Error applying gift card:", m), e.set(u, o().failedToApplyGiftCard || "Failed to apply gift card. Please try again.", !0);
327
+ }
328
+ e.set(c, !1);
329
+ }
330
+ }
331
+ async function W(p) {
332
+ if (!(e.get(c) || !t.cartId)) {
333
+ e.set(c, !0), e.set(u, "");
334
+ try {
335
+ const m = await je(t.cartId, p);
336
+ m.success !== !1 && !m.error ? (e.set(h, e.get(h).filter((I) => I.code !== p), !0), te()) : e.set(u, m.error || o().failedToRemoveGiftCard || "Failed to remove gift card.", !0);
337
+ } catch (m) {
338
+ ke.error("Error removing gift card:", m), e.set(u, o().failedToRemoveGiftCard || "Failed to remove gift card. Please try again.", !0);
339
+ }
340
+ e.set(c, !1);
341
+ }
342
+ }
343
+ function ae(p) {
344
+ p.key === "Enter" && !e.get(c) && G();
345
+ }
346
+ function E() {
347
+ e.set(S, !e.get(S)), e.get(S) || (e.set(x, ""), e.set(u, ""));
348
+ }
349
+ var U = Vt(), O = e.child(U);
350
+ e.each(O, 17, () => e.get(h), (p) => p.code, (p, m) => {
351
+ var I = Rt(), k = e.child(I), K = e.child(k), V = e.child(K);
352
+ Ce(V, { size: "16" }), e.reset(K);
353
+ var Y = e.sibling(K, 2), X = e.child(Y), $ = e.child(X, !0);
354
+ e.reset(X);
355
+ var ee = e.sibling(X, 2), D = e.child(ee, !0);
356
+ e.reset(ee), e.reset(Y);
357
+ var _ = e.sibling(Y, 2), P = e.child(_);
358
+ e.reset(_);
359
+ var N = e.sibling(_, 2), B = e.child(N);
360
+ {
361
+ var re = (J) => {
362
+ var ce = Dt();
363
+ e.append(J, ce);
364
+ }, oe = (J) => {
365
+ yt(J, { size: "16" });
366
+ };
367
+ e.if(B, (J) => {
368
+ e.get(c) ? J(re) : J(oe, -1);
369
+ });
370
+ }
371
+ e.reset(N), e.reset(k), e.reset(I), e.template_effect(
372
+ (J) => {
373
+ e.set_text($, o().giftCardApplied || "Gift card applied"), e.set_text(D, e.get(m).code), e.set_text(P, `-${J ?? ""}`), N.disabled = e.get(c) || i(), e.set_attribute(N, "aria-label", o().removeGiftCard || "Remove gift card");
374
+ },
375
+ [() => ve(e.get(m).giftCardAmount)]
376
+ ), e.delegated("click", N, () => W(e.get(m).code)), e.transition(3, I, () => me, () => ({ duration: ye.fast })), e.append(p, I);
377
+ });
378
+ var z = e.sibling(O, 2);
379
+ {
380
+ var R = (p) => {
381
+ var m = Gt(), I = e.child(m), k = e.child(I), K = e.child(k, !0);
382
+ e.reset(k);
383
+ var V = e.sibling(k, 2), Y = e.child(V);
384
+ e.reset(V), e.reset(I);
385
+ var X = e.sibling(I, 2);
386
+ {
387
+ var $ = (D) => {
388
+ var _ = jt(), P = e.child(_);
389
+ Ce(P, { size: "16" });
390
+ var N = e.sibling(P, 2), B = e.child(N, !0);
391
+ e.reset(N), e.reset(_), e.template_effect(() => e.set_text(B, o().fullyCoveredByGiftCard || "Fully covered by gift card")), e.append(D, _);
392
+ }, ee = (D) => {
393
+ var _ = Lt(), P = e.child(_), N = e.child(P, !0);
394
+ e.reset(P);
395
+ var B = e.sibling(P, 2), re = e.child(B, !0);
396
+ e.reset(B), e.reset(_), e.template_effect(
397
+ (oe) => {
398
+ e.set_text(N, o().remainingToPay || "Remaining to pay"), e.set_text(re, oe);
399
+ },
400
+ [() => ve(e.get(g))]
401
+ ), e.append(D, _);
402
+ };
403
+ e.if(X, (D) => {
404
+ e.get(L) ? D($) : D(ee, -1);
405
+ });
406
+ }
407
+ e.reset(m), e.template_effect(
408
+ (D) => {
409
+ e.set_text(K, o().appliedToOrder || "Applied to order"), e.set_text(Y, `-${D ?? ""}`);
410
+ },
411
+ [() => ve(e.get(a))]
412
+ ), e.append(p, m);
413
+ };
414
+ e.if(z, (p) => {
415
+ e.get(h).length > 0 && p(R);
416
+ });
417
+ }
418
+ var y = e.sibling(z, 2), Q = e.child(y);
419
+ xt(Q, { size: "20", class: "gift-icon" });
420
+ var q = e.sibling(Q, 2), ne = e.child(q, !0);
421
+ e.reset(q);
422
+ var Z = e.sibling(q, 2), se = e.child(Z, !0);
423
+ e.reset(Z), e.reset(y);
424
+ var j = e.sibling(y, 2);
425
+ {
426
+ var A = (p) => {
427
+ var m = qt(), I = e.child(m), k = e.child(I);
428
+ e.remove_input_defaults(k);
429
+ let K;
430
+ var V = e.sibling(k, 2), Y = e.child(V);
431
+ {
432
+ var X = (_) => {
433
+ var P = Ut();
434
+ e.append(_, P);
435
+ }, $ = (_) => {
436
+ var P = e.text();
437
+ e.template_effect(() => e.set_text(P, o().apply || "Apply")), e.append(_, P);
438
+ };
439
+ e.if(Y, (_) => {
440
+ e.get(c) ? _(X) : _($, -1);
441
+ });
442
+ }
443
+ e.reset(V), e.reset(I);
444
+ var ee = e.sibling(I, 2);
445
+ {
446
+ var D = (_) => {
447
+ var P = Bt(), N = e.child(P);
448
+ Ge(N, { size: "16" });
449
+ var B = e.sibling(N, 2), re = e.child(B, !0);
450
+ e.reset(B), e.reset(P), e.template_effect(() => e.set_text(re, e.get(u))), e.transition(3, P, () => me, () => ({ duration: ye.micro })), e.append(_, P);
451
+ };
452
+ e.if(ee, (_) => {
453
+ e.get(u) && _(D);
454
+ });
455
+ }
456
+ e.reset(m), e.template_effect(
457
+ (_) => {
458
+ e.set_attribute(k, "aria-label", o().enterGiftCardCode || "Enter gift card code"), e.set_attribute(k, "placeholder", o().enterGiftCardCode || "Enter gift card code"), k.disabled = e.get(c) || i(), K = e.set_class(k, 1, "gift-input svelte-emw0hd", null, K, { "has-error": !!e.get(u) }), V.disabled = _;
459
+ },
460
+ [() => !e.get(x).trim() || e.get(c) || i()]
461
+ ), e.delegated("keydown", k, ae), e.bind_value(k, () => e.get(x), (_) => e.set(x, _)), e.delegated("click", V, G), e.transition(3, m, () => me, () => ({ duration: ye.fast })), e.append(p, m);
462
+ };
463
+ e.if(j, (p) => {
464
+ e.get(S) && p(A);
465
+ });
466
+ }
467
+ e.reset(U), e.template_effect(() => {
468
+ y.disabled = i(), e.set_attribute(y, "aria-expanded", e.get(S)), e.set_text(ne, e.get(h).length > 0 ? o().addAnotherGiftCard || "Add another gift card" : o().haveAGiftCard || "Have a gift card?"), e.set_text(se, e.get(S) ? "-" : "+");
469
+ }), e.delegated("click", y, E), e.append(n, U), e.pop();
470
+ }
471
+ e.delegate(["click", "keydown"]);
472
+ var Wt = e.from_html('<div class="flex flex-col items-center text-center pt-6 px-4 pb-4"><div aria-hidden="true"><!></div> <h3 id="event-unavailable-title"> </h3> <p id="event-unavailable-body" class="type-body tone-secondary max-w-72"> </p></div>'), Pe = e.from_html("<!> <!>", 1);
473
+ function Zt(n, t) {
474
+ e.push(t, !0);
475
+ let s = e.prop(t, "open", 15, !1), f = e.prop(t, "onBackToEvents", 3, () => {
476
+ }), i = e.prop(t, "labels", 19, () => ({})), o = e.derived(() => t.reason === "canceled"), x = e.derived(() => e.get(o) ? i().eventCanceledTitle || "Event canceled" : i().eventPostponedTitle || "Event postponed"), c = e.derived(() => e.get(o) ? i().eventCanceledBody || "This event was canceled — you weren't charged." : i().eventPostponedBody || "Sales are paused while this show is rescheduled — you weren't charged."), u = e.derived(() => i().backToEvents || "Back to events");
477
+ Ue(n, {
478
+ size: "sm",
479
+ role: "alertdialog",
480
+ class: "micdrop",
481
+ get open() {
482
+ return s();
483
+ },
484
+ set open(h) {
485
+ s(h);
486
+ },
487
+ children: (h, S) => {
488
+ var F = Pe(), a = e.first_child(F);
489
+ Be(a, {});
490
+ var g = e.sibling(a, 2);
491
+ qe(g, {
492
+ children: (L, te) => {
493
+ var G = Pe(), W = e.first_child(G);
494
+ Ve(W, {
495
+ children: (E, U) => {
496
+ var O = Wt(), z = e.child(O), R = e.child(z);
497
+ {
498
+ var y = (j) => {
499
+ We(j, { size: "32" });
500
+ }, Q = (j) => {
501
+ ct(j, { size: "32" });
502
+ };
503
+ e.if(R, (j) => {
504
+ e.get(o) ? j(y) : j(Q, -1);
505
+ });
506
+ }
507
+ e.reset(z);
508
+ var q = e.sibling(z, 2), ne = e.child(q, !0);
509
+ e.reset(q);
510
+ var Z = e.sibling(q, 2), se = e.child(Z, !0);
511
+ e.reset(Z), e.reset(O), e.template_effect(() => {
512
+ e.set_class(z, 1, `w-16 h-16 rounded-full flex items-center justify-center mb-4 ${e.get(o) ? "bg-accent-danger/10 text-accent-danger" : "bg-accent-warning/10 text-accent-warning"}`), e.set_class(q, 1, `mb-2 ${He.heading}`), e.set_text(ne, e.get(x)), e.set_text(se, e.get(c));
513
+ }), e.append(E, O);
514
+ },
515
+ $$slots: { default: !0 }
516
+ });
517
+ var ae = e.sibling(W, 2);
518
+ Ze(ae, {
519
+ children: (E, U) => {
520
+ Ke(E, {
521
+ size: "full",
522
+ variant: "default",
523
+ get onclick() {
524
+ return f();
525
+ },
526
+ get "aria-label"() {
527
+ return e.get(u);
528
+ },
529
+ children: (O, z) => {
530
+ e.next();
531
+ var R = e.text();
532
+ e.template_effect(() => e.set_text(R, e.get(u))), e.append(O, R);
533
+ },
534
+ $$slots: { default: !0 }
535
+ });
536
+ },
537
+ $$slots: { default: !0 }
538
+ }), e.append(L, G);
539
+ },
540
+ $$slots: { default: !0 }
541
+ }), e.append(h, F);
542
+ },
543
+ $$slots: { default: !0 }
544
+ }), e.pop();
545
+ }
546
+ const H = Se("Checkout");
547
+ var Kt = e.from_html('<div class="max-w-6xl mx-auto px-4 md:px-6 -mt-4 mb-8"><!></div>'), Te = e.from_html("<!> <!>", 1), Jt = e.from_html('<div class="p-8 text-center"><p class="text-accent-danger"> </p></div>'), Yt = e.from_html('<div class="p-8 text-center"><p class="tone-muted"> </p></div>');
548
+ function rr(n, t) {
549
+ e.push(t, !0);
550
+ let s = e.prop(t, "availableTickets", 23, () => []);
551
+ e.prop(t, "value", 3, "");
552
+ let f = e.prop(t, "venueId", 3, ""), i = e.prop(t, "organizationId", 3, ""), o = e.prop(t, "onNavigateBack", 3, void 0), x = e.prop(t, "initialError", 3, void 0), c = e.prop(t, "widgetId", 3, null), u = e.prop(t, "labels", 19, () => ({})), h = e.derived(() => (t.data || {}).id);
553
+ e.derived(() => (t.data || {}).orgSlug);
554
+ let S = e.derived(() => (t.data || {}).slug), F = e.derived(() => (t.data || {}).event), a = e.derived(() => e.get(F) ? Je(e.get(F)) : t.data && (t.data.id || e.get(h)) ? {
555
+ id: t.data.id || e.get(h),
556
+ eventID: t.data.id || e.get(h),
557
+ venueID: t.data.venueID ?? t.data.venueId ?? null,
558
+ venueId: t.data.venueId ?? t.data.venueID ?? null,
559
+ eventTicketingType: 0,
560
+ ticketType: 0,
561
+ availableTickets: []
562
+ } : null), g = e.state(""), L = e.state(e.proxy({})), te = e.state(e.proxy({})), G = e.state(e.proxy([])), W = e.state(""), ae = e.state(0), E = e.state(!1), U = e.state(!1), O = e.state(null), z = e.state(""), R = e.state(void 0), y = e.state(""), Q = e.state(""), q = e.state(!1), ne = e.state(""), Z = e.state(null), se = e.derived(() => e.get(Z) !== null), j = e.state(null), A = e.state(null), p = null;
563
+ function m() {
564
+ return {
565
+ value: p?.total ?? null,
566
+ currency: p?.currency || "USD"
567
+ };
568
+ }
569
+ it(async () => {
570
+ if (e.set(g, we(lt.CHECKOUT_CARTID), !0), !e.get(g)) {
571
+ e.set(q, !0), e.set(ne, u().noCheckoutSession || "No checkout session found. Please select tickets first.", !0);
572
+ return;
573
+ }
574
+ Ye(e.get(a)?.eventID || e.get(a)?.id || e.get(h), c(), f() || e.get(a)?.venueID || e.get(a)?.venueId || null);
575
+ const r = e.get(a)?.eventID || e.get(a)?.id || e.get(h);
576
+ try {
577
+ const v = Xe(r);
578
+ e.set(L, v.quantities || {}, !0), e.set(te, v.donationAmounts || {}, !0), e.set(W, v.promocode || "", !0), e.set(ae, v.promoDiscountAmount || 0, !0), e.set(G, v.tickets || [], !0);
579
+ } catch (v) {
580
+ H.error("Error loading checkout state:", v), e.set(L, {}, !0), e.set(G, [], !0);
581
+ }
582
+ e.get(G).length > 0 && e.get(a) && (e.get(a).availableTickets = e.get(G), s(e.get(G)));
583
+ let d = {
584
+ serviceFeeCents: 0,
585
+ serviceFeePercentage: 0,
586
+ serviceFeeChargeType: "both",
587
+ maxServiceFeeCents: 0,
588
+ taxPercentage: 0
589
+ };
590
+ try {
591
+ const v = (
592
+ /** @type {any} */
593
+ await Qe(e.get(a)?.venueID || e.get(a)?.venueId || f())
594
+ );
595
+ d = {
596
+ serviceFeeCents: Number(v?.serviceFeeCents ?? 0),
597
+ serviceFeePercentage: Number(v?.serviceFeePercentage ?? 0),
598
+ serviceFeeChargeType: String(v?.serviceFeeChargeType ?? "both"),
599
+ maxServiceFeeCents: Number(v?.maxServiceFeeCents ?? 0),
600
+ taxPercentage: Number(v?.taxPercentage ?? 0)
601
+ };
602
+ } catch (v) {
603
+ H.error("Error fetching venue data:", v);
604
+ }
605
+ const l = V(e.get(L), e.get(G), d);
606
+ Object.keys(e.get(L)).length > 0 && await k();
607
+ let b = 900;
608
+ if (e.get(g)) {
609
+ const v = typeof localStorage < "u" ? localStorage.getItem(`checkout-expiry-${e.get(
610
+ g
611
+ // @storage-escape: checkout-timer state (intentional raw localStorage)
612
+ )}`) : null;
613
+ if (v) {
614
+ const M = Math.max(0, Math.floor((parseInt(v, 10) - Date.now()) / 1e3));
615
+ M > 0 && (b = M);
616
+ }
617
+ try {
618
+ const M = await $e(e.get(g));
619
+ !M.error && M.expiresAt && (b = Math.max(0, Math.floor(
620
+ (new Date(M.expiresAt).getTime() - Date.now()) / 1e3
621
+ // @datetime-escape: cart-hold countdown — buyer's own wall clock, tz-independent
622
+ )), localStorage.setItem(
623
+ // @storage-escape: checkout-timer state (intentional raw localStorage)
624
+ `checkout-expiry-${e.get(g)}`,
625
+ String(new Date(M.expiresAt).getTime())
626
+ // @datetime-escape: persist hold-expiry epoch (ms) — wall-clock timer
627
+ ));
628
+ } catch {
629
+ }
630
+ }
631
+ const w = we(
632
+ /** @type {any} */
633
+ `checkout-promo-discount-type-${r}`
634
+ ) || "", C = he(l.reduce((v, M) => v + M.subtotal, 0)), T = st(C, e.get(ae), w);
635
+ if (e.set(
636
+ A,
637
+ {
638
+ event: K(e.get(a), d),
639
+ lines: l,
640
+ timerStart: b,
641
+ promoApplied: !!e.get(W),
642
+ promoDiscount: T,
643
+ forceExpired: !1,
644
+ ...p ? { serverTotals: p } : {}
645
+ },
646
+ !0
647
+ ), x()) {
648
+ const v = ie(typeof x() == "object" ? x() : {
649
+ code: "card_declined",
650
+ message: "Your card was declined. Please try a different payment method."
651
+ });
652
+ e.set(y, v.message, !0);
653
+ }
654
+ });
655
+ let I = 0;
656
+ async function k() {
657
+ const r = ++I;
658
+ if (!e.get(g)) {
659
+ H.error("Missing cartId!");
660
+ return;
661
+ }
662
+ const d = Object.fromEntries(Object.entries(e.get(L)).filter(([l, b]) => b > 0));
663
+ try {
664
+ const l = Object.fromEntries(Object.entries(e.get(te)).filter(([, v]) => parseFloat(String(v)) > 0).map(([v, M]) => [parseInt(v, 10), parseFloat(String(M))]));
665
+ if (e.get(W)) {
666
+ const v = await et(e.get(g), e.get(W));
667
+ if (r !== I) return;
668
+ v.success ? e.set(Q, "") : (H.error("Failed to apply promo code to cart:", v.error), e.set(Q, (u().promoCodeNotApplied || "We couldn't apply promo code {code}. It isn't included in this total — go back to re-enter it, or continue at the full price.").replace("{code}", e.get(W)), !0));
669
+ }
670
+ const b = await tt(e.get(g), d, Object.keys(l).length > 0 ? l : void 0);
671
+ if (r !== I) return;
672
+ if (!b) {
673
+ e.set(y, u().failedToCreatePaymentIntent || "Failed to create payment intent. Please try again.", !0);
674
+ return;
675
+ }
676
+ p = Mt(b), e.get(A) && e.set(
677
+ A,
678
+ {
679
+ ...e.get(A),
680
+ serverTotals: p
681
+ },
682
+ !0
683
+ );
684
+ const w = (
685
+ /** @type {any} */
686
+ b
687
+ );
688
+ if (w.requires_stripe === !1 || w.payment_type === "free") {
689
+ e.set(z, "free");
690
+ return;
691
+ }
692
+ const C = b.stripe_publishable_key;
693
+ if (!C) {
694
+ H.error("No Stripe publishable key in payment intent response"), e.set(y, u().paymentConfigError || "Payment configuration error. Please try again.", !0);
695
+ return;
696
+ }
697
+ const T = await Nt(C);
698
+ if (r !== I) return;
699
+ e.set(O, T, !0), b.client_secret ? e.set(z, b.client_secret, !0) : e.set(y, u().failedToInitPayment || "Failed to initialize payment. Please try again.", !0);
700
+ } catch (l) {
701
+ if (H.error("Failed to initialize Stripe payment:", l), r !== I) return;
702
+ e.set(y, l.message || u().failedToInitPayment || "Failed to initialize payment. Please try again.", !0);
703
+ }
704
+ }
705
+ function K(r, d) {
706
+ return r ? {
707
+ id: r.id || r.eventID,
708
+ title: r.name || r.title || "",
709
+ slug: r.slug || e.get(S) || "",
710
+ description: r.description || "",
711
+ date: r.date || "",
712
+ startDateTime: r.startDateTime || "",
713
+ endDateTime: r.endDateTime || "",
714
+ doorsOpenTime: r.doorsOpenTime || "",
715
+ timezone: r.timeZone || r.timezone || xe(),
716
+ imageUrl: r.imageUrl || r.image || "",
717
+ venue: {
718
+ id: r.venueID || r.venueId || 0,
719
+ name: r.venueName || "",
720
+ address: r.venueAddress || "",
721
+ timezone: r.timeZone || r.timezone || xe(),
722
+ serviceFeePercentage: d.serviceFeePercentage,
723
+ serviceFeeCents: d.serviceFeeCents,
724
+ taxPercentage: d.taxPercentage,
725
+ serviceFeeChargeType: d.serviceFeeChargeType,
726
+ maxServiceFeeCents: d.maxServiceFeeCents
727
+ },
728
+ performers: r.performers || [],
729
+ tickets: (r.availableTickets || []).map((l) => ({
730
+ id: l.ID || l.id,
731
+ name: l.name || "",
732
+ description: l.description || "",
733
+ // ticket.price is DOLLARS here, same source buildOrderLines and CartView
734
+ // read (CartView: Math.round(ticket.price * 100)). No /100 — that made
735
+ // event.tickets[].price 100x too small for any consumer that reads it.
736
+ price: l.price || 0,
737
+ fee: 0,
738
+ quantityAvailable: l.quantityAvailable || 0,
739
+ quantityTotal: l.quantityTotal || 0,
740
+ minPerOrder: l.minPerOrder || 1,
741
+ maxPerOrder: l.maxPerOrder || 10,
742
+ status: "on_sale",
743
+ isDonation: l.type === 2,
744
+ isHidden: !1
745
+ })),
746
+ faqs: r.faqs || [],
747
+ status: "on_sale",
748
+ isPasswordProtected: !1,
749
+ isRegistrationEvent: r.eventTicketingType === 1 || r.ticketType === 1,
750
+ totalTicketsRemaining: 100,
751
+ totalTicketsCapacity: 100
752
+ } : null;
753
+ }
754
+ function V(r, d, l) {
755
+ const b = [];
756
+ for (const [w, C] of Object.entries(r)) {
757
+ if (C <= 0) continue;
758
+ const T = d.find((pe) => String(pe.ID) === w || String(pe.id) === w);
759
+ if (!T) continue;
760
+ const v = T.price || 0, M = Y(v, l);
761
+ b.push({
762
+ ticketId: parseInt(w),
763
+ ticketName: T.name || "",
764
+ quantity: C,
765
+ unitPrice: v,
766
+ fee: M,
767
+ subtotal: he(v * C),
768
+ isDonation: T.type === 2
769
+ });
770
+ }
771
+ return b;
772
+ }
773
+ function Y(r, d) {
774
+ if (r === 0) return 0;
775
+ const {
776
+ serviceFeePercentage: l = 0,
777
+ serviceFeeCents: b = 0,
778
+ serviceFeeChargeType: w = "both",
779
+ maxServiceFeeCents: C = 0
780
+ } = d;
781
+ let T = 0;
782
+ return (w === "percentage" || w === "both") && (T += r * (l / 100)), (w === "fixed" || w === "flat" || w === "cents" || w === "both") && (T += b / 100), C > 0 && (T = Math.min(T, C / 100)), he(T);
783
+ }
784
+ let X = e.derived(() => Object.values(e.get(te)).some((r) => (Number(r) || 0) > 0)), $ = e.derived(() => !e.get(X) && (e.get(A) ? e.get(A).lines.every((r) => r.unitPrice === 0) : !0));
785
+ async function ee(r) {
786
+ if (!e.get(E)) {
787
+ e.set(E, !0), e.set(y, "");
788
+ try {
789
+ if (e.get(U)) {
790
+ e.set(y, u().paymentReinitializing || "Updating your total. Please wait a moment and try again.", !0);
791
+ return;
792
+ }
793
+ if (e.get(j) && !e.get(j).requiresStripe) {
794
+ await D(r);
795
+ return;
796
+ }
797
+ if (e.get($)) {
798
+ await _(r);
799
+ return;
800
+ }
801
+ if (!e.get(R)) {
802
+ e.set(y, u().paymentFormNotReady || "Payment form is not ready. Please wait a moment and try again.", !0), e.set(E, !1);
803
+ return;
804
+ }
805
+ if (!e.get(O)) {
806
+ e.set(y, u().paymentSystemNotInitialized || "Payment system is not initialized. Please refresh the page.", !0), e.set(E, !1);
807
+ return;
808
+ }
809
+ const { error: d } = await e.get(R).submit();
810
+ if (d) {
811
+ const C = ie(d);
812
+ e.set(y, C.message, !0), e.set(E, !1);
813
+ return;
814
+ }
815
+ const l = await e.get(O).confirmPayment({ elements: e.get(R), redirect: "if_required" });
816
+ if (l.error) {
817
+ const C = ie(l.error);
818
+ e.set(y, C.message, !0), e.set(E, !1);
819
+ return;
820
+ }
821
+ const b = {
822
+ id: e.get(g),
823
+ paymentIntentId: l.paymentIntent.id,
824
+ tickets: e.get(L),
825
+ firstName: r.firstName,
826
+ lastName: r.lastName,
827
+ email: r.email,
828
+ paymentMethod: "credit-card",
829
+ mailingList: r.keepMeUpdated,
830
+ saleType: "online"
831
+ }, w = await at(e.get(g), b);
832
+ if (w?.eventCanceled || w?.eventPostponed) {
833
+ e.set(Z, w.eventCanceled ? "canceled" : "postponed", !0), e.set(y, "");
834
+ return;
835
+ }
836
+ if (w?.status === "Payment succeeded") {
837
+ const C = {
838
+ orderId: e.get(g),
839
+ eventId: e.get(a)?.id || e.get(a)?.eventID || null,
840
+ event: e.get(a) || null,
841
+ venueId: f() || e.get(a)?.venueId || null,
842
+ organizationId: i() || e.get(a)?.organizationId || null,
843
+ ...m()
844
+ };
845
+ t.onNavigateToSuccess && t.onNavigateToSuccess(C);
846
+ } else w?.status === "Payment amount does not match the total price" ? e.set(y, u().paymentAmountMismatch || "Payment amount mismatch. Please refresh and try again.", !0) : e.set(y, u().paymentValidationFailed || "Payment validation failed. Please try again.", !0);
847
+ } catch (d) {
848
+ H.error("Payment execution error:", d);
849
+ const l = ie(d);
850
+ e.set(y, l.message, !0);
851
+ } finally {
852
+ e.set(E, !1);
853
+ }
854
+ }
855
+ }
856
+ async function D(r) {
857
+ try {
858
+ const d = await nt(e.get(g), {
859
+ firstName: r.firstName,
860
+ lastName: r.lastName,
861
+ email: r.email,
862
+ phoneNumber: null,
863
+ mailingList: r.keepMeUpdated
864
+ });
865
+ if (d?.success) {
866
+ const l = {
867
+ orderId: d.orderId || e.get(g),
868
+ eventId: e.get(a)?.id || e.get(a)?.eventID || null,
869
+ event: e.get(a) || null,
870
+ venueId: f() || e.get(a)?.venueId || null,
871
+ organizationId: i() || e.get(a)?.organizationId || null,
872
+ paymentType: "gift_card_only",
873
+ ...m()
874
+ };
875
+ t.onNavigateToSuccess && t.onNavigateToSuccess(l);
876
+ } else
877
+ e.set(y, d?.error || u().failedToCompleteOrder || "Failed to complete order. Please try again.", !0);
878
+ } catch (d) {
879
+ H.error("Gift card payment error:", d);
880
+ const l = ie(d);
881
+ e.set(y, l.message, !0);
882
+ } finally {
883
+ e.set(E, !1);
884
+ }
885
+ }
886
+ async function _(r) {
887
+ try {
888
+ if (e.get(z) !== "free" && await k(), e.get(z) !== "free") {
889
+ e.set(y, u().failedToCompleteOrder || "Could not complete the order. Please try again.", !0);
890
+ return;
891
+ }
892
+ const d = {
893
+ orderId: e.get(g),
894
+ eventId: e.get(a)?.id || e.get(a)?.eventID || null,
895
+ event: e.get(a) || null,
896
+ venueId: f() || e.get(a)?.venueId || null,
897
+ organizationId: i() || e.get(a)?.organizationId || null,
898
+ paymentType: "free",
899
+ ...m()
900
+ };
901
+ t.onNavigateToSuccess && t.onNavigateToSuccess(d);
902
+ } catch (d) {
903
+ H.error("Free order completion error:", d);
904
+ const l = ie(d);
905
+ e.set(y, l.message, !0);
906
+ } finally {
907
+ e.set(E, !1);
908
+ }
909
+ }
910
+ async function P(r) {
911
+ if (e.set(j, r, !0), e.get(A) && p && e.set(
912
+ A,
913
+ {
914
+ ...e.get(A),
915
+ serverTotals: Ot(p, r)
916
+ },
917
+ !0
918
+ ), !r.requiresStripe)
919
+ I++, e.set(R, void 0), e.set(O, null), e.set(z, "");
920
+ else if (e.get(g) && Object.keys(e.get(L)).length > 0) {
921
+ e.set(U, !0);
922
+ try {
923
+ await k();
924
+ } finally {
925
+ e.set(U, !1);
926
+ }
927
+ }
928
+ }
929
+ async function N() {
930
+ if (e.set(j, null), e.get(A) && p && e.set(
931
+ A,
932
+ {
933
+ ...e.get(A),
934
+ serverTotals: p
935
+ },
936
+ !0
937
+ ), e.get(g) && Object.keys(e.get(L)).length > 0) {
938
+ e.set(U, !0);
939
+ try {
940
+ await k();
941
+ } finally {
942
+ e.set(U, !1);
943
+ }
944
+ }
945
+ }
946
+ function B() {
947
+ o() ? o()() : window.history.back();
948
+ }
949
+ function re() {
950
+ o() ? o()() : window.history.back();
951
+ }
952
+ function oe() {
953
+ e.set(Z, null), B();
954
+ }
955
+ async function J() {
956
+ if (!e.get(g)) return null;
957
+ try {
958
+ const r = await rt(e.get(g));
959
+ return r.success ? {
960
+ newExpiryTime: r.newExpiryTime,
961
+ remainingExtensions: r.remainingExtensions
962
+ } : (H.error("Failed to extend session:", r.error), null);
963
+ } catch (r) {
964
+ return H.error("Error extending checkout session:", r), null;
965
+ }
966
+ }
967
+ var ce = Te(), be = e.first_child(ce);
968
+ {
969
+ var Ne = (r) => {
970
+ var d = Te(), l = e.first_child(d);
971
+ {
972
+ let C = e.derived(() => e.get(y) || e.get(Q));
973
+ ot(l, {
974
+ get config() {
975
+ return e.get(A);
976
+ },
977
+ onPlaceOrder: ee,
978
+ onBack: B,
979
+ onRetryExpired: re,
980
+ onExtendSession: J,
981
+ get stripe() {
982
+ return e.get(O);
983
+ },
984
+ get paymentIntent() {
985
+ return e.get(z);
986
+ },
987
+ get paymentError() {
988
+ return e.get(C);
989
+ },
990
+ get labels() {
991
+ return u();
992
+ },
993
+ get elements() {
994
+ return e.get(R);
995
+ },
996
+ set elements(T) {
997
+ e.set(R, T, !0);
998
+ }
999
+ });
1000
+ }
1001
+ var b = e.sibling(l, 2);
1002
+ {
1003
+ var w = (C) => {
1004
+ var T = Kt(), v = e.child(T);
1005
+ {
1006
+ let M = e.derived(() => e.get(E) || e.get(U));
1007
+ Ht(v, {
1008
+ get cartId() {
1009
+ return e.get(g);
1010
+ },
1011
+ onApplied: P,
1012
+ onRemoved: N,
1013
+ get disabled() {
1014
+ return e.get(M);
1015
+ }
1016
+ });
1017
+ }
1018
+ e.reset(T), e.append(C, T);
1019
+ };
1020
+ e.if(b, (C) => {
1021
+ e.get($) || C(w);
1022
+ });
1023
+ }
1024
+ e.append(r, d);
1025
+ }, Me = (r) => {
1026
+ var d = Jt(), l = e.child(d), b = e.child(l, !0);
1027
+ e.reset(l), e.reset(d), e.template_effect(() => e.set_text(b, e.get(ne))), e.append(r, d);
1028
+ }, Oe = (r) => {
1029
+ var d = Yt(), l = e.child(d), b = e.child(l, !0);
1030
+ e.reset(l), e.reset(d), e.template_effect(() => e.set_text(b, u().loadingSecurePaymentForm || "Loading secure payment form...")), e.append(r, d);
1031
+ };
1032
+ e.if(be, (r) => {
1033
+ e.get(A) ? r(Ne) : e.get(q) ? r(Me, 1) : r(Oe, -1);
1034
+ });
1035
+ }
1036
+ var De = e.sibling(be, 2);
1037
+ {
1038
+ var Re = (r) => {
1039
+ Zt(r, {
1040
+ open: !0,
1041
+ get reason() {
1042
+ return e.get(Z);
1043
+ },
1044
+ onBackToEvents: oe,
1045
+ get labels() {
1046
+ return u();
1047
+ }
1048
+ });
1049
+ };
1050
+ e.if(De, (r) => {
1051
+ e.get(se) && r(Re);
1052
+ });
1053
+ }
1054
+ e.append(n, ce), e.pop();
1055
+ }
1056
+ export {
1057
+ rr as default
1058
+ };
1059
+ //# sourceMappingURL=Checkout-BEauxCmt.js.map