@getmicdrop/venue-calendar 4.0.16 → 4.0.19

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