@getmicdrop/venue-calendar 4.0.88 → 4.0.90

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 (67) hide show
  1. package/dist/CartView-YGOycNP9.js +2366 -0
  2. package/dist/CartView-YGOycNP9.js.map +1 -0
  3. package/dist/Checkout-DdbW2jB6.js +1672 -0
  4. package/dist/Checkout-DdbW2jB6.js.map +1 -0
  5. package/dist/Checkout-M9JI43f1.js +916 -0
  6. package/dist/Checkout-M9JI43f1.js.map +1 -0
  7. package/dist/{CheckoutTimer-Bz2_04Xe.js → CheckoutTimer-CvoOYwFZ.js} +11 -11
  8. package/dist/{CheckoutTimer-Bz2_04Xe.js.map → CheckoutTimer-CvoOYwFZ.js.map} +1 -1
  9. package/dist/{CollectionView-DDHYYddJ.js → CollectionView-LMZ1_xzU.js} +67 -67
  10. package/dist/CollectionView-LMZ1_xzU.js.map +1 -0
  11. package/dist/{Event-WRI_FwEM.js → Event-DfXV9XWA.js} +1152 -1145
  12. package/dist/{Event-WRI_FwEM.js.map → Event-DfXV9XWA.js.map} +1 -1
  13. package/dist/EventPage-BSKZxOUi.js +532 -0
  14. package/dist/EventPage-BSKZxOUi.js.map +1 -0
  15. package/dist/{Heading-BRqoCNl0.js → Heading-BePwi_sf.js} +2 -2
  16. package/dist/Heading-BePwi_sf.js.map +1 -0
  17. package/dist/{ScarcityBadge-BLOwSR1L.js → ScarcityBadge-B4h5S5UO.js} +15 -15
  18. package/dist/ScarcityBadge-B4h5S5UO.js.map +1 -0
  19. package/dist/{SeriesPage-DMFNiJOI.js → SeriesPage-DAPzTeim.js} +5 -5
  20. package/dist/{SeriesPage-DMFNiJOI.js.map → SeriesPage-DAPzTeim.js.map} +1 -1
  21. package/dist/{Spinner-CHr6srqY.js → Spinner-GnsJF25V.js} +6 -6
  22. package/dist/{Spinner-CHr6srqY.js.map → Spinner-GnsJF25V.js.map} +1 -1
  23. package/dist/{Success-B_9iqKYy.js → Success-BGxC7bqX.js} +164 -164
  24. package/dist/Success-BGxC7bqX.js.map +1 -0
  25. package/dist/{Text-B5672MkO.js → Text-CNt-8lMW.js} +16 -16
  26. package/dist/{Text-B5672MkO.js.map → Text-CNt-8lMW.js.map} +1 -1
  27. package/dist/{VenueCalendar-DzDOAkMF.js → VenueCalendar-BTMDuPMc.js} +136 -131
  28. package/dist/VenueCalendar-BTMDuPMc.js.map +1 -0
  29. package/dist/{ViewTicketsEmbed-eBIPcuYB.js → ViewTicketsEmbed-BvHbIb2e.js} +474 -474
  30. package/dist/ViewTicketsEmbed-BvHbIb2e.js.map +1 -0
  31. package/dist/api/api.cjs +1 -1
  32. package/dist/api/api.cjs.map +1 -1
  33. package/dist/api/api.mjs +39 -37
  34. package/dist/api/api.mjs.map +1 -1
  35. package/dist/api/types.d.ts +433 -423
  36. package/dist/{data-toggle-store.svelte-CxTAIAQ_.js → data-toggle-store.svelte-BV2z5rQb.js} +6 -6
  37. package/dist/{data-toggle-store.svelte-CxTAIAQ_.js.map → data-toggle-store.svelte-BV2z5rQb.js.map} +1 -1
  38. package/dist/{labels-BtDlhHx5.js → labels-DzApvhnF.js} +43 -43
  39. package/dist/{labels-BtDlhHx5.js.map → labels-DzApvhnF.js.map} +1 -1
  40. package/dist/modalManager.svelte-Cm_Q9jBH.js +56 -0
  41. package/dist/modalManager.svelte-Cm_Q9jBH.js.map +1 -0
  42. package/dist/seo/types.d.ts +150 -150
  43. package/dist/{transform-CAkWnN33.js → transform-CdOhGVMK.js} +6 -6
  44. package/dist/{transform-CAkWnN33.js.map → transform-CdOhGVMK.js.map} +1 -1
  45. package/dist/venue-calendar.css +1 -1
  46. package/dist/venue-calendar.es.js +2 -2
  47. package/dist/venue-calendar.iife.js +23 -22
  48. package/dist/venue-calendar.iife.js.map +1 -1
  49. package/dist/venue-calendar.umd.js +20 -19
  50. package/dist/venue-calendar.umd.js.map +1 -1
  51. package/package.json +3 -2
  52. package/dist/CartView-BHJKr40a.js +0 -2366
  53. package/dist/CartView-BHJKr40a.js.map +0 -1
  54. package/dist/Checkout-Bu28X8js.js +0 -1669
  55. package/dist/Checkout-Bu28X8js.js.map +0 -1
  56. package/dist/Checkout-r5FFzlI-.js +0 -809
  57. package/dist/Checkout-r5FFzlI-.js.map +0 -1
  58. package/dist/CollectionView-DDHYYddJ.js.map +0 -1
  59. package/dist/EventPage-DS0nenKR.js +0 -529
  60. package/dist/EventPage-DS0nenKR.js.map +0 -1
  61. package/dist/Heading-BRqoCNl0.js.map +0 -1
  62. package/dist/ModalHeader-CJi8ydrv.js +0 -22
  63. package/dist/ModalHeader-CJi8ydrv.js.map +0 -1
  64. package/dist/ScarcityBadge-BLOwSR1L.js.map +0 -1
  65. package/dist/Success-B_9iqKYy.js.map +0 -1
  66. package/dist/VenueCalendar-DzDOAkMF.js.map +0 -1
  67. package/dist/ViewTicketsEmbed-eBIPcuYB.js.map +0 -1
