@getmicdrop/venue-calendar 4.0.15 → 4.0.17

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 (59) hide show
  1. package/dist/{AirbnbSplitMain-oCLliWnG.js → AirbnbSplitMain-CR7SsRG2.js} +4 -4
  2. package/dist/{AirbnbSplitMain-oCLliWnG.js.map → AirbnbSplitMain-CR7SsRG2.js.map} +1 -1
  3. package/dist/{CarouselView.legacy-DtfSdW8R.js → CarouselView.legacy-C0cRJS-3.js} +3 -3
  4. package/dist/{CarouselView.legacy-DtfSdW8R.js.map → CarouselView.legacy-C0cRJS-3.js.map} +1 -1
  5. package/dist/CartView-DaYfGxiQ.js +1708 -0
  6. package/dist/CartView-DaYfGxiQ.js.map +1 -0
  7. package/dist/{Checkout-Dmtctjic.js → Checkout-5WyBsOUz.js} +4 -4
  8. package/dist/{Checkout-Dmtctjic.js.map → Checkout-5WyBsOUz.js.map} +1 -1
  9. package/dist/{Checkout.legacy-Dsgklvag.js → Checkout.legacy-x2UOIEi6.js} +28 -28
  10. package/dist/{Checkout.legacy-Dsgklvag.js.map → Checkout.legacy-x2UOIEi6.js.map} +1 -1
  11. package/dist/{CheckoutMain-DpoCdaC3.js → CheckoutMain-DbwF9DJU.js} +4 -4
  12. package/dist/{CheckoutMain-DpoCdaC3.js.map → CheckoutMain-DbwF9DJU.js.map} +1 -1
  13. package/dist/{CheckoutTimer-B31TtkiO.js → CheckoutTimer-lq9B5TfI.js} +2 -2
  14. package/dist/{CheckoutTimer-B31TtkiO.js.map → CheckoutTimer-lq9B5TfI.js.map} +1 -1
  15. package/dist/{CollectionView-C3p2hgQP.js → CollectionView-DMp_ShDZ.js} +5 -5
  16. package/dist/{CollectionView-C3p2hgQP.js.map → CollectionView-DMp_ShDZ.js.map} +1 -1
  17. package/dist/{CollectionView.legacy-DNlte2Sy.js → CollectionView.legacy-iqREDeXb.js} +24 -24
  18. package/dist/{CollectionView.legacy-DNlte2Sy.js.map → CollectionView.legacy-iqREDeXb.js.map} +1 -1
  19. package/dist/{EventDetailsView-BnH4M9C0.js → EventDetailsView-Bt4ekqYp.js} +2 -2
  20. package/dist/{EventDetailsView-BnH4M9C0.js.map → EventDetailsView-Bt4ekqYp.js.map} +1 -1
  21. package/dist/{FeaturedView.legacy-C5kwhy3t.js → FeaturedView.legacy-DN2Abh2g.js} +16 -16
  22. package/dist/{FeaturedView.legacy-C5kwhy3t.js.map → FeaturedView.legacy-DN2Abh2g.js.map} +1 -1
  23. package/dist/{GalleryCard-Dqg-Gsne.js → GalleryCard-DCxMRHdL.js} +6 -6
  24. package/dist/{GalleryCard-Dqg-Gsne.js.map → GalleryCard-DCxMRHdL.js.map} +1 -1
  25. package/dist/{GalleryView.legacy-DZulb_A6.js → GalleryView.legacy-fF5jz57f.js} +10 -10
  26. package/dist/{GalleryView.legacy-DZulb_A6.js.map → GalleryView.legacy-fF5jz57f.js.map} +1 -1
  27. package/dist/{GroupedListView.legacy-Dn22PIbq.js → GroupedListView.legacy-oU5NjDaG.js} +2 -2
  28. package/dist/{GroupedListView.legacy-Dn22PIbq.js.map → GroupedListView.legacy-oU5NjDaG.js.map} +1 -1
  29. package/dist/{SeriesPage-CIScZ3fo.js → SeriesPage-DQftH9yI.js} +5 -5
  30. package/dist/{SeriesPage-CIScZ3fo.js.map → SeriesPage-DQftH9yI.js.map} +1 -1
  31. package/dist/{SeriesPage.legacy-C7KfXgsH.js → SeriesPage.legacy-DyZXSsXv.js} +26 -26
  32. package/dist/{SeriesPage.legacy-C7KfXgsH.js.map → SeriesPage.legacy-DyZXSsXv.js.map} +1 -1
  33. package/dist/{Success-BifgHcAr.js → Success-BkrSlcZJ.js} +5 -5
  34. package/dist/{Success-BifgHcAr.js.map → Success-BkrSlcZJ.js.map} +1 -1
  35. package/dist/{Success.legacy-DEgqEH-E.js → Success.legacy-6_EgTF8T.js} +2 -2
  36. package/dist/{Success.legacy-DEgqEH-E.js.map → Success.legacy-6_EgTF8T.js.map} +1 -1
  37. package/dist/{VenueCalendar-BljCzIqo.js → VenueCalendar-BjvqDumC.js} +838 -812
  38. package/dist/{VenueCalendar-BljCzIqo.js.map → VenueCalendar-BjvqDumC.js.map} +1 -1
  39. package/dist/{ViewTicketsEmbed-JenBrRiN.js → ViewTicketsEmbed-uzMst6xe.js} +65 -65
  40. package/dist/{ViewTicketsEmbed-JenBrRiN.js.map → ViewTicketsEmbed-uzMst6xe.js.map} +1 -1
  41. package/dist/api/api.cjs +1 -1
  42. package/dist/api/api.cjs.map +1 -1
  43. package/dist/api/api.mjs +262 -230
  44. package/dist/api/api.mjs.map +1 -1
  45. package/dist/api/index.d.ts +1 -1
  46. package/dist/api/orders.d.ts +14 -0
  47. package/dist/{labels-Dtzn-ULx.js → labels-CNpTKuG-.js} +2 -2
  48. package/dist/{labels-Dtzn-ULx.js.map → labels-CNpTKuG-.js.map} +1 -1
  49. package/dist/{transform-B_5OPLhD.js → transform-CujsjTyt.js} +2 -2
  50. package/dist/{transform-B_5OPLhD.js.map → transform-CujsjTyt.js.map} +1 -1
  51. package/dist/venue-calendar.css +1 -1
  52. package/dist/venue-calendar.es.js +10 -10
  53. package/dist/venue-calendar.iife.js +42 -42
  54. package/dist/venue-calendar.iife.js.map +1 -1
  55. package/dist/venue-calendar.umd.js +42 -42
  56. package/dist/venue-calendar.umd.js.map +1 -1
  57. package/package.json +1 -1
  58. package/dist/CartView-CHda8zUD.js +0 -1682
  59. package/dist/CartView-CHda8zUD.js.map +0 -1
