@getmicdrop/venue-calendar 4.0.9 → 4.0.11

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