@getmicdrop/venue-calendar 4.0.16 → 4.0.19

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 (72) hide show
  1. package/dist/AirbnbSplitMain-D1ktGJoQ.js +2251 -0
  2. package/dist/AirbnbSplitMain-D1ktGJoQ.js.map +1 -0
  3. package/dist/{CarouselView.legacy-DsjjN4Mt.js → CarouselView.legacy-ClsjI4wG.js} +6 -6
  4. package/dist/CarouselView.legacy-ClsjI4wG.js.map +1 -0
  5. package/dist/CartView-XnpveVN5.js +1698 -0
  6. package/dist/CartView-XnpveVN5.js.map +1 -0
  7. package/dist/{Checkout-z52QUN3y.js → Checkout-BV840oyO.js} +128 -125
  8. package/dist/Checkout-BV840oyO.js.map +1 -0
  9. package/dist/{Checkout.legacy-Ig9FPoDa.js → Checkout.legacy-DXDFB0sk.js} +196 -196
  10. package/dist/Checkout.legacy-DXDFB0sk.js.map +1 -0
  11. package/dist/{CheckoutMain-Bh4PlLmD.js → CheckoutMain-BQ8776ZS.js} +416 -416
  12. package/dist/CheckoutMain-BQ8776ZS.js.map +1 -0
  13. package/dist/{CheckoutTimer-Cx4Bbxx8.js → CheckoutTimer-CrJ_ISKu.js} +2 -2
  14. package/dist/{CheckoutTimer-Cx4Bbxx8.js.map → CheckoutTimer-CrJ_ISKu.js.map} +1 -1
  15. package/dist/{CollectionView-6oc8Mlwb.js → CollectionView-Bj1UUA3g.js} +10 -10
  16. package/dist/{CollectionView-6oc8Mlwb.js.map → CollectionView-Bj1UUA3g.js.map} +1 -1
  17. package/dist/{CollectionView.legacy-BMTwRWq2.js → CollectionView.legacy-D85Bcb49.js} +36 -36
  18. package/dist/{CollectionView.legacy-BMTwRWq2.js.map → CollectionView.legacy-D85Bcb49.js.map} +1 -1
  19. package/dist/{EventDetailsView-v5bl-qNF.js → EventDetailsView-yNaTsG9s.js} +2 -2
  20. package/dist/{EventDetailsView-v5bl-qNF.js.map → EventDetailsView-yNaTsG9s.js.map} +1 -1
  21. package/dist/{FeaturedView.legacy-CZ9mfLAZ.js → FeaturedView.legacy-C8PRE0Yl.js} +18 -18
  22. package/dist/{FeaturedView.legacy-CZ9mfLAZ.js.map → FeaturedView.legacy-C8PRE0Yl.js.map} +1 -1
  23. package/dist/{GalleryCard-Bt7LGVRS.js → GalleryCard-D4m6USyN.js} +18 -18
  24. package/dist/{GalleryCard-Bt7LGVRS.js.map → GalleryCard-D4m6USyN.js.map} +1 -1
  25. package/dist/{GalleryView.legacy-muIVCbqi.js → GalleryView.legacy-Dkc2p9-3.js} +8 -8
  26. package/dist/{GalleryView.legacy-muIVCbqi.js.map → GalleryView.legacy-Dkc2p9-3.js.map} +1 -1
  27. package/dist/{GroupedListView.legacy-DrFwAyTl.js → GroupedListView.legacy-BEF3wLRm.js} +19 -19
  28. package/dist/{GroupedListView.legacy-DrFwAyTl.js.map → GroupedListView.legacy-BEF3wLRm.js.map} +1 -1
  29. package/dist/Heading-AFd3o0xt.js.map +1 -1
  30. package/dist/{SeriesPage-6N-nHQjn.js → SeriesPage-BGIBDhAb.js} +5 -5
  31. package/dist/{SeriesPage-6N-nHQjn.js.map → SeriesPage-BGIBDhAb.js.map} +1 -1
  32. package/dist/{SeriesPage.legacy-DEgRWqPd.js → SeriesPage.legacy-Cke7iLEf.js} +29 -29
  33. package/dist/{SeriesPage.legacy-DEgRWqPd.js.map → SeriesPage.legacy-Cke7iLEf.js.map} +1 -1
  34. package/dist/{Success-S3nnKJSN.js → Success-BxBKmrdp.js} +10 -10
  35. package/dist/{Success-S3nnKJSN.js.map → Success-BxBKmrdp.js.map} +1 -1
  36. package/dist/{Success.legacy-CrvK6Him.js → Success.legacy-CAIcvbKu.js} +21 -21
  37. package/dist/{Success.legacy-CrvK6Him.js.map → Success.legacy-CAIcvbKu.js.map} +1 -1
  38. package/dist/Text-CXR2fhx6.js.map +1 -1
  39. package/dist/{VenueCalendar-DDQiula0.js → VenueCalendar-DGVnL-ZI.js} +3577 -3452
  40. package/dist/VenueCalendar-DGVnL-ZI.js.map +1 -0
  41. package/dist/{ViewTicketsEmbed-CnmUZcbk.js → ViewTicketsEmbed-8W-tCTuc.js} +149 -149
  42. package/dist/{ViewTicketsEmbed-CnmUZcbk.js.map → ViewTicketsEmbed-8W-tCTuc.js.map} +1 -1
  43. package/dist/api/api.cjs +1 -1
  44. package/dist/api/api.cjs.map +1 -1
  45. package/dist/api/api.mjs +476 -386
  46. package/dist/api/api.mjs.map +1 -1
  47. package/dist/api/cta.d.ts +5 -1
  48. package/dist/api/index.d.ts +3 -2
  49. package/dist/api/orders.d.ts +44 -0
  50. package/dist/api/types.d.ts +10 -1
  51. package/dist/{labels-B_xY0DKp.js → labels-DdvfRlAl.js} +435 -282
  52. package/dist/labels-DdvfRlAl.js.map +1 -0
  53. package/dist/{transform-ChBa5AQk.js → transform-n7lJc0-D.js} +111 -75
  54. package/dist/transform-n7lJc0-D.js.map +1 -0
  55. package/dist/venue-calendar.css +1 -1
  56. package/dist/venue-calendar.es.js +22 -22
  57. package/dist/venue-calendar.iife.js +44 -42
  58. package/dist/venue-calendar.iife.js.map +1 -1
  59. package/dist/venue-calendar.umd.js +44 -42
  60. package/dist/venue-calendar.umd.js.map +1 -1
  61. package/package.json +163 -163
  62. package/dist/AirbnbSplitMain-BU6GgIpx.js +0 -2201
  63. package/dist/AirbnbSplitMain-BU6GgIpx.js.map +0 -1
  64. package/dist/CarouselView.legacy-DsjjN4Mt.js.map +0 -1
  65. package/dist/CartView-B6QO6vQv.js +0 -1682
  66. package/dist/CartView-B6QO6vQv.js.map +0 -1
  67. package/dist/Checkout-z52QUN3y.js.map +0 -1
  68. package/dist/Checkout.legacy-Ig9FPoDa.js.map +0 -1
  69. package/dist/CheckoutMain-Bh4PlLmD.js.map +0 -1
  70. package/dist/VenueCalendar-DDQiula0.js.map +0 -1
  71. package/dist/labels-B_xY0DKp.js.map +0 -1
  72. package/dist/transform-ChBa5AQk.js.map +0 -1
