@getmicdrop/venue-calendar 4.0.89 → 4.0.91

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