@@ -0,0 +1,1708 @@
1
+ import "svelte/internal/disclose-version";
2
+ import { f as Pe, X as ht, B as De, Y as _t, Z as bt, I as ft, _ as yt, $ as ot, h as pt, a0 as Ve, a1 as xt, a2 as Ge, u as kt, A as Tt, a3 as wt, a4 as It, J as Dt, a5 as St, a6 as Ct, v as nt, a7 as Et, M as dt, U as At, t as ct, b as Pt, a8 as lt, p as Mt, a9 as Ot, aa as Ft, q as Lt, ab as ut, ac as Bt, ad as vt, ae as Qt } from "./VenueCalendar-BjvqDumC.js";
3
+ import * as e from "svelte/internal/client";
4
+ import "svelte/internal/flags/legacy";
5
+ import "svelte/transition";
6
+ import "svelte/easing";
7
+ import { onMount as mt, onDestroy as qt } from "svelte";
8
+ import { g as gt } from "./__SKIP_NAVIGATION__-CJ96TTPE.js";
9
+ import { O as Nt } from "./OrderSummarySkeleton-dDKUH741.js";
10
+ import { C as zt } from "./CheckoutTimer-lq9B5TfI.js";
11
+ function Rt(ne, t) {
12
+ if (!ne || typeof ne != "object") return {};
13
+ if (!Array.isArray(t) || t.length === 0) {
14
+ const k = {};
15
+ for (const [s, _] of Object.entries(ne))
16
+ typeof _ == "number" && _ > 0 && (k[s] = _);
17
+ return k;
18
+ }
19
+ const L = /* @__PURE__ */ new Map();
20
+ for (const k of t)
21
+ k && k.ID !== void 0 && k.ID !== null && L.set(String(k.ID), k);
22
+ const y = {};
23
+ for (const [k, s] of Object.entries(ne)) {
24
+ if (typeof s != "number" || !Number.isFinite(s) || s <= 0) continue;
25
+ const _ = L.get(String(k));
26
+ let i = s;
27
+ if (_) {
28
+ const C = _.remainingCapacity;
29
+ typeof C == "number" && Number.isFinite(C) && (i = Math.min(i, Math.max(0, C)));
30
+ const R = _.maxQuantity;
31
+ typeof R == "number" && Number.isFinite(R) && R > 0 && (i = Math.min(i, R));
32
+ }
33
+ i > 0 && (y[k] = i);
34
+ }
35
+ return y;
36
+ }
37
+ var jt = e.from_html('<div role="group"><!> <span class="qty-display svelte-12zmutv" aria-live="polite" aria-atomic="true" role="status"><span class="sr-only"> </span> </span> <!></div>'), Ht = e.from_html('<span class="sold-out-pill text-xs whitespace-nowrap svelte-12zmutv" role="status"> </span>'), Ut = e.from_html('<span class="sales-start-badge text-xs text-secondary whitespace-nowrap svelte-12zmutv" role="status"> </span>'), Gt = e.from_html('<span class="sr-only" role="alert"> </span>'), Vt = e.from_html('<div class="donation-input-wrapper svelte-12zmutv"><!> <!></div>'), Wt = e.from_html('<span class="price-lg text-primary svelte-12zmutv"> </span> <span class="price-strikethrough"><span class="sr-only"> </span> </span> <span class="price-fee" aria-hidden="true"> </span> <span class="sr-only"> </span>', 1), Zt = e.from_html('<span class="price-lg text-primary svelte-12zmutv"> </span>'), Jt = e.from_html('<span class="price-lg text-primary svelte-12zmutv"> </span> <span class="price-fee" aria-hidden="true"> </span> <span class="sr-only"> </span>', 1), Yt = e.from_html('<span class="badge badge-discount"> </span>'), Xt = e.from_html('<span class="badge badge-unlocked"> </span>'), Kt = e.from_html('<div class="flex-row-2 mb-2 flex-wrap" role="status" aria-live="polite"><!> <!></div>'), $t = e.from_html('<p class="text-sm text-secondary mb-3 svelte-12zmutv"> </p>'), ea = e.from_html("<span> </span>"), ta = e.from_html('<p class="sales-end-text text-xs svelte-12zmutv" role="status"> </p>'), aa = e.from_html('<article><div class="p-4 pb-0"><div class="vc-flex-between-start gap-4"><div class="flex-1 min-w-0"><h3 class="font-medium text-primary svelte-12zmutv"> </h3></div> <!></div></div> <hr class="divider-line my-3 svelte-12zmutv" aria-hidden="true"/> <div class="p-4 pt-0"><div class="flex-row-2 mb-2"><!></div> <!> <!> <div class="flex-row-2 mb-2 flex-wrap" role="status"><!> <!></div> <!></div></article>');
38
+ function ra(ne, t) {
39
+ e.push(t, !0);
40
+ let L = e.prop(t, "fee", 3, "0.00"), y = e.prop(t, "quantity", 3, 0), k = e.prop(t, "soldOut", 3, !1), s = e.prop(t, "status", 3, null), _ = e.prop(t, "salesBegin", 3, null), i = e.prop(t, "salesEnd", 3, null), C = e.prop(t, "remainingCapacity", 3, null), R = e.prop(
41
+ t,
42
+ "totalCapacity",
43
+ 3,
44
+ null
45
+ // Total ticket capacity for percentage calculation
46
+ );
47
+ e.prop(
48
+ t,
49
+ "minQuantity",
50
+ 3,
51
+ 1
52
+ // Minimum quantity per order (default 1)
53
+ );
54
+ let M = e.prop(
55
+ t,
56
+ "maxQuantity",
57
+ 3,
58
+ null
59
+ // Maximum quantity per order (null = unlimited)
60
+ ), le = e.prop(
61
+ t,
62
+ "discountedPrice",
63
+ 3,
64
+ null
65
+ // Discounted price when promo applied
66
+ ), ae = e.prop(
67
+ t,
68
+ "isRevealed",
69
+ 3,
70
+ !1
71
+ // Badge: Unlocked via promo
72
+ ), q = e.prop(
73
+ t,
74
+ "isDiscounted",
75
+ 3,
76
+ !1
77
+ // Badge: Discount applied
78
+ ), ce = e.prop(
79
+ t,
80
+ "ticketType",
81
+ 3,
82
+ 0
83
+ // 0 = paid/standard, 1 = registration/free, 2 = donation
84
+ ), W = e.prop(
85
+ t,
86
+ "donationAmount",
87
+ 3,
88
+ ""
89
+ // User-entered donation amount (string for input binding)
90
+ ), ge = e.prop(t, "syncing", 3, !1), v = e.prop(t, "labels", 19, () => ({}));
91
+ const Z = e.derived(() => ce() === 2), T = e.derived(() => parseFloat(W()) || 0), U = e.derived(() => e.get(Z) && W() !== "" && e.get(T) < 1 ? v().minimumDonation || "Minimum $1.00" : ""), ue = e.derived(() => !e.get(Z) || W() !== "" && e.get(T) >= 1), $ = e.derived(() => parseFloat(t.price) || 0), h = e.derived(() => e.get($) === 0 ? 0 : parseFloat(L()) || 0), p = e.derived(() => Pe(e.get($) + e.get(h))), x = e.derived(() => Pe(e.get(h))), D = e.derived(() => le() ? parseFloat(le()) : null), u = e.derived(() => e.get(D) === null || e.get(D) === 0 ? 0 : parseFloat(L()) || 0), c = e.derived(() => e.get(D) !== null ? Pe(e.get(D) + e.get(u)) : null), w = e.derived(() => R() ?? C() ?? 0), m = 10, I = 15, J = 30, ee = 5, fe = 20;
92
+ function xe(l, o) {
93
+ if (o === 0) return 0;
94
+ const f = J / o * 100, B = ee / o * 100;
95
+ return Math.max(Math.min(l, f), B);
96
+ }
97
+ const be = e.derived(() => {
98
+ const l = C() ?? 0, o = e.get(w);
99
+ if (o === 0 || s() === "scheduled" || s() === "sales_ended") return null;
100
+ if (l <= 0) return { text: "Sold out", type: "sold-out" };
101
+ if (e.get(
102
+ $
103
+ // no scarcity on free tickets
104
+ ) === 0) return null;
105
+ const f = l / o * 100, B = xe(m, o), N = xe(I, o);
106
+ return f <= B && l <= fe ? {
107
+ text: `Only ${l} left`,
108
+ type: "scarcity",
109
+ showFlame: !0
110
+ } : f <= N ? { text: "Few tickets left", type: "scarcity", showFlame: !0 } : null;
111
+ }), re = e.derived(() => e.get(be) != null && e.get(be).type === "scarcity");
112
+ function Y(l) {
113
+ return l ? ht(l, { year: void 0, timeZone: "UTC" }) : "";
114
+ }
115
+ function ie(l) {
116
+ const o = /* @__PURE__ */ new Date(), f = new Date(o);
117
+ return f.setDate(f.getDate() + 1), l.toDateString() === f.toDateString();
118
+ }
119
+ function oe(l) {
120
+ const o = /* @__PURE__ */ new Date(), B = (l.getTime() - o.getTime()) / (1e3 * 60 * 60 * 24);
121
+ return B > 0 && B <= 7;
122
+ }
123
+ function b(l) {
124
+ if (!l) return { text: "", preposition: "" };
125
+ const o = new Date(l), f = /* @__PURE__ */ new Date(), B = o.getTime() - f.getTime(), N = Math.round(B / (1e3 * 60)), j = B / (1e3 * 60 * 60), Q = v().locale || "en-US";
126
+ if (N > 0 && N < 60) {
127
+ const O = Math.max(1, N);
128
+ return { text: (O === 1 ? v().inNMinute || "in {n} minute" : v().inNMinutes || "in {n} minutes").replace("{n}", String(O)), preposition: "" };
129
+ }
130
+ if (j > 0 && j < 24) {
131
+ const O = Math.max(1, Math.round(j));
132
+ return {
133
+ text: (O === 1 ? v().inNHour || "in {n} hour" : v().inNHours || "in {n} hours").replace("{n}", String(O)),
134
+ preposition: ""
135
+ };
136
+ }
137
+ if (ie(o)) {
138
+ const O = ot(l, { timeZone: "UTC" });
139
+ return {
140
+ text: (v().tomorrowAtTime || "tomorrow at {time}").replace("{time}", O),
141
+ preposition: ""
142
+ };
143
+ }
144
+ if (oe(o)) {
145
+ const O = new Intl.DateTimeFormat(Q, { weekday: "long" }).format(o), se = ot(l, { timeZone: "UTC" });
146
+ return {
147
+ text: (v().onDayAtTime || "on {day} at {time}").replace("{day}", O).replace("{time}", se),
148
+ preposition: ""
149
+ };
150
+ }
151
+ const G = new Intl.DateTimeFormat(Q, { month: "short", day: "numeric" }).format(o);
152
+ return {
153
+ text: (v().onDate || "on {date}").replace("{date}", G),
154
+ preposition: ""
155
+ };
156
+ }
157
+ function Ne(l) {
158
+ const { text: o } = b(l);
159
+ return o;
160
+ }
161
+ function ke(l) {
162
+ return b(l);
163
+ }
164
+ const pe = e.derived(() => (() => {
165
+ if (!s()) return null;
166
+ switch (s()) {
167
+ case "scheduled":
168
+ return {
169
+ showAsMessage: !0,
170
+ // Display as inline message instead of badge
171
+ message: (v().salesStart || "Sales start {salesStart}").replace("{salesStart}", Ne(_()))
172
+ };
173
+ case "on_sale":
174
+ return null;
175
+ case // Don't show badge for normal on-sale status
176
+ "sales_ended":
177
+ return {
178
+ badge: v().statusSalesEnded || "Sales ended",
179
+ badgeClass: "badge-ended",
180
+ label: "Ended",
181
+ date: Y(i())
182
+ };
183
+ default:
184
+ return null;
185
+ }
186
+ })());
187
+ var ve = aa();
188
+ let Le;
189
+ var Me = e.child(ve), Be = e.child(Me), Oe = e.child(Be), Te = e.child(Oe), ze = e.child(Te, !0);
190
+ e.reset(Te), e.reset(Oe);
191
+ var Qe = e.sibling(Oe, 2);
192
+ {
193
+ var we = (l) => {
194
+ var o = jt();
195
+ let f;
196
+ var B = e.child(o);
197
+ {
198
+ let se = e.derived(() => y() === 0 || ge()), Ae = e.derived(() => (v().decreaseQuantity || "Decrease quantity for {title}").replace("{title}", t.title));
199
+ De(B, {
200
+ iconbtn: !0,
201
+ strokebtn: !0,
202
+ onclick: () => t.ondecrement?.(),
203
+ get disabled() {
204
+ return e.get(se);
205
+ },
206
+ get "aria-label"() {
207
+ return e.get(Ae);
208
+ },
209
+ class: "qty-btn",
210
+ children: (a, r) => {
211
+ _t(a, { size: 20, "aria-hidden": "true" });
212
+ },
213
+ $$slots: { default: !0 }
214
+ });
215
+ }
216
+ var N = e.sibling(B, 2), j = e.child(N), Q = e.child(j, !0);
217
+ e.reset(j);
218
+ var G = e.sibling(j);
219
+ e.reset(N);
220
+ var O = e.sibling(N, 2);
221
+ {
222
+ let se = e.derived(() => M() !== null && y() >= M() || C() !== null && y() >= C() || !e.get(ue) || ge()), Ae = e.derived(() => (v().increaseQuantity || "Increase quantity for {title}").replace("{title}", t.title));
223
+ De(O, {
224
+ iconbtn: !0,
225
+ onclick: () => t.onincrement?.(),
226
+ get disabled() {
227
+ return e.get(se);
228
+ },
229
+ get "aria-label"() {
230
+ return e.get(Ae);
231
+ },
232
+ class: "qty-btn",
233
+ children: (a, r) => {
234
+ bt(a, { size: 20, "aria-hidden": "true" });
235
+ },
236
+ $$slots: { default: !0 }
237
+ });
238
+ }
239
+ e.reset(o), e.template_effect(
240
+ (se) => {
241
+ f = e.set_class(o, 1, "flex items-center quantity-selector svelte-12zmutv", null, f, { active: y() > 0 }), e.set_attribute(o, "aria-label", se), e.set_text(Q, v().quantity || "Quantity:"), e.set_text(G, ` ${y() ?? ""}`);
242
+ },
243
+ [
244
+ () => (v().quantitySelector || "Quantity selector for {title}").replace("{title}", t.title)
245
+ ]
246
+ ), e.append(l, o);
247
+ }, Se = (l) => {
248
+ var o = Ht(), f = e.child(o, !0);
249
+ e.reset(o), e.template_effect(() => {
250
+ e.set_attribute(o, "aria-label", v().statusSoldOut || "Sold out"), e.set_text(f, v().statusSoldOut || "Sold out");
251
+ }), e.append(l, o);
252
+ }, qe = (l) => {
253
+ var o = Ut(), f = e.child(o, !0);
254
+ e.reset(o), e.template_effect(() => e.set_text(f, e.get(pe).message)), e.append(l, o);
255
+ };
256
+ e.if(Qe, (l) => {
257
+ !k() && s() !== "scheduled" && s() !== "sales_ended" ? l(we) : k() ? l(Se, 1) : s() === "scheduled" && e.get(pe)?.message && l(qe, 2);
258
+ });
259
+ }
260
+ e.reset(Be), e.reset(Me);
261
+ var Ce = e.sibling(Me, 4), Ee = e.child(Ce), Fe = e.child(Ee);
262
+ {
263
+ var Re = (l) => {
264
+ var o = Vt(), f = e.child(o);
265
+ {
266
+ let j = e.derived(() => v().donationAmountLabel || "Donation amount in dollars"), Q = e.derived(() => k() || s() === "scheduled" || s() === "sales_ended"), G = e.derived(() => W() !== ""), O = e.derived(() => e.get(U) ? "donation-error-" + t.title?.replace(/\s+/g, "-").toLowerCase() : void 0);
267
+ ft(f, {
268
+ get label() {
269
+ return e.get(j);
270
+ },
271
+ size: "full",
272
+ type: "text",
273
+ inputmode: "decimal",
274
+ placeholder: "0.00",
275
+ get value() {
276
+ return W();
277
+ },
278
+ oninput: (se) => t.ondonationchange?.(se.target.value),
279
+ get disabled() {
280
+ return e.get(Q);
281
+ },
282
+ get displayErrorText() {
283
+ return e.get(U);
284
+ },
285
+ get touched() {
286
+ return e.get(G);
287
+ },
288
+ get "aria-describedby"() {
289
+ return e.get(O);
290
+ }
291
+ });
292
+ }
293
+ var B = e.sibling(f, 2);
294
+ {
295
+ var N = (j) => {
296
+ var Q = Gt(), G = e.child(Q, !0);
297
+ e.reset(Q), e.template_effect(
298
+ (O) => {
299
+ e.set_attribute(Q, "id", `donation-error-${O ?? ""}`), e.set_text(G, e.get(U));
300
+ },
301
+ [() => t.title?.replace(/\s+/g, "-").toLowerCase()]
302
+ ), e.append(j, Q);
303
+ };
304
+ e.if(B, (j) => {
305
+ e.get(U) && j(N);
306
+ });
307
+ }
308
+ e.reset(o), e.append(l, o);
309
+ }, We = (l) => {
310
+ var o = Wt(), f = e.first_child(o), B = e.child(f, !0);
311
+ e.reset(f);
312
+ var N = e.sibling(f, 2), j = e.child(N), Q = e.child(j, !0);
313
+ e.reset(j);
314
+ var G = e.sibling(j, 1, !0);
315
+ e.reset(N);
316
+ var O = e.sibling(N, 2), se = e.child(O, !0);
317
+ e.reset(O);
318
+ var Ae = e.sibling(O, 2), a = e.child(Ae, !0);
319
+ e.reset(Ae), e.template_effect(
320
+ (r, n) => {
321
+ e.set_attribute(f, "aria-label", `Discounted price ${e.get(c) ?? ""}`), e.set_text(B, e.get(c)), e.set_attribute(N, "aria-label", `Original price ${e.get(p) ?? ""}`), e.set_text(Q, v().originalPrice || "Original price:"), e.set_text(G, e.get(p)), e.set_text(se, r), e.set_text(a, n);
322
+ },
323
+ [
324
+ () => (v().inclFee || "incl. {fee} fee").replace("{fee}", e.get(x)),
325
+ () => (v().includingFee || "including {fee} service fee").replace("{fee}", e.get(x))
326
+ ]
327
+ ), e.append(l, o);
328
+ }, et = (l) => {
329
+ var o = Zt(), f = e.child(o, !0);
330
+ e.reset(o), e.template_effect(() => e.set_text(f, v().free || "Free")), e.append(l, o);
331
+ }, Ie = (l) => {
332
+ var o = Jt(), f = e.first_child(o), B = e.child(f, !0);
333
+ e.reset(f);
334
+ var N = e.sibling(f, 2), j = e.child(N, !0);
335
+ e.reset(N);
336
+ var Q = e.sibling(N, 2), G = e.child(Q, !0);
337
+ e.reset(Q), e.template_effect(
338
+ (O, se) => {
339
+ e.set_attribute(f, "aria-label", `Price ${e.get(p) ?? ""}`), e.set_text(B, e.get(p)), e.set_text(j, O), e.set_text(G, se);
340
+ },
341
+ [
342
+ () => (v().inclFee || "incl. {fee} fee").replace("{fee}", e.get(x)),
343
+ () => (v().includingFee || "including {fee} service fee").replace("{fee}", e.get(x))
344
+ ]
345
+ ), e.append(l, o);
346
+ };
347
+ e.if(Fe, (l) => {
348
+ e.get(Z) ? l(Re) : e.get(c) !== null ? l(We, 1) : e.get($) === 0 ? l(et, 2) : l(Ie, !1);
349
+ });
350
+ }
351
+ e.reset(Ee);
352
+ var K = e.sibling(Ee, 2);
353
+ {
354
+ var Ze = (l) => {
355
+ var o = Kt(), f = e.child(o);
356
+ {
357
+ var B = (Q) => {
358
+ var G = Yt(), O = e.child(G, !0);
359
+ e.reset(G), e.template_effect(() => e.set_text(O, v().discountApplied || "Discount applied")), e.append(Q, G);
360
+ };
361
+ e.if(f, (Q) => {
362
+ q() && Q(B);
363
+ });
364
+ }
365
+ var N = e.sibling(f, 2);
366
+ {
367
+ var j = (Q) => {
368
+ var G = Xt(), O = e.child(G, !0);
369
+ e.reset(G), e.template_effect(() => e.set_text(O, v().unlocked || "Unlocked")), e.append(Q, G);
370
+ };
371
+ e.if(N, (Q) => {
372
+ ae() && Q(j);
373
+ });
374
+ }
375
+ e.reset(o), e.append(l, o);
376
+ };
377
+ e.if(K, (l) => {
378
+ (q() || ae()) && l(Ze);
379
+ });
380
+ }
381
+ var je = e.sibling(K, 2);
382
+ {
383
+ var tt = (l) => {
384
+ var o = $t(), f = e.child(o, !0);
385
+ e.reset(o), e.template_effect(
386
+ (B) => {
387
+ e.set_attribute(o, "id", `ticket-desc-${B ?? ""}`), e.set_text(f, t.description);
388
+ },
389
+ [
390
+ () => t.title?.replace(/\s+/g, "-").toLowerCase() || "ticket"
391
+ ]
392
+ ), e.append(l, o);
393
+ };
394
+ e.if(je, (l) => {
395
+ t.description && l(tt);
396
+ });
397
+ }
398
+ var He = e.sibling(je, 2), Je = e.child(He);
399
+ {
400
+ var at = (l) => {
401
+ var o = ea(), f = e.child(o, !0);
402
+ e.reset(o), e.template_effect(() => {
403
+ e.set_class(o, 1, `badge ${e.get(pe).badgeClass ?? ""}`, "svelte-12zmutv"), e.set_attribute(o, "aria-label", `${(v().statusLabel || "Status:") ?? ""} ${e.get(pe).badge ?? ""}`), e.set_text(f, e.get(pe).badge);
404
+ }), e.append(l, o);
405
+ };
406
+ e.if(Je, (l) => {
407
+ e.get(pe) && e.get(pe).badge && l(at);
408
+ });
409
+ }
410
+ var Ye = e.sibling(Je, 2);
411
+ {
412
+ var Xe = (l) => {
413
+ {
414
+ let o = e.derived(() => C() ?? 0);
415
+ yt(l, {
416
+ get remaining() {
417
+ return e.get(o);
418
+ },
419
+ get total() {
420
+ return e.get(w);
421
+ },
422
+ context: "ticket",
423
+ get labels() {
424
+ return v();
425
+ }
426
+ });
427
+ }
428
+ };
429
+ e.if(Ye, (l) => {
430
+ e.get(re) && l(Xe);
431
+ });
432
+ }
433
+ e.reset(He);
434
+ var Ke = e.sibling(He, 2);
435
+ {
436
+ var $e = (l) => {
437
+ const o = e.derived(() => ke(i()));
438
+ var f = ta(), B = e.child(f);
439
+ e.reset(f), e.template_effect(() => e.set_text(B, `${(v().salesEndPrefix || "Sales end") ?? ""}
440
+ ${e.get(o).text ?? ""}`)), e.append(l, f);
441
+ };
442
+ e.if(Ke, (l) => {
443
+ i() && s() !== "sales_ended" && s() !== "scheduled" && l($e);
444
+ });
445
+ }
446
+ e.reset(Ce), e.reset(ve), e.template_effect(
447
+ (l, o, f) => {
448
+ Le = e.set_class(ve, 1, `ticket-block rounded-lg border transition-all ${y() > 0 ? "shadow-sm" : ""}`, "svelte-12zmutv", Le, {
449
+ selected: y() > 0,
450
+ "disabled-ticket": k() || s() === "scheduled" || s() === "sales_ended"
451
+ }), e.set_attribute(ve, "aria-label", `${l ?? ""}${(k() ? v().ticketSoldOutSuffix || ", sold out" : "") ?? ""}${(s() === "scheduled" ? v().ticketSalesNotStartedSuffix || ", sales not yet started" : "") ?? ""}${(s() === "sales_ended" ? v().ticketSalesEndedSuffix || ", sales ended" : "") ?? ""}`), e.set_attribute(Te, "id", `ticket-title-${o ?? ""}`), e.set_text(ze, t.title), e.set_attribute(Ee, "id", `ticket-price-${f ?? ""}`);
452
+ },
453
+ [
454
+ () => (v().ticketAriaLabel || "{title} ticket").replace("{title}", t.title),
455
+ () => t.title?.replace(/\s+/g, "-").toLowerCase() || "ticket",
456
+ () => t.title?.replace(/\s+/g, "-").toLowerCase() || "ticket"
457
+ ]
458
+ ), e.append(ne, ve), e.pop();
459
+ }
460
+ var ia = e.from_html('<div class="rounded-lg overflow-hidden animate-pulse bg-surface-primary border-default" role="status" aria-busy="true"><span class="sr-only svelte-1hpsukj">Loading ticket...</span> <div class="px-3 py-2.5 rounded-t-lg border-t border-l border-r border-border" aria-hidden="true"><div class="skeleton h-4 w-2/3 mb-2"></div> <div class="skeleton h-3 w-1/2"></div></div> <div class="flex items-center gap-2" aria-hidden="true"><div class="border w-6 rounded-full h-6 -ml-3 -mt-0.5 bg-card border-border"></div> <hr class="skeleton-divider w-full my-3 svelte-1hpsukj"/> <div class="border w-6 rounded-full h-6 -mr-3 -mt-0.5 bg-card border-border"></div></div> <div class="flex justify-between items-center px-3 py-2.5 rounded-b-lg -mt-0.5 border-b border-l border-r border-border" aria-hidden="true"><div class="space-y-1"><div class="h-4 rounded w-16 bg-bg-tertiary"></div> <div class="h-3 rounded w-20 bg-muted"></div></div> <div class="flex items-center gap-2"><div class="w-10 h-10 rounded-md bg-bg-tertiary"></div> <div class="w-10 h-10 rounded-md bg-muted"></div> <div class="w-10 h-10 rounded-md bg-bg-tertiary"></div></div></div></div>');
461
+ function sa(ne, t) {
462
+ e.push(t, !0);
463
+ let L = e.prop(t, "labels", 19, () => ({}));
464
+ var y = ia();
465
+ e.template_effect(() => e.set_attribute(y, "aria-label", L().loadingTicketInfo || "Loading ticket information")), e.append(ne, y), e.pop();
466
+ }
467
+ var na = e.from_html('<div class="empty-state flex flex-col items-center justify-center py-12 px-6 text-center" role="status"><div class="empty-state-icon text-muted-foreground mb-4" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"></path><path d="M13 5v2"></path><path d="M13 17v2"></path><path d="M13 11v2"></path></svg></div> <h3 class="text-lg font-semibold text-text-primary mb-2"> </h3> <p class="text-sm text-text-secondary max-w-72"> </p></div>'), la = e.from_html('<div class="section-header bg-bg-secondary px-5 py-3"><h2 class="text-text-primary text-md font-semibold"> </h2></div>'), oa = e.from_html('<div role="group"><!> <div role="list"><!></div></div>'), da = e.from_html("<section></section>");
468
+ function ca(ne, t) {
469
+ e.push(t, !0);
470
+ let L = e.prop(t, "venueFeesReady", 3, !1), y = e.prop(t, "tickets", 19, () => []), k = e.prop(t, "quantities", 19, () => ({})), s = e.prop(t, "donationAmounts", 19, () => ({})), _ = e.prop(t, "revealHiddenTickets", 3, !1), i = e.prop(t, "revealTicketIds", 19, () => []), C = e.prop(
471
+ t,
472
+ "currentPromoRule",
473
+ 3,
474
+ null
475
+ // Current applied promo code rule
476
+ ), R = e.prop(
477
+ t,
478
+ "syncing",
479
+ 3,
480
+ !1
481
+ // True while a cart-sync network call is in flight
482
+ ), M = e.prop(t, "labels", 19, () => ({}));
483
+ function le(h) {
484
+ const p = /* @__PURE__ */ new Date(), x = h.salesBegin || h.salesStart || h.saleBegin || h.saleStart || h.onSaleStart, D = h.salesEnd || h.saleEnd || h.onSaleEnd;
485
+ return x && new Date(x) > p ? "scheduled" : D && new Date(D) < p ? "sales_ended" : "on_sale";
486
+ }
487
+ function ae(h) {
488
+ return h.salesBegin || h.salesStart || h.saleBegin || h.saleStart || h.onSaleStart || null;
489
+ }
490
+ const q = e.derived(() => y().filter((h) => h.visibility === 0 || _() ? !0 : i()?.includes(h.ID)));
491
+ function ce(h) {
492
+ const p = [], x = [];
493
+ for (const D of h) {
494
+ const u = le(D), c = D.minQuantity ?? 1, w = D.remainingCapacity, m = D.soldOut || w != null && c > w;
495
+ u === "on_sale" && !m ? p.push(D) : x.push(D);
496
+ }
497
+ return [...p, ...x];
498
+ }
499
+ function W(h) {
500
+ const p = {};
501
+ for (const x of h) {
502
+ const D = x.TicketSection?.name || M().other || "Other";
503
+ p[D] || (p[D] = []), p[D].push(x);
504
+ }
505
+ for (const x of Object.keys(p))
506
+ p[x] = ce(p[x]);
507
+ return p;
508
+ }
509
+ const ge = e.derived(() => W(e.get(q))), v = e.derived(() => M().other || "Other"), Z = e.derived(() => Object.keys(e.get(ge)).filter((h) => h !== e.get(v)).length > 0);
510
+ var T = e.comment(), U = e.first_child(T);
511
+ {
512
+ var ue = (h) => {
513
+ var p = na(), x = e.sibling(e.child(p), 2), D = e.child(x, !0);
514
+ e.reset(x);
515
+ var u = e.sibling(x, 2), c = e.child(u, !0);
516
+ e.reset(u), e.reset(p), e.template_effect(() => {
517
+ e.set_attribute(p, "aria-label", M().noTicketsAvailable || "No tickets available"), e.set_text(D, M().noTicketsAvailable || "No tickets available"), e.set_text(c, M().noTicketsAvailableDescription || "There are currently no tickets available for this event.");
518
+ }), e.append(h, p);
519
+ }, $ = (h) => {
520
+ var p = da();
521
+ e.each(p, 21, () => Object.entries(e.get(ge)), e.index, (x, D) => {
522
+ var u = e.derived(() => e.to_array(e.get(D), 2));
523
+ let c = () => e.get(u)[0], w = () => e.get(u)[1];
524
+ var m = oa(), I = e.child(m);
525
+ {
526
+ var J = (re) => {
527
+ var Y = la(), ie = e.child(Y), oe = e.child(ie, !0);
528
+ e.reset(ie), e.reset(Y), e.template_effect(
529
+ (b) => {
530
+ e.set_attribute(ie, "id", `section-${b ?? ""}`), e.set_text(oe, c());
531
+ },
532
+ [() => c().replace(/\s+/g, "-").toLowerCase()]
533
+ ), e.append(re, Y);
534
+ };
535
+ e.if(I, (re) => {
536
+ e.get(Z) && c() !== e.get(v) && re(J);
537
+ });
538
+ }
539
+ var ee = e.sibling(I, 2), fe = e.child(ee);
540
+ {
541
+ var xe = (re) => {
542
+ var Y = e.comment(), ie = e.first_child(Y);
543
+ e.each(ie, 17, w, e.index, (oe, b) => {
544
+ const Ne = e.derived(() => e.get(b).visibility >= 2 && _() || i().includes(e.get(b).ID)), ke = e.derived(() => C()?.discountTicketIds || []), pe = e.derived(() => e.get(ke).length === 0 || e.get(ke).includes(e.get(b).ID)), ve = e.derived(() => C()?.provideDiscount && e.get(pe) && (C()?.discountType === "%" || C()?.discountType === "$")), Le = e.derived(() => (() => {
545
+ if (!e.get(ve)) return null;
546
+ const we = parseFloat(e.get(b).price) || 0, Se = parseFloat(C()?.amount || "0") || 0;
547
+ return C().discountType === "%" ? (we * (1 - Se / 100)).toFixed(2) : C().discountType === "$" ? Math.max(
548
+ 0,
549
+ we - Pe(Se)
550
+ /* FIXME(canonical-cleanup:toFixed): heuristic guess — verify this is USD (not cents); when migrating to TS, add `as USD` brand cast at the API-response-transform layer. */
551
+ ) : null;
552
+ })()), Me = e.derived(() => le(e.get(b))), Be = e.derived(() => ae(e.get(b))), Oe = e.derived(() => e.get(b).minQuantity ?? 1), Te = e.derived(() => e.get(b).remainingCapacity), ze = e.derived(() => e.get(b).soldOut || e.get(Te) !== null && e.get(Te) !== void 0 && e.get(Oe) > e.get(Te)), Qe = e.derived(() => e.get(b).type ?? 0);
553
+ e.derived(() => e.get(Qe) === 2);
554
+ {
555
+ let we = e.derived(() => k()[e.get(b).ID] ?? 0), Se = e.derived(() => e.get(b).totalCapacity ?? e.get(b).quantity ?? e.get(b).remainingCapacity), qe = e.derived(() => e.get(b).minQuantity ?? 1), Ce = e.derived(() => e.get(b).maxQuantity ?? null), Ee = e.derived(() => s()[e.get(b).ID] ?? "");
556
+ ra(oe, {
557
+ get labels() {
558
+ return M();
559
+ },
560
+ get title() {
561
+ return e.get(b).name;
562
+ },
563
+ get description() {
564
+ return e.get(b).description;
565
+ },
566
+ get price() {
567
+ return e.get(b).price;
568
+ },
569
+ get discountedPrice() {
570
+ return e.get(Le);
571
+ },
572
+ get quantity() {
573
+ return e.get(we);
574
+ },
575
+ get soldOut() {
576
+ return e.get(ze);
577
+ },
578
+ get status() {
579
+ return e.get(Me);
580
+ },
581
+ get salesBegin() {
582
+ return e.get(Be);
583
+ },
584
+ get salesEnd() {
585
+ return e.get(b).salesEnd;
586
+ },
587
+ get remainingCapacity() {
588
+ return e.get(b).remainingCapacity;
589
+ },
590
+ get totalCapacity() {
591
+ return e.get(Se);
592
+ },
593
+ get minQuantity() {
594
+ return e.get(qe);
595
+ },
596
+ get maxQuantity() {
597
+ return e.get(Ce);
598
+ },
599
+ get isRevealed() {
600
+ return e.get(Ne);
601
+ },
602
+ get isDiscounted() {
603
+ return e.get(ve);
604
+ },
605
+ get ticketType() {
606
+ return e.get(Qe);
607
+ },
608
+ get donationAmount() {
609
+ return e.get(Ee);
610
+ },
611
+ onincrement: () => t.handleQuantityChange(e.get(b).ID, 1),
612
+ ondecrement: () => t.handleQuantityChange(e.get(b).ID, -1),
613
+ ondonationchange: (Fe) => t.handleDonationChange?.(e.get(b).ID, Fe),
614
+ get syncing() {
615
+ return R();
616
+ }
617
+ });
618
+ }
619
+ }), e.append(re, Y);
620
+ }, be = (re) => {
621
+ var Y = e.comment(), ie = e.first_child(Y);
622
+ e.each(ie, 16, () => Array(2), e.index, (oe, b) => {
623
+ sa(oe, {});
624
+ }), e.append(re, Y);
625
+ };
626
+ e.if(fe, (re) => {
627
+ L() ? re(xe) : re(be, !1);
628
+ });
629
+ }
630
+ e.reset(ee), e.reset(m), e.template_effect(
631
+ (re, Y) => {
632
+ e.set_class(m, 1, e.clsx(e.get(Z) && c() !== e.get(v) ? "ticket-section-group border border-border rounded-lg overflow-hidden" : "")), e.set_attribute(m, "aria-labelledby", re), e.set_class(ee, 1, `space-y-4 ${e.get(Z) && c() !== e.get(v) ? "p-4" : ""}`), e.set_attribute(ee, "aria-label", Y);
633
+ },
634
+ [
635
+ () => e.get(Z) && c() !== e.get(v) ? `section-${c().replace(/\s+/g, "-").toLowerCase()}` : void 0,
636
+ () => (M().ticketsInSection || "Tickets in {section}").replace("{section}", c())
637
+ ]
638
+ ), e.append(x, m);
639
+ }), e.reset(p), e.template_effect(() => e.set_attribute(p, "aria-label", M().availableTickets || "Available tickets")), e.append(h, p);
640
+ };
641
+ e.if(U, (h) => {
642
+ L() && e.get(q).length === 0 ? h(ue) : h($, !1);
643
+ });
644
+ }
645
+ e.append(ne, T), e.pop();
646
+ }
647
+ const ua = pt("PromocodeInput");
648
+ var va = e.from_html('<p id="promo-hint" class="promo-message success mt-2 body-sm text-accent-success" role="status" aria-live="polite"> </p>'), ga = e.from_html('<p id="promo-error" class="sr-only svelte-ztoygy" role="alert"> </p>'), fa = e.from_html('<div class="promo-section p-4 md:p-5" role="group" aria-labelledby="promo-label"><span id="promo-label" class="sr-only svelte-ztoygy"> </span> <div class="promo-input-wrapper flex gap-2 items-start"><div class="flex-1"><!></div> <!></div> <!> <!></div>');
649
+ function pa(ne, t) {
650
+ e.push(t, !0);
651
+ let L = e.prop(t, "eventID", 3, ""), y = e.prop(t, "labels", 19, () => ({})), k = e.state(""), s = e.state(!1), _ = e.state(""), i = e.state(""), C = e.state(!1), R = e.state(!1);
652
+ const M = async () => {
653
+ const u = e.get(k).trim().toUpperCase();
654
+ if (e.set(_, ""), e.set(i, ""), e.set(C, !1), !u) {
655
+ e.set(_, y().pleaseEnterPromoCode || "Please enter a promo code.", !0), e.set(s, !0);
656
+ return;
657
+ }
658
+ e.set(R, !0);
659
+ try {
660
+ const c = await xt(L(), u);
661
+ if (c.valid) {
662
+ e.set(C, !0);
663
+ let w = 0;
664
+ const m = [];
665
+ if (c.revealHiddenTickets && m.push(y().hiddenTicketsVisible || "Hidden tickets are now visible."), c.provideDiscount) {
666
+ const I = parseFloat(c.amount || "0") || 0;
667
+ w = I, c.discountType === "$" ? m.push((y().dollarDiscountAvailable || "A ${amount} discount is available.").replace("{amount}", Pe(
668
+ I
669
+ /* FIXME(canonical-cleanup:toFixed): heuristic guess — verify this is USD (not cents); when migrating to TS, add `as USD` brand cast at the API-response-transform layer. */
670
+ ))) : c.discountType === "%" && m.push((y().percentDiscountAvailable || "A {amount}% discount is available.").replace("{amount}", String(I)));
671
+ }
672
+ e.set(
673
+ i,
674
+ m.length > 0 ? `${(y().promoApplied || "{code} applied.").replace("{code}", u)} ${m.join(" ")}` : (y().promoApplied || "{code} applied.").replace("{code}", u),
675
+ !0
676
+ ), Ge(`checkout-promocode-${L()}`, u, 1), Ge("checkout-promo-discount", w.toString(), 1), Ge(`checkout-promo-reveal-${L()}`, c.revealHiddenTickets ? "1" : "0", 1), Ge(`checkout-promo-reveal-ids-${L()}`, JSON.stringify(c.revealTicketIds || []), 1), Ge(`checkout-promo-discount-type-${L()}`, c.discountType || "", 1), t.onpromoChange?.({
677
+ code: u,
678
+ error: "",
679
+ hint: e.get(i),
680
+ discount: w,
681
+ provideDiscount: c.provideDiscount || !1,
682
+ discountType: c.discountType || "",
683
+ discountTicketIds: c.discountTicketIds || [],
684
+ // Which tickets the discount applies to
685
+ revealHiddenTickets: c.revealHiddenTickets || !1,
686
+ revealTicketIds: c.revealTicketIds || [],
687
+ isApplied: !0
688
+ });
689
+ } else
690
+ e.set(_, y().invalidOrExpiredPromoCode || "Invalid or expired promo code.", !0), e.set(s, !0), t.onpromoChange?.({
691
+ code: u,
692
+ error: e.get(_),
693
+ hint: "",
694
+ discount: 0,
695
+ provideDiscount: !1,
696
+ discountType: "",
697
+ discountTicketIds: [],
698
+ revealHiddenTickets: !1,
699
+ revealTicketIds: [],
700
+ isApplied: !1
701
+ });
702
+ } catch (c) {
703
+ ua.error("Error validating promo code:", c), e.set(_, y().unableToValidatePromoCode || "Unable to validate promo code. Please try again.", !0), e.set(s, !0);
704
+ } finally {
705
+ e.set(R, !1);
706
+ }
707
+ }, le = () => {
708
+ e.set(k, ""), e.set(_, ""), e.set(i, ""), e.set(C, !1), e.set(s, !1), document.cookie = `checkout-promocode-${L()}=; Max-Age=0; path=/`, document.cookie = "checkout-promo-discount=; Max-Age=0; path=/", document.cookie = `checkout-promo-reveal-${L()}=; Max-Age=0; path=/`, document.cookie = `checkout-promo-reveal-ids-${L()}=; Max-Age=0; path=/`, document.cookie = `checkout-promo-discount-type-${L()}=; Max-Age=0; path=/`, t.onpromoChange?.({
709
+ code: "",
710
+ error: "",
711
+ hint: "",
712
+ discount: 0,
713
+ provideDiscount: !1,
714
+ discountType: "",
715
+ discountTicketIds: [],
716
+ revealHiddenTickets: !1,
717
+ revealTicketIds: [],
718
+ isApplied: !1
719
+ });
720
+ }, ae = (u) => {
721
+ e.set(k, u.target.value, !0), e.get(_) && e.set(_, "");
722
+ }, q = (u) => {
723
+ u.key === "Enter" && (u.preventDefault(), M());
724
+ };
725
+ mt(() => {
726
+ const u = Ve(`checkout-promocode-${L()}`);
727
+ u && (e.set(k, u, !0), M());
728
+ });
729
+ var ce = fa(), W = e.child(ce), ge = e.child(W, !0);
730
+ e.reset(W);
731
+ var v = e.sibling(W, 2), Z = e.child(v), T = e.child(Z);
732
+ {
733
+ let u = e.derived(() => y().promoCode || "Promo code"), c = e.derived(() => e.get(C) || e.get(R)), w = e.derived(() => e.get(s) ? e.get(_) : ""), m = e.derived(() => e.get(i) ? "promo-hint" : e.get(_) ? "promo-error" : void 0);
734
+ ft(T, {
735
+ get label() {
736
+ return e.get(u);
737
+ },
738
+ size: "full",
739
+ type: "text",
740
+ oninput: ae,
741
+ onkeydown: q,
742
+ onblur: () => e.set(s, !0),
743
+ get disabled() {
744
+ return e.get(c);
745
+ },
746
+ get displayErrorText() {
747
+ return e.get(w);
748
+ },
749
+ get touched() {
750
+ return e.get(s);
751
+ },
752
+ get "aria-describedby"() {
753
+ return e.get(m);
754
+ },
755
+ get value() {
756
+ return e.get(k);
757
+ },
758
+ set value(I) {
759
+ e.set(k, I, !0);
760
+ }
761
+ });
762
+ }
763
+ e.reset(Z);
764
+ var U = e.sibling(Z, 2);
765
+ {
766
+ var ue = (u) => {
767
+ {
768
+ let c = e.derived(() => y().removePromoCode || "Remove promo code"), w = e.derived(() => e.get(k));
769
+ De(u, {
770
+ strokebtn: !0,
771
+ onclick: le,
772
+ class: "h-10 self-start mt-5",
773
+ get "aria-label"() {
774
+ return `${e.get(c) ?? ""} ${e.get(w) ?? ""}`;
775
+ },
776
+ children: (m, I) => {
777
+ e.next();
778
+ var J = e.text();
779
+ e.template_effect(() => e.set_text(J, y().remove || "Remove")), e.append(m, J);
780
+ },
781
+ $$slots: { default: !0 }
782
+ });
783
+ }
784
+ }, $ = (u) => {
785
+ {
786
+ let c = e.derived(() => e.get(R) ? y().checkingPromoCode || "Checking promo code" : y().applyPromoCode || "Apply promo code");
787
+ De(u, {
788
+ onclick: M,
789
+ get disabled() {
790
+ return e.get(R);
791
+ },
792
+ class: "h-10 self-start mt-5",
793
+ get "aria-label"() {
794
+ return e.get(c);
795
+ },
796
+ children: (w, m) => {
797
+ e.next();
798
+ var I = e.text();
799
+ e.template_effect(() => e.set_text(I, e.get(R) ? y().checking || "Checking..." : y().apply || "Apply")), e.append(w, I);
800
+ },
801
+ $$slots: { default: !0 }
802
+ });
803
+ }
804
+ };
805
+ e.if(U, (u) => {
806
+ e.get(C) ? u(ue) : u($, !1);
807
+ });
808
+ }
809
+ e.reset(v);
810
+ var h = e.sibling(v, 2);
811
+ {
812
+ var p = (u) => {
813
+ var c = va(), w = e.child(c, !0);
814
+ e.reset(c), e.template_effect(() => e.set_text(w, e.get(i))), e.append(u, c);
815
+ };
816
+ e.if(h, (u) => {
817
+ e.get(i) && u(p);
818
+ });
819
+ }
820
+ var x = e.sibling(h, 2);
821
+ {
822
+ var D = (u) => {
823
+ var c = ga(), w = e.child(c, !0);
824
+ e.reset(c), e.template_effect(() => e.set_text(w, e.get(_))), e.append(u, c);
825
+ };
826
+ e.if(x, (u) => {
827
+ e.get(_) && e.get(s) && u(D);
828
+ });
829
+ }
830
+ e.reset(ce), e.template_effect(() => e.set_text(ge, y().promoCodeEntry || "Promo code entry")), e.append(ne, ce), e.pop();
831
+ }
832
+ var ma = e.from_html('<div class="w-14 h-14 shrink-0 rounded-md overflow-hidden bg-bg-secondary" aria-hidden="true"><img alt="" class="w-full h-full object-contain"/></div>'), ha = e.from_html("<p> </p>"), _a = e.from_html('<div class="flex-row-2 shrink-0"><span class="price-md"> </span> <button type="button" class="sc-btn-icon btn-icon-ghost w-7 h-7"><!></button></div>'), ba = e.from_html('<header class="flex items-center gap-3 px-4 md:px-5 py-4 border-b border-border"><button type="button" class="p-2 -ml-2 rounded-full transition-colors shrink-0 text-text-secondary hover:bg-bg-secondary"><!></button> <!> <div class="flex-1 min-w-0"><h1 class="heading-lg break-words"> </h1> <div class="body-sm text-text-secondary"><p><time> </time></p> <p> </p> <!></div></div> <!></header>');
833
+ function ya(ne, t) {
834
+ e.push(t, !0);
835
+ let L = e.prop(t, "variant", 3, "tickets"), y = e.prop(t, "total", 3, 0), k = e.prop(t, "onCancel", 3, () => {
836
+ }), s = e.prop(t, "onInfoClick", 3, () => {
837
+ }), _ = e.prop(t, "labels", 19, () => ({})), i = e.derived(() => t.event.timeZone || kt()), C = e.derived(() => t.event.displayEndTime === !0), R = e.derived(() => t.event.displayDoorsTime === !0), M = e.derived(() => L() === "checkout"), le = e.derived(() => y() > 0 ? `${Pe(y())}` : (
838
+ /* FIXME(canonical-cleanup:toFixed): heuristic guess — verify this is USD (not cents); when migrating to TS, add `as USD` brand cast at the API-response-transform layer. */
839
+ _().free || "Free"
840
+ ));
841
+ var ae = ba(), q = e.child(ae), ce = e.child(q);
842
+ Tt(ce, { size: 20, "aria-hidden": "true" }), e.reset(q);
843
+ var W = e.sibling(q, 2);
844
+ {
845
+ var ge = (m) => {
846
+ var I = ma(), J = e.child(I);
847
+ e.reset(I), e.template_effect(() => e.set_attribute(J, "src", t.event.image)), e.append(m, I);
848
+ };
849
+ e.if(W, (m) => {
850
+ t.event.image && m(ge);
851
+ });
852
+ }
853
+ var v = e.sibling(W, 2), Z = e.child(v), T = e.child(Z, !0);
854
+ e.reset(Z);
855
+ var U = e.sibling(Z, 2), ue = e.child(U), $ = e.child(ue), h = e.child($, !0);
856
+ e.reset($), e.reset(ue);
857
+ var p = e.sibling(ue, 2), x = e.child(p, !0);
858
+ e.reset(p);
859
+ var D = e.sibling(p, 2);
860
+ {
861
+ var u = (m) => {
862
+ var I = ha(), J = e.child(I, !0);
863
+ e.reset(I), e.template_effect((ee) => e.set_text(J, ee), [
864
+ () => (_().doorsOpen || "Doors open {time}").replace("{time}", St(t.event.doorsOpenTime, e.get(i)))
865
+ ]), e.append(m, I);
866
+ };
867
+ e.if(D, (m) => {
868
+ e.get(R) && t.event.doorsOpenTime && m(u);
869
+ });
870
+ }
871
+ e.reset(U), e.reset(v);
872
+ var c = e.sibling(v, 2);
873
+ {
874
+ var w = (m) => {
875
+ var I = _a(), J = e.child(I), ee = e.child(J, !0);
876
+ e.reset(J);
877
+ var fe = e.sibling(J, 2), xe = e.child(fe);
878
+ Ct(xe, { size: 18, "aria-hidden": "true" }), e.reset(fe), e.reset(I), e.template_effect(
879
+ (be) => {
880
+ e.set_attribute(J, "aria-label", be), e.set_text(ee, e.get(le)), e.set_attribute(fe, "aria-label", _().viewOrderDetails || "View order details");
881
+ },
882
+ [
883
+ () => (_().ariaOrderTotal || "Order total: {total}").replace("{total}", e.get(le))
884
+ ]
885
+ ), e.delegated("click", fe, function(...be) {
886
+ s()?.apply(this, be);
887
+ }), e.append(m, I);
888
+ };
889
+ e.if(c, (m) => {
890
+ e.get(M) && m(w);
891
+ });
892
+ }
893
+ e.reset(ae), e.template_effect(
894
+ (m, I) => {
895
+ e.set_attribute(q, "aria-label", e.get(M) ? _().goBackToTicketSelection || "Go back to ticket selection" : _().goBackToEventDetails || "Go back to event details"), e.set_text(T, t.event.name), e.set_attribute(U, "aria-label", _().ariaEventDateTime || "Event date and time"), e.set_attribute($, "datetime", t.event.startDateTime), e.set_text(h, m), e.set_text(x, I);
896
+ },
897
+ [
898
+ () => wt(t.event.startDateTime, e.get(i)),
899
+ () => e.get(C) && t.event.endDateTime ? It(t.event.startDateTime, t.event.endDateTime, e.get(i)) : Dt(t.event.startDateTime, e.get(i))
900
+ ]
901
+ ), e.delegated("click", q, function(...m) {
902
+ k()?.apply(this, m);
903
+ }), e.append(ne, ae), e.pop();
904
+ }
905
+ e.delegate(["click"]);
906
+ const _e = pt("CartView");
907
+ var xa = e.from_html('<div class="flex items-center justify-center py-12" role="status" aria-live="polite"><p class="text-text-secondary"> </p></div>'), ka = e.from_html('<div class="text-center py-8" role="alert"><p class="text-accent-danger mb-2"> </p> <button class="go-back-btn text-white mt-4 px-4 py-2 rounded-lg svelte-19g9ni4"> </button></div>'), Ta = e.from_html('<div class="text-center py-12" role="alert"><p class="text-xl font-semibold text-text-primary mb-2"> </p> <p class="text-text-secondary mb-6"> </p> <button class="go-back-btn text-white px-4 py-2 rounded-lg svelte-19g9ni4"> </button></div>'), wa = e.from_html('<div class="text-center py-12" role="alert"><p class="text-xl font-semibold text-text-primary mb-2">This event has ended</p> <p class="text-text-secondary mb-6">Tickets are no longer available for this event.</p> <button class="go-back-btn px-4 py-2 rounded-lg svelte-19g9ni4" aria-label="Go back to event details">Go back</button></div>'), Ia = e.from_html('<div class="px-4 md:px-5 pt-3"><!></div>'), Da = e.from_html('<div class="px-4 md:px-5 pt-3"><!></div>'), Sa = e.from_html('<div class="hidden md:block w-80 h-[calc(100vh-40px)]"></div>'), Ca = e.from_html('<div class="w-full flex md:gap-5 flex-wrap"><div class="flex-1 pb-16 md:pb-0"><div class="bg-card border-border rounded-lg md:shadow md:border py-3"><!> <!> <!> <div class="space-y-4 md:px-5"><!></div></div></div> <!> <div><!></div></div>'), Ea = e.from_html('<h3 id="error-modal-title" class="heading-lg"><!></h3>'), Aa = e.from_html('<p class="body-sm"> </p> <p class="text-text-secondary mt-2"> </p>', 1), Pa = e.from_html('<p class="body-sm"> </p> <p class="text-text-secondary mt-2"> </p>', 1), Ma = e.from_html('<div id="error-modal-description"><!></div>'), Oa = e.from_html("<!> <!>", 1), Fa = e.from_html('<div role="group" aria-label="Error modal actions"><!></div>'), La = e.from_html('<div class="fixed inset-0 z-50 flex items-center justify-center bg-black/50" role="alertdialog" aria-labelledby="expired-modal-title" aria-describedby="expired-modal-description"><div class="bg-card rounded-xl shadow-lg p-6 max-w-sm mx-4 text-center"><h3 id="expired-modal-title" class="text-lg font-semibold text-text-primary mb-2"> </h3> <p id="expired-modal-description" class="text-text-secondary text-sm mb-6"> </p> <button class="px-6 py-2.5 bg-brand-primary text-white rounded-lg font-medium hover:opacity-90 transition-opacity"> </button></div></div>'), Ba = e.from_html('<h3 id="availability-modal-title" class="heading-lg"> </h3>'), Qa = e.from_html('<li class="text-text-secondary text-sm"><span class="font-medium"> </span> <!></li>'), qa = e.from_html('<p class="text-text-secondary mt-4"> </p>'), Na = e.from_html('<p class="text-text-secondary mt-4"> </p>'), za = e.from_html('<div id="availability-modal-description"><p class="text-text-secondary mb-4"> </p> <ul class="space-y-2"></ul> <!></div>'), Ra = e.from_html('<div role="group" aria-label="Availability modal actions"><!> <!></div>'), ja = e.from_html('<div class="px-5 md:px-10 py-12 bg-card"><!></div> <!> <!> <!>', 1);
908
+ function Ka(ne, t) {
909
+ e.push(t, !0);
910
+ let L = e.prop(t, "organizationId", 3, ""), y = e.prop(t, "venueId", 3, ""), k = e.prop(t, "initialEventData", 3, null), s = e.prop(t, "labels", 19, () => ({})), _ = e.state(!1), i = e.state(null), C = e.state(null), R = e.state(e.proxy([])), M = e.state(!1), le = e.state(!0), ae = e.state(null), q = e.state(!1), ce = e.state(!1), W = e.state(!1), ge = e.state(0), v = e.state(void 0), Z = e.state(void 0), T = e.state(e.proxy({})), U = e.state(""), ue = e.state(""), $ = e.state(0), h = e.state(!1), p = e.state(0), x = e.state(!1), D = null, u = null, c = e.state(!1), w = e.state(!1), m = e.state(
911
+ "cart_failed"
912
+ // 'cart_failed' | 'cart_success_network_error'
913
+ ), I = e.state(!1), J = e.state(!1), ee = e.state(e.proxy(
914
+ []
915
+ // Array of {ticketId, ticketName, requestedQty, availableQty}
916
+ )), fe = e.state(0), xe = e.state(0), be = e.derived(() => e.get(at) ? 0 : nt(Object.entries(e.get(T)).reduce(
917
+ (a, [r, n]) => {
918
+ const g = e.get(i)?.availableTickets?.find((d) => d.ID == r);
919
+ return g ? a + nt(n * g.price) : a;
920
+ },
921
+ 0
922
+ ))), re = 0, Y = e.state(0), ie = e.state(0), oe = e.state(!1), b = null, Ne = e.derived(() => nt(e.get(be) + re + e.get(Y))), ke = e.state(!1), pe = !1, ve = e.state(!1);
923
+ async function Le(a, r) {
924
+ if (e.get(ve) || e.get(ke))
925
+ return;
926
+ const n = {
927
+ ...e.get(T),
928
+ [a]: Math.max(0, (e.get(T)[a] ?? 0) + r)
929
+ }, g = Object.values(n).reduce((d, S) => d + S, 0);
930
+ if (e.set(T, n, !0), e.get(i) && ut({
931
+ eventID: e.get(i).eventID,
932
+ quantities: e.get(T),
933
+ promocode: e.get(U),
934
+ tickets: e.get(i).availableTickets
935
+ }), g > 0 && !e.get(x))
936
+ await Me();
937
+ else if (e.get(x)) {
938
+ const d = typeof document < "u" && document.cookie.match(/checkout-cartid=([^;]+)/)?.[1] || null;
939
+ if (!d) return;
940
+ e.set(ve, !0);
941
+ try {
942
+ await Bt(d, e.get(T)) || _e.warn("Cart quantity sync failed; UI may not match server");
943
+ } finally {
944
+ e.set(ve, !1);
945
+ }
946
+ }
947
+ }
948
+ async function Me() {
949
+ if (!(e.get(ke) || e.get(x))) {
950
+ e.set(ke, !0);
951
+ try {
952
+ const a = await vt({
953
+ eventID: e.get(i).eventID,
954
+ quantities: e.get(T),
955
+ promoCode: e.get(U) || void 0
956
+ });
957
+ a?.success && a.uuid && (pe = !0, je());
958
+ } catch (a) {
959
+ _e.error("Error creating cart on ticket select:", a);
960
+ } finally {
961
+ e.set(ke, !1);
962
+ }
963
+ }
964
+ }
965
+ function Be() {
966
+ if (!e.get(i)?.availableTickets) return;
967
+ const r = e.get(i).availableTickets.filter((n) => n.visibility === 0).map((n) => parseFloat(n.price) || 0);
968
+ if (r.length === 0) {
969
+ e.set(fe, e.set(xe, 0), !0);
970
+ return;
971
+ }
972
+ e.set(fe, Pe(
973
+ Math.min(...r)
974
+ /* FIXME(canonical-cleanup:toFixed): heuristic guess — verify this is USD (not cents); when migrating to TS, add `as USD` brand cast at the API-response-transform layer. */
975
+ ), !0), e.set(xe, Pe(
976
+ Math.max(...r)
977
+ /* FIXME(canonical-cleanup:toFixed): heuristic guess — verify this is USD (not cents); when migrating to TS, add `as USD` brand cast at the API-response-transform layer. */
978
+ ), !0);
979
+ }
980
+ async function Oe() {
981
+ const a = [];
982
+ for (const [r, n] of Object.entries(e.get(T))) {
983
+ if (n <= 0) continue;
984
+ const g = e.get(i)?.availableTickets?.find((d) => d.ID == r);
985
+ !g || g.price === 0 || a.push({
986
+ amountCents: Math.round(g.price * 100) * n,
987
+ reference: `ticket-${r}`,
988
+ quantity: n
989
+ });
990
+ }
991
+ if (a.length === 0) {
992
+ e.set(ie, 0), e.set(Y, 0), e.set(oe, !1);
993
+ return;
994
+ }
995
+ b && b.abort(), b = new AbortController(), e.set(oe, !0);
996
+ try {
997
+ const r = await fetch("https://get-micdrop.com/api/v2/public/tax-preview", {
998
+ method: "POST",
999
+ headers: { "Content-Type": "application/json" },
1000
+ signal: b.signal,
1001
+ body: JSON.stringify({ venueId: Number(e.get(i).venueID), lineItems: a })
1002
+ });
1003
+ if (!r.ok) {
1004
+ r.status === 422 ? _e.debug("Tax preview: venue has no tax address, falling back to 0") : _e.error("Tax preview failed:", r.status), e.set(ie, 0), e.set(Y, 0), e.set(oe, !1);
1005
+ return;
1006
+ }
1007
+ const n = await r.json();
1008
+ e.set(ie, (n.taxTotal ?? 0) / 100), e.set(Y, e.get(ie), !0);
1009
+ } catch (r) {
1010
+ if (r.name === "AbortError") return;
1011
+ _e.error("Tax preview error:", r), e.set(ie, 0), e.set(Y, 0);
1012
+ } finally {
1013
+ b?.signal?.aborted || e.set(oe, !1);
1014
+ }
1015
+ }
1016
+ function Te() {
1017
+ if (!e.get(i)) return;
1018
+ e.set(U, Ve(`checkout-promocode-${e.get(i).eventID}`) || "", !0);
1019
+ const a = parseFloat(Ve("checkout-promo-discount") || 0);
1020
+ e.set(ue, e.get(U) ? `${e.get(U)} applied.` : "", !0), e.set($, a, !0);
1021
+ }
1022
+ async function ze() {
1023
+ try {
1024
+ const a = await lt(t.eventId), r = [];
1025
+ for (const [n, g] of Object.entries(e.get(T))) {
1026
+ if (g <= 0) continue;
1027
+ const d = a.find((V) => String(V.ID) === String(n));
1028
+ if (!d) continue;
1029
+ const S = d.remainingCapacity ?? d.quantity ?? 1 / 0;
1030
+ if (S < g) {
1031
+ const V = e.get(i)?.availableTickets?.find((H) => String(H.ID) === String(n));
1032
+ r.push({
1033
+ ticketId: n,
1034
+ ticketName: V?.name || d?.name || "Ticket",
1035
+ requestedQty: g,
1036
+ availableQty: Math.max(0, S)
1037
+ });
1038
+ }
1039
+ }
1040
+ return r;
1041
+ } catch (a) {
1042
+ return _e.error("Error checking ticket availability:", a), [];
1043
+ }
1044
+ }
1045
+ async function Qe() {
1046
+ if (!e.get(i)) return;
1047
+ e.set(M, !0), e.set(I, !1);
1048
+ const a = await ze();
1049
+ if (a.length > 0) {
1050
+ e.set(M, !1), e.set(ee, a, !0), e.set(J, !0);
1051
+ return;
1052
+ }
1053
+ await we();
1054
+ }
1055
+ async function we() {
1056
+ if (e.set(M, !0), ut({
1057
+ eventID: e.get(i).eventID,
1058
+ quantities: e.get(T),
1059
+ promocode: e.get(U),
1060
+ promoDiscountAmount: e.get($),
1061
+ tickets: e.get(i).availableTickets
1062
+ }), typeof document < "u" && document.cookie.match(/checkout-cartid=([^;]+)/)?.[1] || null)
1063
+ e.set(I, !0);
1064
+ else
1065
+ try {
1066
+ if (!await vt({
1067
+ eventID: e.get(i).eventID,
1068
+ quantities: e.get(T),
1069
+ promoCode: e.get(U) || void 0
1070
+ })) {
1071
+ e.set(M, !1), e.set(m, "cart_failed"), e.set(w, !0);
1072
+ return;
1073
+ }
1074
+ e.set(I, !0);
1075
+ } catch (r) {
1076
+ _e.error("Order initiation failed:", r), e.set(M, !1), e.set(m, "cart_failed"), e.set(w, !0);
1077
+ return;
1078
+ }
1079
+ try {
1080
+ if (t.onNavigateToCheckout) {
1081
+ t.onNavigateToCheckout(t.eventId, e.get(i)), e.set(M, !1);
1082
+ return;
1083
+ }
1084
+ const r = new URLSearchParams();
1085
+ L() && r.set("orgId", L()), y() && r.set("venueId", y()), r.set("event_id", t.eventId), r.set("subroute", "checkout");
1086
+ const n = `/?${r.toString()}`;
1087
+ gt(n, { noScroll: !1 }), e.set(M, !1);
1088
+ } catch (r) {
1089
+ _e.error("Navigation failed after cart creation:", r), e.set(M, !1), e.set(m, "cart_success_network_error"), e.set(w, !0);
1090
+ }
1091
+ }
1092
+ function Se() {
1093
+ for (const r of e.get(ee))
1094
+ r.availableQty > 0 ? e.get(T)[r.ticketId] = r.availableQty : delete e.get(T)[r.ticketId];
1095
+ e.set(T, { ...e.get(
1096
+ T
1097
+ // Trigger reactivity
1098
+ ) }, !0), e.set(J, !1), e.set(ee, [], !0), Object.values(e.get(T)).reduce((r, n) => r + n, 0) > 0 ? we() : Ie();
1099
+ }
1100
+ function qe() {
1101
+ e.set(J, !1), e.set(ee, [], !0), Ie();
1102
+ }
1103
+ function Ce() {
1104
+ e.set(w, !1), e.get(m) === "cart_failed" && Ie();
1105
+ }
1106
+ function Ee() {
1107
+ e.set(w, !1), window.location.reload();
1108
+ }
1109
+ function Fe() {
1110
+ e.set(ce, window.innerWidth < 767);
1111
+ }
1112
+ let Re = !1;
1113
+ function We() {
1114
+ Re || (window.requestAnimationFrame(() => {
1115
+ et(), Re = !1;
1116
+ }), Re = !0);
1117
+ }
1118
+ function et() {
1119
+ if (e.get(ce) || !e.get(Z) || !e.get(v)) {
1120
+ e.set(W, !1);
1121
+ return;
1122
+ }
1123
+ const a = e.get(Z).getBoundingClientRect();
1124
+ if (e.set(W, a.top <= 20), e.get(W)) {
1125
+ const r = e.get(v).getBoundingClientRect();
1126
+ e.set(ge, r.left + r.width - 340 - 40);
1127
+ }
1128
+ }
1129
+ function Ie() {
1130
+ if (e.get(i) && At(e.get(i).eventID), t.onNavigateBack)
1131
+ t.onNavigateBack();
1132
+ else {
1133
+ const a = new URLSearchParams(window.location.search);
1134
+ a.set("subroute", "details");
1135
+ const r = `/?${a.toString()}`;
1136
+ gt(r, {});
1137
+ }
1138
+ }
1139
+ let K = null;
1140
+ async function Ze() {
1141
+ K && localStorage.removeItem(`checkout-expiry-${K}`), document.cookie = "checkout-cartid=; Max-Age=0; path=/", K = null, e.set(x, !1), e.set(p, 0), e.set(c, !0);
1142
+ }
1143
+ async function je() {
1144
+ if (e.get(x)) return;
1145
+ if (e.set(x, !0), K = typeof document < "u" && document.cookie.match(/checkout-cartid=([^;]+)/)?.[1] || null, e.set(p, 900), K) {
1146
+ const n = localStorage.getItem(`checkout-expiry-${K}`);
1147
+ if (n) {
1148
+ const g = Math.max(0, Math.floor((parseInt(n, 10) - Date.now()) / 1e3));
1149
+ if (g > 0)
1150
+ e.set(p, g, !0);
1151
+ else {
1152
+ await Ze();
1153
+ return;
1154
+ }
1155
+ } else if (pe)
1156
+ e.set(p, 900), localStorage.setItem(`checkout-expiry-${K}`, String(Date.now() + 900 * 1e3));
1157
+ else {
1158
+ await Ze();
1159
+ return;
1160
+ }
1161
+ }
1162
+ const a = () => {
1163
+ if (!K) return;
1164
+ const n = parseInt(localStorage.getItem(`checkout-expiry-${K}`) || "0", 10);
1165
+ n && e.set(p, Math.max(0, Math.floor((n - Date.now()) / 1e3)), !0);
1166
+ };
1167
+ D = setInterval(
1168
+ () => {
1169
+ a(), e.get(p) <= 0 && (clearInterval(D), e.set(x, !1), e.set(c, !0), K && localStorage.removeItem(`checkout-expiry-${K}`));
1170
+ },
1171
+ 1e3
1172
+ ), u = () => {
1173
+ typeof document < "u" && document.visibilityState === "visible" && a();
1174
+ }, typeof document < "u" && document.addEventListener("visibilitychange", u), typeof window < "u" && window.addEventListener("pageshow", u);
1175
+ const r = setInterval(
1176
+ async () => {
1177
+ if (!e.get(x) || !K) {
1178
+ clearInterval(r);
1179
+ return;
1180
+ }
1181
+ try {
1182
+ const n = await Lt(K);
1183
+ if (n.notFound) {
1184
+ clearInterval(r);
1185
+ const g = K;
1186
+ e.set(x, !1), e.set(c, !0), localStorage.removeItem(`checkout-expiry-${g}`), document.cookie = "checkout-cartid=; Max-Age=0; path=/", K = null;
1187
+ return;
1188
+ }
1189
+ if (!n.error && n.expiresAt) {
1190
+ const g = Math.max(0, Math.floor((new Date(n.expiresAt) - /* @__PURE__ */ new Date()) / 1e3));
1191
+ e.set(p, g, !0), localStorage.setItem(`checkout-expiry-${K}`, String(new Date(n.expiresAt).getTime()));
1192
+ }
1193
+ } catch {
1194
+ }
1195
+ },
1196
+ 6e4
1197
+ );
1198
+ }
1199
+ async function tt(a) {
1200
+ const r = a?.detail ?? a, { code: n, discount: g } = r;
1201
+ if (e.set(U, n || "", !0), e.set($, g || 0, !0), e.set(ue, n ? `${n} applied.` : "", !0), r.revealHiddenTickets !== void 0 && e.get(i) && (document.cookie = `checkout-promo-reveal-${e.get(i).eventID}=${r.revealHiddenTickets ? "1" : "0"}; path=/`, r.revealTicketIds?.length && (document.cookie = `checkout-promo-reveal-ids-${e.get(i).eventID}=${JSON.stringify(r.revealTicketIds)}; path=/`), n && r.revealHiddenTickets))
1202
+ try {
1203
+ const d = await lt(t.eventId, n);
1204
+ d.length > 0 && e.get(i) && e.set(i, { ...e.get(i), availableTickets: d }, !0);
1205
+ } catch (d) {
1206
+ _e.error("Error re-fetching tickets with promo:", d);
1207
+ }
1208
+ }
1209
+ let He = e.derived(() => e.get(i) ? Ve(`checkout-promo-reveal-${e.get(i).eventID}`) === "1" : !1), Je = e.derived(() => {
1210
+ if (!e.get(i)) return [];
1211
+ try {
1212
+ const a = Ve(`checkout-promo-reveal-ids-${e.get(i).eventID}`);
1213
+ return a ? JSON.parse(a) : [];
1214
+ } catch {
1215
+ return [];
1216
+ }
1217
+ }), at = e.derived(() => e.get(i)?.availableTickets?.filter((a) => a.visibility === 0)?.every((a) => a.price === 0)), Ye = e.derived(() => {
1218
+ if (!e.get(i)) return !1;
1219
+ const a = e.get(i).endDateTime || e.get(i).startDateTime;
1220
+ return a ? new Date(a) < /* @__PURE__ */ new Date() : !1;
1221
+ });
1222
+ async function Xe() {
1223
+ if (e.get(q)) {
1224
+ if (!t.eventId) {
1225
+ e.set(ae, s().noEventIdProvided || "No event ID provided", !0), e.set(le, !1);
1226
+ return;
1227
+ }
1228
+ e.set(le, !0), e.set(ae, null);
1229
+ try {
1230
+ if (k()) {
1231
+ if (e.set(C, k()), !e.get(q)) return;
1232
+ e.set(i, ct(e.get(C)), !0), e.set(R, e.get(i).availableTickets || [], !0);
1233
+ } else {
1234
+ try {
1235
+ if (e.set(C, await Pt(t.eventId), !0), !e.get(q)) return;
1236
+ e.set(i, ct(e.get(C)), !0);
1237
+ } catch (n) {
1238
+ _e.error("Event fetch failed:", n), e.set(ae, s().failedToLoadEvent || "Failed to load event", !0), e.set(le, !1);
1239
+ return;
1240
+ }
1241
+ try {
1242
+ if (e.set(R, await lt(t.eventId), !0), !e.get(q)) return;
1243
+ e.get(R).length > 0 && (e.get(i).availableTickets = e.get(R));
1244
+ } catch (n) {
1245
+ if (!e.get(q)) return;
1246
+ _e.error("Error fetching tickets:", n), e.set(R, e.get(i).availableTickets || [], !0);
1247
+ }
1248
+ }
1249
+ e.get(i).availableTickets && e.get(i).availableTickets.forEach((n) => e.get(T)[n.ID] = 0);
1250
+ const a = Mt(e.get(i).eventID);
1251
+ if (e.set(T, Rt(a.quantities || {}, e.get(i).availableTickets), !0), e.set(U, a.promocode || "", !0), e.set($, a.promoDiscountAmount || 0, !0), e.get(i).eventID && (await Ot(e.get(i).eventID), !e.get(q)))
1252
+ return;
1253
+ e.set(_, !0), Be(), Object.values(e.get(T)).reduce((n, g) => n + g, 0) > 0 && je(), Te(), await Ft({ eventID: e.get(i).eventID });
1254
+ } catch (a) {
1255
+ e.get(q) && (_e.error("Error loading event:", a), e.set(ae, a.message || s().failedToLoadEvent || "Failed to load event", !0));
1256
+ } finally {
1257
+ e.get(q) && e.set(le, !1);
1258
+ }
1259
+ }
1260
+ }
1261
+ mt(async () => (e.set(q, !0), Fe(), window.addEventListener("resize", Fe), window.addEventListener("scroll", We), await Xe(), Et(t.eventId).then((a) => {
1262
+ e.set(h, a, !0);
1263
+ }).catch(() => {
1264
+ e.set(h, !0);
1265
+ }), () => {
1266
+ window.removeEventListener("resize", Fe), window.removeEventListener("scroll", We);
1267
+ })), qt(() => {
1268
+ e.set(q, !1), D && clearInterval(D), u && (typeof document < "u" && document.removeEventListener("visibilitychange", u), typeof window < "u" && window.removeEventListener("pageshow", u), u = null), b && b.abort();
1269
+ });
1270
+ let Ke = null;
1271
+ e.user_effect(() => {
1272
+ e.get(q) && t.eventId && t.eventId !== Ke && (Ke = t.eventId, Xe());
1273
+ }), e.user_effect(() => {
1274
+ const a = Object.values(e.get(T)).reduce((r, n) => r + n, 0);
1275
+ e.get(_) && e.get(i) && a > 0 ? Oe() : a === 0 && (e.set(ie, 0), e.set(Y, 0), e.set(oe, !1));
1276
+ });
1277
+ var $e = ja(), l = e.first_child($e), o = e.child(l);
1278
+ {
1279
+ var f = (a) => {
1280
+ var r = xa(), n = e.child(r), g = e.child(n, !0);
1281
+ e.reset(n), e.reset(r), e.template_effect(() => e.set_text(g, s().loadingEvent || "Loading event...")), e.append(a, r);
1282
+ }, B = (a) => {
1283
+ var r = ka(), n = e.child(r), g = e.child(n);
1284
+ e.reset(n);
1285
+ var d = e.sibling(n, 2), S = e.child(d, !0);
1286
+ e.reset(d), e.reset(r), e.template_effect(() => {
1287
+ e.set_text(g, `${(s().errorPrefix || "Error:") ?? ""}
1288
+ ${e.get(ae) ?? ""}`), e.set_attribute(d, "aria-label", s().goBackToEventDetails || "Go back to event details"), e.set_text(S, s().goBack || "Go back");
1289
+ }), e.delegated("click", d, Ie), e.append(a, r);
1290
+ }, N = (a) => {
1291
+ var r = Ta(), n = e.child(r), g = e.child(n, !0);
1292
+ e.reset(n);
1293
+ var d = e.sibling(n, 2), S = e.child(d, !0);
1294
+ e.reset(d);
1295
+ var V = e.sibling(d, 2), H = e.child(V, !0);
1296
+ e.reset(V), e.reset(r), e.template_effect(() => {
1297
+ e.set_text(g, s().thisEventHasEnded || "This event has ended"), e.set_text(S, s().ticketsNoLongerAvailable || "Tickets are no longer available for this event."), e.set_attribute(V, "aria-label", s().goBackToEventDetails || "Go back to event details"), e.set_text(H, s().goBack || "Go back");
1298
+ }), e.delegated("click", V, Ie), e.append(a, r);
1299
+ }, j = (a) => {
1300
+ var r = wa(), n = e.sibling(e.child(r), 4);
1301
+ e.reset(r), e.delegated("click", n, Ie), e.append(a, r);
1302
+ }, Q = (a) => {
1303
+ var r = Ca(), n = e.child(r), g = e.child(n), d = e.child(g);
1304
+ ya(d, {
1305
+ get event() {
1306
+ return e.get(i);
1307
+ },
1308
+ get lowestPrice() {
1309
+ return e.get(fe);
1310
+ },
1311
+ get highestPrice() {
1312
+ return e.get(xe);
1313
+ },
1314
+ onCancel: Ie,
1315
+ get venueFeesReady() {
1316
+ return e.get(_);
1317
+ },
1318
+ get labels() {
1319
+ return s();
1320
+ }
1321
+ });
1322
+ var S = e.sibling(d, 2);
1323
+ {
1324
+ var V = (z) => {
1325
+ var te = Ia(), ye = e.child(te);
1326
+ {
1327
+ let Ue = e.derived(() => e.get(p) <= 300);
1328
+ zt(ye, {
1329
+ get seconds() {
1330
+ return e.get(p);
1331
+ },
1332
+ get isUrgent() {
1333
+ return e.get(Ue);
1334
+ },
1335
+ get labels() {
1336
+ return s();
1337
+ }
1338
+ });
1339
+ }
1340
+ e.reset(te), e.append(z, te);
1341
+ };
1342
+ e.if(S, (z) => {
1343
+ e.get(x) && e.get(p) > 0 && z(V);
1344
+ });
1345
+ }
1346
+ var H = e.sibling(S, 2);
1347
+ {
1348
+ var F = (z) => {
1349
+ var te = Da(), ye = e.child(te);
1350
+ pa(ye, {
1351
+ get eventID() {
1352
+ return t.eventId;
1353
+ },
1354
+ onpromoChange: tt,
1355
+ get labels() {
1356
+ return s();
1357
+ }
1358
+ }), e.reset(te), e.append(z, te);
1359
+ };
1360
+ e.if(H, (z) => {
1361
+ e.get(h) && z(F);
1362
+ });
1363
+ }
1364
+ var E = e.sibling(H, 2), X = e.child(E);
1365
+ {
1366
+ let z = e.derived(() => e.get(ve) || e.get(ke));
1367
+ ca(X, {
1368
+ get tickets() {
1369
+ return e.get(i).availableTickets;
1370
+ },
1371
+ get quantities() {
1372
+ return e.get(T);
1373
+ },
1374
+ handleQuantityChange: Le,
1375
+ get revealHiddenTickets() {
1376
+ return e.get(He);
1377
+ },
1378
+ get revealTicketIds() {
1379
+ return e.get(Je);
1380
+ },
1381
+ get venueFeesReady() {
1382
+ return e.get(_);
1383
+ },
1384
+ get syncing() {
1385
+ return e.get(z);
1386
+ },
1387
+ get labels() {
1388
+ return s();
1389
+ }
1390
+ });
1391
+ }
1392
+ e.reset(E), e.reset(g), e.reset(n);
1393
+ var de = e.sibling(n, 2);
1394
+ {
1395
+ var A = (z) => {
1396
+ var te = Sa();
1397
+ e.append(z, te);
1398
+ };
1399
+ e.if(de, (z) => {
1400
+ e.get(W) && !e.get(ce) && z(A);
1401
+ });
1402
+ }
1403
+ var P = e.sibling(de, 2);
1404
+ let me, he;
1405
+ var rt = e.child(P);
1406
+ {
1407
+ var it = (z) => {
1408
+ Nt(z, {});
1409
+ }, st = (z) => {
1410
+ {
1411
+ let te = e.derived(() => s().checkout || "Checkout"), ye = e.derived(() => !!e.get(ue));
1412
+ Qt(z, {
1413
+ get btnText() {
1414
+ return e.get(te);
1415
+ },
1416
+ get loading() {
1417
+ return e.get(M);
1418
+ },
1419
+ checkoutTicket: Qe,
1420
+ get quantities() {
1421
+ return e.get(T);
1422
+ },
1423
+ get eventTickets() {
1424
+ return e.get(i).availableTickets;
1425
+ },
1426
+ get promoApplied() {
1427
+ return e.get(ye);
1428
+ },
1429
+ get promoDiscount() {
1430
+ return e.get($);
1431
+ },
1432
+ get subtotal() {
1433
+ return e.get(be);
1434
+ },
1435
+ fees: re,
1436
+ get taxAmount() {
1437
+ return e.get(ie);
1438
+ },
1439
+ get taxLoading() {
1440
+ return e.get(oe);
1441
+ },
1442
+ get total() {
1443
+ return e.get(Ne);
1444
+ }
1445
+ });
1446
+ }
1447
+ };
1448
+ e.if(rt, (z) => {
1449
+ e.get(_) ? e.get(i) && e.get(i).availableTickets?.length && z(st, 1) : z(it);
1450
+ });
1451
+ }
1452
+ e.reset(P), e.reset(r), e.bind_this(r, (z) => e.set(Z, z), () => e.get(Z)), e.template_effect(() => {
1453
+ me = e.set_class(P, 1, "w-full md:w-80 flex flex-col transition-all will-change-[left] svelte-19g9ni4", null, me, { "is-sticky": e.get(W) }), he = e.set_style(P, "", he, { left: e.get(W) ? `${e.get(ge)}px` : "auto" });
1454
+ }), e.append(a, r);
1455
+ };
1456
+ e.if(o, (a) => {
1457
+ e.get(le) ? a(f) : e.get(ae) ? a(B, 1) : e.get(i) && e.get(Ye) ? a(N, 2) : e.get(i) && e.get(Ye) ? a(j, 3) : e.get(i) && a(Q, 4);
1458
+ });
1459
+ }
1460
+ e.reset(l), e.bind_this(l, (a) => e.set(v, a), () => e.get(v));
1461
+ var G = e.sibling(l, 2);
1462
+ dt(G, {
1463
+ size: "sm",
1464
+ oncancel: Ce,
1465
+ role: "alertdialog",
1466
+ "aria-labelledby": "error-modal-title",
1467
+ "aria-describedby": "error-modal-description",
1468
+ get open() {
1469
+ return e.get(w);
1470
+ },
1471
+ set open(g) {
1472
+ e.set(w, g, !0);
1473
+ },
1474
+ header: (g) => {
1475
+ var d = Ea(), S = e.child(d);
1476
+ {
1477
+ var V = (F) => {
1478
+ var E = e.text();
1479
+ e.template_effect(() => e.set_text(E, s().unableToReserveTickets || "Unable to Reserve Tickets")), e.append(F, E);
1480
+ }, H = (F) => {
1481
+ var E = e.text();
1482
+ e.template_effect(() => e.set_text(E, s().connectionIssue || "Connection Issue")), e.append(F, E);
1483
+ };
1484
+ e.if(S, (F) => {
1485
+ e.get(m) === "cart_failed" ? F(V) : F(H, !1);
1486
+ });
1487
+ }
1488
+ e.reset(d), e.append(g, d);
1489
+ },
1490
+ body: (g) => {
1491
+ var d = Ma(), S = e.child(d);
1492
+ {
1493
+ var V = (F) => {
1494
+ var E = Aa(), X = e.first_child(E), de = e.child(X, !0);
1495
+ e.reset(X);
1496
+ var A = e.sibling(X, 2), P = e.child(A, !0);
1497
+ e.reset(A), e.template_effect(() => {
1498
+ e.set_text(de, s().cartFailedMessage || "We couldn't reserve your tickets. This may be due to a network issue or the tickets may no longer be available."), e.set_text(P, s().pleaseGoBackAndTryAgain || "Please go back and try again.");
1499
+ }), e.append(F, E);
1500
+ }, H = (F) => {
1501
+ var E = Pa(), X = e.first_child(E), de = e.child(X, !0);
1502
+ e.reset(X);
1503
+ var A = e.sibling(X, 2), P = e.child(A, !0);
1504
+ e.reset(A), e.template_effect(() => {
1505
+ e.set_text(de, s().cartSuccessMessage || "Good news! Your tickets have been reserved and are being held for you."), e.set_text(P, s().cartSuccessNetworkError || "However, we encountered a connection issue. Please refresh the page to continue to checkout.");
1506
+ }), e.append(F, E);
1507
+ };
1508
+ e.if(S, (F) => {
1509
+ e.get(m) === "cart_failed" ? F(V) : F(H, !1);
1510
+ });
1511
+ }
1512
+ e.reset(d), e.append(g, d);
1513
+ },
1514
+ footer: (g) => {
1515
+ var d = Fa(), S = e.child(d);
1516
+ {
1517
+ var V = (F) => {
1518
+ {
1519
+ let E = e.derived(() => s().goBack || "Go back");
1520
+ De(F, {
1521
+ variant: "default",
1522
+ onclick: Ce,
1523
+ get "aria-label"() {
1524
+ return e.get(E);
1525
+ },
1526
+ children: (X, de) => {
1527
+ e.next();
1528
+ var A = e.text();
1529
+ e.template_effect(() => e.set_text(A, s().goBack || "Go back")), e.append(X, A);
1530
+ },
1531
+ $$slots: { default: !0 }
1532
+ });
1533
+ }
1534
+ }, H = (F) => {
1535
+ var E = Oa(), X = e.first_child(E);
1536
+ {
1537
+ let A = e.derived(() => s().cancel || "Cancel");
1538
+ De(X, {
1539
+ variant: "alternative",
1540
+ onclick: Ce,
1541
+ get "aria-label"() {
1542
+ return e.get(A);
1543
+ },
1544
+ children: (P, me) => {
1545
+ e.next();
1546
+ var he = e.text();
1547
+ e.template_effect(() => e.set_text(he, s().cancel || "Cancel")), e.append(P, he);
1548
+ },
1549
+ $$slots: { default: !0 }
1550
+ });
1551
+ }
1552
+ var de = e.sibling(X, 2);
1553
+ {
1554
+ let A = e.derived(() => s().refreshPage || "Refresh Page");
1555
+ De(de, {
1556
+ variant: "default",
1557
+ onclick: Ee,
1558
+ get "aria-label"() {
1559
+ return e.get(A);
1560
+ },
1561
+ children: (P, me) => {
1562
+ e.next();
1563
+ var he = e.text();
1564
+ e.template_effect(() => e.set_text(he, s().refreshPage || "Refresh Page")), e.append(P, he);
1565
+ },
1566
+ $$slots: { default: !0 }
1567
+ });
1568
+ }
1569
+ e.append(F, E);
1570
+ };
1571
+ e.if(S, (F) => {
1572
+ e.get(m) === "cart_failed" ? F(V) : F(H, !1);
1573
+ });
1574
+ }
1575
+ e.reset(d), e.append(g, d);
1576
+ },
1577
+ $$slots: { header: !0, body: !0, footer: !0 }
1578
+ });
1579
+ var O = e.sibling(G, 2);
1580
+ {
1581
+ var se = (a) => {
1582
+ var r = La(), n = e.child(r), g = e.child(n), d = e.child(g, !0);
1583
+ e.reset(g);
1584
+ var S = e.sibling(g, 2), V = e.child(S, !0);
1585
+ e.reset(S);
1586
+ var H = e.sibling(S, 2), F = e.child(H, !0);
1587
+ e.reset(H), e.reset(n), e.reset(r), e.template_effect(() => {
1588
+ e.set_text(d, s().cartExpiredTitle || "Your cart has expired"), e.set_text(V, s().cartExpiredMessage || "Your cart has expired. Please start your purchase again."), e.set_text(F, s().startOver || "Start over");
1589
+ }), e.delegated("click", H, () => {
1590
+ e.set(c, !1), document.cookie = "checkout-cartid=; Max-Age=0; path=/", window.location.reload();
1591
+ }), e.append(a, r);
1592
+ };
1593
+ e.if(O, (a) => {
1594
+ e.get(c) && a(se);
1595
+ });
1596
+ }
1597
+ var Ae = e.sibling(O, 2);
1598
+ dt(Ae, {
1599
+ size: "sm",
1600
+ oncancel: qe,
1601
+ role: "alertdialog",
1602
+ "aria-labelledby": "availability-modal-title",
1603
+ "aria-describedby": "availability-modal-description",
1604
+ get open() {
1605
+ return e.get(J);
1606
+ },
1607
+ set open(g) {
1608
+ e.set(J, g, !0);
1609
+ },
1610
+ header: (g) => {
1611
+ var d = Ba(), S = e.child(d, !0);
1612
+ e.reset(d), e.template_effect(() => e.set_text(S, s().limitedAvailability || "Limited Availability")), e.append(g, d);
1613
+ },
1614
+ body: (g) => {
1615
+ var d = za(), S = e.child(d), V = e.child(S, !0);
1616
+ e.reset(S);
1617
+ var H = e.sibling(S, 2);
1618
+ e.each(H, 21, () => e.get(ee), e.index, (A, P) => {
1619
+ var me = Qa(), he = e.child(me), rt = e.child(he);
1620
+ e.reset(he);
1621
+ var it = e.sibling(he, 2);
1622
+ {
1623
+ var st = (te) => {
1624
+ var ye = e.text();
1625
+ e.template_effect((Ue) => e.set_text(ye, Ue), [
1626
+ () => (s().onlyNAvailable || "Only {available} available (you selected {requested})").replace("{available}", String(e.get(P).availableQty)).replace("{requested}", String(e.get(P).requestedQty))
1627
+ ]), e.append(te, ye);
1628
+ }, z = (te) => {
1629
+ var ye = e.text();
1630
+ e.template_effect((Ue) => e.set_text(ye, Ue), [
1631
+ () => (s().soldOutYouSelected || "Sold out (you selected {requested})").replace("{requested}", String(e.get(P).requestedQty))
1632
+ ]), e.append(te, ye);
1633
+ };
1634
+ e.if(it, (te) => {
1635
+ e.get(P).availableQty > 0 ? te(st) : te(z, !1);
1636
+ });
1637
+ }
1638
+ e.reset(me), e.template_effect(() => e.set_text(rt, `${e.get(P).ticketName ?? ""}:`)), e.append(A, me);
1639
+ }), e.reset(H);
1640
+ var F = e.sibling(H, 2);
1641
+ {
1642
+ var E = (A) => {
1643
+ var P = qa(), me = e.child(P, !0);
1644
+ e.reset(P), e.template_effect(() => e.set_text(me, s().partialAvailabilityContinue || "Would you like to continue with the available tickets?")), e.append(A, P);
1645
+ }, X = e.derived(() => e.get(ee).some((A) => A.availableQty > 0)), de = (A) => {
1646
+ var P = Na(), me = e.child(P, !0);
1647
+ e.reset(P), e.template_effect(() => e.set_text(me, s().allTicketsSoldOut || "Unfortunately, all the tickets you selected have sold out.")), e.append(A, P);
1648
+ };
1649
+ e.if(F, (A) => {
1650
+ e.get(X) ? A(E) : A(de, !1);
1651
+ });
1652
+ }
1653
+ e.reset(d), e.template_effect(() => {
1654
+ e.set_text(V, s().ticketsNoLongerAvailableMessage || "Some tickets you selected are no longer available in the requested quantities:"), e.set_attribute(H, "aria-label", s().ticketAvailabilityChanges || "Ticket availability changes");
1655
+ }), e.append(g, d);
1656
+ },
1657
+ footer: (g) => {
1658
+ var d = Ra(), S = e.child(d);
1659
+ {
1660
+ let E = e.derived(() => s().goBack || "Go back");
1661
+ De(S, {
1662
+ variant: "alternative",
1663
+ onclick: qe,
1664
+ get "aria-label"() {
1665
+ return e.get(E);
1666
+ },
1667
+ children: (X, de) => {
1668
+ e.next();
1669
+ var A = e.text();
1670
+ e.template_effect(() => e.set_text(A, s().goBack || "Go back")), e.append(X, A);
1671
+ },
1672
+ $$slots: { default: !0 }
1673
+ });
1674
+ }
1675
+ var V = e.sibling(S, 2);
1676
+ {
1677
+ var H = (E) => {
1678
+ {
1679
+ let X = e.derived(() => s().continueWithAvailable || "Continue with available");
1680
+ De(E, {
1681
+ variant: "default",
1682
+ onclick: Se,
1683
+ get "aria-label"() {
1684
+ return e.get(X);
1685
+ },
1686
+ children: (de, A) => {
1687
+ e.next();
1688
+ var P = e.text();
1689
+ e.template_effect(() => e.set_text(P, s().continueWithAvailable || "Continue with available")), e.append(de, P);
1690
+ },
1691
+ $$slots: { default: !0 }
1692
+ });
1693
+ }
1694
+ }, F = e.derived(() => e.get(ee).some((E) => E.availableQty > 0));
1695
+ e.if(V, (E) => {
1696
+ e.get(F) && E(H);
1697
+ });
1698
+ }
1699
+ e.reset(d), e.append(g, d);
1700
+ },
1701
+ $$slots: { header: !0, body: !0, footer: !0 }
1702
+ }), e.append(ne, $e), e.pop();
1703
+ }
1704
+ e.delegate(["click"]);
1705
+ export {
1706
+ Ka as default
1707
+ };
1708
+ //# sourceMappingURL=CartView-DaYfGxiQ.js.map