package/dist/api/api.mjs CHANGED
@@ -1,116 +1,116 @@
1
- import { createLogger as v } from "@getmicdrop/svelte-components/utils/logger";
2
- import { formatDateRaw as U, formatCurrency as q } from "@getmicdrop/svelte-components/utils/formatters";
3
- const A = v("VC"), E = {
1
+ import { createLogger as b } from "@getmicdrop/svelte-components/utils/logger";
2
+ import { formatDateRaw as R, formatCurrency as L } from "@getmicdrop/svelte-components/utils/formatters";
3
+ const k = b("VC"), O = {
4
4
  baseUrl: "https://get-micdrop.com",
5
5
  timeout: 3e4,
6
6
  retries: 2,
7
7
  retryDelay: 500,
8
- onError: (e) => A.error("API Error:", e)
8
+ onError: (e) => k.error("API Error:", e)
9
9
  };
10
- let h = { ...E };
11
- function ne(e) {
12
- h = { ...h, ...e };
10
+ let y = { ...O };
11
+ function ae(e) {
12
+ y = { ...y, ...e };
13
13
  }
14
- function se() {
15
- return { ...h };
14
+ function ce() {
15
+ return { ...y };
16
16
  }
17
- function s() {
18
- return `${h.baseUrl}/api/v2/public`;
17
+ function c() {
18
+ return `${y.baseUrl}/api/v2/public`;
19
19
  }
20
- function ae() {
21
- return `${h.baseUrl}/api/public`;
20
+ function ie() {
21
+ return `${y.baseUrl}/api/public`;
22
22
  }
23
- function N() {
24
- return `${h.baseUrl}/api/orders/v2/public`;
23
+ function D() {
24
+ return `${y.baseUrl}/api/orders/v2/public`;
25
25
  }
26
- async function ce() {
26
+ async function ue() {
27
27
  return "";
28
28
  }
29
- const O = (e) => new Promise((r) => setTimeout(r, e));
30
- async function L(e, r, t) {
31
- const o = (r.method || "GET").toUpperCase(), a = o === "GET" || o === "HEAD" ? t.retries + 1 : 1;
32
- let c;
29
+ const G = (e) => new Promise((r) => setTimeout(r, e));
30
+ async function q(e, r, t) {
31
+ const n = (r.method || "GET").toUpperCase(), a = n === "GET" || n === "HEAD" ? t.retries + 1 : 1;
32
+ let s;
33
33
  for (let i = 1; i <= a; i++) {
34
- const m = new AbortController(), $ = setTimeout(() => m.abort(), t.timeout), y = r.signal;
35
- let _;
36
- y && (y.aborted ? m.abort() : (_ = () => m.abort(), y.addEventListener("abort", _, { once: !0 })));
34
+ const l = new AbortController(), _ = setTimeout(() => l.abort(), t.timeout), h = r.signal;
35
+ let m;
36
+ h && (h.aborted ? l.abort() : (m = () => l.abort(), h.addEventListener("abort", m, { once: !0 })));
37
37
  try {
38
- const u = await fetch(e, { ...r, signal: m.signal });
39
- if (u.status >= 500 && i < a)
40
- c = new Error(`HTTP ${u.status}`);
38
+ const g = await fetch(e, { ...r, signal: l.signal });
39
+ if (g.status >= 500 && i < a)
40
+ s = new Error(`HTTP ${g.status}`);
41
41
  else
42
- return u;
43
- } catch (u) {
44
- if (c = u, y?.aborted) throw u;
42
+ return g;
43
+ } catch (g) {
44
+ if (s = g, h?.aborted) throw g;
45
45
  } finally {
46
- clearTimeout($), y && _ && y.removeEventListener("abort", _);
46
+ clearTimeout(_), h && m && h.removeEventListener("abort", m);
47
47
  }
48
- i < a && await O(t.retryDelay * Math.pow(2, i - 1));
48
+ i < a && await G(t.retryDelay * Math.pow(2, i - 1));
49
49
  }
50
- throw c;
50
+ throw s;
51
51
  }
52
- async function ie(e, r) {
53
- return k("GET", e, void 0, r);
52
+ async function le(e, r) {
53
+ return N("GET", e, void 0, r);
54
54
  }
55
- async function le(e, r, t) {
56
- return k("POST", e, r, t);
55
+ async function de(e, r, t) {
56
+ return N("POST", e, r, t);
57
57
  }
58
- async function ue(e, r, t) {
59
- return k("PUT", e, r, t);
58
+ async function fe(e, r, t) {
59
+ return N("PUT", e, r, t);
60
60
  }
61
- async function de(e, r) {
62
- return k("DELETE", e, void 0, r);
61
+ async function me(e, r) {
62
+ return N("DELETE", e, void 0, r);
63
63
  }
64
- async function k(e, r, t, o) {
65
- const n = r.startsWith("http") ? r : `${s()}${r}`;
64
+ async function N(e, r, t, n) {
65
+ const o = r.startsWith("http") ? r : `${c()}${r}`;
66
66
  try {
67
- const a = await L(
68
- n,
67
+ const a = await q(
68
+ o,
69
69
  {
70
70
  method: e,
71
71
  headers: {
72
72
  "Content-Type": "application/json",
73
- ...o?.headers
73
+ ...n?.headers
74
74
  },
75
75
  body: t !== void 0 ? JSON.stringify(t) : void 0,
76
76
  credentials: "include",
77
- ...o
77
+ ...n
78
78
  },
79
- h
79
+ y
80
80
  );
81
81
  if (!a.ok) {
82
- const i = await a.json().catch(() => ({})), m = i.error || i.message || `HTTP ${a.status}`;
83
- return h.onError(new Error(m)), { success: !1, error: m, statusCode: a.status };
82
+ const i = await a.json().catch(() => ({})), l = i.error || i.message || `HTTP ${a.status}`;
83
+ return y.onError(new Error(l)), { success: !1, error: l, statusCode: a.status };
84
84
  }
85
85
  return { success: !0, data: await a.json(), statusCode: a.status };
86
86
  } catch (a) {
87
- const c = a instanceof Error ? a.name === "AbortError" ? "Request timed out" : a.message : "Unknown error";
88
- return h.onError(
89
- a instanceof Error ? a : new Error(c)
90
- ), { success: !1, error: c };
87
+ const s = a instanceof Error ? a.name === "AbortError" ? "Request timed out" : a.message : "Unknown error";
88
+ return y.onError(
89
+ a instanceof Error ? a : new Error(s)
90
+ ), { success: !1, error: s };
91
91
  }
92
92
  }
93
- async function G(e, r) {
93
+ async function B(e, r) {
94
94
  try {
95
- const t = await L(
95
+ const t = await q(
96
96
  e,
97
97
  { credentials: "include", ...r },
98
- h
98
+ y
99
99
  );
100
100
  if (!t.ok) {
101
- const o = await t.json().catch(() => ({}));
102
- return A.error(`API request failed: ${t.status}`, o), null;
101
+ const n = await t.json().catch(() => ({}));
102
+ return k.error(`API request failed: ${t.status}`, n), null;
103
103
  }
104
104
  return t.json();
105
105
  } catch (t) {
106
- return A.error("API request error:", t), null;
106
+ return k.error("API request error:", t), null;
107
107
  }
108
108
  }
109
- const f = v("VC");
110
- async function fe(e, r, t) {
109
+ const f = b("VC");
110
+ async function he(e, r, t) {
111
111
  try {
112
- const o = await fetch(
113
- `${N()}/cart/${e}/payment-intent`,
112
+ const n = await fetch(
113
+ `${D()}/cart/${e}/payment-intent`,
114
114
  {
115
115
  method: "POST",
116
116
  headers: {
@@ -123,20 +123,77 @@ async function fe(e, r, t) {
123
123
  })
124
124
  }
125
125
  );
126
- if (!o.ok) {
127
- const a = await o.json().catch(() => ({}));
126
+ if (!n.ok) {
127
+ const a = await n.json().catch(() => ({}));
128
128
  throw f.error("Payment intent creation failed:", a), new Error(a.error || "Failed to create payment intent");
129
129
  }
130
- const n = await o.json();
131
- return f.debug("Payment intent created:", n), n;
132
- } catch (o) {
133
- return f.error("createPaymentIntent error:", o), null;
130
+ const o = await n.json();
131
+ return f.debug("Payment intent created:", o), o;
132
+ } catch (n) {
133
+ return f.error("createPaymentIntent error:", n), null;
134
+ }
135
+ }
136
+ async function ye(e, r) {
137
+ if (!e) return null;
138
+ try {
139
+ const t = await fetch(`${D()}/cart/${e}`, {
140
+ method: "GET",
141
+ headers: { "Content-Type": "application/json" },
142
+ credentials: "include"
143
+ });
144
+ if (!t.ok)
145
+ return null;
146
+ const n = await t.json(), o = n.UUID ?? n.uuid ?? "", a = Number(n.EventID ?? n.eventID ?? 0), s = n.Status ?? n.status ?? "", i = n.ExpiresAt ?? n.expiresAt ?? "", _ = (n.Reservations ?? n.reservations ?? []).map((h) => {
147
+ const m = h;
148
+ return {
149
+ ticketID: Number(m.TicketID ?? m.ticketID ?? 0),
150
+ quantity: Number(m.Quantity ?? m.quantity ?? 0),
151
+ priceAtReservation: Number(
152
+ m.PriceAtReservation ?? m.priceAtReservation ?? 0
153
+ ),
154
+ status: String(m.Status ?? m.status ?? "")
155
+ };
156
+ });
157
+ return s !== "reserved" && s !== "active" || r !== void 0 && a !== Number(r) ? null : { uuid: o, eventID: a, status: s, expiresAt: i, reservations: _ };
158
+ } catch (t) {
159
+ return f.error("getCartByUUID error:", t), null;
160
+ }
161
+ }
162
+ async function ge(e, r, t) {
163
+ try {
164
+ const n = {};
165
+ for (const [s, i] of Object.entries(r)) {
166
+ const l = typeof s == "number" ? s : parseInt(s, 10);
167
+ !Number.isNaN(l) && i > 0 && (n[l] = i);
168
+ }
169
+ const o = {};
170
+ if (t)
171
+ for (const [s, i] of Object.entries(t)) {
172
+ const l = typeof s == "number" ? s : parseInt(s, 10);
173
+ !Number.isNaN(l) && i > 0 && (o[l] = i);
174
+ }
175
+ const a = await fetch(`${D()}/cart/${e}`, {
176
+ method: "PUT",
177
+ headers: { "Content-Type": "application/json" },
178
+ credentials: "include",
179
+ body: JSON.stringify({
180
+ quantities: n,
181
+ ...Object.keys(o).length > 0 ? { donationAmounts: o } : {}
182
+ })
183
+ });
184
+ if (!a.ok) {
185
+ const s = await a.json().catch(() => ({}));
186
+ return f.error("Cart update failed:", s), !1;
187
+ }
188
+ return !0;
189
+ } catch (n) {
190
+ return f.error("updateCartQuantities error:", n), !1;
134
191
  }
135
192
  }
136
- async function me(e) {
193
+ async function we(e) {
137
194
  try {
138
195
  const r = await fetch(
139
- `${s()}/orders/complete/${e}`,
196
+ `${c()}/orders/complete/${e}`,
140
197
  {
141
198
  method: "POST",
142
199
  headers: {
@@ -155,10 +212,10 @@ async function me(e) {
155
212
  return f.error("Error completing reservation:", r), { success: !1, error: "Network error completing reservation" };
156
213
  }
157
214
  }
158
- async function he(e) {
215
+ async function ve(e) {
159
216
  try {
160
217
  const r = await fetch(
161
- `${s()}/orders/cancel/${e}`,
218
+ `${c()}/orders/cancel/${e}`,
162
219
  {
163
220
  method: "POST",
164
221
  headers: {
@@ -177,9 +234,9 @@ async function he(e) {
177
234
  return f.error("Error cancelling reservation:", r), { success: !1, error: "Network error cancelling reservation" };
178
235
  }
179
236
  }
180
- async function ye(e, r) {
237
+ async function _e(e, r) {
181
238
  try {
182
- const t = await fetch(`${s()}/orders/create`, {
239
+ const t = await fetch(`${c()}/orders/create`, {
183
240
  method: "POST",
184
241
  headers: {
185
242
  "Content-Type": "application/json"
@@ -190,21 +247,21 @@ async function ye(e, r) {
190
247
  })
191
248
  });
192
249
  if (!t.ok) {
193
- const o = await t.json().catch(() => ({}));
194
- return f.error("Create order failed:", o), null;
250
+ const n = await t.json().catch(() => ({}));
251
+ return f.error("Create order failed:", n), null;
195
252
  }
196
253
  return t.json();
197
254
  } catch (t) {
198
255
  return f.error("createOrder error:", t), null;
199
256
  }
200
257
  }
201
- async function ge(e) {
202
- return G(`${s()}/orders/${e}`);
258
+ async function $e(e) {
259
+ return B(`${c()}/orders/${e}`);
203
260
  }
204
- async function we(e, r) {
261
+ async function be(e, r) {
205
262
  try {
206
263
  const t = await fetch(
207
- `${N()}/validatePaymentIntent/${e}`,
264
+ `${D()}/validatePaymentIntent/${e}`,
208
265
  {
209
266
  method: "POST",
210
267
  headers: {
@@ -214,36 +271,40 @@ async function we(e, r) {
214
271
  }
215
272
  );
216
273
  if (!t.ok) {
217
- const n = await t.json().catch(() => ({}));
218
- return f.error("Payment validation failed:", n), {
274
+ const o = await t.json().catch(() => ({}));
275
+ return f.error("Payment validation failed:", o), {
219
276
  success: !1,
220
277
  status: "failed",
221
- error: n.error || "Payment validation failed"
278
+ error: o.error || "Payment validation failed"
222
279
  };
223
280
  }
224
- const o = await t.json();
281
+ const n = await t.json();
225
282
  return {
226
283
  success: !0,
227
- status: o.status || "Payment succeeded",
228
- orderUUID: o.orderUUID || o.uuid
284
+ status: n.status || "Payment succeeded",
285
+ orderUUID: n.orderUUID || n.uuid
229
286
  };
230
287
  } catch (t) {
231
288
  return f.error("validatePaymentIntent error:", t), null;
232
289
  }
233
290
  }
234
- async function _e(e) {
291
+ async function pe(e) {
235
292
  try {
236
- const r = await fetch(`${s()}/orders/extend-session`, {
237
- method: "POST",
238
- headers: {
239
- "Content-Type": "application/json"
240
- },
241
- body: JSON.stringify({ orderUuid: e })
242
- });
293
+ const r = await fetch(
294
+ `${c()}/orders/extend-session`,
295
+ {
296
+ method: "POST",
297
+ headers: {
298
+ "Content-Type": "application/json"
299
+ },
300
+ body: JSON.stringify({ orderUuid: e })
301
+ }
302
+ );
243
303
  if (!r.ok)
244
304
  return {
245
305
  success: !1,
246
- error: (await r.json().catch(() => ({}))).error || "Failed to extend session"
306
+ error: (await r.json().catch(() => ({}))).error || "Failed to extend session",
307
+ statusCode: r.status
247
308
  };
248
309
  const t = await r.json();
249
310
  return {
@@ -255,10 +316,10 @@ async function _e(e) {
255
316
  return f.error("Error extending checkout session:", r), { success: !1, error: "Network error extending session" };
256
317
  }
257
318
  }
258
- async function ve(e) {
319
+ async function Ce(e) {
259
320
  try {
260
321
  const r = await fetch(
261
- `${s()}/orders/session/${e}`
322
+ `${c()}/orders/session/${e}`
262
323
  );
263
324
  if (!r.ok)
264
325
  return {
@@ -277,9 +338,9 @@ async function ve(e) {
277
338
  return f.error("Error getting session status:", r), { error: "Network error getting session status" };
278
339
  }
279
340
  }
280
- async function $e(e = {}) {
341
+ async function Pe(e = {}) {
281
342
  try {
282
- const r = await fetch(`${s()}/orders/create`, {
343
+ const r = await fetch(`${c()}/orders/create`, {
283
344
  method: "POST",
284
345
  headers: {
285
346
  "Content-Type": "application/json"
@@ -287,63 +348,63 @@ async function $e(e = {}) {
287
348
  body: JSON.stringify(e)
288
349
  });
289
350
  if (!r.ok) {
290
- const o = await r.json().catch(() => ({}));
291
- return f.error("Order initiation failed:", o), null;
351
+ const n = await r.json().catch(() => ({}));
352
+ return f.error("Order initiation failed:", n), null;
292
353
  }
293
354
  return (await r.json()).uuid;
294
355
  } catch (r) {
295
356
  return f.error("initiateOrder error:", r), null;
296
357
  }
297
358
  }
298
- async function Pe(e) {
359
+ async function Se(e) {
299
360
  if (typeof window > "u") return;
300
361
  const t = new URLSearchParams(window.location.search).get("utm_source") || "Direct";
301
362
  try {
302
363
  await fetch(
303
- `${s()}/utm/${e}/${encodeURIComponent(t)}`
364
+ `${c()}/utm/${e}/${encodeURIComponent(t)}`
304
365
  );
305
- } catch (o) {
306
- f.error("UTM tracking failed:", o);
366
+ } catch (n) {
367
+ f.error("UTM tracking failed:", n);
307
368
  }
308
369
  }
309
- const j = v("VC");
310
- async function Ce(e, r) {
370
+ const I = b("VC");
371
+ async function De(e, r) {
311
372
  try {
312
373
  if (!r || !r.trim())
313
374
  return { valid: !1, error: "Promo code is required" };
314
- const t = encodeURIComponent(r.trim()), o = await fetch(
315
- `${s()}/promo-codes/validate/${e}/${t}`
375
+ const t = encodeURIComponent(r.trim()), n = await fetch(
376
+ `${c()}/promo-codes/validate/${e}/${t}`
316
377
  );
317
- if (!o.ok)
318
- return o.status === 404 ? { valid: !1, error: "Invalid promo code" } : { valid: !1, error: (await o.json().catch(() => ({}))).error || "Failed to validate code" };
319
- const n = await o.json();
378
+ if (!n.ok)
379
+ return n.status === 404 ? { valid: !1, error: "Invalid promo code" } : { valid: !1, error: (await n.json().catch(() => ({}))).error || "Failed to validate code" };
380
+ const o = await n.json();
320
381
  return {
321
- valid: n.valid ?? !0,
322
- revealHiddenTickets: n.revealHiddenTickets,
323
- revealTicketIds: n.revealTicketIds,
324
- provideDiscount: n.provideDiscount,
325
- discountType: n.discountType,
326
- amount: n.amount,
327
- code: n.code || r
382
+ valid: o.valid ?? !0,
383
+ revealHiddenTickets: o.revealHiddenTickets,
384
+ revealTicketIds: o.revealTicketIds,
385
+ provideDiscount: o.provideDiscount,
386
+ discountType: o.discountType,
387
+ amount: o.amount,
388
+ code: o.code || r
328
389
  };
329
390
  } catch (t) {
330
- return j.error("Error validating promo code:", t), { valid: !1, error: "Network error validating code" };
391
+ return I.error("Error validating promo code:", t), { valid: !1, error: "Network error validating code" };
331
392
  }
332
393
  }
333
- async function be(e) {
394
+ async function je(e) {
334
395
  try {
335
396
  const r = await fetch(
336
- `${s()}/promo-codes/check/${e}`
397
+ `${c()}/promo-codes/check/${e}`
337
398
  );
338
399
  return r.ok ? (await r.json()).hasPromoCodes === !0 : !0;
339
400
  } catch (r) {
340
- return j.error("Error checking promo codes availability:", r), !0;
401
+ return I.error("Error checking promo codes availability:", r), !0;
341
402
  }
342
403
  }
343
- async function pe(e, r) {
404
+ async function Ae(e, r) {
344
405
  try {
345
406
  const t = await fetch(
346
- `${s()}/orders/${e}/apply-promo`,
407
+ `${c()}/orders/${e}/apply-promo`,
347
408
  {
348
409
  method: "POST",
349
410
  headers: {
@@ -357,13 +418,13 @@ async function pe(e, r) {
357
418
  error: (await t.json().catch(() => ({}))).error || "Failed to apply promo code"
358
419
  };
359
420
  } catch (t) {
360
- return j.error("Error applying promo code:", t), { success: !1, error: "Network error applying code" };
421
+ return I.error("Error applying promo code:", t), { success: !1, error: "Network error applying code" };
361
422
  }
362
423
  }
363
- async function Se(e) {
424
+ async function Ne(e) {
364
425
  try {
365
426
  const r = await fetch(
366
- `${s()}/orders/${e}/remove-promo`,
427
+ `${c()}/orders/${e}/remove-promo`,
367
428
  {
368
429
  method: "POST",
369
430
  headers: {
@@ -376,52 +437,52 @@ async function Se(e) {
376
437
  error: (await r.json().catch(() => ({}))).error || "Failed to remove promo code"
377
438
  };
378
439
  } catch (r) {
379
- return j.error("Error removing promo code:", r), { success: !1, error: "Network error removing code" };
440
+ return I.error("Error removing promo code:", r), { success: !1, error: "Network error removing code" };
380
441
  }
381
442
  }
382
- const l = v("VC"), D = /* @__PURE__ */ new Map();
383
- async function De(e, r = fetch) {
443
+ const u = b("VC"), A = /* @__PURE__ */ new Map();
444
+ async function Ie(e, r = fetch) {
384
445
  const t = String(e);
385
446
  if (r === fetch) {
386
- const n = D.get(t);
387
- if (n) return n;
447
+ const o = A.get(t);
448
+ if (o) return o;
388
449
  }
389
- const o = (async () => {
450
+ const n = (async () => {
390
451
  try {
391
- const n = await r(`${s()}/events/${e}`);
392
- if (!n.ok)
393
- throw new Error(`Failed to fetch event details: ${n.status}`);
394
- return await n.json();
395
- } catch (n) {
396
- return l.error("Error fetching event details:", n), null;
452
+ const o = await r(`${c()}/events/${e}`);
453
+ if (!o.ok)
454
+ throw new Error(`Failed to fetch event details: ${o.status}`);
455
+ return await o.json();
456
+ } catch (o) {
457
+ return u.error("Error fetching event details:", o), null;
397
458
  }
398
459
  })();
399
- return r === fetch && (D.set(t, o), o.finally(() => {
400
- D.get(t) === o && D.delete(t);
401
- })), o;
460
+ return r === fetch && (A.set(t, n), n.finally(() => {
461
+ A.get(t) === n && A.delete(t);
462
+ })), n;
402
463
  }
403
464
  async function ke(e) {
404
465
  try {
405
466
  const r = await fetch(
406
- `${s()}/tickets/event/${e}`
467
+ `${c()}/tickets/event/${e}`
407
468
  );
408
469
  if (!r.ok)
409
470
  throw new Error(`Failed to fetch tickets: ${r.status}`);
410
471
  const t = await r.json();
411
472
  return Array.isArray(t) ? t : [];
412
473
  } catch (r) {
413
- return l.error("Error fetching tickets:", r), [];
474
+ return u.error("Error fetching tickets:", r), [];
414
475
  }
415
476
  }
416
- async function je(e) {
477
+ async function xe(e) {
417
478
  try {
418
479
  if (!e)
419
- return l.warn("fetchEventPerformers called without eventId"), { performers: [], showPerformers: !1 };
480
+ return u.warn("fetchEventPerformers called without eventId"), { performers: [], showPerformers: !1 };
420
481
  const r = await fetch(
421
- `${s()}/events/${e}/performers`
482
+ `${c()}/events/${e}/performers`
422
483
  );
423
484
  if (!r.ok)
424
- return l.error(
485
+ return u.error(
425
486
  `Failed to fetch performers: ${r.status} ${r.statusText}`
426
487
  ), { performers: [], showPerformers: !1 };
427
488
  const t = await r.json();
@@ -430,125 +491,125 @@ async function je(e) {
430
491
  showPerformers: t.showPerformers === !0
431
492
  };
432
493
  } catch (r) {
433
- return l.error("Error fetching event performers:", r), { performers: [], showPerformers: !1 };
494
+ return u.error("Error fetching event performers:", r), { performers: [], showPerformers: !1 };
434
495
  }
435
496
  }
436
- async function Ae(e) {
497
+ async function Te(e) {
437
498
  try {
438
499
  if (!e)
439
- return l.warn("fetchAllVenues called without orgId"), [];
500
+ return u.warn("fetchAllVenues called without orgId"), [];
440
501
  const r = await fetch(
441
- `${s()}/venues/organization/${e}`
502
+ `${c()}/venues/organization/${e}`
442
503
  );
443
504
  if (!r.ok)
444
- return l.error(
505
+ return u.error(
445
506
  `Failed to fetch venues: ${r.status} ${r.statusText}`
446
507
  ), [];
447
508
  const t = await r.json();
448
509
  return Array.isArray(t) ? t : [];
449
510
  } catch (r) {
450
- return l.error("Error fetching venues:", r), [];
511
+ return u.error("Error fetching venues:", r), [];
451
512
  }
452
513
  }
453
- async function Ie(e) {
514
+ async function Fe(e) {
454
515
  try {
455
516
  if (!e)
456
- return l.warn("fetchVenueEvents called without venueId"), [];
517
+ return u.warn("fetchVenueEvents called without venueId"), [];
457
518
  const r = await fetch(
458
- `${s()}/events/venue/${e}`
519
+ `${c()}/events/venue/${e}`
459
520
  );
460
521
  if (!r.ok)
461
- return l.error(
522
+ return u.error(
462
523
  `Failed to fetch venue events: ${r.status} ${r.statusText}`
463
524
  ), [];
464
525
  const t = await r.json();
465
526
  return Array.isArray(t) ? t : [];
466
527
  } catch (r) {
467
- return l.error("Error fetching venue events:", r), [];
528
+ return u.error("Error fetching venue events:", r), [];
468
529
  }
469
530
  }
470
- async function Ne(e, r, t) {
531
+ async function Ue(e, r, t) {
471
532
  try {
472
- const o = await fetch(
473
- `${s()}/events/venue/${e}/month/${r}/${t}`
533
+ const n = await fetch(
534
+ `${c()}/events/venue/${e}/month/${r}/${t}`
474
535
  );
475
- if (!o.ok)
476
- return l.error(`Failed to fetch month events: ${o.status}`), [];
477
- const n = await o.json();
478
- return Array.isArray(n.events) ? n.events : Array.isArray(n) ? n : [];
479
- } catch (o) {
480
- return l.error("Error fetching month events:", o), [];
536
+ if (!n.ok)
537
+ return u.error(`Failed to fetch month events: ${n.status}`), [];
538
+ const o = await n.json();
539
+ return Array.isArray(o.events) ? o.events : Array.isArray(o) ? o : [];
540
+ } catch (n) {
541
+ return u.error("Error fetching month events:", n), [];
481
542
  }
482
543
  }
483
- async function xe(e, r, t) {
544
+ async function Re(e, r, t) {
484
545
  try {
485
- const o = await fetch(
486
- `${s()}/events/organization/${e}/month/${r}/${t}`
546
+ const n = await fetch(
547
+ `${c()}/events/organization/${e}/month/${r}/${t}`
487
548
  );
488
- if (!o.ok)
489
- return l.error(`Failed to fetch org month events: ${o.status}`), [];
490
- const n = await o.json();
491
- return Array.isArray(n.events) ? n.events : Array.isArray(n) ? n : [];
492
- } catch (o) {
493
- return l.error("Error fetching org month events:", o), [];
549
+ if (!n.ok)
550
+ return u.error(`Failed to fetch org month events: ${n.status}`), [];
551
+ const o = await n.json();
552
+ return Array.isArray(o.events) ? o.events : Array.isArray(o) ? o : [];
553
+ } catch (n) {
554
+ return u.error("Error fetching org month events:", n), [];
494
555
  }
495
556
  }
496
- async function Fe(e) {
557
+ async function Ee(e) {
497
558
  try {
498
559
  const r = await fetch(
499
- `${s()}/series/${e}/occurrences`
560
+ `${c()}/series/${e}/occurrences`
500
561
  );
501
- return r.ok ? r.json() : (l.error(`Failed to fetch series occurrences: ${r.status}`), null);
562
+ return r.ok ? r.json() : (u.error(`Failed to fetch series occurrences: ${r.status}`), null);
502
563
  } catch (r) {
503
- return l.error("Error fetching series occurrences:", r), null;
564
+ return u.error("Error fetching series occurrences:", r), null;
504
565
  }
505
566
  }
506
- async function Te(e, r) {
567
+ async function qe(e, r) {
507
568
  try {
508
569
  const t = await fetch(
509
- `${s()}/series/${e}/occurrences?venueId=${r}`
570
+ `${c()}/series/${e}/occurrences?venueId=${r}`
510
571
  );
511
- return t.ok ? t.json() : (l.error(`Failed to fetch series with CTA: ${t.status}`), null);
572
+ return t.ok ? t.json() : (u.error(`Failed to fetch series with CTA: ${t.status}`), null);
512
573
  } catch (t) {
513
- return l.error("Error fetching series occurrences:", t), null;
574
+ return u.error("Error fetching series occurrences:", t), null;
514
575
  }
515
576
  }
516
- async function Ue(e) {
577
+ async function Le(e) {
517
578
  try {
518
579
  const r = await fetch(
519
- `${s()}/series/${e}/page`
580
+ `${c()}/series/${e}/page`
520
581
  );
521
582
  if (!r.ok)
522
583
  throw new Error(`Failed to fetch series page: ${r.status}`);
523
584
  return r.json();
524
585
  } catch (r) {
525
- return l.error("Error fetching series page:", r), null;
586
+ return u.error("Error fetching series page:", r), null;
526
587
  }
527
588
  }
528
- async function Re(e, r) {
589
+ async function Oe(e, r) {
529
590
  try {
530
- const t = r ? `${s()}/collections/${e}/public?password=${encodeURIComponent(r)}` : `${s()}/collections/${e}/public`, o = await fetch(t);
531
- if (!o.ok)
532
- throw new Error(`Failed to fetch collection: ${o.status}`);
533
- return o.json();
591
+ const t = r ? `${c()}/collections/${e}/public?password=${encodeURIComponent(r)}` : `${c()}/collections/${e}/public`, n = await fetch(t);
592
+ if (!n.ok)
593
+ throw new Error(`Failed to fetch collection: ${n.status}`);
594
+ return n.json();
534
595
  } catch (t) {
535
- return l.error("Error fetching collection:", t), null;
596
+ return u.error("Error fetching collection:", t), null;
536
597
  }
537
598
  }
538
- async function Le(e, r) {
599
+ async function Ge(e, r) {
539
600
  try {
540
- const t = encodeURIComponent(r), o = await fetch(
541
- `${s()}/collections/${e}/check-password/${t}`
601
+ const t = encodeURIComponent(r), n = await fetch(
602
+ `${c()}/collections/${e}/check-password/${t}`
542
603
  );
543
- return o.ok ? (await o.json()).valid === !0 : !1;
604
+ return n.ok ? (await n.json()).valid === !0 : !1;
544
605
  } catch (t) {
545
- return l.error("Error checking collection password:", t), !1;
606
+ return u.error("Error checking collection password:", t), !1;
546
607
  }
547
608
  }
548
- async function qe(e, r) {
609
+ async function Be(e, r) {
549
610
  try {
550
611
  const t = await fetch(
551
- `${s()}/events/${e}/check-password`,
612
+ `${c()}/events/${e}/check-password`,
552
613
  {
553
614
  method: "POST",
554
615
  headers: { "Content-Type": "application/json" },
@@ -556,34 +617,34 @@ async function qe(e, r) {
556
617
  }
557
618
  );
558
619
  if (!t.ok) return { valid: !1 };
559
- const o = await t.json();
560
- return typeof o == "boolean" ? { valid: o } : { valid: o.valid === !0 || o === !0 };
620
+ const n = await t.json();
621
+ return typeof n == "boolean" ? { valid: n } : { valid: n.valid === !0 || n === !0 };
561
622
  } catch (t) {
562
- return l.error("Error checking event password:", t), { valid: !1 };
623
+ return u.error("Error checking event password:", t), { valid: !1 };
563
624
  }
564
625
  }
565
- async function Ee(e, r) {
626
+ async function ze(e, r) {
566
627
  try {
567
- const t = r ? `${s()}/events/venue/${r}` : e ? `${s()}/venues/organization/${e}` : `${s()}/health`;
628
+ const t = r ? `${c()}/events/venue/${r}` : e ? `${c()}/venues/organization/${e}` : `${c()}/health`;
568
629
  return (await fetch(t, {
569
630
  method: "HEAD"
570
631
  })).ok;
571
632
  } catch (t) {
572
- return l.error("Network connection test failed:", t), !1;
633
+ return u.error("Network connection test failed:", t), !1;
573
634
  }
574
635
  }
575
- const C = v("VC");
636
+ const C = b("VC");
576
637
  async function z(e) {
577
638
  try {
578
639
  if (!e)
579
640
  return C.warn("getVenue called without venueId"), null;
580
- const r = await fetch(`${s()}/venues/${e}`);
641
+ const r = await fetch(`${c()}/venues/${e}`);
581
642
  return r.ok ? r.json() : (C.error(`Failed to fetch venue: ${r.status}`), null);
582
643
  } catch (r) {
583
644
  return C.error("Error fetching venue:", r), null;
584
645
  }
585
646
  }
586
- async function Oe(e) {
647
+ async function He(e) {
587
648
  const r = await z(e);
588
649
  return r ? {
589
650
  serviceFeePercentage: r.serviceFeePercentage ?? 0,
@@ -591,18 +652,18 @@ async function Oe(e) {
591
652
  taxPercentage: r.taxPercentage ?? 0
592
653
  } : null;
593
654
  }
594
- async function Ge(e) {
655
+ async function Je(e) {
595
656
  try {
596
657
  if (!e)
597
658
  return C.warn("getVenueBySlug called without slug"), null;
598
- const r = encodeURIComponent(e), t = await fetch(`${s()}/venues/slug/${r}`);
659
+ const r = encodeURIComponent(e), t = await fetch(`${c()}/venues/slug/${r}`);
599
660
  return t.ok ? t.json() : (C.error(`Failed to fetch venue by slug: ${t.status}`), null);
600
661
  } catch (r) {
601
662
  return C.error("Error fetching venue by slug:", r), null;
602
663
  }
603
664
  }
604
- const g = v("VC"), B = "https://get-micdrop.com", J = `${B}/api/orders/v2`, x = () => N();
605
- async function ze(e) {
665
+ const v = b("VC"), H = "https://get-micdrop.com", J = `${H}/api/orders/v2`, T = () => D();
666
+ async function Me(e) {
606
667
  try {
607
668
  const r = await fetch(
608
669
  `${J}/gift-cards`,
@@ -613,18 +674,18 @@ async function ze(e) {
613
674
  }
614
675
  );
615
676
  if (!r.ok) {
616
- const o = await r.json().catch(() => ({}));
617
- throw g.error("Gift card purchase creation failed:", o), new Error(o.error || "Failed to create gift card purchase");
677
+ const n = await r.json().catch(() => ({}));
678
+ throw v.error("Gift card purchase creation failed:", n), new Error(n.error || "Failed to create gift card purchase");
618
679
  }
619
680
  const t = await r.json();
620
- return g.debug("Gift card purchase created:", t), t;
681
+ return v.debug("Gift card purchase created:", t), t;
621
682
  } catch (r) {
622
- return g.error("Gift card purchase creation error:", r), null;
683
+ return v.error("Gift card purchase creation error:", r), null;
623
684
  }
624
685
  }
625
- async function Be(e, r) {
686
+ async function We(e, r) {
626
687
  try {
627
- const t = await fetch(`${x()}/cart/${e}/apply-gift-card`, {
688
+ const t = await fetch(`${T()}/cart/${e}/apply-gift-card`, {
628
689
  method: "POST",
629
690
  headers: { "Content-Type": "application/json" },
630
691
  body: JSON.stringify({ giftCardCode: r })
@@ -635,49 +696,49 @@ async function Be(e, r) {
635
696
  valid: !1,
636
697
  error: "Too many attempts. Please wait a moment and try again."
637
698
  };
638
- const n = await t.json().catch(() => ({}));
639
- return g.error("Apply gift card failed:", n), { valid: !1, error: n.error || "Invalid gift card code" };
699
+ const o = await t.json().catch(() => ({}));
700
+ return v.error("Apply gift card failed:", o), { valid: !1, error: o.error || "Invalid gift card code" };
640
701
  }
641
- const o = await t.json();
702
+ const n = await t.json();
642
703
  return {
643
704
  valid: !0,
644
- giftCardCode: o.giftCardCode,
645
- giftCardAmount: o.giftCardAmount,
646
- giftCardBalance: o.giftCardBalance,
647
- paymentType: o.paymentType,
648
- stripeAmount: o.stripeAmount,
649
- orderTotal: o.orderTotal,
650
- requiresStripe: o.requiresStripe
705
+ giftCardCode: n.giftCardCode,
706
+ giftCardAmount: n.giftCardAmount,
707
+ giftCardBalance: n.giftCardBalance,
708
+ paymentType: n.paymentType,
709
+ stripeAmount: n.stripeAmount,
710
+ orderTotal: n.orderTotal,
711
+ requiresStripe: n.requiresStripe
651
712
  };
652
713
  } catch (t) {
653
- return g.error("applyGiftCard error:", t), {
714
+ return v.error("applyGiftCard error:", t), {
654
715
  valid: !1,
655
716
  error: "Network error. Please check your connection and try again."
656
717
  };
657
718
  }
658
719
  }
659
- async function Je(e) {
720
+ async function Qe(e) {
660
721
  try {
661
- const r = await fetch(`${x()}/cart/${e}/gift-card`, {
722
+ const r = await fetch(`${T()}/cart/${e}/gift-card`, {
662
723
  method: "DELETE",
663
724
  headers: { "Content-Type": "application/json" }
664
725
  });
665
726
  if (!r.ok) {
666
727
  const t = await r.json().catch(() => ({}));
667
- return g.error("Remove gift card failed:", t), { success: !1, error: t.error || "Failed to remove gift card" };
728
+ return v.error("Remove gift card failed:", t), { success: !1, error: t.error || "Failed to remove gift card" };
668
729
  }
669
730
  return { success: !0 };
670
731
  } catch (r) {
671
- return g.error("removeGiftCard error:", r), {
732
+ return v.error("removeGiftCard error:", r), {
672
733
  success: !1,
673
734
  error: "Network error. Please check your connection and try again."
674
735
  };
675
736
  }
676
737
  }
677
- async function Me(e, r) {
738
+ async function Ye(e, r) {
678
739
  try {
679
740
  const t = await fetch(
680
- `${x()}/cart/${e}/complete-gift-card-payment`,
741
+ `${T()}/cart/${e}/complete-gift-card-payment`,
681
742
  {
682
743
  method: "POST",
683
744
  headers: { "Content-Type": "application/json" },
@@ -691,140 +752,167 @@ async function Me(e, r) {
691
752
  }
692
753
  );
693
754
  if (!t.ok) {
694
- const n = await t.json().catch(() => ({}));
695
- return g.error("Complete gift card payment failed:", n), { success: !1, error: n.error || "Failed to complete payment" };
755
+ const o = await t.json().catch(() => ({}));
756
+ return v.error("Complete gift card payment failed:", o), { success: !1, error: o.error || "Failed to complete payment" };
696
757
  }
697
- const o = await t.json();
758
+ const n = await t.json();
698
759
  return {
699
760
  success: !0,
700
- orderId: o.orderId,
701
- confirmationNumber: o.confirmationNumber
761
+ orderId: n.orderId,
762
+ confirmationNumber: n.confirmationNumber
702
763
  };
703
764
  } catch (t) {
704
- return g.error("completeGiftCardPayment error:", t), {
765
+ return v.error("completeGiftCardPayment error:", t), {
705
766
  success: !1,
706
767
  error: "Network error. Please check your connection and try again."
707
768
  };
708
769
  }
709
770
  }
710
- const I = v("VC"), M = {
771
+ const x = b("VC"), M = {
711
772
  waitlist_not_enabled: "Waitlist is not available for this event",
712
773
  event_not_found: "Event not found",
713
774
  invalid_phone: "Please enter a valid phone number",
714
775
  already_purchased: "You have already purchased tickets for this event",
715
776
  phone_already_registered: "This phone number is already on the waitlist"
716
777
  };
717
- async function We(e, r, t = null, o = !1) {
778
+ async function Ke(e, r, t = null, n = !1) {
718
779
  try {
719
- const n = { email: r };
720
- t && o && (n.phone = t, n.smsOptIn = !0);
721
- const a = await fetch(`${s()}/events/${e}/waitlist`, {
780
+ const o = { email: r };
781
+ t && n && (o.phone = t, o.smsOptIn = !0);
782
+ const a = await fetch(`${c()}/events/${e}/waitlist`, {
722
783
  method: "POST",
723
784
  headers: { "Content-Type": "application/json" },
724
- body: JSON.stringify(n)
785
+ body: JSON.stringify(o)
725
786
  });
726
787
  if (!a.ok) {
727
788
  const i = await a.json().catch(() => ({}));
728
- return I.error("Join waitlist failed:", i), {
789
+ return x.error("Join waitlist failed:", i), {
729
790
  success: !1,
730
791
  error: M[i.error] || "Failed to join waitlist. Please try again."
731
792
  };
732
793
  }
733
- const c = await a.json();
794
+ const s = await a.json();
734
795
  return {
735
796
  success: !0,
736
- position: c.position,
737
- updated: c.updated
797
+ position: s.position,
798
+ updated: s.updated
738
799
  };
739
- } catch (n) {
740
- return I.error("joinWaitlist error:", n), {
800
+ } catch (o) {
801
+ return x.error("joinWaitlist error:", o), {
741
802
  success: !1,
742
803
  error: "Network error. Please check your connection and try again."
743
804
  };
744
805
  }
745
806
  }
746
- async function He(e, r) {
807
+ async function Xe(e, r) {
747
808
  try {
748
809
  const t = await fetch(
749
- `${s()}/events/${e}/waitlist/position?email=${encodeURIComponent(r)}`
810
+ `${c()}/events/${e}/waitlist/position?email=${encodeURIComponent(r)}`
750
811
  );
751
812
  return t.ok ? { position: (await t.json()).position } : t.status === 404 ? { position: null } : { position: null, error: "Failed to check position" };
752
813
  } catch (t) {
753
- return I.error("getWaitlistPosition error:", t), { position: null, error: "Network error" };
814
+ return x.error("getWaitlistPosition error:", t), { position: null, error: "Network error" };
754
815
  }
755
816
  }
756
- function Qe(e, r, t = {}) {
817
+ function W(e) {
818
+ if (!e || !(e.isHidden === !0 || typeof e.visibility == "number" && e.visibility >= 2) || e.salesChannel === 2) return !1;
819
+ const t = /* @__PURE__ */ new Date(), n = e.salesBegin || e.salesStart || e.saleBegin || e.onSaleStart, o = e.salesEnd || e.saleEnd || e.onSaleEnd;
820
+ if (n && new Date(n) > t || o && new Date(o) < t) return !1;
821
+ const a = e.remainingCapacity ?? e.quantityRemaining ?? e.quantity;
822
+ return !(e.soldOut || a != null && a <= 0);
823
+ }
824
+ function Ze(e, r, t = {}) {
757
825
  const {
758
- cancelled: o = !1,
759
- isRegistration: n = !1,
826
+ cancelled: n = !1,
827
+ isRegistration: o = !1,
760
828
  waitlistEnabled: a = !1
761
- } = t, c = /* @__PURE__ */ new Date();
762
- if (o)
829
+ } = t, s = /* @__PURE__ */ new Date();
830
+ if (n)
763
831
  return { text: "Cancelled", disabled: !0, reason: "cancelled" };
764
832
  const i = e.endDateTime || e.startDateTime;
765
- if (i && new Date(i) < c)
833
+ if (i && new Date(i) < s)
766
834
  return { text: "Sales ended", disabled: !0, reason: "event_past" };
767
- const m = (r || []).filter((d) => d.salesChannel !== 2);
768
- if (m.length === 0)
769
- return {
835
+ const l = e?.hasPurchasableHiddenTickets === !0 || Array.isArray(r) && r.some(W), _ = (r || []).filter(
836
+ (d) => d.salesChannel !== 2 && !d.isHidden && !(typeof d.visibility == "number" && d.visibility >= 2)
837
+ );
838
+ if (_.length === 0)
839
+ return l ? {
840
+ text: o ? "Reserve a spot" : "Get tickets",
841
+ disabled: !1,
842
+ reason: "hidden_only"
843
+ } : {
770
844
  text: "No tickets available",
771
845
  disabled: !0,
772
846
  reason: "no_tickets"
773
847
  };
774
- let $ = !1, y = !0, _ = !0, u = null;
775
- for (const d of m) {
776
- const P = d.salesBegin || d.salesStart || d.saleBegin || d.onSaleStart, S = d.salesEnd || d.saleEnd || d.onSaleEnd, w = d.remainingCapacity ?? d.quantityRemaining ?? d.quantity, b = d.soldOut || w != null && w <= 0, p = P ? new Date(P) > c : !1, F = S ? new Date(S) < c : !1;
777
- if (!b && !p && !F && ($ = !0), b || (y = !1), p || (_ = !1), p && P && !b && !F) {
778
- const T = new Date(P);
779
- (!u || T < u) && (u = T);
848
+ let h = !1, m = !0, g = !0, w = null;
849
+ for (const d of _) {
850
+ const p = d.salesBegin || d.salesStart || d.saleBegin || d.onSaleStart, j = d.salesEnd || d.saleEnd || d.onSaleEnd, $ = d.remainingCapacity ?? d.quantityRemaining ?? d.quantity, P = d.soldOut || $ != null && $ <= 0, S = p ? new Date(p) > s : !1, F = j ? new Date(j) < s : !1;
851
+ if (!P && !S && !F && (h = !0), P || (m = !1), S || (g = !1), S && p && !P && !F) {
852
+ const U = new Date(p);
853
+ (!w || U < w) && (w = U);
780
854
  }
781
855
  }
782
- if ($)
856
+ if (h)
783
857
  return {
784
- text: n ? "Reserve a spot" : "Get tickets",
858
+ text: o ? "Reserve a spot" : "Get tickets",
785
859
  disabled: !1,
786
860
  reason: "available"
787
861
  };
788
- if (_ && u) {
789
- const d = u.getTime() - c.getTime(), P = d / (1e3 * 60 * 60), S = d / (1e3 * 60 * 60 * 24);
790
- let w;
791
- if (P < 24)
792
- w = u.toLocaleTimeString("en-US", {
862
+ if (g && w) {
863
+ if (l)
864
+ return {
865
+ text: o ? "Reserve a spot" : "Get tickets",
866
+ disabled: !1,
867
+ reason: "hidden_only"
868
+ };
869
+ const d = w.getTime() - s.getTime(), p = d / (1e3 * 60 * 60), j = d / (1e3 * 60 * 60 * 24);
870
+ let $;
871
+ if (p < 24)
872
+ $ = w.toLocaleTimeString("en-US", {
793
873
  hour: "numeric",
794
874
  minute: "2-digit",
795
875
  hour12: !0
796
876
  });
797
- else if (S <= 7)
798
- w = U(
799
- u,
877
+ else if (j <= 7)
878
+ $ = R(
879
+ w,
800
880
  { weekday: "short", hour: "numeric", minute: "2-digit", hour12: !0 },
801
881
  "en-US"
802
882
  );
803
883
  else {
804
- const b = U(
805
- u,
884
+ const P = R(
885
+ w,
806
886
  { month: "short", day: "numeric" },
807
887
  "en-US"
808
- ), p = u.toLocaleTimeString("en-US", {
888
+ ), S = w.toLocaleTimeString("en-US", {
809
889
  hour: "numeric",
810
890
  minute: "2-digit",
811
891
  hour12: !0
812
892
  });
813
- w = `${b} ${p}`;
893
+ $ = `${P} ${S}`;
814
894
  }
815
895
  return {
816
- text: `On sale ${w}`,
896
+ text: `On sale ${$}`,
817
897
  disabled: !0,
818
898
  reason: "coming_soon"
819
899
  };
820
900
  }
821
- return y ? a ? {
901
+ return m ? l ? {
902
+ text: o ? "Reserve a spot" : "Get tickets",
903
+ disabled: !1,
904
+ reason: "hidden_only"
905
+ } : a ? {
822
906
  text: "Join Waitlist",
823
907
  disabled: !1,
824
908
  reason: "sold_out_waitlist"
825
- } : { text: "Sold out", disabled: !0, reason: "sold_out" } : { text: "Sales ended", disabled: !0, reason: "sales_ended" };
909
+ } : { text: "Sold out", disabled: !0, reason: "sold_out" } : l ? {
910
+ text: o ? "Reserve a spot" : "Get tickets",
911
+ disabled: !1,
912
+ reason: "hidden_only"
913
+ } : { text: "Sales ended", disabled: !0, reason: "sales_ended" };
826
914
  }
827
- function W(e) {
915
+ function Q(e) {
828
916
  return {
829
917
  uuid: e.uuid || String(e.id || e.ID || ""),
830
918
  id: e.id || e.ID,
@@ -841,7 +929,7 @@ function W(e) {
841
929
  checkedInAt: e.checkedInAt || e.checked_in_at
842
930
  };
843
931
  }
844
- function H(e) {
932
+ function Y(e) {
845
933
  const r = e.purchasedTickets || e.tickets || e.purchased_tickets || [];
846
934
  return {
847
935
  uuid: e.uuid || String(e.id || e.ID || ""),
@@ -857,20 +945,20 @@ function H(e) {
857
945
  discount: e.discount || 0,
858
946
  paymentIntentId: e.paymentIntentId || e.payment_intent_id,
859
947
  paymentMethod: e.paymentMethod || e.payment_method,
860
- purchasedTickets: r.map(W),
948
+ purchasedTickets: r.map(Q),
861
949
  createdAt: e.createdAt || e.created_at,
862
950
  updatedAt: e.updatedAt || e.updated_at
863
951
  };
864
952
  }
865
- function Ye(e) {
866
- const r = H(e), t = r.uuid.split("-")[0] || r.uuid;
953
+ function Ve(e) {
954
+ const r = Y(e), t = r.uuid.split("-")[0] || r.uuid;
867
955
  return {
868
956
  orderId: r.uuid,
869
957
  displayOrderId: t,
870
958
  email: r.customerEmail,
871
959
  customerName: [r.customerFirstName, r.customerLastName].filter(Boolean).join(" "),
872
960
  total: r.totalAmount,
873
- formattedTotal: `${q(
961
+ formattedTotal: `${L(
874
962
  r.totalAmount / 100
875
963
  /* FIXME(canonical-cleanup:toFixed): this cast bypasses the brand boundary; replace with toCents/toUSD at the API-response-transform layer. */
876
964
  )}`,
@@ -878,15 +966,15 @@ function Ye(e) {
878
966
  status: r.status
879
967
  };
880
968
  }
881
- const Q = "https://micdrop-images.sfo3.digitaloceanspaces.com";
882
- function Y(e) {
883
- return e ? e.startsWith("http") ? e : `${Q}/${e.replace(/^\//, "")}` : "";
969
+ const K = "https://micdrop-images.sfo3.digitaloceanspaces.com";
970
+ function X(e) {
971
+ return e ? e.startsWith("http") ? e : `${K}/${e.replace(/^\//, "")}` : "";
884
972
  }
885
- function R(e) {
973
+ function E(e) {
886
974
  const r = e.imageUrl || e.imageURL || e.image_url || e.image || "";
887
- return Y(r);
975
+ return X(r);
888
976
  }
889
- function K(e) {
977
+ function Z(e) {
890
978
  const r = e.ctaState || e.cta_state;
891
979
  if (r)
892
980
  return r;
@@ -894,20 +982,20 @@ function K(e) {
894
982
  return "ended";
895
983
  const t = e.startDateTime || e.start_date_time || e.date;
896
984
  if (t) {
897
- const c = new Date(t).getTime(), i = Date.now();
898
- if (c < i)
985
+ const s = new Date(t).getTime(), i = Date.now();
986
+ if (s < i)
899
987
  return "ended";
900
988
  }
901
- const o = e.ticketsAvailable ?? e.tickets_available;
902
- if (o !== void 0)
903
- return o <= 0 ? "sold_out" : "available";
904
- const n = e.availableTickets || e.available_tickets || e.tickets || [];
905
- return n.length === 0 ? "coming_soon" : n.reduce((c, i) => {
906
- const m = i.quantityAvailable ?? i.quantity_available ?? i.quantity ?? 0, $ = i.quantitySold ?? i.quantity_sold ?? 0;
907
- return c + Math.max(0, m - $);
989
+ const n = e.ticketsAvailable ?? e.tickets_available;
990
+ if (n !== void 0)
991
+ return n <= 0 ? "sold_out" : "available";
992
+ const o = e.availableTickets || e.available_tickets || e.tickets || [];
993
+ return o.length === 0 ? "coming_soon" : o.reduce((s, i) => {
994
+ const l = i.quantityAvailable ?? i.quantity_available ?? i.quantity ?? 0, _ = i.quantitySold ?? i.quantity_sold ?? 0;
995
+ return s + Math.max(0, l - _);
908
996
  }, 0) <= 0 ? "sold_out" : "available";
909
997
  }
910
- function X(e) {
998
+ function V(e) {
911
999
  return {
912
1000
  id: e.id || e.ID,
913
1001
  name: e.name || e.ticketName || "",
@@ -927,8 +1015,8 @@ function X(e) {
927
1015
  sortOrder: e.sortOrder || e.sort_order || 0
928
1016
  };
929
1017
  }
930
- function Z(e) {
931
- const t = (e.availableTickets || e.available_tickets || e.tickets || []).map(X), o = t.map((c) => c.price).filter((c) => c > 0), n = o.length > 0 ? Math.min(...o) : void 0, a = o.length > 0 ? Math.max(...o) : void 0;
1018
+ function ee(e) {
1019
+ const t = (e.availableTickets || e.available_tickets || e.tickets || []).map(V), n = t.map((s) => s.price).filter((s) => s > 0), o = n.length > 0 ? Math.min(...n) : void 0, a = n.length > 0 ? Math.max(...n) : void 0;
932
1020
  return {
933
1021
  eventID: e.eventID || e.id || e.ID || 0,
934
1022
  id: e.id || e.ID,
@@ -945,28 +1033,28 @@ function Z(e) {
945
1033
  venueName: e.venueName || e.venue_name,
946
1034
  venueAddress: e.venueAddress || e.venue_address,
947
1035
  location: e.location || e.venueAddress || e.venue_address,
948
- imageUrl: R(e),
949
- imageURL: R(e),
1036
+ imageUrl: E(e),
1037
+ imageURL: E(e),
950
1038
  status: e.status,
951
1039
  isPublished: e.isPublished ?? e.is_published,
952
1040
  isCancelled: e.isCancelled ?? e.is_cancelled,
953
1041
  availableTickets: t,
954
- ticketsAvailable: e.ticketsAvailable ?? e.tickets_available ?? t.reduce((c, i) => c + (i.quantityAvailable || 0), 0),
1042
+ ticketsAvailable: e.ticketsAvailable ?? e.tickets_available ?? t.reduce((s, i) => s + (i.quantityAvailable || 0), 0),
955
1043
  ticketsSold: e.ticketsSold ?? e.tickets_sold,
956
- minPrice: e.minPrice ?? e.min_price ?? n,
1044
+ minPrice: e.minPrice ?? e.min_price ?? o,
957
1045
  maxPrice: e.maxPrice ?? e.max_price ?? a,
958
1046
  ctaText: e.ctaText || e.cta_text,
959
- ctaState: K(e),
1047
+ ctaState: Z(e),
960
1048
  showPerformers: e.showPerformers ?? e.show_performers,
961
1049
  eventSeriesId: e.eventSeriesId || e.event_series_id,
962
1050
  seriesInstanceNumber: e.seriesInstanceNumber || e.series_instance_number
963
1051
  };
964
1052
  }
965
- const Ke = Z, V = "https://micdrop-images.sfo3.digitaloceanspaces.com";
966
- function ee(e) {
967
- return e ? e.startsWith("http") ? e : `${V}/${e.replace(/^\//, "")}` : "";
1053
+ const er = ee, re = "https://micdrop-images.sfo3.digitaloceanspaces.com";
1054
+ function te(e) {
1055
+ return e ? e.startsWith("http") ? e : `${re}/${e.replace(/^\//, "")}` : "";
968
1056
  }
969
- function Xe(e) {
1057
+ function rr(e) {
970
1058
  const r = e.logoUrl || e.logo_url || e.logo;
971
1059
  return {
972
1060
  id: e.id || e.ID || 0,
@@ -979,21 +1067,21 @@ function Xe(e) {
979
1067
  zipCode: e.zipCode || e.zip_code,
980
1068
  country: e.country,
981
1069
  timezone: e.timezone || e.time_zone,
982
- logoUrl: ee(r),
1070
+ logoUrl: te(r),
983
1071
  serviceFeePercentage: e.serviceFeePercentage ?? e.service_fee_percentage ?? 0,
984
1072
  serviceFeeCents: e.serviceFeeCents ?? e.service_fee_cents ?? 0,
985
1073
  taxPercentage: e.taxPercentage ?? e.tax_percentage ?? 0,
986
1074
  organizationId: e.organizationId || e.organization_id
987
1075
  };
988
1076
  }
989
- function Ze(e) {
1077
+ function tr(e) {
990
1078
  return {
991
1079
  serviceFeePercentage: e.serviceFeePercentage ?? e.service_fee_percentage ?? 0,
992
1080
  serviceFeeCents: e.serviceFeeCents ?? e.service_fee_cents ?? 0,
993
1081
  taxPercentage: e.taxPercentage ?? e.tax_percentage ?? 0
994
1082
  };
995
1083
  }
996
- function Ve(e) {
1084
+ function nr(e) {
997
1085
  return [
998
1086
  e.address,
999
1087
  e.city,
@@ -1002,65 +1090,67 @@ function Ve(e) {
1002
1090
  ].filter(Boolean).join(", ");
1003
1091
  }
1004
1092
  export {
1005
- de as apiDelete,
1006
- ie as apiGet,
1007
- le as apiPost,
1008
- ue as apiPut,
1009
- Be as applyGiftCard,
1010
- pe as applyPromoCode,
1011
- K as calculateCtaState,
1012
- he as cancelReservation,
1013
- Le as checkCollectionPassword,
1014
- qe as checkEventPassword,
1015
- Me as completeGiftCardPayment,
1016
- me as completeReservation,
1017
- Qe as computeCtaState,
1018
- ne as configureApi,
1019
- ze as createGiftCardPurchase,
1020
- ye as createOrder,
1021
- fe as createPaymentIntent,
1022
- _e as extendCheckoutSession,
1023
- Ze as extractVenueFees,
1024
- Ae as fetchAllVenues,
1025
- De as fetchEventDetails,
1026
- je as fetchEventPerformers,
1093
+ me as apiDelete,
1094
+ le as apiGet,
1095
+ de as apiPost,
1096
+ fe as apiPut,
1097
+ We as applyGiftCard,
1098
+ Ae as applyPromoCode,
1099
+ Z as calculateCtaState,
1100
+ ve as cancelReservation,
1101
+ Ge as checkCollectionPassword,
1102
+ Be as checkEventPassword,
1103
+ Ye as completeGiftCardPayment,
1104
+ we as completeReservation,
1105
+ Ze as computeCtaState,
1106
+ ae as configureApi,
1107
+ Me as createGiftCardPurchase,
1108
+ _e as createOrder,
1109
+ he as createPaymentIntent,
1110
+ pe as extendCheckoutSession,
1111
+ tr as extractVenueFees,
1112
+ Te as fetchAllVenues,
1113
+ Ie as fetchEventDetails,
1114
+ xe as fetchEventPerformers,
1027
1115
  ke as fetchEventTickets,
1028
- Re as fetchPublicCollection,
1029
- Te as fetchSeriesOccurrences,
1030
- Ue as fetchSeriesPage,
1031
- Ie as fetchVenueEvents,
1032
- Ve as formatVenueAddress,
1033
- se as getApiConfig,
1034
- Y as getCDNImageUrl,
1035
- ce as getClientIP,
1036
- R as getEventImageUrl,
1037
- ae as getLegacyPublicUrl,
1038
- Ne as getMonthEvents,
1039
- ge as getOrder,
1040
- N as getOrdersV2Url,
1041
- xe as getOrgMonthEvents,
1042
- s as getPublicBaseUrl,
1043
- Fe as getSeriesOccurrences,
1044
- ve as getSessionStatus,
1116
+ Oe as fetchPublicCollection,
1117
+ qe as fetchSeriesOccurrences,
1118
+ Le as fetchSeriesPage,
1119
+ Fe as fetchVenueEvents,
1120
+ nr as formatVenueAddress,
1121
+ ce as getApiConfig,
1122
+ X as getCDNImageUrl,
1123
+ ye as getCartByUUID,
1124
+ ue as getClientIP,
1125
+ E as getEventImageUrl,
1126
+ ie as getLegacyPublicUrl,
1127
+ Ue as getMonthEvents,
1128
+ $e as getOrder,
1129
+ D as getOrdersV2Url,
1130
+ Re as getOrgMonthEvents,
1131
+ c as getPublicBaseUrl,
1132
+ Ee as getSeriesOccurrences,
1133
+ Ce as getSessionStatus,
1045
1134
  z as getVenue,
1046
- Ge as getVenueBySlug,
1047
- Oe as getVenueFees,
1048
- He as getWaitlistPosition,
1049
- be as hasPromoCodes,
1050
- $e as initiateOrder,
1051
- We as joinWaitlist,
1052
- Je as removeGiftCard,
1053
- Se as removePromoCode,
1054
- Ee as testNetworkConnection,
1055
- Pe as trackUTMSource,
1056
- X as transformAvailableTicket,
1057
- Z as transformEvent,
1058
- Ke as transformEventData,
1059
- H as transformOrder,
1060
- Ye as transformOrderForDisplay,
1061
- W as transformTicket,
1062
- Xe as transformVenue,
1063
- we as validatePaymentIntent,
1064
- Ce as validatePromoCode
1135
+ Je as getVenueBySlug,
1136
+ He as getVenueFees,
1137
+ Xe as getWaitlistPosition,
1138
+ je as hasPromoCodes,
1139
+ Pe as initiateOrder,
1140
+ Ke as joinWaitlist,
1141
+ Qe as removeGiftCard,
1142
+ Ne as removePromoCode,
1143
+ ze as testNetworkConnection,
1144
+ Se as trackUTMSource,
1145
+ V as transformAvailableTicket,
1146
+ ee as transformEvent,
1147
+ er as transformEventData,
1148
+ Y as transformOrder,
1149
+ Ve as transformOrderForDisplay,
1150
+ Q as transformTicket,
1151
+ rr as transformVenue,
1152
+ ge as updateCartQuantities,
1153
+ be as validatePaymentIntent,
1154
+ De as validatePromoCode
1065
1155
  };
1066
1156
  //# sourceMappingURL=api.mjs.map