@getmicdrop/venue-calendar 4.0.96 → 4.0.97

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