@@ -0,0 +1,2366 @@
1
+ import "svelte/internal/disclose-version";
2
+ import * as e from "svelte/internal/client";
3
+ import { onMount as Zt, onDestroy as ta } from "svelte";
4
+ import { C as aa, S as ra, g as Et } from "./ScarcityBadge-B4h5S5UO.js";
5
+ import { H as tt, a3 as Ot, a4 as Ft, t as Te, a5 as ia, m as te, a6 as sa, a7 as St, a8 as na, u as $e, a9 as la, aa as oa, ab as Jt, ac as Mt, j as Yt, ad as ot, v as da, ae as gt, a2 as at, F as ca, U as va, af as ua, ag as pa, R as fa, ah as ga, ai as ma, aj as _a, a1 as ha, w as jt, f as ba, ak as It, x as xa, e as ya, al as ka, z as wa, k as Lt, am as Ta, l as Bt } from "./VenueCalendar-BTMDuPMc.js";
6
+ import { M as At, C as Ca } from "./CheckoutTimer-CvoOYwFZ.js";
7
+ import { I as Da } from "./Text-CNt-8lMW.js";
8
+ import { c as Pt } from "./modalManager.svelte-Cm_Q9jBH.js";
9
+ import { cubicOut as zt } from "svelte/easing";
10
+ import { S as wt } from "./Spinner-GnsJF25V.js";
11
+ var Sa = e.from_svg('<svg aria-hidden="true" fill="none" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg>');
12
+ function Ia(ie, t) {
13
+ let R = e.prop(t, "size", 3, "24"), C = e.prop(t, "color", 3, "currentColor"), _ = e.prop(t, "class", 3, "");
14
+ var a = Sa();
15
+ e.template_effect(() => {
16
+ e.set_class(a, 0, e.clsx(_())), e.set_attribute(a, "width", R()), e.set_attribute(a, "height", R()), e.set_attribute(a, "stroke", C());
17
+ }), e.append(ie, a);
18
+ }
19
+ var Aa = e.from_html('<div class="py-8 text-center"><p> </p></div>'), Pa = e.from_html('<div class="flex justify-between py-3 border-b border-border/50"><div><p> </p> <p><!></p></div> <div><!></div></div>'), Ea = e.from_html('<div class="flex justify-between text-text-secondary"><span> </span><span> </span></div>'), Tt = e.from_html('<div class="flex justify-between text-accent-success"><span> </span><span> </span></div>'), Qt = e.from_html('<span class="inline-flex items-center gap-1"><!> Calculating...</span>'), Nt = e.from_html('<div class="flex justify-between text-muted-foreground text-xs"><span> </span> <span> </span></div>'), Rt = e.from_html('<div class="flex justify-between text-accent-success"><span> </span> <span> </span></div> <!>', 1), Oa = e.from_html('<div class="flex justify-between py-4 text-lg border-t border-border"><span class="font-semibold text-text-primary"> </span> <span class="font-bold text-accent-success">$0.00</span></div> <p class="text-xs text-muted-foreground text-center -mt-2 mb-2"> </p>', 1), qt = e.from_html("<div><span> </span><span> </span></div>"), Fa = e.from_html('<!> <div><!> <!> <div class="flex justify-between text-text-secondary"><span> </span><span> </span></div> <div class="flex justify-between text-text-secondary"><span> </span><span> </span></div> <div class="flex justify-between text-text-secondary"><span> </span> <span><!></span></div> <!></div> <!>', 1), Ma = e.from_html('<p> <a href="https://get-micdrop.com/tos" class="text-brand-primary underline hover:opacity-80" target="_blank" rel="noopener noreferrer"> </a></p>'), Ht = e.from_html('<span translate="no"> </span>'), ja = e.from_html('<div class="flex justify-between py-4 border-b border-border"><div><p> </p> <p><!></p></div> <div><!></div></div>'), La = e.from_html('<div class="flex justify-between"><span> </span><span> </span></div>'), Ba = e.from_html('<div class="flex justify-between py-5 border-t border-border"><span class="font-semibold text-text-primary"> </span> <span class="font-bold text-accent-success">$0.00</span></div> <p class="text-xs text-muted-foreground text-center -mt-2 mb-2"> </p>', 1), za = e.from_html('<button class="md:hidden fixed inset-0 bg-overlay-bg z-40 border-none cursor-pointer"></button> <div class="md:hidden fixed bottom-0 left-0 w-full overflow-x-hidden overflow-y-auto z-50 max-h-[80vh] rounded-t-lg shadow-xl bg-card"><div class="flex flex-row justify-between items-center px-5 py-4 border-b border-border"><h2> </h2> <button class="transition-colors p-2 rounded-lg text-muted-foreground hover:text-text-primary hover:bg-bg-secondary"><!></button></div> <div class="px-5 pb-5"><!> <div class="flex flex-col py-4 gap-3 text-text-secondary"><!> <!> <div class="flex justify-between"><span> </span><span> </span></div> <div class="flex justify-between"><span> </span><span> </span></div> <div class="flex justify-between"><span> </span> <span><!></span></div> <!></div> <!></div></div>', 1), Qa = e.from_html('<div class="md:hidden fixed bottom-0 left-0 right-0 z-40 bg-card border-t border-border shadow-xl p-4 pb-[max(16px,calc(env(safe-area-inset-bottom)+8px))] select-none touch-manipulation"><div class="flex items-stretch gap-3"><button class="flex flex-col justify-between items-start shrink-0 whitespace-nowrap bg-transparent border-none p-0 cursor-pointer touch-manipulation"><span> <!></span> <span> </span></button> <button><!></button></div></div>'), Na = e.from_html('<div id="orderSummary" class="hidden md:block h-fit rounded-lg bg-card border border-border"><div class="px-5 py-4 border-b border-border"><h3> </h3></div> <div class="px-5 pb-5"><!> <!> <button><!></button></div></div> <!> <!>', 1);
20
+ function Ra(ie, t) {
21
+ e.push(t, !0);
22
+ const R = {
23
+ orderSummary: "Order summary",
24
+ selectTickets: "Select tickets to continue",
25
+ free: "Free",
26
+ fullPrice: "Full Price",
27
+ discount: "Discount",
28
+ subtotal: "Subtotal",
29
+ fees: "Fees",
30
+ taxes: "Taxes",
31
+ giftCardAppliedLabel: "Gift Card Applied",
32
+ giftCardBalanceAfterOrder: "Gift card balance after order",
33
+ amountDue: "Amount Due",
34
+ fullyCoveredByGiftCard: "Fully covered by gift card",
35
+ total: "Total",
36
+ checkoutButtonText: "Checkout",
37
+ placeOrderButtonText: "Place order",
38
+ placeOrderTos: "By selecting Place order, I agree to the",
39
+ termsOfService: "terms of service",
40
+ checkout: "Checkout",
41
+ ticketSingular: "ticket",
42
+ ticketPlural: "tickets",
43
+ closeOrderSummary: "Close order summary"
44
+ };
45
+ let C = e.prop(t, "loading", 3, !1), _ = e.prop(t, "quantities", 19, () => ({})), a = e.prop(t, "donationAmounts", 19, () => ({})), E = e.prop(t, "eventTickets", 19, () => []), r = e.prop(t, "checkoutTicket", 3, null), G = e.prop(t, "isAgreed", 3, !0), oe = e.prop(t, "btnText", 3, void 0), Y = e.prop(t, "showTerms", 3, !1), De = e.prop(t, "promoApplied", 3, !1), de = e.prop(t, "promoDiscount", 3, 0), N = e.prop(t, "currentPromoRule", 3, null), Se = e.prop(t, "executePurchase", 3, null), he = e.prop(t, "elements", 3, null), Ae = e.prop(t, "venueServiceCharge", 19, () => ({
46
+ serviceFeeCents: 0,
47
+ serviceFeePercentage: 0,
48
+ serviceFeeChargeType: "both",
49
+ maxServiceFeeCents: 0,
50
+ taxPercentage: 0
51
+ })), p = e.prop(
52
+ t,
53
+ "giftCardApplied",
54
+ 3,
55
+ null
56
+ // { code, giftCardAmount, giftCardBalance, stripeAmount, paymentType, requiresStripe }
57
+ ), ce = e.prop(
58
+ t,
59
+ "taxAmount",
60
+ 3,
61
+ null
62
+ // Server-provided tax amount in dollars (from Stripe Tax API), null means not yet loaded
63
+ ), j = e.prop(
64
+ t,
65
+ "taxLoading",
66
+ 3,
67
+ !1
68
+ // Whether tax is being loaded from server
69
+ ), fe = e.prop(t, "labels", 19, () => ({})), k = e.derived(() => ({ ...R, ...fe() }));
70
+ function ge(b) {
71
+ if (P(b)) {
72
+ const y = a()[b.ID];
73
+ return parseFloat(y) || 0;
74
+ }
75
+ return parseFloat(b.price) || 0;
76
+ }
77
+ function P(b) {
78
+ const y = b.type ?? b.ticketType ?? 0;
79
+ return Number(y) === 2;
80
+ }
81
+ let w = e.state(!1);
82
+ function L(b) {
83
+ const y = ia(Ae().serviceFeeChargeType || "both");
84
+ let S = 0;
85
+ (y === "fixed" || y === "both") && (S += (Ae().serviceFeeCents || 0) / 100), (y === "percentage" || y === "both") && (S += (Ae().serviceFeePercentage || 0) / 100 * b);
86
+ const Q = Ae().maxServiceFeeCents || 0;
87
+ return Q > 0 && S > Q / 100 && (S = Q / 100), tt(S);
88
+ }
89
+ function U() {
90
+ e.set(w, !e.get(w));
91
+ }
92
+ function h(b) {
93
+ if (!N()?.provideDiscount) return null;
94
+ const y = N().discountTicketIds || [];
95
+ if (y.length > 0 && !y.includes(b.ID))
96
+ return null;
97
+ const S = parseFloat(b.price) || 0, Q = parseFloat(N()?.amount || "0") || 0;
98
+ return N().discountType === "%" ? (S * (1 - Q / 100)).toFixed(2) : N().discountType === "$" ? Math.max(0, S - Q).toFixed(2) : null;
99
+ }
100
+ let d = e.derived(() => Object.values(_()).reduce((b, y) => b + y, 0)), V = e.derived(() => e.get(d) > 0), D = e.derived(() => tt(Object.keys(_()).reduce(
101
+ (b, y) => {
102
+ const S = E().find((ve) => ve.ID == y);
103
+ if (!S) return b;
104
+ const Q = ge(S);
105
+ return b + _()[y] * Q;
106
+ },
107
+ 0
108
+ ))), B = e.derived(() => tt(Object.keys(_()).reduce(
109
+ (b, y) => {
110
+ const S = E().find((se) => se.ID == y);
111
+ if (!S) return b;
112
+ if (P(S)) {
113
+ const se = ge(S);
114
+ return b + _()[y] * se;
115
+ }
116
+ const Q = h(S), ve = Q !== null ? parseFloat(Q) : S.price;
117
+ return b + _()[y] * ve;
118
+ },
119
+ 0
120
+ ))), J = e.derived(() => N()?.provideDiscount ? e.get(D) - e.get(B) : 0), ae = e.derived(() => tt(Object.keys(_()).reduce(
121
+ (b, y) => {
122
+ const S = E().find((se) => se.ID == y);
123
+ if (!S || S.price == 0 || P(S)) return b;
124
+ const Q = h(S), ve = Q !== null ? parseFloat(Q) : S.price;
125
+ return b + _()[y] * L(ve);
126
+ },
127
+ 0
128
+ ))), Ce = e.derived(() => ce() !== null && ce() !== void 0 ? tt(ce()) : 0), Qe = e.derived(() => p() ? Ot(Ft(p().giftCardAmount)) : null), je = e.derived(() => p() ? Ot(Ft(p().giftCardBalance - p().giftCardAmount)) : null), xe = e.derived(() => tt(Math.max(0, e.get(B) + e.get(ae) + e.get(Ce) - (De() && !N()?.provideDiscount ? de() : 0) - (p() ? p().giftCardAmount / 100 : 0))));
129
+ e.user_effect(() => {
130
+ t.onPriceUpdate?.({
131
+ subtotal: e.get(B),
132
+ fees: e.get(ae),
133
+ taxes: e.get(Ce),
134
+ total: e.get(xe),
135
+ promoSavings: e.get(J)
136
+ });
137
+ });
138
+ var me = Na(), _e = e.first_child(me), we = e.child(_e), M = e.child(we), Le = e.child(M, !0);
139
+ e.reset(M), e.reset(we);
140
+ var Fe = e.sibling(we, 2), Ue = e.child(Fe);
141
+ {
142
+ var Ve = (b) => {
143
+ var y = Aa(), S = e.child(y), Q = e.child(S, !0);
144
+ e.reset(S), e.reset(y), e.template_effect(() => {
145
+ e.set_class(S, 1, Te.smMuted), e.set_text(Q, e.get(k).selectTickets);
146
+ }), e.append(b, y);
147
+ }, dt = (b) => {
148
+ var y = Fa(), S = e.first_child(y);
149
+ e.each(S, 16, () => Object.keys(_()), (u) => u, (u, f) => {
150
+ var T = e.comment(), O = e.first_child(T);
151
+ {
152
+ var A = (z) => {
153
+ var K = e.comment(), q = e.first_child(K);
154
+ e.each(q, 17, E, (c) => c.ID, (c, m) => {
155
+ var I = e.comment(), ne = e.first_child(I);
156
+ {
157
+ var pe = (ee) => {
158
+ const F = e.derived(() => ge(e.get(m))), le = e.derived(() => P(e.get(m)));
159
+ var ye = Pa(), ke = e.child(ye), Ze = e.child(ke), vt = e.child(Ze, !0);
160
+ e.reset(Ze);
161
+ var ut = e.sibling(Ze, 2), lt = e.child(ut);
162
+ {
163
+ var _t = (Ie) => {
164
+ var Ee = e.text();
165
+ e.template_effect(() => e.set_text(Ee, `${e.get(k).free ?? ""} x ${_()[f] ?? ""}`)), e.append(Ie, Ee);
166
+ }, bt = (Ie) => {
167
+ var Ee = e.text();
168
+ e.template_effect((ft) => e.set_text(Ee, `${ft ?? ""} x ${_()[f] ?? ""}`), [() => te(e.get(F))]), e.append(Ie, Ee);
169
+ }, xt = (Ie) => {
170
+ var Ee = e.text();
171
+ e.template_effect((ft) => e.set_text(Ee, `${ft ?? ""} x ${_()[f] ?? ""}`), [() => te(e.get(m).price)]), e.append(Ie, Ee);
172
+ };
173
+ e.if(lt, (Ie) => {
174
+ e.get(m).price === 0 && !e.get(le) ? Ie(_t) : e.get(le) ? Ie(bt, 1) : Ie(xt, -1);
175
+ });
176
+ }
177
+ e.reset(ut), e.reset(ke);
178
+ var pt = e.sibling(ke, 2), ht = e.child(pt);
179
+ {
180
+ var Ct = (Ie) => {
181
+ var Ee = e.text();
182
+ e.template_effect(() => e.set_text(Ee, e.get(k).free)), e.append(Ie, Ee);
183
+ }, yt = (Ie) => {
184
+ var Ee = e.text();
185
+ e.template_effect((ft) => e.set_text(Ee, ft), [
186
+ () => te(e.get(F) * _()[f])
187
+ ]), e.append(Ie, Ee);
188
+ };
189
+ e.if(ht, (Ie) => {
190
+ e.get(m).price === 0 && !e.get(le) ? Ie(Ct) : Ie(yt, -1);
191
+ });
192
+ }
193
+ e.reset(pt), e.reset(ye), e.template_effect(() => {
194
+ e.set_class(Ze, 1, Te.label), e.set_text(vt, e.get(m).name), e.set_class(ut, 1, Te.smMuted), e.set_class(pt, 1, Te.label);
195
+ }), e.append(ee, ye);
196
+ };
197
+ e.if(ne, (ee) => {
198
+ e.get(m).ID == f && ee(pe);
199
+ });
200
+ }
201
+ e.append(c, I);
202
+ }), e.append(z, K);
203
+ };
204
+ e.if(O, (z) => {
205
+ _()[f] > 0 && z(A);
206
+ });
207
+ }
208
+ e.append(u, T);
209
+ });
210
+ var Q = e.sibling(S, 2), ve = e.child(Q);
211
+ {
212
+ var se = (u) => {
213
+ var f = Ea(), T = e.child(f), O = e.child(T, !0);
214
+ e.reset(T);
215
+ var A = e.sibling(T), z = e.child(A, !0);
216
+ e.reset(A), e.reset(f), e.template_effect(
217
+ (K) => {
218
+ e.set_text(O, e.get(k).fullPrice), e.set_text(z, K);
219
+ },
220
+ [() => te(e.get(D))]
221
+ ), e.append(u, f);
222
+ };
223
+ e.if(ve, (u) => {
224
+ (e.get(J) > 0 || de() > 0 && !N()?.provideDiscount) && u(se);
225
+ });
226
+ }
227
+ var ue = e.sibling(ve, 2);
228
+ {
229
+ var Me = (u) => {
230
+ var f = Tt(), T = e.child(f), O = e.child(T, !0);
231
+ e.reset(T);
232
+ var A = e.sibling(T), z = e.child(A);
233
+ e.reset(A), e.reset(f), e.template_effect(
234
+ (K) => {
235
+ e.set_text(O, e.get(k).discount), e.set_text(z, `-${K ?? ""}`);
236
+ },
237
+ [() => te(e.get(J))]
238
+ ), e.append(u, f);
239
+ }, Ke = (u) => {
240
+ var f = Tt(), T = e.child(f), O = e.child(T, !0);
241
+ e.reset(T);
242
+ var A = e.sibling(T), z = e.child(A);
243
+ e.reset(A), e.reset(f), e.template_effect(
244
+ (K) => {
245
+ e.set_text(O, e.get(k).discount), e.set_text(z, `-${K ?? ""}`);
246
+ },
247
+ [() => te(de())]
248
+ ), e.append(u, f);
249
+ };
250
+ e.if(ue, (u) => {
251
+ e.get(J) > 0 ? u(Me) : de() > 0 && !N()?.provideDiscount && u(Ke, 1);
252
+ });
253
+ }
254
+ var Pe = e.sibling(ue, 2), Re = e.child(Pe), o = e.child(Re, !0);
255
+ e.reset(Re);
256
+ var l = e.sibling(Re), g = e.child(l, !0);
257
+ e.reset(l), e.reset(Pe);
258
+ var H = e.sibling(Pe, 2), X = e.child(H), $ = e.child(X, !0);
259
+ e.reset(X);
260
+ var W = e.sibling(X), re = e.child(W, !0);
261
+ e.reset(W), e.reset(H);
262
+ var Z = e.sibling(H, 2), be = e.child(Z), qe = e.child(be, !0);
263
+ e.reset(be);
264
+ var Be = e.sibling(be, 2), He = e.child(Be);
265
+ {
266
+ var nt = (u) => {
267
+ var f = Qt(), T = e.child(f);
268
+ wt(T, { size: "xs" }), e.next(), e.reset(f), e.append(u, f);
269
+ }, mt = (u) => {
270
+ var f = e.text();
271
+ e.template_effect((T) => e.set_text(f, T), [() => te(e.get(Ce))]), e.append(u, f);
272
+ };
273
+ e.if(He, (u) => {
274
+ j() ? u(nt) : u(mt, -1);
275
+ });
276
+ }
277
+ e.reset(Be), e.reset(Z);
278
+ var s = e.sibling(Z, 2);
279
+ {
280
+ var i = (u) => {
281
+ var f = Rt(), T = e.first_child(f), O = e.child(T), A = e.child(O, !0);
282
+ e.reset(O);
283
+ var z = e.sibling(O, 2), K = e.child(z);
284
+ e.reset(z), e.reset(T);
285
+ var q = e.sibling(T, 2);
286
+ {
287
+ var c = (m) => {
288
+ var I = Nt(), ne = e.child(I), pe = e.child(ne, !0);
289
+ e.reset(ne);
290
+ var ee = e.sibling(ne, 2), F = e.child(ee, !0);
291
+ e.reset(ee), e.reset(I), e.template_effect(() => {
292
+ e.set_text(pe, e.get(k).giftCardBalanceAfterOrder), e.set_text(F, e.get(je));
293
+ }), e.append(m, I);
294
+ };
295
+ e.if(q, (m) => {
296
+ e.get(je) && p().giftCardBalance - p().giftCardAmount > 0 && m(c);
297
+ });
298
+ }
299
+ e.template_effect(() => {
300
+ e.set_text(A, e.get(k).giftCardAppliedLabel), e.set_text(K, `-${e.get(Qe) ?? ""}`);
301
+ }), e.append(u, f);
302
+ };
303
+ e.if(s, (u) => {
304
+ p() && u(i);
305
+ });
306
+ }
307
+ e.reset(Q);
308
+ var n = e.sibling(Q, 2);
309
+ {
310
+ var x = (u) => {
311
+ var f = Oa(), T = e.first_child(f), O = e.child(T), A = e.child(O, !0);
312
+ e.reset(O), e.next(2), e.reset(T);
313
+ var z = e.sibling(T, 2), K = e.child(z, !0);
314
+ e.reset(z), e.template_effect(() => {
315
+ e.set_text(A, e.get(k).amountDue), e.set_text(K, e.get(k).fullyCoveredByGiftCard);
316
+ }), e.append(u, f);
317
+ }, v = (u) => {
318
+ var f = qt(), T = e.child(f), O = e.child(T, !0);
319
+ e.reset(T);
320
+ var A = e.sibling(T), z = e.child(A, !0);
321
+ e.reset(A), e.reset(f), e.template_effect(
322
+ (K) => {
323
+ e.set_class(f, 1, `flex justify-between ${Te.h3} py-4 text-lg border-t border-border`), e.set_text(O, e.get(k).total), e.set_text(z, K);
324
+ },
325
+ [() => te(e.get(xe))]
326
+ ), e.append(u, f);
327
+ };
328
+ e.if(n, (u) => {
329
+ p()?.paymentType === "gift_card_only" ? u(x) : u(v, -1);
330
+ });
331
+ }
332
+ e.template_effect(
333
+ (u, f) => {
334
+ e.set_class(Q, 1, `${Te.sm} flex flex-col py-3 gap-2`), e.set_text(o, e.get(k).subtotal), e.set_text(g, u), e.set_text($, e.get(k).fees), e.set_text(re, f), e.set_text(qe, e.get(k).taxes);
335
+ },
336
+ [
337
+ () => te(e.get(B)),
338
+ () => te(e.get(ae))
339
+ ]
340
+ ), e.append(b, y);
341
+ };
342
+ e.if(Ue, (b) => {
343
+ e.get(d) === 0 ? b(Ve) : b(dt, -1);
344
+ });
345
+ }
346
+ var rt = e.sibling(Ue, 2);
347
+ {
348
+ var ct = (b) => {
349
+ var y = Ma(), S = e.child(y), Q = e.sibling(S), ve = e.child(Q, !0);
350
+ e.reset(Q), e.reset(y), e.template_effect(() => {
351
+ e.set_class(y, 1, `${Te.xsMuted} text-center mb-3`), e.set_text(S, `${e.get(k).placeOrderTos ?? ""} `), e.set_text(ve, e.get(k).termsOfService);
352
+ }), e.append(b, y);
353
+ };
354
+ e.if(rt, (b) => {
355
+ e.get(d) > 0 && Y() && b(ct);
356
+ });
357
+ }
358
+ var We = e.sibling(rt, 2), Je = e.child(We);
359
+ {
360
+ var Ye = (b) => {
361
+ wt(b, { size: "sm", color: "white" });
362
+ }, it = (b) => {
363
+ var y = Ht(), S = e.child(y, !0);
364
+ e.reset(y), e.template_effect(() => e.set_text(S, oe() ?? (Y() ? e.get(k).placeOrderButtonText : e.get(k).checkoutButtonText))), e.append(b, y);
365
+ };
366
+ e.if(Je, (b) => {
367
+ C() ? b(Ye) : b(it, -1);
368
+ });
369
+ }
370
+ e.reset(We), e.reset(Fe), e.reset(_e);
371
+ var Ne = e.sibling(_e, 2);
372
+ {
373
+ var Xe = (b) => {
374
+ var y = za(), S = e.first_child(y), Q = e.sibling(S, 2), ve = e.child(Q), se = e.child(ve), ue = e.child(se, !0);
375
+ e.reset(se);
376
+ var Me = e.sibling(se, 2), Ke = e.child(Me);
377
+ Ia(Ke, { class: "w-7 h-7" }), e.reset(Me), e.reset(ve);
378
+ var Pe = e.sibling(ve, 2), Re = e.child(Pe);
379
+ e.each(Re, 16, () => Object.keys(_()), (c) => c, (c, m) => {
380
+ var I = e.comment(), ne = e.first_child(I);
381
+ {
382
+ var pe = (ee) => {
383
+ var F = e.comment(), le = e.first_child(F);
384
+ e.each(le, 17, E, (ye) => ye.ID, (ye, ke) => {
385
+ var Ze = e.comment(), vt = e.first_child(Ze);
386
+ {
387
+ var ut = (lt) => {
388
+ const _t = e.derived(() => ge(e.get(ke))), bt = e.derived(() => P(e.get(ke)));
389
+ var xt = ja(), pt = e.child(xt), ht = e.child(pt), Ct = e.child(ht, !0);
390
+ e.reset(ht);
391
+ var yt = e.sibling(ht, 2), Ie = e.child(yt);
392
+ {
393
+ var Ee = (Oe) => {
394
+ var ze = e.text();
395
+ e.template_effect(() => e.set_text(ze, `${e.get(k).free ?? ""} x ${_()[m] ?? ""}`)), e.append(Oe, ze);
396
+ }, ft = (Oe) => {
397
+ var ze = e.text();
398
+ e.template_effect((kt) => e.set_text(ze, `${kt ?? ""} x ${_()[m] ?? ""}`), [() => te(e.get(_t))]), e.append(Oe, ze);
399
+ }, Xt = (Oe) => {
400
+ var ze = e.text();
401
+ e.template_effect((kt) => e.set_text(ze, `${kt ?? ""} x ${_()[m] ?? ""}`), [() => te(e.get(ke).price)]), e.append(Oe, ze);
402
+ };
403
+ e.if(Ie, (Oe) => {
404
+ e.get(ke).price === 0 && !e.get(bt) ? Oe(Ee) : e.get(bt) ? Oe(ft, 1) : Oe(Xt, -1);
405
+ });
406
+ }
407
+ e.reset(yt), e.reset(pt);
408
+ var Dt = e.sibling(pt, 2), Kt = e.child(Dt);
409
+ {
410
+ var $t = (Oe) => {
411
+ var ze = e.text();
412
+ e.template_effect(() => e.set_text(ze, e.get(k).free)), e.append(Oe, ze);
413
+ }, ea = (Oe) => {
414
+ var ze = e.text();
415
+ e.template_effect((kt) => e.set_text(ze, kt), [
416
+ () => te(e.get(_t) * _()[m])
417
+ ]), e.append(Oe, ze);
418
+ };
419
+ e.if(Kt, (Oe) => {
420
+ e.get(ke).price === 0 && !e.get(bt) ? Oe($t) : Oe(ea, -1);
421
+ });
422
+ }
423
+ e.reset(Dt), e.reset(xt), e.template_effect(() => {
424
+ e.set_class(ht, 1, Te.h5), e.set_text(Ct, e.get(ke).name), e.set_class(yt, 1, Te.smMuted), e.set_class(Dt, 1, Te.h5);
425
+ }), e.append(lt, xt);
426
+ };
427
+ e.if(vt, (lt) => {
428
+ e.get(ke).ID == m && lt(ut);
429
+ });
430
+ }
431
+ e.append(ye, Ze);
432
+ }), e.append(ee, F);
433
+ };
434
+ e.if(ne, (ee) => {
435
+ _()[m] > 0 && ee(pe);
436
+ });
437
+ }
438
+ e.append(c, I);
439
+ });
440
+ var o = e.sibling(Re, 2), l = e.child(o);
441
+ {
442
+ var g = (c) => {
443
+ var m = La(), I = e.child(m), ne = e.child(I, !0);
444
+ e.reset(I);
445
+ var pe = e.sibling(I), ee = e.child(pe, !0);
446
+ e.reset(pe), e.reset(m), e.template_effect(
447
+ (F) => {
448
+ e.set_text(ne, e.get(k).fullPrice), e.set_text(ee, F);
449
+ },
450
+ [() => te(e.get(D))]
451
+ ), e.append(c, m);
452
+ };
453
+ e.if(l, (c) => {
454
+ (e.get(J) > 0 || de() > 0 && !N()?.provideDiscount) && c(g);
455
+ });
456
+ }
457
+ var H = e.sibling(l, 2);
458
+ {
459
+ var X = (c) => {
460
+ var m = Tt(), I = e.child(m), ne = e.child(I, !0);
461
+ e.reset(I);
462
+ var pe = e.sibling(I), ee = e.child(pe);
463
+ e.reset(pe), e.reset(m), e.template_effect(
464
+ (F) => {
465
+ e.set_text(ne, e.get(k).discount), e.set_text(ee, `-${F ?? ""}`);
466
+ },
467
+ [() => te(e.get(J))]
468
+ ), e.append(c, m);
469
+ }, $ = (c) => {
470
+ var m = Tt(), I = e.child(m), ne = e.child(I, !0);
471
+ e.reset(I);
472
+ var pe = e.sibling(I), ee = e.child(pe);
473
+ e.reset(pe), e.reset(m), e.template_effect(
474
+ (F) => {
475
+ e.set_text(ne, e.get(k).discount), e.set_text(ee, `-${F ?? ""}`);
476
+ },
477
+ [() => te(de())]
478
+ ), e.append(c, m);
479
+ };
480
+ e.if(H, (c) => {
481
+ e.get(J) > 0 ? c(X) : de() > 0 && !N()?.provideDiscount && c($, 1);
482
+ });
483
+ }
484
+ var W = e.sibling(H, 2), re = e.child(W), Z = e.child(re, !0);
485
+ e.reset(re);
486
+ var be = e.sibling(re), qe = e.child(be, !0);
487
+ e.reset(be), e.reset(W);
488
+ var Be = e.sibling(W, 2), He = e.child(Be), nt = e.child(He, !0);
489
+ e.reset(He);
490
+ var mt = e.sibling(He), s = e.child(mt, !0);
491
+ e.reset(mt), e.reset(Be);
492
+ var i = e.sibling(Be, 2), n = e.child(i), x = e.child(n, !0);
493
+ e.reset(n);
494
+ var v = e.sibling(n, 2), u = e.child(v);
495
+ {
496
+ var f = (c) => {
497
+ var m = Qt(), I = e.child(m);
498
+ wt(I, { size: "xs" }), e.next(), e.reset(m), e.append(c, m);
499
+ }, T = (c) => {
500
+ var m = e.text();
501
+ e.template_effect((I) => e.set_text(m, I), [() => te(e.get(Ce))]), e.append(c, m);
502
+ };
503
+ e.if(u, (c) => {
504
+ j() ? c(f) : c(T, -1);
505
+ });
506
+ }
507
+ e.reset(v), e.reset(i);
508
+ var O = e.sibling(i, 2);
509
+ {
510
+ var A = (c) => {
511
+ var m = Rt(), I = e.first_child(m), ne = e.child(I), pe = e.child(ne, !0);
512
+ e.reset(ne);
513
+ var ee = e.sibling(ne, 2), F = e.child(ee);
514
+ e.reset(ee), e.reset(I);
515
+ var le = e.sibling(I, 2);
516
+ {
517
+ var ye = (ke) => {
518
+ var Ze = Nt(), vt = e.child(Ze), ut = e.child(vt, !0);
519
+ e.reset(vt);
520
+ var lt = e.sibling(vt, 2), _t = e.child(lt, !0);
521
+ e.reset(lt), e.reset(Ze), e.template_effect(() => {
522
+ e.set_text(ut, e.get(k).giftCardBalanceAfterOrder), e.set_text(_t, e.get(je));
523
+ }), e.append(ke, Ze);
524
+ };
525
+ e.if(le, (ke) => {
526
+ e.get(je) && p().giftCardBalance - p().giftCardAmount > 0 && ke(ye);
527
+ });
528
+ }
529
+ e.template_effect(() => {
530
+ e.set_text(pe, e.get(k).giftCardAppliedLabel), e.set_text(F, `-${e.get(Qe) ?? ""}`);
531
+ }), e.append(c, m);
532
+ };
533
+ e.if(O, (c) => {
534
+ p() && c(A);
535
+ });
536
+ }
537
+ e.reset(o);
538
+ var z = e.sibling(o, 2);
539
+ {
540
+ var K = (c) => {
541
+ var m = Ba(), I = e.first_child(m), ne = e.child(I), pe = e.child(ne, !0);
542
+ e.reset(ne), e.next(2), e.reset(I);
543
+ var ee = e.sibling(I, 2), F = e.child(ee, !0);
544
+ e.reset(ee), e.template_effect(() => {
545
+ e.set_text(pe, e.get(k).amountDue), e.set_text(F, e.get(k).fullyCoveredByGiftCard);
546
+ }), e.append(c, m);
547
+ }, q = (c) => {
548
+ var m = qt(), I = e.child(m), ne = e.child(I, !0);
549
+ e.reset(I);
550
+ var pe = e.sibling(I), ee = e.child(pe, !0);
551
+ e.reset(pe), e.reset(m), e.template_effect(
552
+ (F) => {
553
+ e.set_class(m, 1, `flex justify-between ${Te.h3} py-5 border-t border-border`), e.set_text(ne, e.get(k).total), e.set_text(ee, F);
554
+ },
555
+ [() => te(e.get(xe))]
556
+ ), e.append(c, m);
557
+ };
558
+ e.if(z, (c) => {
559
+ p()?.paymentType === "gift_card_only" ? c(K) : c(q, -1);
560
+ });
561
+ }
562
+ e.reset(Pe), e.reset(Q), e.template_effect(
563
+ (c, m) => {
564
+ e.set_attribute(S, "aria-label", e.get(k).closeOrderSummary), e.set_class(se, 1, `${Te.h2} text-xl`), e.set_text(ue, e.get(k).orderSummary), e.set_attribute(Me, "aria-label", e.get(k).closeOrderSummary), e.set_text(Z, e.get(k).subtotal), e.set_text(qe, c), e.set_text(nt, e.get(k).fees), e.set_text(s, m), e.set_text(x, e.get(k).taxes);
565
+ },
566
+ [
567
+ () => te(e.get(B)),
568
+ () => te(e.get(ae))
569
+ ]
570
+ ), e.delegated("click", S, () => e.set(w, !1)), e.transition(3, S, () => sa, () => ({ duration: 200 })), e.delegated("click", Me, () => e.set(w, !1)), e.transition(1, Q, () => St, () => ({ y: 800, duration: 300, easing: zt })), e.transition(2, Q, () => St, () => ({ y: 800, duration: 300, easing: zt })), e.append(b, y);
571
+ };
572
+ e.if(Ne, (b) => {
573
+ e.get(w) && b(Xe);
574
+ });
575
+ }
576
+ var st = e.sibling(Ne, 2);
577
+ {
578
+ var et = (b) => {
579
+ var y = Qa(), S = e.child(y), Q = e.child(S), ve = e.child(Q), se = e.child(ve), ue = e.sibling(se);
580
+ {
581
+ let g = e.derived(() => `w-4 h-4 ${Te.iconMuted} transition-transform duration-200 ${e.get(w) ? "rotate-180" : ""}`);
582
+ aa(ue, {
583
+ get class() {
584
+ return e.get(g);
585
+ }
586
+ });
587
+ }
588
+ e.reset(ve);
589
+ var Me = e.sibling(ve, 2), Ke = e.child(Me, !0);
590
+ e.reset(Me), e.reset(Q);
591
+ var Pe = e.sibling(Q, 2), Re = e.child(Pe);
592
+ {
593
+ var o = (g) => {
594
+ wt(g, { size: "sm", color: "white" });
595
+ }, l = (g) => {
596
+ var H = Ht(), X = e.child(H, !0);
597
+ e.reset(H), e.template_effect(() => e.set_text(X, e.get(k).checkout)), e.append(g, H);
598
+ };
599
+ e.if(Re, (g) => {
600
+ C() ? g(o) : g(l, -1);
601
+ });
602
+ }
603
+ e.reset(Pe), e.reset(S), e.reset(y), e.template_effect(
604
+ (g) => {
605
+ e.set_class(ve, 1, `${Te.sm} flex items-center gap-1 text-text-secondary`), e.set_text(se, `${e.get(d) ?? ""} ${(e.get(d) > 1 ? e.get(k).ticketPlural : e.get(k).ticketSingular) ?? ""} `), e.set_class(Me, 1, `${Te.h2} text-xl`), e.set_text(Ke, g), e.set_class(Pe, 1, `${Te.label} flex-1 min-w-36 h-12 rounded-lg touch-manipulation flex items-center justify-center ${e.get(d) === 0 || !G() || j() ? "bg-bg-tertiary text-muted-foreground cursor-not-allowed" : "bg-brand-primary text-white hover:bg-brand-primary/90"}`), Pe.disabled = e.get(d) === 0 || !G() || j();
606
+ },
607
+ [() => te(e.get(xe))]
608
+ ), e.delegated("click", Q, U), e.delegated("click", Pe, () => {
609
+ j() || (Se() ? Se()(he()) : r() && r()());
610
+ }), e.transition(3, y, () => St, () => ({ y: 100, duration: 200 })), e.append(b, y);
611
+ };
612
+ e.if(st, (b) => {
613
+ e.get(V) && b(et);
614
+ });
615
+ }
616
+ e.template_effect(() => {
617
+ e.set_class(M, 1, e.clsx(Te.h3)), e.set_text(Le, e.get(k).orderSummary), e.set_class(We, 1, `w-full h-12 font-semibold rounded-lg flex items-center justify-center transition-colors select-none touch-manipulation ${e.get(d) === 0 || j() ? "bg-bg-tertiary text-muted-foreground cursor-not-allowed" : "bg-brand-primary text-white hover:bg-brand-primary/90"}`), We.disabled = e.get(d) === 0 || j();
618
+ }), e.delegated("click", We, () => {
619
+ e.get(d) === 0 || j() || (Se() ? Se()(he()) : r() && r()());
620
+ }), e.append(ie, me), e.pop();
621
+ }
622
+ e.delegate(["click"]);
623
+ const qa = {
624
+ /** Percent remaining at or below which a ticket is "urgent" (exact count). */
625
+ URGENT_PCT: 10,
626
+ /** Percent remaining at or below which a ticket is "low" (vague badge). */
627
+ LOW_PCT: 25,
628
+ /** Absolute cap on exact-count copy; above this we fall back to vague badge. */
629
+ MAX_EXACT_COUNT: 20
630
+ };
631
+ function Ha(ie, t) {
632
+ if (ie <= 0) return "sold-out";
633
+ if (t <= 0) return "plenty";
634
+ const R = ie / t * 100, { URGENT_PCT: C, LOW_PCT: _, MAX_EXACT_COUNT: a } = qa;
635
+ return R <= C && ie <= a ? "urgent" : R <= _ ? "low" : "plenty";
636
+ }
637
+ function Ga(ie, t) {
638
+ if (!ie || typeof ie != "object") return {};
639
+ if (!Array.isArray(t) || t.length === 0) {
640
+ const _ = {};
641
+ for (const [a, E] of Object.entries(ie))
642
+ typeof E == "number" && E > 0 && (_[a] = E);
643
+ return _;
644
+ }
645
+ const R = /* @__PURE__ */ new Map();
646
+ for (const _ of t)
647
+ _ && _.ID !== void 0 && _.ID !== null && R.set(String(_.ID), _);
648
+ const C = {};
649
+ for (const [_, a] of Object.entries(ie)) {
650
+ if (typeof a != "number" || !Number.isFinite(a) || a <= 0) continue;
651
+ const E = R.get(String(_));
652
+ let r = a;
653
+ if (E) {
654
+ const G = E.remainingCapacity;
655
+ typeof G == "number" && Number.isFinite(G) && (r = Math.min(r, Math.max(0, G)));
656
+ const oe = E.maxQuantity;
657
+ typeof oe == "number" && Number.isFinite(oe) && oe > 0 && (r = Math.min(r, oe));
658
+ }
659
+ r > 0 && (C[_] = r);
660
+ }
661
+ return C;
662
+ }
663
+ var Ua = 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>'), Va = e.from_html('<span class="sold-out-pill type-caption whitespace-nowrap svelte-12zmutv" role="status"> </span>'), Wa = e.from_html('<span class="sales-start-badge type-caption text-secondary whitespace-nowrap svelte-12zmutv" role="status"> </span>'), Za = e.from_html('<span class="sr-only" role="alert"> </span>'), Ja = e.from_html('<div class="donation-input-wrapper svelte-12zmutv"><!> <!></div>'), Ya = 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), Xa = e.from_html('<span class="price-lg text-primary svelte-12zmutv"> </span>'), Ka = 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), $a = e.from_html('<span class="badge badge-discount"> </span>'), er = e.from_html('<span class="badge badge-unlocked"> </span>'), tr = e.from_html('<div class="flex-row-2 mb-2 flex-wrap" role="status" aria-live="polite"><!> <!></div>'), ar = e.from_html('<p class="type-body text-secondary mb-3 svelte-12zmutv"> </p>'), rr = e.from_html("<span> </span>"), ir = e.from_html('<p class="sales-end-text type-caption svelte-12zmutv" role="status"> </p>'), sr = 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>');
664
+ function nr(ie, t) {
665
+ e.push(t, !0);
666
+ let R = e.prop(t, "fee", 3, "0.00"), C = e.prop(t, "quantity", 3, 0), _ = e.prop(t, "soldOut", 3, !1), a = e.prop(t, "status", 3, null), E = e.prop(t, "salesBegin", 3, null), r = e.prop(t, "salesEnd", 3, null), G = e.prop(t, "remainingCapacity", 3, null), oe = e.prop(
667
+ t,
668
+ "totalCapacity",
669
+ 3,
670
+ null
671
+ // Total ticket capacity for percentage calculation
672
+ );
673
+ e.prop(
674
+ t,
675
+ "minQuantity",
676
+ 3,
677
+ 1
678
+ // Minimum quantity per order (default 1)
679
+ );
680
+ let Y = e.prop(
681
+ t,
682
+ "maxQuantity",
683
+ 3,
684
+ null
685
+ // Maximum quantity per order (null = unlimited)
686
+ ), De = e.prop(
687
+ t,
688
+ "discountedPrice",
689
+ 3,
690
+ null
691
+ // Discounted price when promo applied
692
+ ), de = e.prop(
693
+ t,
694
+ "isRevealed",
695
+ 3,
696
+ !1
697
+ // Badge: Unlocked via promo
698
+ ), N = e.prop(
699
+ t,
700
+ "isDiscounted",
701
+ 3,
702
+ !1
703
+ // Badge: Discount applied
704
+ ), Se = e.prop(
705
+ t,
706
+ "ticketType",
707
+ 3,
708
+ 0
709
+ // 0 = paid/standard, 1 = registration/free, 2 = donation
710
+ ), he = e.prop(
711
+ t,
712
+ "donationAmount",
713
+ 3,
714
+ ""
715
+ // User-entered donation amount (string for input binding)
716
+ ), Ae = e.prop(t, "syncing", 3, !1), p = e.prop(t, "labels", 19, () => ({}));
717
+ const ce = e.derived(() => Se() === 2), j = e.derived(() => parseFloat(he()) || 0), fe = e.derived(() => e.get(ce) && he() !== "" && e.get(j) < 1 ? p().minimumDonation || "Minimum $1.00" : ""), k = e.derived(() => !e.get(ce) || he() !== "" && e.get(j) >= 1), ge = e.derived(() => parseFloat(t.price) || 0), P = e.derived(() => e.get(ge) === 0 ? 0 : parseFloat(R()) || 0), w = e.derived(() => te(e.get(ge) + e.get(P))), L = e.derived(() => te(e.get(P))), U = e.derived(() => De() ? parseFloat(De()) : null), h = e.derived(() => e.get(U) === null || e.get(U) === 0 ? 0 : parseFloat(R()) || 0), d = e.derived(() => e.get(U) !== null ? te(e.get(U) + e.get(h)) : null), V = e.derived(() => oe() ?? G() ?? 0), D = e.derived(() => {
718
+ const o = G() ?? 0, l = e.get(V);
719
+ if (l === 0 || a() === "scheduled" || a() === "sales_ended" || e.get(
720
+ ge
721
+ // no scarcity on free tickets
722
+ ) === 0) return null;
723
+ const g = Ha(o, l);
724
+ return g === "sold-out" ? { text: "Sold out", type: "sold-out" } : g === "urgent" ? {
725
+ text: `Only ${o} left`,
726
+ type: "scarcity",
727
+ showFlame: !0
728
+ } : g === "low" ? { text: "Few tickets left", type: "scarcity", showFlame: !0 } : null;
729
+ }), B = e.derived(() => e.get(D) != null && e.get(D).type === "scarcity");
730
+ function J(o) {
731
+ return o ? na(o, { year: void 0, timeZone: "UTC" }) : "";
732
+ }
733
+ function ae(o) {
734
+ const l = /* @__PURE__ */ new Date(), g = new Date(l);
735
+ return g.setDate(g.getDate() + 1), o.toDateString() === g.toDateString();
736
+ }
737
+ function Ce(o) {
738
+ const l = /* @__PURE__ */ new Date(), H = (o.getTime() - l.getTime()) / (1e3 * 60 * 60 * 24);
739
+ return H > 0 && H <= 7;
740
+ }
741
+ function Qe(o) {
742
+ if (!o) return { text: "", preposition: "" };
743
+ const l = new Date(o), g = /* @__PURE__ */ new Date(), H = l.getTime() - g.getTime(), X = Math.round(H / (1e3 * 60)), $ = H / (1e3 * 60 * 60), W = p().locale || "en-US";
744
+ if (X > 0 && X < 60) {
745
+ const Z = Math.max(1, X);
746
+ return { text: (Z === 1 ? p().inNMinute || "in {n} minute" : p().inNMinutes || "in {n} minutes").replace("{n}", String(Z)), preposition: "" };
747
+ }
748
+ if ($ > 0 && $ < 24) {
749
+ const Z = Math.max(1, Math.round($));
750
+ return {
751
+ text: (Z === 1 ? p().inNHour || "in {n} hour" : p().inNHours || "in {n} hours").replace("{n}", String(Z)),
752
+ preposition: ""
753
+ };
754
+ }
755
+ if (ae(l)) {
756
+ const Z = Mt(o, { timeZone: "UTC" });
757
+ return {
758
+ text: (p().tomorrowAtTime || "tomorrow at {time}").replace("{time}", Z),
759
+ preposition: ""
760
+ };
761
+ }
762
+ if (Ce(l)) {
763
+ const Z = new Intl.DateTimeFormat(W, { weekday: "long" }).format(l), be = Mt(o, { timeZone: "UTC" });
764
+ return {
765
+ text: (p().onDayAtTime || "on {day} at {time}").replace("{day}", Z).replace("{time}", be),
766
+ preposition: ""
767
+ };
768
+ }
769
+ const re = new Intl.DateTimeFormat(W, { month: "short", day: "numeric" }).format(l);
770
+ return {
771
+ text: (p().onDate || "on {date}").replace("{date}", re),
772
+ preposition: ""
773
+ };
774
+ }
775
+ function je(o) {
776
+ const { text: l } = Qe(o);
777
+ return l;
778
+ }
779
+ function xe(o) {
780
+ return Qe(o);
781
+ }
782
+ const me = e.derived(() => (() => {
783
+ if (!a()) return null;
784
+ switch (a()) {
785
+ case "scheduled":
786
+ return {
787
+ showAsMessage: !0,
788
+ // Display as inline message instead of badge
789
+ message: (p().salesStart || "Sales start {salesStart}").replace("{salesStart}", je(E()))
790
+ };
791
+ case "on_sale":
792
+ return null;
793
+ case // Don't show badge for normal on-sale status
794
+ "sales_ended":
795
+ return {
796
+ badge: p().statusSalesEnded || "Sales ended",
797
+ badgeClass: "badge-ended",
798
+ label: "Ended",
799
+ date: J(r())
800
+ };
801
+ default:
802
+ return null;
803
+ }
804
+ })());
805
+ var _e = sr();
806
+ let we;
807
+ var M = e.child(_e), Le = e.child(M), Fe = e.child(Le), Ue = e.child(Fe), Ve = e.child(Ue, !0);
808
+ e.reset(Ue), e.reset(Fe);
809
+ var dt = e.sibling(Fe, 2);
810
+ {
811
+ var rt = (o) => {
812
+ var l = Ua();
813
+ let g;
814
+ var H = e.child(l);
815
+ {
816
+ let be = e.derived(() => C() === 0 || Ae()), qe = e.derived(() => (p().decreaseQuantity || "Decrease quantity for {title}").replace("{title}", t.title));
817
+ $e(H, {
818
+ variant: "icon-brand",
819
+ size: "icon-sm",
820
+ onclick: () => t.ondecrement?.(),
821
+ get disabled() {
822
+ return e.get(be);
823
+ },
824
+ get "aria-label"() {
825
+ return e.get(qe);
826
+ },
827
+ children: (Be, He) => {
828
+ la(Be, { size: 20, "aria-hidden": "true" });
829
+ },
830
+ $$slots: { default: !0 }
831
+ });
832
+ }
833
+ var X = e.sibling(H, 2), $ = e.child(X), W = e.child($, !0);
834
+ e.reset($);
835
+ var re = e.sibling($);
836
+ e.reset(X);
837
+ var Z = e.sibling(X, 2);
838
+ {
839
+ let be = e.derived(() => Y() !== null && C() >= Y() || G() !== null && C() >= G() || !e.get(k) || Ae()), qe = e.derived(() => (p().increaseQuantity || "Increase quantity for {title}").replace("{title}", t.title));
840
+ $e(Z, {
841
+ variant: "icon-brand",
842
+ size: "icon-sm",
843
+ onclick: () => t.onincrement?.(),
844
+ get disabled() {
845
+ return e.get(be);
846
+ },
847
+ get "aria-label"() {
848
+ return e.get(qe);
849
+ },
850
+ children: (Be, He) => {
851
+ oa(Be, { size: 20, "aria-hidden": "true" });
852
+ },
853
+ $$slots: { default: !0 }
854
+ });
855
+ }
856
+ e.reset(l), e.template_effect(
857
+ (be) => {
858
+ g = e.set_class(l, 1, "flex items-center quantity-selector svelte-12zmutv", null, g, { active: C() > 0 }), e.set_attribute(l, "aria-label", be), e.set_text(W, p().quantity || "Quantity:"), e.set_text(re, ` ${C() ?? ""}`);
859
+ },
860
+ [
861
+ () => (p().quantitySelector || "Quantity selector for {title}").replace("{title}", t.title)
862
+ ]
863
+ ), e.append(o, l);
864
+ }, ct = (o) => {
865
+ var l = Va(), g = e.child(l, !0);
866
+ e.reset(l), e.template_effect(() => {
867
+ e.set_attribute(l, "aria-label", p().statusSoldOut || "Sold out"), e.set_text(g, p().statusSoldOut || "Sold out");
868
+ }), e.append(o, l);
869
+ }, We = (o) => {
870
+ var l = Wa(), g = e.child(l, !0);
871
+ e.reset(l), e.template_effect(() => e.set_text(g, e.get(me).message)), e.append(o, l);
872
+ };
873
+ e.if(dt, (o) => {
874
+ !_() && a() !== "scheduled" && a() !== "sales_ended" ? o(rt) : _() ? o(ct, 1) : a() === "scheduled" && e.get(me)?.message && o(We, 2);
875
+ });
876
+ }
877
+ e.reset(Le), e.reset(M);
878
+ var Je = e.sibling(M, 4), Ye = e.child(Je), it = e.child(Ye);
879
+ {
880
+ var Ne = (o) => {
881
+ var l = Ja(), g = e.child(l);
882
+ {
883
+ let $ = e.derived(() => p().donationAmountLabel || "Donation amount in dollars"), W = e.derived(() => _() || a() === "scheduled" || a() === "sales_ended"), re = e.derived(() => e.get(fe) ? "donation-error-" + t.title?.replace(/\s+/g, "-").toLowerCase() : void 0);
884
+ Jt(g, {
885
+ get label() {
886
+ return e.get($);
887
+ },
888
+ size: "lg",
889
+ type: "text",
890
+ inputmode: "decimal",
891
+ placeholder: "0.00",
892
+ get value() {
893
+ return he();
894
+ },
895
+ oninputchange: (Z) => t.ondonationchange?.(Z),
896
+ get disabled() {
897
+ return e.get(W);
898
+ },
899
+ get errorText() {
900
+ return e.get(fe);
901
+ },
902
+ get "aria-describedby"() {
903
+ return e.get(re);
904
+ }
905
+ });
906
+ }
907
+ var H = e.sibling(g, 2);
908
+ {
909
+ var X = ($) => {
910
+ var W = Za(), re = e.child(W, !0);
911
+ e.reset(W), e.template_effect(
912
+ (Z) => {
913
+ e.set_attribute(W, "id", `donation-error-${Z ?? ""}`), e.set_text(re, e.get(fe));
914
+ },
915
+ [() => t.title?.replace(/\s+/g, "-").toLowerCase()]
916
+ ), e.append($, W);
917
+ };
918
+ e.if(H, ($) => {
919
+ e.get(fe) && $(X);
920
+ });
921
+ }
922
+ e.reset(l), e.append(o, l);
923
+ }, Xe = (o) => {
924
+ var l = Ya(), g = e.first_child(l), H = e.child(g, !0);
925
+ e.reset(g);
926
+ var X = e.sibling(g, 2), $ = e.child(X), W = e.child($, !0);
927
+ e.reset($);
928
+ var re = e.sibling($, 1, !0);
929
+ e.reset(X);
930
+ var Z = e.sibling(X, 2), be = e.child(Z, !0);
931
+ e.reset(Z);
932
+ var qe = e.sibling(Z, 2), Be = e.child(qe, !0);
933
+ e.reset(qe), e.template_effect(
934
+ (He, nt) => {
935
+ e.set_attribute(g, "aria-label", `Discounted price ${e.get(d) ?? ""}`), e.set_text(H, e.get(d)), e.set_attribute(X, "aria-label", `Original price ${e.get(w) ?? ""}`), e.set_text(W, p().originalPrice || "Original price:"), e.set_text(re, e.get(w)), e.set_text(be, He), e.set_text(Be, nt);
936
+ },
937
+ [
938
+ () => (p().inclFee || "incl. {fee} fee").replace("{fee}", e.get(L)),
939
+ () => (p().includingFee || "including {fee} service fee").replace("{fee}", e.get(L))
940
+ ]
941
+ ), e.append(o, l);
942
+ }, st = (o) => {
943
+ var l = Xa(), g = e.child(l, !0);
944
+ e.reset(l), e.template_effect(() => e.set_text(g, p().free || "Free")), e.append(o, l);
945
+ }, et = (o) => {
946
+ var l = Ka(), g = e.first_child(l), H = e.child(g, !0);
947
+ e.reset(g);
948
+ var X = e.sibling(g, 2), $ = e.child(X, !0);
949
+ e.reset(X);
950
+ var W = e.sibling(X, 2), re = e.child(W, !0);
951
+ e.reset(W), e.template_effect(
952
+ (Z, be) => {
953
+ e.set_attribute(g, "aria-label", `Price ${e.get(w) ?? ""}`), e.set_text(H, e.get(w)), e.set_text($, Z), e.set_text(re, be);
954
+ },
955
+ [
956
+ () => (p().inclFee || "incl. {fee} fee").replace("{fee}", e.get(L)),
957
+ () => (p().includingFee || "including {fee} service fee").replace("{fee}", e.get(L))
958
+ ]
959
+ ), e.append(o, l);
960
+ };
961
+ e.if(it, (o) => {
962
+ e.get(ce) ? o(Ne) : e.get(d) !== null ? o(Xe, 1) : e.get(ge) === 0 ? o(st, 2) : o(et, -1);
963
+ });
964
+ }
965
+ e.reset(Ye);
966
+ var b = e.sibling(Ye, 2);
967
+ {
968
+ var y = (o) => {
969
+ var l = tr(), g = e.child(l);
970
+ {
971
+ var H = (W) => {
972
+ var re = $a(), Z = e.child(re, !0);
973
+ e.reset(re), e.template_effect(() => e.set_text(Z, p().discountApplied || "Discount applied")), e.append(W, re);
974
+ };
975
+ e.if(g, (W) => {
976
+ N() && W(H);
977
+ });
978
+ }
979
+ var X = e.sibling(g, 2);
980
+ {
981
+ var $ = (W) => {
982
+ var re = er(), Z = e.child(re, !0);
983
+ e.reset(re), e.template_effect(() => e.set_text(Z, p().unlocked || "Unlocked")), e.append(W, re);
984
+ };
985
+ e.if(X, (W) => {
986
+ de() && W($);
987
+ });
988
+ }
989
+ e.reset(l), e.append(o, l);
990
+ };
991
+ e.if(b, (o) => {
992
+ (N() || de()) && o(y);
993
+ });
994
+ }
995
+ var S = e.sibling(b, 2);
996
+ {
997
+ var Q = (o) => {
998
+ var l = ar(), g = e.child(l, !0);
999
+ e.reset(l), e.template_effect(
1000
+ (H) => {
1001
+ e.set_attribute(l, "id", `ticket-desc-${H ?? ""}`), e.set_text(g, t.description);
1002
+ },
1003
+ [
1004
+ () => t.title?.replace(/\s+/g, "-").toLowerCase() || "ticket"
1005
+ ]
1006
+ ), e.append(o, l);
1007
+ };
1008
+ e.if(S, (o) => {
1009
+ t.description && o(Q);
1010
+ });
1011
+ }
1012
+ var ve = e.sibling(S, 2), se = e.child(ve);
1013
+ {
1014
+ var ue = (o) => {
1015
+ var l = rr(), g = e.child(l, !0);
1016
+ e.reset(l), e.template_effect(() => {
1017
+ e.set_class(l, 1, `badge ${e.get(me).badgeClass ?? ""}`, "svelte-12zmutv"), e.set_attribute(l, "aria-label", `${(p().statusLabel || "Status:") ?? ""} ${e.get(me).badge ?? ""}`), e.set_text(g, e.get(me).badge);
1018
+ }), e.append(o, l);
1019
+ };
1020
+ e.if(se, (o) => {
1021
+ e.get(me) && e.get(me).badge && o(ue);
1022
+ });
1023
+ }
1024
+ var Me = e.sibling(se, 2);
1025
+ {
1026
+ var Ke = (o) => {
1027
+ {
1028
+ let l = e.derived(() => G() ?? 0);
1029
+ ra(o, {
1030
+ get remaining() {
1031
+ return e.get(l);
1032
+ },
1033
+ get total() {
1034
+ return e.get(V);
1035
+ },
1036
+ context: "ticket",
1037
+ get labels() {
1038
+ return p();
1039
+ }
1040
+ });
1041
+ }
1042
+ };
1043
+ e.if(Me, (o) => {
1044
+ e.get(B) && o(Ke);
1045
+ });
1046
+ }
1047
+ e.reset(ve);
1048
+ var Pe = e.sibling(ve, 2);
1049
+ {
1050
+ var Re = (o) => {
1051
+ const l = e.derived(() => xe(r()));
1052
+ var g = ir(), H = e.child(g);
1053
+ e.reset(g), e.template_effect(() => e.set_text(H, `${(p().salesEndPrefix || "Sales end") ?? ""}
1054
+ ${e.get(l).text ?? ""}`)), e.append(o, g);
1055
+ };
1056
+ e.if(Pe, (o) => {
1057
+ r() && a() !== "sales_ended" && a() !== "scheduled" && o(Re);
1058
+ });
1059
+ }
1060
+ e.reset(Je), e.reset(_e), e.template_effect(
1061
+ (o, l, g) => {
1062
+ we = e.set_class(_e, 1, `ticket-block rounded-lg border transition-all ${C() > 0 ? "shadow-sm" : ""}`, "svelte-12zmutv", we, {
1063
+ selected: C() > 0,
1064
+ "disabled-ticket": _() || a() === "scheduled" || a() === "sales_ended"
1065
+ }), e.set_attribute(_e, "aria-label", `${o ?? ""}${(_() ? p().ticketSoldOutSuffix || ", sold out" : "") ?? ""}${(a() === "scheduled" ? p().ticketSalesNotStartedSuffix || ", sales not yet started" : "") ?? ""}${(a() === "sales_ended" ? p().ticketSalesEndedSuffix || ", sales ended" : "") ?? ""}`), e.set_attribute(Ue, "id", `ticket-title-${l ?? ""}`), e.set_text(Ve, t.title), e.set_attribute(Ye, "id", `ticket-price-${g ?? ""}`);
1066
+ },
1067
+ [
1068
+ () => (p().ticketAriaLabel || "{title} ticket").replace("{title}", t.title),
1069
+ () => t.title?.replace(/\s+/g, "-").toLowerCase() || "ticket",
1070
+ () => t.title?.replace(/\s+/g, "-").toLowerCase() || "ticket"
1071
+ ]
1072
+ ), e.append(ie, _e), e.pop();
1073
+ }
1074
+ var lr = 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>');
1075
+ function or(ie, t) {
1076
+ e.push(t, !0);
1077
+ let R = e.prop(t, "labels", 19, () => ({}));
1078
+ var C = lr();
1079
+ e.template_effect(() => e.set_attribute(C, "aria-label", R().loadingTicketInfo || "Loading ticket information")), e.append(ie, C), e.pop();
1080
+ }
1081
+ var dr = 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 tone-muted 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> </h3> <p class="type-body tone-secondary max-w-72"> </p></div>'), cr = e.from_html('<div class="section-header bg-bg-secondary px-5 py-3"><h2 class="tone-primary text-md font-semibold"> </h2></div>'), vr = e.from_html('<div role="group"><!> <div role="list"><!></div></div>'), ur = e.from_html("<section></section>");
1082
+ function pr(ie, t) {
1083
+ e.push(t, !0);
1084
+ let R = e.prop(t, "venueFeesReady", 3, !1), C = e.prop(t, "tickets", 19, () => []), _ = e.prop(t, "quantities", 19, () => ({})), a = e.prop(t, "donationAmounts", 19, () => ({})), E = e.prop(t, "revealHiddenTickets", 3, !1), r = e.prop(t, "revealTicketIds", 19, () => []), G = e.prop(
1085
+ t,
1086
+ "currentPromoRule",
1087
+ 3,
1088
+ null
1089
+ // Current applied promo code rule
1090
+ ), oe = e.prop(
1091
+ t,
1092
+ "syncing",
1093
+ 3,
1094
+ !1
1095
+ // True while a cart-sync network call is in flight
1096
+ ), Y = e.prop(t, "labels", 19, () => ({}));
1097
+ function De(P) {
1098
+ const w = /* @__PURE__ */ new Date(), L = P.salesBegin || P.salesStart || P.saleBegin || P.saleStart || P.onSaleStart, U = P.salesEnd || P.saleEnd || P.onSaleEnd;
1099
+ return L && new Date(L) > w ? "scheduled" : U && new Date(U) < w ? "sales_ended" : "on_sale";
1100
+ }
1101
+ function de(P) {
1102
+ return P.salesBegin || P.salesStart || P.saleBegin || P.saleStart || P.onSaleStart || null;
1103
+ }
1104
+ const N = e.derived(() => C().filter((P) => P.visibility === 0 || E() ? !0 : r()?.includes(P.ID)));
1105
+ function Se(P) {
1106
+ const w = [], L = [];
1107
+ for (const U of P) {
1108
+ const h = De(U), d = U.minQuantity ?? 1, V = U.remainingCapacity, D = U.soldOut || V != null && d > V;
1109
+ h === "on_sale" && !D ? w.push(U) : L.push(U);
1110
+ }
1111
+ return [...w, ...L];
1112
+ }
1113
+ function he(P) {
1114
+ const w = {};
1115
+ for (const L of P) {
1116
+ const U = L.TicketSection?.name || Y().other || "Other";
1117
+ w[U] || (w[U] = []), w[U].push(L);
1118
+ }
1119
+ for (const L of Object.keys(w))
1120
+ w[L] = Se(w[L]);
1121
+ return w;
1122
+ }
1123
+ const Ae = e.derived(() => he(e.get(N))), p = e.derived(() => Y().other || "Other"), ce = e.derived(() => Object.keys(e.get(Ae)).filter((P) => P !== e.get(p)).length > 0);
1124
+ var j = e.comment(), fe = e.first_child(j);
1125
+ {
1126
+ var k = (P) => {
1127
+ var w = dr(), L = e.sibling(e.child(w), 2), U = e.child(L, !0);
1128
+ e.reset(L);
1129
+ var h = e.sibling(L, 2), d = e.child(h, !0);
1130
+ e.reset(h), e.reset(w), e.template_effect(() => {
1131
+ e.set_attribute(w, "aria-label", Y().noTicketsAvailable || "No tickets available"), e.set_class(L, 1, `mb-2 ${Te.h3}`), e.set_text(U, Y().noTicketsAvailable || "No tickets available"), e.set_text(d, Y().noTicketsAvailableDescription || "There are currently no tickets available for this event.");
1132
+ }), e.append(P, w);
1133
+ }, ge = (P) => {
1134
+ var w = ur();
1135
+ e.each(w, 21, () => Object.entries(e.get(Ae)), e.index, (L, U) => {
1136
+ var h = e.derived(() => e.to_array(e.get(U), 2));
1137
+ let d = () => e.get(h)[0], V = () => e.get(h)[1];
1138
+ var D = vr(), B = e.child(D);
1139
+ {
1140
+ var J = (xe) => {
1141
+ var me = cr(), _e = e.child(me), we = e.child(_e, !0);
1142
+ e.reset(_e), e.reset(me), e.template_effect(
1143
+ (M) => {
1144
+ e.set_attribute(_e, "id", `section-${M ?? ""}`), e.set_text(we, d());
1145
+ },
1146
+ [() => d().replace(/\s+/g, "-").toLowerCase()]
1147
+ ), e.append(xe, me);
1148
+ };
1149
+ e.if(B, (xe) => {
1150
+ e.get(ce) && d() !== e.get(p) && xe(J);
1151
+ });
1152
+ }
1153
+ var ae = e.sibling(B, 2), Ce = e.child(ae);
1154
+ {
1155
+ var Qe = (xe) => {
1156
+ var me = e.comment(), _e = e.first_child(me);
1157
+ e.each(_e, 17, V, e.index, (we, M) => {
1158
+ const Le = e.derived(() => e.get(M).visibility >= 2 && E() || r().includes(e.get(M).ID)), Fe = e.derived(() => G()?.discountTicketIds || []), Ue = e.derived(() => e.get(Fe).length === 0 || e.get(Fe).includes(e.get(M).ID)), Ve = e.derived(() => G()?.provideDiscount && e.get(Ue) && (G()?.discountType === "%" || G()?.discountType === "$")), dt = e.derived(() => (() => {
1159
+ if (!e.get(Ve)) return null;
1160
+ const Ne = parseFloat(e.get(M).price) || 0, Xe = parseFloat(G()?.amount || "0") || 0;
1161
+ return G().discountType === "%" ? (Ne * (1 - Xe / 100)).toFixed(2) : G().discountType === "$" ? Math.max(0, Ne - Xe).toFixed(2) : null;
1162
+ })()), rt = e.derived(() => De(e.get(M))), ct = e.derived(() => de(e.get(M))), We = e.derived(() => e.get(M).minQuantity ?? 1), Je = e.derived(() => e.get(M).remainingCapacity), Ye = e.derived(() => e.get(M).soldOut || e.get(Je) !== null && e.get(Je) !== void 0 && e.get(We) > e.get(Je)), it = e.derived(() => e.get(M).type ?? 0);
1163
+ e.derived(() => e.get(it) === 2);
1164
+ {
1165
+ let Ne = e.derived(() => _()[e.get(M).ID] ?? 0), Xe = e.derived(() => e.get(M).totalCapacity ?? e.get(M).quantity ?? e.get(M).remainingCapacity), st = e.derived(() => e.get(M).minQuantity ?? 1), et = e.derived(() => e.get(M).maxQuantity ?? null), b = e.derived(() => a()[e.get(M).ID] ?? "");
1166
+ nr(we, {
1167
+ get labels() {
1168
+ return Y();
1169
+ },
1170
+ get title() {
1171
+ return e.get(M).name;
1172
+ },
1173
+ get description() {
1174
+ return e.get(M).description;
1175
+ },
1176
+ get price() {
1177
+ return e.get(M).price;
1178
+ },
1179
+ get discountedPrice() {
1180
+ return e.get(dt);
1181
+ },
1182
+ get quantity() {
1183
+ return e.get(Ne);
1184
+ },
1185
+ get soldOut() {
1186
+ return e.get(Ye);
1187
+ },
1188
+ get status() {
1189
+ return e.get(rt);
1190
+ },
1191
+ get salesBegin() {
1192
+ return e.get(ct);
1193
+ },
1194
+ get salesEnd() {
1195
+ return e.get(M).salesEnd;
1196
+ },
1197
+ get remainingCapacity() {
1198
+ return e.get(M).remainingCapacity;
1199
+ },
1200
+ get totalCapacity() {
1201
+ return e.get(Xe);
1202
+ },
1203
+ get minQuantity() {
1204
+ return e.get(st);
1205
+ },
1206
+ get maxQuantity() {
1207
+ return e.get(et);
1208
+ },
1209
+ get isRevealed() {
1210
+ return e.get(Le);
1211
+ },
1212
+ get isDiscounted() {
1213
+ return e.get(Ve);
1214
+ },
1215
+ get ticketType() {
1216
+ return e.get(it);
1217
+ },
1218
+ get donationAmount() {
1219
+ return e.get(b);
1220
+ },
1221
+ onincrement: () => t.handleQuantityChange(e.get(M).ID, 1),
1222
+ ondecrement: () => t.handleQuantityChange(e.get(M).ID, -1),
1223
+ ondonationchange: (y) => t.handleDonationChange?.(e.get(M).ID, y),
1224
+ get syncing() {
1225
+ return oe();
1226
+ }
1227
+ });
1228
+ }
1229
+ }), e.append(xe, me);
1230
+ }, je = (xe) => {
1231
+ var me = e.comment(), _e = e.first_child(me);
1232
+ e.each(_e, 16, () => Array(2), e.index, (we, M) => {
1233
+ or(we, {});
1234
+ }), e.append(xe, me);
1235
+ };
1236
+ e.if(Ce, (xe) => {
1237
+ R() ? xe(Qe) : xe(je, -1);
1238
+ });
1239
+ }
1240
+ e.reset(ae), e.reset(D), e.template_effect(
1241
+ (xe, me) => {
1242
+ e.set_class(D, 1, e.clsx(e.get(ce) && d() !== e.get(p) ? "ticket-section-group border border-border rounded-lg overflow-hidden" : "")), e.set_attribute(D, "aria-labelledby", xe), e.set_class(ae, 1, `space-y-4 ${e.get(ce) && d() !== e.get(p) ? "p-4" : ""}`), e.set_attribute(ae, "aria-label", me);
1243
+ },
1244
+ [
1245
+ () => e.get(ce) && d() !== e.get(p) ? `section-${d().replace(/\s+/g, "-").toLowerCase()}` : void 0,
1246
+ () => (Y().ticketsInSection || "Tickets in {section}").replace("{section}", d())
1247
+ ]
1248
+ ), e.append(L, D);
1249
+ }), e.reset(w), e.template_effect(() => e.set_attribute(w, "aria-label", Y().availableTickets || "Available tickets")), e.append(P, w);
1250
+ };
1251
+ e.if(fe, (P) => {
1252
+ R() && e.get(N).length === 0 ? P(k) : P(ge, -1);
1253
+ });
1254
+ }
1255
+ e.append(ie, j), e.pop();
1256
+ }
1257
+ const fr = Yt("PromocodeInput");
1258
+ var Gt = e.from_html('<div class="self-start mt-5"><!></div>'), gr = e.from_html('<p id="promo-hint" class="promo-message success mt-2 body-sm text-accent-success" role="status" aria-live="polite"> </p>'), mr = e.from_html('<p id="promo-error" class="sr-only svelte-ztoygy" role="alert"> </p>'), _r = 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>');
1259
+ function hr(ie, t) {
1260
+ e.push(t, !0);
1261
+ let R = e.prop(t, "eventID", 3, ""), C = e.prop(t, "labels", 19, () => ({})), _ = e.state(""), a = e.state(!1), E = e.state(""), r = e.state(""), G = e.state(!1), oe = e.state(!1);
1262
+ const Y = async () => {
1263
+ const h = e.get(_).trim().toUpperCase();
1264
+ if (e.set(E, ""), e.set(r, ""), e.set(G, !1), !h) {
1265
+ e.set(E, C().pleaseEnterPromoCode || "Please enter a promo code.", !0), e.set(a, !0);
1266
+ return;
1267
+ }
1268
+ e.set(oe, !0);
1269
+ try {
1270
+ const d = await da(R(), h);
1271
+ if (d.valid) {
1272
+ e.set(G, !0);
1273
+ let V = 0;
1274
+ const D = [];
1275
+ if (d.revealHiddenTickets && D.push(C().hiddenTicketsVisible || "Hidden tickets are now visible."), d.provideDiscount) {
1276
+ const J = parseFloat(String(d.amount || "0")) || 0;
1277
+ V = J, d.discountType === "fixed" ? D.push((C().dollarDiscountAvailable || "A {amount} discount is available.").replace("{amount}", te(
1278
+ J
1279
+ /* 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. */
1280
+ ))) : d.discountType === "percentage" && D.push((C().percentDiscountAvailable || "A {amount}% discount is available.").replace("{amount}", String(J)));
1281
+ }
1282
+ e.set(
1283
+ r,
1284
+ D.length > 0 ? `${(C().promoApplied || "{code} applied.").replace("{code}", h)} ${D.join(" ")}` : (C().promoApplied || "{code} applied.").replace("{code}", h),
1285
+ !0
1286
+ );
1287
+ const B = { expires: 1, secure: !0, sameSite: "none", path: "/" };
1288
+ gt(`checkout-promocode-${R()}`, h, B), gt("checkout-promo-discount", V.toString(), B), gt(`checkout-promo-reveal-${R()}`, d.revealHiddenTickets ? "1" : "0", B), gt(`checkout-promo-reveal-ids-${R()}`, JSON.stringify(d.revealTicketIds || []), B), gt(`checkout-promo-discount-type-${R()}`, d.discountType || "", B), t.onpromoChange?.({
1289
+ code: h,
1290
+ error: "",
1291
+ hint: e.get(r),
1292
+ discount: V,
1293
+ provideDiscount: d.provideDiscount || !1,
1294
+ discountType: d.discountType || "",
1295
+ discountTicketIds: (
1296
+ /** @type {any} */
1297
+ d.discountTicketIds || []
1298
+ ),
1299
+ // Which tickets the discount applies to
1300
+ revealHiddenTickets: d.revealHiddenTickets || !1,
1301
+ revealTicketIds: d.revealTicketIds || [],
1302
+ isApplied: !0
1303
+ });
1304
+ } else
1305
+ e.set(E, C().invalidOrExpiredPromoCode || "Invalid or expired promo code.", !0), e.set(a, !0), t.onpromoChange?.({
1306
+ code: h,
1307
+ error: e.get(E),
1308
+ hint: "",
1309
+ discount: 0,
1310
+ provideDiscount: !1,
1311
+ discountType: "",
1312
+ discountTicketIds: [],
1313
+ revealHiddenTickets: !1,
1314
+ revealTicketIds: [],
1315
+ isApplied: !1
1316
+ });
1317
+ } catch (d) {
1318
+ fr.error("Error validating promo code:", d), e.set(E, C().unableToValidatePromoCode || "Unable to validate promo code. Please try again.", !0), e.set(a, !0);
1319
+ } finally {
1320
+ e.set(oe, !1);
1321
+ }
1322
+ }, De = () => {
1323
+ e.set(_, ""), e.set(E, ""), e.set(r, ""), e.set(G, !1), e.set(a, !1), at(`checkout-promocode-${R()}`), at("checkout-promo-discount"), at(`checkout-promo-reveal-${R()}`), at(`checkout-promo-reveal-ids-${R()}`), at(`checkout-promo-discount-type-${R()}`), t.onpromoChange?.({
1324
+ code: "",
1325
+ error: "",
1326
+ hint: "",
1327
+ discount: 0,
1328
+ provideDiscount: !1,
1329
+ discountType: "",
1330
+ discountTicketIds: [],
1331
+ revealHiddenTickets: !1,
1332
+ revealTicketIds: [],
1333
+ isApplied: !1
1334
+ });
1335
+ }, de = (h) => {
1336
+ e.set(_, h.target.value, !0), e.get(E) && e.set(E, "");
1337
+ }, N = (h) => {
1338
+ h.key === "Enter" && (h.preventDefault(), Y());
1339
+ };
1340
+ Zt(() => {
1341
+ const h = ot(`checkout-promocode-${R()}`);
1342
+ h && (e.set(_, h, !0), Y());
1343
+ });
1344
+ var Se = _r(), he = e.child(Se), Ae = e.child(he, !0);
1345
+ e.reset(he);
1346
+ var p = e.sibling(he, 2), ce = e.child(p), j = e.child(ce);
1347
+ {
1348
+ let h = e.derived(() => C().promoCode || "Promo code"), d = e.derived(() => e.get(G) || e.get(oe)), V = e.derived(() => e.get(a) ? e.get(E) : ""), D = e.derived(() => e.get(r) ? "promo-hint" : e.get(E) ? "promo-error" : void 0);
1349
+ Jt(j, {
1350
+ get label() {
1351
+ return e.get(h);
1352
+ },
1353
+ size: "lg",
1354
+ type: "text",
1355
+ oninputchange: de,
1356
+ onkeydown: N,
1357
+ onblur: () => e.set(a, !0),
1358
+ get disabled() {
1359
+ return e.get(d);
1360
+ },
1361
+ get errorText() {
1362
+ return e.get(V);
1363
+ },
1364
+ get "aria-describedby"() {
1365
+ return e.get(D);
1366
+ },
1367
+ get value() {
1368
+ return e.get(_);
1369
+ },
1370
+ set value(B) {
1371
+ e.set(_, B, !0);
1372
+ }
1373
+ });
1374
+ }
1375
+ e.reset(ce);
1376
+ var fe = e.sibling(ce, 2);
1377
+ {
1378
+ var k = (h) => {
1379
+ var d = Gt(), V = e.child(d);
1380
+ {
1381
+ let D = e.derived(() => C().removePromoCode || "Remove promo code"), B = e.derived(() => e.get(_));
1382
+ $e(V, {
1383
+ variant: "outline",
1384
+ onclick: De,
1385
+ class: "h-10",
1386
+ get "aria-label"() {
1387
+ return `${e.get(D) ?? ""} ${e.get(B) ?? ""}`;
1388
+ },
1389
+ children: (J, ae) => {
1390
+ e.next();
1391
+ var Ce = e.text();
1392
+ e.template_effect(() => e.set_text(Ce, C().remove || "Remove")), e.append(J, Ce);
1393
+ },
1394
+ $$slots: { default: !0 }
1395
+ });
1396
+ }
1397
+ e.reset(d), e.append(h, d);
1398
+ }, ge = (h) => {
1399
+ var d = Gt(), V = e.child(d);
1400
+ {
1401
+ let D = e.derived(() => e.get(oe) ? C().checkingPromoCode || "Checking promo code" : C().applyPromoCode || "Apply promo code");
1402
+ $e(V, {
1403
+ onclick: Y,
1404
+ get disabled() {
1405
+ return e.get(oe);
1406
+ },
1407
+ class: "h-10",
1408
+ get "aria-label"() {
1409
+ return e.get(D);
1410
+ },
1411
+ children: (B, J) => {
1412
+ e.next();
1413
+ var ae = e.text();
1414
+ e.template_effect(() => e.set_text(ae, e.get(oe) ? C().checking || "Checking..." : C().apply || "Apply")), e.append(B, ae);
1415
+ },
1416
+ $$slots: { default: !0 }
1417
+ });
1418
+ }
1419
+ e.reset(d), e.append(h, d);
1420
+ };
1421
+ e.if(fe, (h) => {
1422
+ e.get(G) ? h(k) : h(ge, -1);
1423
+ });
1424
+ }
1425
+ e.reset(p);
1426
+ var P = e.sibling(p, 2);
1427
+ {
1428
+ var w = (h) => {
1429
+ var d = gr(), V = e.child(d, !0);
1430
+ e.reset(d), e.template_effect(() => e.set_text(V, e.get(r))), e.append(h, d);
1431
+ };
1432
+ e.if(P, (h) => {
1433
+ e.get(r) && h(w);
1434
+ });
1435
+ }
1436
+ var L = e.sibling(P, 2);
1437
+ {
1438
+ var U = (h) => {
1439
+ var d = mr(), V = e.child(d, !0);
1440
+ e.reset(d), e.template_effect(() => e.set_text(V, e.get(E))), e.append(h, d);
1441
+ };
1442
+ e.if(L, (h) => {
1443
+ e.get(E) && e.get(a) && h(U);
1444
+ });
1445
+ }
1446
+ e.reset(Se), e.template_effect(() => e.set_text(Ae, C().promoCodeEntry || "Promo code entry")), e.append(ie, Se), e.pop();
1447
+ }
1448
+ var br = e.from_html('<div class="flex justify-between items-center pb-4 border-b border-border" aria-hidden="true"><div><div class="h-4 rounded w-24 mb-2 bg-bg-tertiary"></div> <div class="h-3 rounded w-16 bg-bg-tertiary"></div></div> <div class="h-4 rounded w-12 bg-bg-tertiary"></div></div>'), xr = e.from_html('<div class="hidden md:block h-fit rounded-lg p-5 space-y-5 animate-pulse bg-card border border-border" role="status" aria-busy="true"><span class="sr-only svelte-19v1kvb">Loading order summary...</span> <div class="h-6 rounded w-2/3 bg-bg-tertiary" aria-hidden="true"></div> <!> <div class="space-y-3 pt-4" aria-hidden="true"><div class="flex justify-between"><div class="h-4 rounded w-20 bg-bg-tertiary"></div> <div class="h-4 rounded w-12 bg-bg-tertiary"></div></div> <div class="flex justify-between"><div class="h-4 rounded w-16 bg-bg-tertiary"></div> <div class="h-4 rounded w-12 bg-bg-tertiary"></div></div> <div class="flex justify-between"><div class="h-4 rounded w-12 bg-bg-tertiary"></div> <div class="h-4 rounded w-12 bg-bg-tertiary"></div></div></div> <div class="h-10 rounded mt-5 bg-muted" aria-hidden="true"></div></div>');
1449
+ function yr(ie, t) {
1450
+ e.push(t, !0);
1451
+ let R = e.prop(t, "labels", 19, () => ({}));
1452
+ var C = xr(), _ = e.sibling(e.child(C), 4);
1453
+ e.each(_, 16, () => Array(2), e.index, (a, E) => {
1454
+ var r = br();
1455
+ e.append(a, r);
1456
+ }), e.next(4), e.reset(C), e.template_effect(() => e.set_attribute(C, "aria-label", R().loadingOrderSummary || "Loading order summary")), e.append(ie, C), e.pop();
1457
+ }
1458
+ var kr = e.from_html('<div class="w-14 h-14 shrink-0 rounded-md overflow-hidden bg-bg-secondary" aria-hidden="true"><!></div>'), wr = e.from_html("<p> </p>"), Tr = 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>'), Cr = 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 tone-secondary hover:bg-bg-secondary"><!></button> <!> <div class="flex-1 min-w-0"><h1 class="heading-lg break-words"> </h1> <div class="body-sm tone-secondary"><p><time> </time></p> <p> </p> <!></div></div> <!></header>');
1459
+ function Dr(ie, t) {
1460
+ e.push(t, !0);
1461
+ let R = e.prop(t, "variant", 3, "tickets"), C = e.prop(t, "total", 3, 0), _ = e.prop(t, "onCancel", 3, () => {
1462
+ }), a = e.prop(t, "onInfoClick", 3, () => {
1463
+ }), E = e.prop(t, "labels", 19, () => ({})), r = e.derived(() => t.event.timeZone || t.event.timezone || ca()), G = e.derived(() => t.event.displayEndTime === !0), oe = e.derived(() => t.event.displayDoorsTime === !0), Y = e.derived(() => R() === "checkout"), De = e.derived(() => C() > 0 ? `${te(C())}` : (
1464
+ /* 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. */
1465
+ E().free || "Free"
1466
+ ));
1467
+ var de = Cr(), N = e.child(de), Se = e.child(N);
1468
+ va(Se, { size: 20, "aria-hidden": "true" }), e.reset(N);
1469
+ var he = e.sibling(N, 2);
1470
+ {
1471
+ var Ae = (D) => {
1472
+ var B = kr(), J = e.child(B);
1473
+ Da(J, {
1474
+ get src() {
1475
+ return t.event.image;
1476
+ },
1477
+ alt: "",
1478
+ class: "w-full h-full"
1479
+ }), e.reset(B), e.append(D, B);
1480
+ };
1481
+ e.if(he, (D) => {
1482
+ t.event.image && D(Ae);
1483
+ });
1484
+ }
1485
+ var p = e.sibling(he, 2), ce = e.child(p), j = e.child(ce, !0);
1486
+ e.reset(ce);
1487
+ var fe = e.sibling(ce, 2), k = e.child(fe), ge = e.child(k), P = e.child(ge, !0);
1488
+ e.reset(ge), e.reset(k);
1489
+ var w = e.sibling(k, 2), L = e.child(w, !0);
1490
+ e.reset(w);
1491
+ var U = e.sibling(w, 2);
1492
+ {
1493
+ var h = (D) => {
1494
+ var B = wr(), J = e.child(B, !0);
1495
+ e.reset(B), e.template_effect((ae) => e.set_text(J, ae), [
1496
+ () => (E().doorsOpen || "Doors open {time}").replace("{time}", ga(t.event.doorsOpenTime, e.get(r)))
1497
+ ]), e.append(D, B);
1498
+ };
1499
+ e.if(U, (D) => {
1500
+ e.get(oe) && t.event.doorsOpenTime && D(h);
1501
+ });
1502
+ }
1503
+ e.reset(fe), e.reset(p);
1504
+ var d = e.sibling(p, 2);
1505
+ {
1506
+ var V = (D) => {
1507
+ var B = Tr(), J = e.child(B), ae = e.child(J, !0);
1508
+ e.reset(J);
1509
+ var Ce = e.sibling(J, 2), Qe = e.child(Ce);
1510
+ ma(Qe, { size: 20, "aria-hidden": "true" }), e.reset(Ce), e.reset(B), e.template_effect(
1511
+ (je) => {
1512
+ e.set_attribute(J, "aria-label", je), e.set_text(ae, e.get(De)), e.set_attribute(Ce, "aria-label", E().viewOrderDetails || "View order details");
1513
+ },
1514
+ [
1515
+ () => (E().ariaOrderTotal || "Order total: {total}").replace("{total}", e.get(De))
1516
+ ]
1517
+ ), e.delegated("click", Ce, function(...je) {
1518
+ a()?.apply(this, je);
1519
+ }), e.append(D, B);
1520
+ };
1521
+ e.if(d, (D) => {
1522
+ e.get(Y) && D(V);
1523
+ });
1524
+ }
1525
+ e.reset(de), e.template_effect(
1526
+ (D, B) => {
1527
+ e.set_attribute(N, "aria-label", e.get(Y) ? E().goBackToTicketSelection || "Go back to ticket selection" : E().goBackToEventDetails || "Go back to event details"), e.set_text(j, t.event.name), e.set_attribute(fe, "aria-label", E().ariaEventDateTime || "Event date and time"), e.set_attribute(ge, "datetime", t.event.startDateTime), e.set_text(P, D), e.set_text(L, B);
1528
+ },
1529
+ [
1530
+ () => ua(t.event.startDateTime, e.get(r)),
1531
+ () => e.get(G) && t.event.endDateTime ? pa(t.event.startDateTime, t.event.endDateTime, e.get(r)) : fa(t.event.startDateTime, e.get(r))
1532
+ ]
1533
+ ), e.delegated("click", N, function(...D) {
1534
+ _()?.apply(this, D);
1535
+ }), e.append(ie, de), e.pop();
1536
+ }
1537
+ e.delegate(["click"]);
1538
+ const Ge = Yt("CartView");
1539
+ var Sr = e.from_html('<div class="flex items-center justify-center py-12" aria-live="polite"><p class="tone-secondary"> </p></div>'), Ir = 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>'), Ar = e.from_html('<div class="text-center py-12" role="alert"><p> </p> <p class="tone-secondary mb-6"> </p> <button class="go-back-btn text-white px-4 py-2 rounded-lg svelte-19g9ni4"> </button></div>'), Pr = e.from_html('<div class="text-center py-12" role="alert"><p>This event has ended</p> <p class="tone-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>'), Ut = e.from_html('<div class="px-4 md:px-5 pt-3"><!></div>'), Er = e.from_html('<div class="hidden md:block w-80 h-[calc(100vh-40px)]"></div>'), Or = 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>'), Fr = e.from_html('<h3 id="error-modal-title" class="heading-lg"><!></h3>'), Vt = e.from_html('<p class="body-sm"> </p> <p class="tone-secondary mt-2"> </p>', 1), Mr = e.from_html('<div id="error-modal-description"><!></div>'), jr = e.from_html("<!> <!>", 1), Lr = e.from_html('<div role="group" aria-label="Error modal actions"><!></div>'), Br = e.from_html('<h3 id="expired-modal-title" class="heading-lg"> </h3>'), zr = e.from_html('<p id="expired-modal-description" class="body-sm tone-secondary"> </p>'), Qr = e.from_html('<h3 id="availability-modal-title" class="heading-lg"> </h3>'), Nr = e.from_html('<li class="tone-secondary type-body"><span class="font-medium"> </span> <!></li>'), Wt = e.from_html('<p class="tone-secondary mt-4"> </p>'), Rr = e.from_html('<div id="availability-modal-description"><p class="tone-secondary mb-4"> </p> <ul class="space-y-2"></ul> <!></div>'), qr = e.from_html('<div role="group" aria-label="Availability modal actions"><!> <!></div>'), Hr = e.from_html('<div class="px-5 md:px-10 py-12 bg-card"><!></div> <!> <!> <!>', 1);
1540
+ function $r(ie, t) {
1541
+ e.push(t, !0);
1542
+ let R = e.prop(t, "organizationId", 3, ""), C = e.prop(t, "venueId", 3, ""), _ = e.prop(t, "initialEventData", 3, null), a = e.prop(t, "labels", 19, () => ({})), E = e.state(!1), r = e.state(null), G = e.state(null), oe = e.state(e.proxy([])), Y = e.state(!1), De = e.state(!0), de = e.state(null), N = e.state(!1), Se = e.state(!1), he = e.state(!1), Ae = e.state(0), p = e.state(void 0), ce = e.state(void 0), j = e.state(e.proxy({})), fe = e.state(""), k = e.state(""), ge = e.state(0), P = e.state(!1), w = e.state(0), L = e.state(!1), U = null, h = null;
1543
+ const d = Pt(), V = Pt();
1544
+ let D = e.state(
1545
+ "cart_failed"
1546
+ // 'cart_failed' | 'cart_success_network_error'
1547
+ ), B = e.state(!1);
1548
+ const J = Pt();
1549
+ let ae = e.state(e.proxy(
1550
+ []
1551
+ // Array of {ticketId, ticketName, requestedQty, availableQty}
1552
+ )), Ce = e.state(0), Qe = e.state(0), je = e.derived(() => e.get(r)?.availableTickets?.filter(
1553
+ /** @param {any} t */
1554
+ (s) => s.visibility === 0
1555
+ )?.every(
1556
+ /** @param {any} t */
1557
+ (s) => s.price === 0
1558
+ )), xe = e.derived(() => e.get(je) ? 0 : tt(Object.entries(e.get(j)).reduce(
1559
+ (s, [i, n]) => {
1560
+ const x = e.get(r)?.availableTickets?.find((v) => v.id == i);
1561
+ return x ? s + tt(n * x.price) : s;
1562
+ },
1563
+ 0
1564
+ ))), me = 0, _e = e.state(0), we = e.state(0), M = e.state(!1), Le = null;
1565
+ e.derived(() => tt(e.get(xe) + me + e.get(_e)));
1566
+ let Fe = e.state(!1), Ue = !1, Ve = e.state(!1);
1567
+ async function dt(s, i) {
1568
+ if (e.get(Ve) || e.get(Fe))
1569
+ return;
1570
+ const n = {
1571
+ ...e.get(j),
1572
+ [s]: Math.max(0, (e.get(j)[s] ?? 0) + i)
1573
+ }, x = Object.values(n).reduce((v, u) => v + u, 0);
1574
+ if (e.set(j, n, !0), e.get(r) && Lt({
1575
+ eventID: e.get(r).eventID,
1576
+ quantities: e.get(j),
1577
+ promocode: e.get(fe),
1578
+ promoDiscountAmount: e.get(ge),
1579
+ tickets: e.get(r).availableTickets
1580
+ }), x > 0 && !e.get(L))
1581
+ await rt();
1582
+ else if (e.get(L)) {
1583
+ const v = typeof document < "u" ? ot("checkout-cartid") ?? null : null;
1584
+ if (!v) return;
1585
+ e.set(Ve, !0);
1586
+ try {
1587
+ await Ta(v, e.get(j)) || Ge.warn("Cart quantity sync failed; UI may not match server");
1588
+ } finally {
1589
+ e.set(Ve, !1);
1590
+ }
1591
+ }
1592
+ }
1593
+ async function rt() {
1594
+ if (!(e.get(Fe) || e.get(L))) {
1595
+ e.set(Fe, !0);
1596
+ try {
1597
+ const s = await Bt({
1598
+ eventID: e.get(r).eventID,
1599
+ quantities: e.get(j),
1600
+ promoCode: e.get(fe) || void 0
1601
+ });
1602
+ s?.success && s.uuid && (Ue = !0, Ke());
1603
+ } catch (s) {
1604
+ Ge.error("Error creating cart on ticket select:", s);
1605
+ } finally {
1606
+ e.set(Fe, !1);
1607
+ }
1608
+ }
1609
+ }
1610
+ function ct() {
1611
+ if (!e.get(r)?.availableTickets) return;
1612
+ const i = e.get(r).availableTickets.filter((n) => n.visibility === 0).map((n) => Number(n.price) || 0);
1613
+ if (i.length === 0) {
1614
+ e.set(Ce, e.set(Qe, 0), !0);
1615
+ return;
1616
+ }
1617
+ e.set(Ce, te(
1618
+ Math.min(...i)
1619
+ /* 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. */
1620
+ ), !0), e.set(Qe, te(
1621
+ Math.max(...i)
1622
+ /* 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. */
1623
+ ), !0);
1624
+ }
1625
+ async function We() {
1626
+ const s = [];
1627
+ for (const [i, n] of Object.entries(e.get(j))) {
1628
+ if (n <= 0) continue;
1629
+ const x = e.get(r)?.availableTickets?.find((v) => v.ID == i);
1630
+ !x || x.price === 0 || s.push({
1631
+ amountCents: Math.round(x.price * 100) * n,
1632
+ reference: `ticket-${i}`,
1633
+ quantity: n
1634
+ });
1635
+ }
1636
+ if (s.length === 0) {
1637
+ e.set(we, 0), e.set(_e, 0), e.set(M, !1);
1638
+ return;
1639
+ }
1640
+ Le && Le.abort(), Le = new AbortController(), e.set(M, !0);
1641
+ try {
1642
+ const i = await fetch("https://get-micdrop.com/api/v2/public/tax-preview", {
1643
+ method: "POST",
1644
+ headers: { "Content-Type": "application/json" },
1645
+ signal: Le.signal,
1646
+ body: JSON.stringify({ venueId: Number(e.get(r).venueID), lineItems: s })
1647
+ });
1648
+ if (!i.ok) {
1649
+ i.status === 422 ? Ge.debug("Tax preview: venue has no tax address, falling back to 0") : Ge.error("Tax preview failed:", i.status), e.set(we, 0), e.set(_e, 0), e.set(M, !1);
1650
+ return;
1651
+ }
1652
+ const n = await i.json();
1653
+ e.set(we, (n.taxTotal ?? 0) / 100), e.set(_e, e.get(we), !0);
1654
+ } catch (i) {
1655
+ if (i.name === "AbortError") return;
1656
+ Ge.error("Tax preview error:", i), e.set(we, 0), e.set(_e, 0);
1657
+ } finally {
1658
+ Le?.signal?.aborted || e.set(M, !1);
1659
+ }
1660
+ }
1661
+ function Je() {
1662
+ if (!e.get(r)) return;
1663
+ e.set(fe, ot(`checkout-promocode-${e.get(r).eventID}`) || "", !0);
1664
+ const s = parseFloat(ot("checkout-promo-discount") || "0");
1665
+ e.set(k, e.get(fe) ? `${e.get(fe)} applied.` : "", !0), e.set(ge, s, !0);
1666
+ }
1667
+ async function Ye() {
1668
+ try {
1669
+ const s = await It(t.eventId), i = [];
1670
+ for (const [n, x] of Object.entries(e.get(j))) {
1671
+ if (x <= 0) continue;
1672
+ const v = (
1673
+ /** @type {any} */
1674
+ s.find((f) => String(f.id) === String(n))
1675
+ );
1676
+ if (!v) continue;
1677
+ const u = v.remainingCapacity ?? v.quantity ?? 1 / 0;
1678
+ if (u < x) {
1679
+ const f = e.get(r)?.availableTickets?.find((T) => String(T.id) === String(n));
1680
+ i.push({
1681
+ ticketId: n,
1682
+ ticketName: f?.name || v?.name || "Ticket",
1683
+ requestedQty: x,
1684
+ availableQty: Math.max(0, u)
1685
+ });
1686
+ }
1687
+ }
1688
+ return i;
1689
+ } catch (s) {
1690
+ return Ge.error("Error checking ticket availability:", s), [];
1691
+ }
1692
+ }
1693
+ async function it() {
1694
+ if (!e.get(r)) return;
1695
+ e.set(Y, !0), e.set(B, !1);
1696
+ const s = await Ye();
1697
+ if (s.length > 0) {
1698
+ e.set(Y, !1), e.set(ae, s, !0), J.open();
1699
+ return;
1700
+ }
1701
+ await Ne();
1702
+ }
1703
+ async function Ne() {
1704
+ if (e.set(Y, !0), Lt({
1705
+ eventID: e.get(r).eventID,
1706
+ quantities: e.get(j),
1707
+ promocode: e.get(fe),
1708
+ promoDiscountAmount: e.get(ge),
1709
+ tickets: e.get(r).availableTickets
1710
+ }), typeof document < "u" ? ot("checkout-cartid") ?? null : null)
1711
+ e.set(B, !0);
1712
+ else
1713
+ try {
1714
+ if (!await Bt({
1715
+ eventID: e.get(r).eventID,
1716
+ quantities: e.get(j),
1717
+ promoCode: e.get(fe) || void 0
1718
+ })) {
1719
+ e.set(Y, !1), e.set(D, "cart_failed"), V.open();
1720
+ return;
1721
+ }
1722
+ e.set(B, !0);
1723
+ } catch (i) {
1724
+ Ge.error("Order initiation failed:", i), e.set(Y, !1), e.set(D, "cart_failed"), V.open();
1725
+ return;
1726
+ }
1727
+ try {
1728
+ if (t.onNavigateToCheckout) {
1729
+ t.onNavigateToCheckout(t.eventId, e.get(r)), e.set(Y, !1);
1730
+ return;
1731
+ }
1732
+ const i = new URLSearchParams();
1733
+ R() && i.set("orgId", R()), C() && i.set("venueId", C()), i.set("event_id", t.eventId), i.set("subroute", "checkout");
1734
+ const n = `/?${i.toString()}`;
1735
+ Et(n, { noScroll: !1 }), e.set(Y, !1);
1736
+ } catch (i) {
1737
+ Ge.error("Navigation failed after cart creation:", i), e.set(Y, !1), e.set(D, "cart_success_network_error"), V.open();
1738
+ }
1739
+ }
1740
+ function Xe() {
1741
+ for (const i of e.get(ae))
1742
+ i.availableQty > 0 ? e.get(j)[i.ticketId] = i.availableQty : delete e.get(j)[i.ticketId];
1743
+ e.set(j, { ...e.get(
1744
+ j
1745
+ // Trigger reactivity
1746
+ ) }, !0), J.close(), e.set(ae, [], !0), Object.values(e.get(j)).reduce((i, n) => i + n, 0) > 0 ? Ne() : se();
1747
+ }
1748
+ function st() {
1749
+ J.close(), e.set(ae, [], !0), se();
1750
+ }
1751
+ function et() {
1752
+ V.close(), e.get(D) === "cart_failed" && se();
1753
+ }
1754
+ function b() {
1755
+ V.close(), window.location.reload();
1756
+ }
1757
+ function y() {
1758
+ e.set(Se, window.innerWidth < 767);
1759
+ }
1760
+ let S = !1;
1761
+ function Q() {
1762
+ S || (window.requestAnimationFrame(() => {
1763
+ ve(), S = !1;
1764
+ }), S = !0);
1765
+ }
1766
+ function ve() {
1767
+ if (e.get(Se) || !e.get(ce) || !e.get(p)) {
1768
+ e.set(he, !1);
1769
+ return;
1770
+ }
1771
+ const s = e.get(ce).getBoundingClientRect();
1772
+ if (e.set(he, s.top <= 20), e.get(he)) {
1773
+ const i = e.get(p).getBoundingClientRect();
1774
+ e.set(Ae, i.left + i.width - 340 - 40);
1775
+ }
1776
+ }
1777
+ function se() {
1778
+ if (e.get(r) && ha(e.get(r).eventID), t.onNavigateBack)
1779
+ t.onNavigateBack();
1780
+ else {
1781
+ const s = new URLSearchParams(window.location.search);
1782
+ s.set("subroute", "details");
1783
+ const i = `/?${s.toString()}`;
1784
+ Et(i, {});
1785
+ }
1786
+ }
1787
+ let ue = null;
1788
+ async function Me() {
1789
+ ue && localStorage.removeItem(`checkout-expiry-${ue}`), at("checkout-cartid"), ue = null, e.set(L, !1), e.set(w, 0), d.open();
1790
+ }
1791
+ async function Ke() {
1792
+ if (e.get(L)) return;
1793
+ if (e.set(L, !0), ue = typeof document < "u" ? ot("checkout-cartid") ?? null : null, e.set(w, 900), ue) {
1794
+ const n = localStorage.getItem(
1795
+ // @storage-escape: cart checkout-expiry persistence (intentional raw localStorage)
1796
+ `checkout-expiry-${ue}`
1797
+ );
1798
+ if (n) {
1799
+ const x = Math.max(0, Math.floor((parseInt(n, 10) - Date.now()) / 1e3));
1800
+ if (x > 0)
1801
+ e.set(w, x, !0);
1802
+ else {
1803
+ await Me();
1804
+ return;
1805
+ }
1806
+ } else if (Ue)
1807
+ e.set(w, 900), localStorage.setItem(
1808
+ // @storage-escape: cart checkout-expiry persistence (intentional raw localStorage)
1809
+ `checkout-expiry-${ue}`,
1810
+ String(Date.now() + 900 * 1e3)
1811
+ );
1812
+ else {
1813
+ await Me();
1814
+ return;
1815
+ }
1816
+ }
1817
+ const s = () => {
1818
+ if (!ue) return;
1819
+ const n = parseInt(
1820
+ localStorage.getItem(`checkout-expiry-${ue}`) || "0",
1821
+ // @storage-escape: cart checkout-expiry persistence (intentional raw localStorage)
1822
+ 10
1823
+ );
1824
+ n && e.set(w, Math.max(0, Math.floor((n - Date.now()) / 1e3)), !0);
1825
+ };
1826
+ U = setInterval(
1827
+ () => {
1828
+ s(), e.get(w) <= 0 && (clearInterval(U), e.set(L, !1), d.open(), ue && localStorage.removeItem(`checkout-expiry-${ue}`));
1829
+ },
1830
+ 1e3
1831
+ ), h = () => {
1832
+ typeof document < "u" && document.visibilityState === "visible" && s();
1833
+ }, typeof document < "u" && document.addEventListener("visibilitychange", h), typeof window < "u" && window.addEventListener("pageshow", h);
1834
+ const i = setInterval(
1835
+ async () => {
1836
+ if (!e.get(L) || !ue) {
1837
+ clearInterval(i);
1838
+ return;
1839
+ }
1840
+ try {
1841
+ const n = await wa(ue);
1842
+ if (n.notFound) {
1843
+ clearInterval(i);
1844
+ const x = ue;
1845
+ e.set(L, !1), d.open(), localStorage.removeItem(`checkout-expiry-${x}`), at("checkout-cartid"), ue = null;
1846
+ return;
1847
+ }
1848
+ if (!n.error && n.expiresAt) {
1849
+ const x = Math.max(0, Math.floor((new Date(n.expiresAt).getTime() - Date.now()) / 1e3));
1850
+ e.set(w, x, !0), localStorage.setItem(
1851
+ // @storage-escape: cart checkout-expiry persistence (intentional raw localStorage)
1852
+ `checkout-expiry-${ue}`,
1853
+ String(new Date(n.expiresAt).getTime())
1854
+ );
1855
+ }
1856
+ } catch {
1857
+ }
1858
+ },
1859
+ 6e4
1860
+ );
1861
+ }
1862
+ async function Pe(s) {
1863
+ const i = s?.detail ?? s, { code: n, discount: x } = i;
1864
+ if (e.set(fe, n || "", !0), e.set(ge, x || 0, !0), e.set(k, n ? `${n} applied.` : "", !0), i.revealHiddenTickets !== void 0 && e.get(r) && (gt(`checkout-promo-reveal-${e.get(r).eventID}`, i.revealHiddenTickets ? "1" : "0", { path: "/" }), i.revealTicketIds?.length && gt(`checkout-promo-reveal-ids-${e.get(r).eventID}`, JSON.stringify(i.revealTicketIds), { path: "/" }), n && i.revealHiddenTickets))
1865
+ try {
1866
+ const v = await It(t.eventId);
1867
+ v.length > 0 && e.get(r) && e.set(r, { ...e.get(r), availableTickets: v }, !0);
1868
+ } catch (v) {
1869
+ Ge.error("Error re-fetching tickets with promo:", v);
1870
+ }
1871
+ }
1872
+ let Re = e.derived(() => e.get(r) ? ot(`checkout-promo-reveal-${e.get(r).eventID}`) === "1" : !1), o = e.derived(() => {
1873
+ if (!e.get(r)) return [];
1874
+ try {
1875
+ const s = ot(`checkout-promo-reveal-ids-${e.get(r).eventID}`);
1876
+ return s ? JSON.parse(s) : [];
1877
+ } catch {
1878
+ return [];
1879
+ }
1880
+ }), l = e.derived(() => {
1881
+ if (!e.get(r)) return !1;
1882
+ const s = e.get(r).endDateTime || e.get(r).startDateTime;
1883
+ return s ? new Date(s) < /* @__PURE__ */ new Date() : !1;
1884
+ });
1885
+ async function g() {
1886
+ if (e.get(N)) {
1887
+ if (!t.eventId) {
1888
+ e.set(de, a().noEventIdProvided || "No event ID provided", !0), e.set(De, !1);
1889
+ return;
1890
+ }
1891
+ e.set(De, !0), e.set(de, null);
1892
+ try {
1893
+ if (_()) {
1894
+ if (e.set(G, _()), !e.get(N)) return;
1895
+ e.set(r, jt(e.get(G)), !0), e.set(oe, e.get(r).availableTickets || [], !0);
1896
+ } else {
1897
+ try {
1898
+ if (e.set(G, await ba(t.eventId), !0), !e.get(N)) return;
1899
+ e.set(r, jt(e.get(G)), !0);
1900
+ } catch (n) {
1901
+ Ge.error("Event fetch failed:", n), e.set(de, a().failedToLoadEvent || "Failed to load event", !0), e.set(De, !1);
1902
+ return;
1903
+ }
1904
+ try {
1905
+ if (e.set(oe, await It(t.eventId), !0), !e.get(N)) return;
1906
+ e.get(oe).length > 0 && (e.get(r).availableTickets = e.get(oe));
1907
+ } catch (n) {
1908
+ if (!e.get(N)) return;
1909
+ Ge.error("Error fetching tickets:", n), e.set(oe, e.get(r).availableTickets || [], !0);
1910
+ }
1911
+ }
1912
+ e.get(r).availableTickets && e.get(r).availableTickets.forEach((n) => e.get(j)[n.ID] = 0);
1913
+ const s = xa(e.get(r).eventID);
1914
+ if (e.set(j, Ga(s.quantities || {}, e.get(r).availableTickets), !0), e.set(fe, s.promocode || "", !0), e.set(ge, s.promoDiscountAmount || 0, !0), e.get(r).eventID && (await ya(e.get(r).eventID), !e.get(N)))
1915
+ return;
1916
+ e.set(E, !0), ct(), Object.values(e.get(j)).reduce((n, x) => n + x, 0) > 0 && Ke(), Je(), await ka(String(e.get(r).eventID));
1917
+ } catch (s) {
1918
+ e.get(N) && (Ge.error("Error loading event:", s), e.set(de, s.message || a().failedToLoadEvent || "Failed to load event", !0));
1919
+ } finally {
1920
+ e.get(N) && e.set(De, !1);
1921
+ }
1922
+ }
1923
+ }
1924
+ Zt(async () => {
1925
+ e.set(N, !0), y(), window.addEventListener("resize", y), window.addEventListener("scroll", Q), await g(), _a(t.eventId).then((s) => {
1926
+ e.set(P, s, !0);
1927
+ }).catch(() => {
1928
+ e.set(P, !0);
1929
+ });
1930
+ }), ta(() => {
1931
+ e.set(N, !1), window.removeEventListener("resize", y), window.removeEventListener("scroll", Q), U && clearInterval(U), h && (typeof document < "u" && document.removeEventListener("visibilitychange", h), typeof window < "u" && window.removeEventListener("pageshow", h), h = null), Le && Le.abort();
1932
+ });
1933
+ let H = null;
1934
+ e.user_effect(() => {
1935
+ e.get(N) && t.eventId && t.eventId !== H && (H = t.eventId, g());
1936
+ }), e.user_effect(() => {
1937
+ const s = Object.values(e.get(j)).reduce((i, n) => i + n, 0);
1938
+ e.get(E) && e.get(r) && s > 0 ? We() : s === 0 && (e.set(we, 0), e.set(_e, 0), e.set(M, !1));
1939
+ });
1940
+ var X = Hr(), $ = e.first_child(X), W = e.child($);
1941
+ {
1942
+ var re = (s) => {
1943
+ var i = Sr(), n = e.child(i), x = e.child(n, !0);
1944
+ e.reset(n), e.reset(i), e.template_effect(() => e.set_text(x, a().loadingEvent || "Loading event...")), e.append(s, i);
1945
+ }, Z = (s) => {
1946
+ var i = Ir(), n = e.child(i), x = e.child(n);
1947
+ e.reset(n);
1948
+ var v = e.sibling(n, 2), u = e.child(v, !0);
1949
+ e.reset(v), e.reset(i), e.template_effect(() => {
1950
+ e.set_text(x, `${(a().errorPrefix || "Error:") ?? ""}
1951
+ ${e.get(de) ?? ""}`), e.set_attribute(v, "aria-label", a().goBackToEventDetails || "Go back to event details"), e.set_text(u, a().goBack || "Go back");
1952
+ }), e.delegated("click", v, se), e.append(s, i);
1953
+ }, be = (s) => {
1954
+ var i = Ar(), n = e.child(i), x = e.child(n, !0);
1955
+ e.reset(n);
1956
+ var v = e.sibling(n, 2), u = e.child(v, !0);
1957
+ e.reset(v);
1958
+ var f = e.sibling(v, 2), T = e.child(f, !0);
1959
+ e.reset(f), e.reset(i), e.template_effect(() => {
1960
+ e.set_class(n, 1, `mb-2 ${Te.h2}`, "svelte-19g9ni4"), e.set_text(x, a().thisEventHasEnded || "This event has ended"), e.set_text(u, a().ticketsNoLongerAvailable || "Tickets are no longer available for this event."), e.set_attribute(f, "aria-label", a().goBackToEventDetails || "Go back to event details"), e.set_text(T, a().goBack || "Go back");
1961
+ }), e.delegated("click", f, se), e.append(s, i);
1962
+ }, qe = (s) => {
1963
+ var i = Pr(), n = e.child(i), x = e.sibling(n, 4);
1964
+ e.reset(i), e.template_effect(() => e.set_class(n, 1, `mb-2 ${Te.h2}`, "svelte-19g9ni4")), e.delegated("click", x, se), e.append(s, i);
1965
+ }, Be = (s) => {
1966
+ var i = Or(), n = e.child(i), x = e.child(n), v = e.child(x);
1967
+ Dr(v, {
1968
+ get event() {
1969
+ return e.get(r);
1970
+ },
1971
+ onCancel: se,
1972
+ get labels() {
1973
+ return a();
1974
+ }
1975
+ });
1976
+ var u = e.sibling(v, 2);
1977
+ {
1978
+ var f = (F) => {
1979
+ var le = Ut(), ye = e.child(le);
1980
+ {
1981
+ let ke = e.derived(() => e.get(w) <= 300);
1982
+ Ca(ye, {
1983
+ get seconds() {
1984
+ return e.get(w);
1985
+ },
1986
+ get isUrgent() {
1987
+ return e.get(ke);
1988
+ },
1989
+ get labels() {
1990
+ return a();
1991
+ }
1992
+ });
1993
+ }
1994
+ e.reset(le), e.append(F, le);
1995
+ };
1996
+ e.if(u, (F) => {
1997
+ e.get(L) && e.get(w) > 0 && F(f);
1998
+ });
1999
+ }
2000
+ var T = e.sibling(u, 2);
2001
+ {
2002
+ var O = (F) => {
2003
+ var le = Ut(), ye = e.child(le);
2004
+ hr(ye, {
2005
+ get eventID() {
2006
+ return t.eventId;
2007
+ },
2008
+ onpromoChange: Pe,
2009
+ get labels() {
2010
+ return a();
2011
+ }
2012
+ }), e.reset(le), e.append(F, le);
2013
+ };
2014
+ e.if(T, (F) => {
2015
+ e.get(P) && F(O);
2016
+ });
2017
+ }
2018
+ var A = e.sibling(T, 2), z = e.child(A);
2019
+ {
2020
+ let F = e.derived(() => e.get(Ve) || e.get(Fe));
2021
+ pr(z, {
2022
+ get tickets() {
2023
+ return e.get(r).availableTickets;
2024
+ },
2025
+ get quantities() {
2026
+ return e.get(j);
2027
+ },
2028
+ handleQuantityChange: dt,
2029
+ handleDonationChange: () => {
2030
+ },
2031
+ get revealHiddenTickets() {
2032
+ return e.get(Re);
2033
+ },
2034
+ get revealTicketIds() {
2035
+ return e.get(o);
2036
+ },
2037
+ get venueFeesReady() {
2038
+ return e.get(E);
2039
+ },
2040
+ get syncing() {
2041
+ return e.get(F);
2042
+ },
2043
+ get labels() {
2044
+ return a();
2045
+ }
2046
+ });
2047
+ }
2048
+ e.reset(A), e.reset(x), e.reset(n);
2049
+ var K = e.sibling(n, 2);
2050
+ {
2051
+ var q = (F) => {
2052
+ var le = Er();
2053
+ e.append(F, le);
2054
+ };
2055
+ e.if(K, (F) => {
2056
+ e.get(he) && !e.get(Se) && F(q);
2057
+ });
2058
+ }
2059
+ var c = e.sibling(K, 2);
2060
+ let m, I;
2061
+ var ne = e.child(c);
2062
+ {
2063
+ var pe = (F) => {
2064
+ yr(F, {});
2065
+ }, ee = (F) => {
2066
+ {
2067
+ let le = e.derived(() => a().checkout || "Checkout"), ye = e.derived(() => !!e.get(k));
2068
+ Ra(F, {
2069
+ get btnText() {
2070
+ return e.get(le);
2071
+ },
2072
+ get loading() {
2073
+ return e.get(Y);
2074
+ },
2075
+ checkoutTicket: it,
2076
+ get quantities() {
2077
+ return e.get(j);
2078
+ },
2079
+ get eventTickets() {
2080
+ return e.get(r).availableTickets;
2081
+ },
2082
+ get promoApplied() {
2083
+ return e.get(ye);
2084
+ },
2085
+ get promoDiscount() {
2086
+ return e.get(ge);
2087
+ },
2088
+ get taxAmount() {
2089
+ return e.get(we);
2090
+ },
2091
+ get taxLoading() {
2092
+ return e.get(M);
2093
+ },
2094
+ onPriceUpdate: () => {
2095
+ }
2096
+ });
2097
+ }
2098
+ };
2099
+ e.if(ne, (F) => {
2100
+ e.get(E) ? e.get(r) && e.get(r).availableTickets?.length && F(ee, 1) : F(pe);
2101
+ });
2102
+ }
2103
+ e.reset(c), e.reset(i), e.bind_this(i, (F) => e.set(ce, F), () => e.get(ce)), e.template_effect(() => {
2104
+ m = e.set_class(c, 1, "w-full md:w-80 flex flex-col transition-all will-change-[left] svelte-19g9ni4", null, m, { "is-sticky": e.get(he) }), I = e.set_style(c, "", I, { left: e.get(he) ? `${e.get(Ae)}px` : "auto" });
2105
+ }), e.append(s, i);
2106
+ };
2107
+ e.if(W, (s) => {
2108
+ e.get(De) ? s(re) : e.get(de) ? s(Z, 1) : e.get(r) && e.get(l) ? s(be, 2) : e.get(r) && e.get(l) ? s(qe, 3) : e.get(r) && s(Be, 4);
2109
+ });
2110
+ }
2111
+ e.reset($), e.bind_this($, (s) => e.set(p, s), () => e.get(p));
2112
+ var He = e.sibling($, 2);
2113
+ At(He, {
2114
+ get open() {
2115
+ return V.isOpen;
2116
+ },
2117
+ size: "sm",
2118
+ oncancel: et,
2119
+ "aria-labelledby": "error-modal-title",
2120
+ header: (x) => {
2121
+ var v = Fr(), u = e.child(v);
2122
+ {
2123
+ var f = (O) => {
2124
+ var A = e.text();
2125
+ e.template_effect(() => e.set_text(A, a().unableToReserveTickets || "Unable to Reserve Tickets")), e.append(O, A);
2126
+ }, T = (O) => {
2127
+ var A = e.text();
2128
+ e.template_effect(() => e.set_text(A, a().connectionIssue || "Connection Issue")), e.append(O, A);
2129
+ };
2130
+ e.if(u, (O) => {
2131
+ e.get(D) === "cart_failed" ? O(f) : O(T, -1);
2132
+ });
2133
+ }
2134
+ e.reset(v), e.append(x, v);
2135
+ },
2136
+ body: (x) => {
2137
+ var v = Mr(), u = e.child(v);
2138
+ {
2139
+ var f = (O) => {
2140
+ var A = Vt(), z = e.first_child(A), K = e.child(z, !0);
2141
+ e.reset(z);
2142
+ var q = e.sibling(z, 2), c = e.child(q, !0);
2143
+ e.reset(q), e.template_effect(() => {
2144
+ e.set_text(K, a().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(c, a().pleaseGoBackAndTryAgain || "Please go back and try again.");
2145
+ }), e.append(O, A);
2146
+ }, T = (O) => {
2147
+ var A = Vt(), z = e.first_child(A), K = e.child(z, !0);
2148
+ e.reset(z);
2149
+ var q = e.sibling(z, 2), c = e.child(q, !0);
2150
+ e.reset(q), e.template_effect(() => {
2151
+ e.set_text(K, a().cartSuccessMessage || "Good news! Your tickets have been reserved and are being held for you."), e.set_text(c, a().cartSuccessNetworkError || "However, we encountered a connection issue. Please refresh the page to continue to checkout.");
2152
+ }), e.append(O, A);
2153
+ };
2154
+ e.if(u, (O) => {
2155
+ e.get(D) === "cart_failed" ? O(f) : O(T, -1);
2156
+ });
2157
+ }
2158
+ e.reset(v), e.append(x, v);
2159
+ },
2160
+ footer: (x) => {
2161
+ var v = Lr(), u = e.child(v);
2162
+ {
2163
+ var f = (O) => {
2164
+ {
2165
+ let A = e.derived(() => a().goBack || "Go back");
2166
+ $e(O, {
2167
+ variant: "default",
2168
+ onclick: et,
2169
+ get "aria-label"() {
2170
+ return e.get(A);
2171
+ },
2172
+ children: (z, K) => {
2173
+ e.next();
2174
+ var q = e.text();
2175
+ e.template_effect(() => e.set_text(q, a().goBack || "Go back")), e.append(z, q);
2176
+ },
2177
+ $$slots: { default: !0 }
2178
+ });
2179
+ }
2180
+ }, T = (O) => {
2181
+ var A = jr(), z = e.first_child(A);
2182
+ {
2183
+ let q = e.derived(() => a().cancel || "Cancel");
2184
+ $e(z, {
2185
+ variant: "alternative",
2186
+ onclick: et,
2187
+ get "aria-label"() {
2188
+ return e.get(q);
2189
+ },
2190
+ children: (c, m) => {
2191
+ e.next();
2192
+ var I = e.text();
2193
+ e.template_effect(() => e.set_text(I, a().cancel || "Cancel")), e.append(c, I);
2194
+ },
2195
+ $$slots: { default: !0 }
2196
+ });
2197
+ }
2198
+ var K = e.sibling(z, 2);
2199
+ {
2200
+ let q = e.derived(() => a().refreshPage || "Refresh Page");
2201
+ $e(K, {
2202
+ variant: "default",
2203
+ onclick: b,
2204
+ get "aria-label"() {
2205
+ return e.get(q);
2206
+ },
2207
+ children: (c, m) => {
2208
+ e.next();
2209
+ var I = e.text();
2210
+ e.template_effect(() => e.set_text(I, a().refreshPage || "Refresh Page")), e.append(c, I);
2211
+ },
2212
+ $$slots: { default: !0 }
2213
+ });
2214
+ }
2215
+ e.append(O, A);
2216
+ };
2217
+ e.if(u, (O) => {
2218
+ e.get(D) === "cart_failed" ? O(f) : O(T, -1);
2219
+ });
2220
+ }
2221
+ e.reset(v), e.append(x, v);
2222
+ },
2223
+ $$slots: { header: !0, body: !0, footer: !0 }
2224
+ });
2225
+ var nt = e.sibling(He, 2);
2226
+ At(nt, {
2227
+ get open() {
2228
+ return d.isOpen;
2229
+ },
2230
+ size: "sm",
2231
+ persistent: !0,
2232
+ oncancel: () => {
2233
+ d.close(), at("checkout-cartid"), window.location.reload();
2234
+ },
2235
+ "aria-labelledby": "expired-modal-title",
2236
+ header: (x) => {
2237
+ var v = Br(), u = e.child(v, !0);
2238
+ e.reset(v), e.template_effect(() => e.set_text(u, a().cartExpiredTitle || "Your cart has expired")), e.append(x, v);
2239
+ },
2240
+ body: (x) => {
2241
+ var v = zr(), u = e.child(v, !0);
2242
+ e.reset(v), e.template_effect(() => e.set_text(u, a().cartExpiredMessage || "Your cart has expired. Please start your purchase again.")), e.append(x, v);
2243
+ },
2244
+ footer: (x) => {
2245
+ $e(x, {
2246
+ variant: "default",
2247
+ onclick: () => {
2248
+ d.close(), at("checkout-cartid"), window.location.reload();
2249
+ },
2250
+ children: (v, u) => {
2251
+ e.next();
2252
+ var f = e.text();
2253
+ e.template_effect(() => e.set_text(f, a().startOver || "Start over")), e.append(v, f);
2254
+ },
2255
+ $$slots: { default: !0 }
2256
+ });
2257
+ },
2258
+ $$slots: { header: !0, body: !0, footer: !0 }
2259
+ });
2260
+ var mt = e.sibling(nt, 2);
2261
+ At(mt, {
2262
+ get open() {
2263
+ return J.isOpen;
2264
+ },
2265
+ size: "sm",
2266
+ oncancel: st,
2267
+ "aria-labelledby": "availability-modal-title",
2268
+ header: (x) => {
2269
+ var v = Qr(), u = e.child(v, !0);
2270
+ e.reset(v), e.template_effect(() => e.set_text(u, a().limitedAvailability || "Limited Availability")), e.append(x, v);
2271
+ },
2272
+ body: (x) => {
2273
+ var v = Rr(), u = e.child(v), f = e.child(u, !0);
2274
+ e.reset(u);
2275
+ var T = e.sibling(u, 2);
2276
+ e.each(T, 21, () => e.get(ae), e.index, (q, c) => {
2277
+ var m = Nr(), I = e.child(m), ne = e.child(I);
2278
+ e.reset(I);
2279
+ var pe = e.sibling(I, 2);
2280
+ {
2281
+ var ee = (le) => {
2282
+ var ye = e.text();
2283
+ e.template_effect((ke) => e.set_text(ye, ke), [
2284
+ () => (a().onlyNAvailable || "Only {available} available (you selected {requested})").replace("{available}", String(e.get(c).availableQty)).replace("{requested}", String(e.get(c).requestedQty))
2285
+ ]), e.append(le, ye);
2286
+ }, F = (le) => {
2287
+ var ye = e.text();
2288
+ e.template_effect((ke) => e.set_text(ye, ke), [
2289
+ () => (a().soldOutYouSelected || "Sold out (you selected {requested})").replace("{requested}", String(e.get(c).requestedQty))
2290
+ ]), e.append(le, ye);
2291
+ };
2292
+ e.if(pe, (le) => {
2293
+ e.get(c).availableQty > 0 ? le(ee) : le(F, -1);
2294
+ });
2295
+ }
2296
+ e.reset(m), e.template_effect(() => e.set_text(ne, `${e.get(c).ticketName ?? ""}:`)), e.append(q, m);
2297
+ }), e.reset(T);
2298
+ var O = e.sibling(T, 2);
2299
+ {
2300
+ var A = (q) => {
2301
+ var c = Wt(), m = e.child(c, !0);
2302
+ e.reset(c), e.template_effect(() => e.set_text(m, a().partialAvailabilityContinue || "Would you like to continue with the available tickets?")), e.append(q, c);
2303
+ }, z = e.derived(() => e.get(ae).some((q) => q.availableQty > 0)), K = (q) => {
2304
+ var c = Wt(), m = e.child(c, !0);
2305
+ e.reset(c), e.template_effect(() => e.set_text(m, a().allTicketsSoldOut || "Unfortunately, all the tickets you selected have sold out.")), e.append(q, c);
2306
+ };
2307
+ e.if(O, (q) => {
2308
+ e.get(z) ? q(A) : q(K, -1);
2309
+ });
2310
+ }
2311
+ e.reset(v), e.template_effect(() => {
2312
+ e.set_text(f, a().ticketsNoLongerAvailableMessage || "Some tickets you selected are no longer available in the requested quantities:"), e.set_attribute(T, "aria-label", a().ticketAvailabilityChanges || "Ticket availability changes");
2313
+ }), e.append(x, v);
2314
+ },
2315
+ footer: (x) => {
2316
+ var v = qr(), u = e.child(v);
2317
+ {
2318
+ let A = e.derived(() => a().goBack || "Go back");
2319
+ $e(u, {
2320
+ variant: "alternative",
2321
+ onclick: st,
2322
+ get "aria-label"() {
2323
+ return e.get(A);
2324
+ },
2325
+ children: (z, K) => {
2326
+ e.next();
2327
+ var q = e.text();
2328
+ e.template_effect(() => e.set_text(q, a().goBack || "Go back")), e.append(z, q);
2329
+ },
2330
+ $$slots: { default: !0 }
2331
+ });
2332
+ }
2333
+ var f = e.sibling(u, 2);
2334
+ {
2335
+ var T = (A) => {
2336
+ {
2337
+ let z = e.derived(() => a().continueWithAvailable || "Continue with available");
2338
+ $e(A, {
2339
+ variant: "default",
2340
+ onclick: Xe,
2341
+ get "aria-label"() {
2342
+ return e.get(z);
2343
+ },
2344
+ children: (K, q) => {
2345
+ e.next();
2346
+ var c = e.text();
2347
+ e.template_effect(() => e.set_text(c, a().continueWithAvailable || "Continue with available")), e.append(K, c);
2348
+ },
2349
+ $$slots: { default: !0 }
2350
+ });
2351
+ }
2352
+ }, O = e.derived(() => e.get(ae).some((A) => A.availableQty > 0));
2353
+ e.if(f, (A) => {
2354
+ e.get(O) && A(T);
2355
+ });
2356
+ }
2357
+ e.reset(v), e.append(x, v);
2358
+ },
2359
+ $$slots: { header: !0, body: !0, footer: !0 }
2360
+ }), e.append(ie, X), e.pop();
2361
+ }
2362
+ e.delegate(["click"]);
2363
+ export {
2364
+ $r as default
2365
+ };
2366
+ //# sourceMappingURL=CartView-YGOycNP9.js.map