@getmicdrop/venue-calendar 3.8.4 → 4.0.4

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