@getmicdrop/venue-calendar 4.2.2 → 4.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/{ArrowLeftIcon-DQ-h5PcH.js → ArrowLeftIcon-BGd-X_Qm.js} +1 -1
  2. package/dist/{Badge-M6qZyfTF.js → Badge-Bv_MT-Vt.js} +10 -9
  3. package/dist/BlockPlaceholder-Wl39H9Z7.js +52 -0
  4. package/dist/Button-C4uFgl7L.js +2141 -0
  5. package/dist/{Calendar-BX22svpz.js → Calendar-DafPX3k_.js} +292 -290
  6. package/dist/CalendarFoundryView-COkX5oQx.js +22292 -0
  7. package/dist/{CalendarIcon-DR197Ioz.js → CalendarIcon-CeQ1_FWq.js} +1 -1
  8. package/dist/{CartView-B2VtVvZM.js → CartView-nvVA8vWk.js} +651 -644
  9. package/dist/Checkout-BphC7gak.js +1807 -0
  10. package/dist/{Checkout-BTqfjvDp.js → Checkout-Ow2x8cNL.js} +92 -91
  11. package/dist/{CheckoutTimer-Cng5tcGO.js → CheckoutTimer-DJlt5M2b.js} +5 -5
  12. package/dist/{ChevronDownIcon-C_RiK-BW.js → ChevronDownIcon-y7oNyepp.js} +1 -1
  13. package/dist/{ClockIcon-BOJENuPq.js → ClockIcon-BGTz8dak.js} +1 -1
  14. package/dist/{CloseIcon-Rc7tpX2a.js → CloseIcon-C9SHeORJ.js} +1 -1
  15. package/dist/CloseOutline-qpVa62mu.js +13 -0
  16. package/dist/{CollectionView-A1zP8yz5.js → CollectionView-BAIlcuqO.js} +13 -12
  17. package/dist/CropImage-B0tj2_uN.js +404 -0
  18. package/dist/Event-CTaXLze_.js +3034 -0
  19. package/dist/{EventPage-hxrPKPhm.js → EventPage-LuA-aEYZ.js} +168 -167
  20. package/dist/{Heading-B7VYbbfJ.js → Heading-Dfo3bjyn.js} +4 -3
  21. package/dist/Image-B3cEndLZ.js +87 -0
  22. package/dist/Input-iXqece97.js +487 -0
  23. package/dist/{MailIcon-rxvK4Wga.js → MailIcon-xtNog-7h.js} +1 -1
  24. package/dist/{Modal-BVD2O8hd.js → Modal-CqzRblrN.js} +2 -2
  25. package/dist/{ModalFooter-CfboEe1M.js → ModalFooter-DHhBLDbO.js} +59 -57
  26. package/dist/{PasswordInput-BAlq2j97.js → PasswordInput-Czm5Pe_p.js} +4 -4
  27. package/dist/{ScarcityBadge-h7ygRD_C.js → ScarcityBadge-CdgQmt1D.js} +4 -4
  28. package/dist/{SeriesPage-D-cwUNZM.js → SeriesPage-DfCyV1ka.js} +5 -5
  29. package/dist/{Spinner-ChTN7t75.js → Spinner-BwiDys7C.js} +3 -3
  30. package/dist/{Success-CIAX5zmz.js → Success-CsYxRkLE.js} +81 -80
  31. package/dist/{TagIcon-V0qMu9wS.js → TagIcon-DJSTnymB.js} +1 -1
  32. package/dist/{ViewTicketsEmbed-By-IcUJZ.js → ViewTicketsEmbed-CKucKt-W.js} +67 -66
  33. package/dist/{WarningCircleIcon-D32h6VDr.js → WarningCircleIcon-BKSQbu7p.js} +1 -1
  34. package/dist/{WarningTriIcon-BPDrCiKU.js → WarningTriIcon-DgwTwlxe.js} +1 -1
  35. package/dist/{__SKIP_PATHS__-DirqE5Xe.js → __SKIP_PATHS__-BTbGfN80.js} +1 -1
  36. package/dist/api/api.cjs +1 -1
  37. package/dist/api/api.mjs +187 -181
  38. package/dist/api/client.d.ts +16 -0
  39. package/dist/api/types.d.ts +528 -528
  40. package/dist/{browser-25hnscei.js → browser-Um8Y6K99.js} +7 -7
  41. package/dist/{colors-5ifWyP6H.js → colors-DeJAzg_q.js} +60 -59
  42. package/dist/{constants-Dcj3kgZE.js → constants-OTS1wmXZ.js} +76 -73
  43. package/dist/{copyToClipboard-CNxFW3ni.js → copyToClipboard-CRDdh3r8.js} +1 -1
  44. package/dist/{createI18n-08XGDh1_.js → createI18n-DBUVdZra.js} +1 -1
  45. package/dist/{event-Cp5D4ctZ.js → event-BrptLro8.js} +1 -1
  46. package/dist/{event-transform-DSuEpMxr.js → event-transform-BaJ7M1DL.js} +4 -4
  47. package/dist/{eventStatusStream-CIZVH5Lp.js → eventStatusStream-sq6uPnMe.js} +6 -6
  48. package/dist/{allowlist-BiUmz2AF.js → href-DJeJpcO9.js} +21 -4
  49. package/dist/{i18n-CEeBd5Hi.js → i18n-GzfxX0Ad.js} +11 -11
  50. package/dist/imageOptimizer-CB3wKJU8.js +47 -0
  51. package/dist/{labels-CtyfffZI.js → labels-CqodQmuY.js} +1 -1
  52. package/dist/{modalManager.svelte-BH-QJm9M.js → modalManager.svelte-OSPs3dSW.js} +2 -2
  53. package/dist/{order-totals-hcdvbJvw.js → order-totals-BAKL9cOB.js} +15 -13
  54. package/dist/{orders-tzTe2hNM.js → orders-NZP81zYT.js} +210 -198
  55. package/dist/{Input-W-QE9nWi.js → phoneUtils-BJeAIGYo.js} +694 -1132
  56. package/dist/{pixels-7kl8Fcjl.js → pixels-BBruZizp.js} +8 -7
  57. package/dist/{promo-BrMcoTYh.js → promo-DtLZRskK.js} +3 -3
  58. package/dist/{serverTotals-CpRaEe9K.js → serverTotals-BO126TTd.js} +1 -1
  59. package/dist/{shareCopyFeedback.svelte-DsyhrfiP.js → shareCopyFeedback.svelte-BRInK1hH.js} +25 -25
  60. package/dist/{showcase-state-options-B2XfybZq.js → showcase-state-options-BoJxiEsg.js} +1 -1
  61. package/dist/sortable.esm--ZtTTTPp.js +1451 -0
  62. package/dist/timezones-C5l0SSHK.js +2030 -0
  63. package/dist/{to-event-card-props-VPne8W4I.js → to-event-card-props-CO3aPBdH.js} +24 -23
  64. package/dist/{utils-DJVlBMbw.js → utils-C8GgxJMv.js} +30 -30
  65. package/dist/venue-calendar.css +1 -1
  66. package/dist/venue-calendar.es.js +1291 -1151
  67. package/dist/venue-calendar.iife.js +63 -62
  68. package/dist/venue-calendar.umd.js +60 -59
  69. package/dist/z-index-B0Vk_Mp1.js +27 -0
  70. package/package.json +220 -220
  71. package/dist/BlockPlaceholder-IOcqxTx2.js +0 -62
  72. package/dist/CalendarFoundryView-Ct39xn0Q.js +0 -23561
  73. package/dist/Checkout-CXcjQfbc.js +0 -1805
  74. package/dist/Event-C_0lUZvV.js +0 -3040
  75. package/dist/Image-DBJAfLYe.js +0 -81
  76. package/dist/cancel-Cq2Q8qW7.js +0 -59
  77. package/dist/timezones-Cq1mLtfM.js +0 -4170
  78. /package/dist/locales/{4.2.2 → 4.2.4}/flow/de.js +0 -0
  79. /package/dist/locales/{4.2.2 → 4.2.4}/flow/es.js +0 -0
  80. /package/dist/locales/{4.2.2 → 4.2.4}/flow/fr.js +0 -0
  81. /package/dist/locales/{4.2.2 → 4.2.4}/flow/id.js +0 -0
  82. /package/dist/locales/{4.2.2 → 4.2.4}/flow/it.js +0 -0
  83. /package/dist/locales/{4.2.2 → 4.2.4}/flow/ja.js +0 -0
  84. /package/dist/locales/{4.2.2 → 4.2.4}/flow/ko.js +0 -0
  85. /package/dist/locales/{4.2.2 → 4.2.4}/flow/nl.js +0 -0
  86. /package/dist/locales/{4.2.2 → 4.2.4}/flow/pl.js +0 -0
  87. /package/dist/locales/{4.2.2 → 4.2.4}/flow/pt-br.js +0 -0
  88. /package/dist/locales/{4.2.2 → 4.2.4}/flow/tr.js +0 -0
  89. /package/dist/locales/{4.2.2 → 4.2.4}/flow/zh.js +0 -0
  90. /package/dist/locales/{4.2.2 → 4.2.4}/main/de.js +0 -0
  91. /package/dist/locales/{4.2.2 → 4.2.4}/main/es.js +0 -0
  92. /package/dist/locales/{4.2.2 → 4.2.4}/main/fr.js +0 -0
  93. /package/dist/locales/{4.2.2 → 4.2.4}/main/id.js +0 -0
  94. /package/dist/locales/{4.2.2 → 4.2.4}/main/it.js +0 -0
  95. /package/dist/locales/{4.2.2 → 4.2.4}/main/ja.js +0 -0
  96. /package/dist/locales/{4.2.2 → 4.2.4}/main/ko.js +0 -0
  97. /package/dist/locales/{4.2.2 → 4.2.4}/main/nl.js +0 -0
  98. /package/dist/locales/{4.2.2 → 4.2.4}/main/pl.js +0 -0
  99. /package/dist/locales/{4.2.2 → 4.2.4}/main/pt-br.js +0 -0
  100. /package/dist/locales/{4.2.2 → 4.2.4}/main/tr.js +0 -0
  101. /package/dist/locales/{4.2.2 → 4.2.4}/main/zh.js +0 -0
@@ -1,11 +1,12 @@
1
1
  import { n as e } from "./rolldown-runtime-DtPi1Y-2.js";
2
- import { A as t, Q as n, b as r, r as i, rt as a, t as o, x as s, y as c } from "./timezones-Cq1mLtfM.js";
3
- import { t as l } from "./Badge-M6qZyfTF.js";
4
- import { t as u } from "./Image-DBJAfLYe.js";
5
- import { D as d, i as f, j as p } from "./orders-tzTe2hNM.js";
6
- import { n as m, t as h } from "./Heading-B7VYbbfJ.js";
7
- import { n as ee, t as g } from "./browser-25hnscei.js";
8
- import { t as te } from "./Spinner-ChTN7t75.js";
2
+ import { C as t, v as n } from "./Button-C4uFgl7L.js";
3
+ import { b as r, d as i, l as a, r as o, t as s, u as c } from "./timezones-C5l0SSHK.js";
4
+ import { t as l } from "./Badge-Bv_MT-Vt.js";
5
+ import { t as u } from "./Image-B3cEndLZ.js";
6
+ import { D as d, M as f, i as p } from "./orders-NZP81zYT.js";
7
+ import { n as m, t as h } from "./Heading-Dfo3bjyn.js";
8
+ import { n as ee, t as g } from "./browser-Um8Y6K99.js";
9
+ import { t as te } from "./Spinner-BwiDys7C.js";
9
10
  import { t as _ } from "./Text-CqjLjIF8.js";
10
11
  import "svelte/internal/disclose-version";
11
12
  import * as v from "svelte/internal/client";
@@ -32,12 +33,12 @@ function re(e, t) {
32
33
  //#endregion
33
34
  //#region node_modules/@getmicdrop/svelte-components/dist/primitives/Pagination/DotIndicator.svelte
34
35
  var S = v.from_html("<button type=\"button\" role=\"tab\"></button>"), ie = v.from_html("<div role=\"tablist\"></div>");
35
- function ae(e, t) {
36
- v.push(t, !0);
37
- let n = {
36
+ function ae(e, n) {
37
+ v.push(n, !0);
38
+ let r = {
38
39
  itemSelector: "Item selector",
39
40
  itemOf: (e, t) => `Item ${e} of ${t}`
40
- }, r = v.prop(t, "activeIndex", 3, 0), i = v.prop(t, "size", 3, "md"), o = v.prop(t, "variant", 3, "dark"), s = v.prop(t, "class", 3, ""), c = v.prop(t, "labels", 19, () => ({})), l = v.derived(() => a(n, c())), u = {
41
+ }, i = v.prop(n, "activeIndex", 3, 0), a = v.prop(n, "size", 3, "md"), o = v.prop(n, "variant", 3, "dark"), s = v.prop(n, "class", 3, ""), c = v.prop(n, "labels", 19, () => ({})), l = v.derived(() => t(r, c())), u = {
41
42
  sm: {
42
43
  dot: "h-1.5 w-1.5",
43
44
  active: "scale-125"
@@ -61,13 +62,13 @@ function ae(e, t) {
61
62
  inactive: "bg-bg-quaternary",
62
63
  hover: "hover:bg-muted-foreground"
63
64
  }
64
- }, f = v.derived(() => u[i()] || u.md), p = v.derived(() => d[o()] || d.dark);
65
+ }, f = v.derived(() => u[a()] || u.md), p = v.derived(() => d[o()] || d.dark);
65
66
  var m = ie();
66
- v.each(m, 21, () => ({ length: t.count }), v.index, (e, n, i) => {
67
+ v.each(m, 21, () => ({ length: n.count }), v.index, (e, t, r) => {
67
68
  var a = S();
68
69
  v.template_effect((e) => {
69
- v.set_class(a, 1, `rounded-full transition-all ${v.get(f).dot ?? ""} ${i === r() ? `${v.get(f).active} ${v.get(p).active}` : `${v.get(p).inactive} ${v.get(p).hover}`}`), v.set_attribute(a, "aria-selected", i === r()), v.set_attribute(a, "aria-label", e);
70
- }, [() => v.get(l).itemOf(i + 1, t.count)]), v.delegated("click", a, () => t.onselect?.(i)), v.append(e, a);
70
+ v.set_class(a, 1, `rounded-full transition-all ${v.get(f).dot ?? ""} ${r === i() ? `${v.get(f).active} ${v.get(p).active}` : `${v.get(p).inactive} ${v.get(p).hover}`}`), v.set_attribute(a, "aria-selected", r === i()), v.set_attribute(a, "aria-label", e);
71
+ }, [() => v.get(l).itemOf(r + 1, n.count)]), v.delegated("click", a, () => n.onselect?.(r)), v.append(e, a);
71
72
  }), v.reset(m), v.template_effect(() => {
72
73
  v.set_class(m, 1, `flex items-center gap-2 ${s() ?? ""}`), v.set_attribute(m, "aria-label", v.get(l).itemSelector);
73
74
  }), v.append(e, m), v.pop();
@@ -81,7 +82,7 @@ var C = {
81
82
  title: "Friday Night Comedy",
82
83
  startDateTime: "2026-03-20T20:00:00-07:00",
83
84
  endDateTime: "2026-03-20T22:00:00-07:00",
84
- timezone: o(),
85
+ timezone: s(),
85
86
  imageUrl: "/mock/view-tickets/event-poster.webp",
86
87
  doorsOpenTime: "7:30 PM"
87
88
  },
@@ -131,19 +132,19 @@ var C = {
131
132
  //#region src/lib/view-tickets/defaults.ts
132
133
  var oe = /* @__PURE__ */ e(g(), 1);
133
134
  function w(e) {
134
- return t(e);
135
+ return r(e);
135
136
  }
136
137
  function se(e, t) {
137
138
  try {
138
- let n = w(t), r = c(e, n, !0), i = s(e, n);
139
- return !r || !i ? "" : `${r}, ${i}`;
139
+ let n = w(t), r = a(e, n, !0), o = i(e, n);
140
+ return !r || !o ? "" : `${r}, ${o}`;
140
141
  } catch {
141
142
  return "";
142
143
  }
143
144
  }
144
145
  function ce(e, t) {
145
146
  try {
146
- return r(e, w(t));
147
+ return c(e, w(t));
147
148
  } catch {
148
149
  return "";
149
150
  }
@@ -184,17 +185,17 @@ async function de(e, t = 200) {
184
185
  return `data:image/svg+xml,${encodeURIComponent(n)}`;
185
186
  }
186
187
  function fe(e) {
187
- return `${p()}/orders/${e}/pdf`;
188
+ return `${f()}/orders/${e}/pdf`;
188
189
  }
189
190
  function T(e) {
190
- return `${p()}/orders/${e}/tickets`;
191
+ return `${f()}/orders/${e}/tickets`;
191
192
  }
192
193
  //#endregion
193
194
  //#region src/lib/view-tickets/variants/dice-swipe/ViewTickets.svelte
194
195
  var pe = v.from_html("<span class=\"mx-1 text-white/30\">&middot;</span>"), me = v.from_html("<!> ", 1), he = v.from_html(" <!>", 1), ge = v.from_html("<div class=\"flex h-52 w-52 items-center justify-center bg-bg-secondary\"><!></div>"), _e = v.from_html("<div class=\"pointer-events-none absolute inset-0 flex items-center justify-center\" aria-hidden=\"true\"><span class=\"rounded-md border border-status-error-border bg-card/90 px-3 py-1 type-label uppercase tracking-widest text-status-error-text\">Refunded</span></div>"), ve = v.from_html("<div class=\"mt-3 flex flex-col items-center gap-1.5\"><!> <p class=\"type-caption text-center tone-muted\"> </p></div>"), ye = v.from_html("<div class=\"relative flex justify-center\"><!> <!></div> <div class=\"mt-4 flex flex-col items-center gap-0.5\"><p> </p> <p class=\"type-label tone-secondary\"> </p> <p class=\"type-caption font-mono tone-muted\"> </p></div> <!>", 1), be = v.from_html("<div class=\"mt-5 flex items-center justify-center gap-4\"><!> <!> <!></div> <div class=\"mt-2 text-center\"><!></div>", 1), xe = v.from_svg("<svg aria-hidden=\"true\" class=\"h-3.5 w-3.5\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3\"></path></svg> Download PDF", 1), Se = v.from_html("<p aria-live=\"polite\"> </p>"), Ce = v.from_html("<p class=\"type-caption text-status-error-text\" aria-live=\"polite\"> </p>"), we = v.from_html("<div class=\"w-full space-y-2\"><label for=\"refund-reason\"> </label> <!> <!> <div class=\"flex items-center justify-center gap-3\"><!> <!></div></div>"), Te = v.from_html("<div class=\"fixed inset-0 z-base bg-black\"><!></div> <div class=\"relative z-sticky flex min-h-screen flex-col\"><header class=\"px-6 pb-4 pt-12 text-center\"><!> <div class=\"mt-1\"><!></div> <!> <div class=\"mt-1\"><!></div></header> <div class=\"flex flex-1 flex-col items-center justify-center px-4 py-4\"><div class=\"w-full max-w-xs overflow-hidden\" role=\"region\" aria-label=\"Ticket carousel\" aria-roledescription=\"carousel\"><!> <!></div></div> <div class=\"mt-auto bg-bg-quaternary/90 px-6 pb-10 pt-6 backdrop-blur-md\"><div class=\"mx-auto max-w-md space-y-5\"><div class=\"flex flex-col items-center gap-2\"><div class=\"flex items-center justify-center gap-3\"><!> <!></div> <p aria-live=\"polite\"> </p></div> <div class=\"flex flex-col items-center gap-3\"><!> <p>Add to calendar: <a rel=\"external\" class=\"tone-muted underline underline-offset-2 transition-colors hover:text-white\">Apple</a> <span class=\"mx-1 tone-secondary\">&middot;</span> <a class=\"tone-muted underline underline-offset-2 transition-colors hover:text-white\" target=\"_blank\" rel=\"external noopener noreferrer\">Google</a> <span class=\"mx-1 tone-secondary\">&middot;</span> <a class=\"tone-muted underline underline-offset-2 transition-colors hover:text-white\" target=\"_blank\" rel=\"external noopener noreferrer\">Outlook</a></p></div> <div class=\"flex flex-col items-center gap-1\"><p> </p> <!></div> <div class=\"flex flex-col items-center gap-2 border-t border-white/10 pt-5\"><!></div> <div class=\"flex flex-col items-center gap-1\"><p> </p> <p>Questions? <a class=\"tone-muted underline underline-offset-2 transition-colors hover:tone-muted\"> </a></p></div></div></div></div>", 1);
195
196
  function E(e, t) {
196
197
  v.push(t, !0);
197
- let r = v.prop(t, "data", 3, C), a = v.state(0), o = v.derived(() => r().tickets[v.get(a)]), s = v.state(0), c = v.state(0), d = v.state(0), p = v.state(!1), g = v.state(!1), b = v.state(""), x = v.state(!1), S = v.derived(() => ue(r().event, r().venue, r().order.orderNumber)), ie = v.derived(() => le(r().venue)), oe = v.derived(() => fe(r().order.orderUUID)), w = v.derived(() => se(r().event.startDateTime, r().event.timezone)), T = v.derived(() => ce(r().event.startDateTime, r().event.timezone)), E = v.derived(() => r().tickets.length), D = v.derived(() => v.get(E) > 1), O = v.derived(() => r().event.imageUrl), k = v.derived(() => v.get(o).refunded === !0), Ee = v.derived(() => !v.get(k) && v.get(o).checkedIn === !0), De = v.derived(() => v.get(k) ? " — refunded, not valid for entry" : v.get(Ee) ? " — already checked in" : ""), A = v.state(v.proxy(/* @__PURE__ */ new Map()));
198
+ let r = v.prop(t, "data", 3, C), i = v.state(0), a = v.derived(() => r().tickets[v.get(i)]), s = v.state(0), c = v.state(0), d = v.state(0), f = v.state(!1), g = v.state(!1), b = v.state(""), x = v.state(!1), S = v.derived(() => ue(r().event, r().venue, r().order.orderNumber)), ie = v.derived(() => le(r().venue)), oe = v.derived(() => fe(r().order.orderUUID)), w = v.derived(() => se(r().event.startDateTime, r().event.timezone)), T = v.derived(() => ce(r().event.startDateTime, r().event.timezone)), E = v.derived(() => r().tickets.length), D = v.derived(() => v.get(E) > 1), O = v.derived(() => r().event.imageUrl), k = v.derived(() => v.get(a).refunded === !0), Ee = v.derived(() => !v.get(k) && v.get(a).checkedIn === !0), De = v.derived(() => v.get(k) ? " — refunded, not valid for entry" : v.get(Ee) ? " — already checked in" : ""), A = v.state(v.proxy(/* @__PURE__ */ new Map()));
198
199
  v.user_effect(() => {
199
200
  for (let e of r().tickets) v.get(A).has(e.id) || de(e.qrCodeData, 220).then((t) => {
200
201
  v.get(A).set(e.id, t), v.set(A, new y(v.get(A)), !0);
@@ -208,39 +209,39 @@ function E(e, t) {
208
209
  return e.addEventListener("change", t), () => e.removeEventListener("change", t);
209
210
  });
210
211
  function j(e) {
211
- if (e === v.get(a) || e < 0 || e >= v.get(E) || v.get(x)) return;
212
- let t = e > v.get(a);
212
+ if (e === v.get(i) || e < 0 || e >= v.get(E) || v.get(x)) return;
213
+ let t = e > v.get(i);
213
214
  if (v.set(x, !0), v.get(g)) {
214
- v.set(a, e, !0), v.set(x, !1);
215
+ v.set(i, e, !0), v.set(x, !1);
215
216
  return;
216
217
  }
217
218
  v.set(b, t ? "slide-out-left" : "slide-out-right", !0), setTimeout(() => {
218
- v.set(a, e, !0), v.set(b, t ? "slide-in-right" : "slide-in-left", !0), setTimeout(() => {
219
+ v.set(i, e, !0), v.set(b, t ? "slide-in-right" : "slide-in-left", !0), setTimeout(() => {
219
220
  v.set(b, ""), v.set(x, !1);
220
221
  }, 250);
221
222
  }, 200);
222
223
  }
223
224
  function Oe(e) {
224
- !v.get(D) || v.get(x) || (v.set(s, e.touches[0].clientX, !0), v.set(c, e.touches[0].clientY, !0), v.set(d, 0), v.set(p, !1));
225
+ !v.get(D) || v.get(x) || (v.set(s, e.touches[0].clientX, !0), v.set(c, e.touches[0].clientY, !0), v.set(d, 0), v.set(f, !1));
225
226
  }
226
227
  function ke(e) {
227
228
  if (!v.get(D) || v.get(x)) return;
228
229
  let t = e.touches[0].clientX - v.get(s), n = e.touches[0].clientY - v.get(c);
229
- !v.get(p) && Math.abs(t) > 10 && Math.abs(t) > Math.abs(n) * 1.5 && v.set(p, !0), v.get(p) && (e.preventDefault(), v.set(d, t));
230
+ !v.get(f) && Math.abs(t) > 10 && Math.abs(t) > Math.abs(n) * 1.5 && v.set(f, !0), v.get(f) && (e.preventDefault(), v.set(d, t));
230
231
  }
231
232
  function Ae() {
232
- if (!v.get(D) || !v.get(p)) {
233
- v.set(d, 0), v.set(p, !1);
233
+ if (!v.get(D) || !v.get(f)) {
234
+ v.set(d, 0), v.set(f, !1);
234
235
  return;
235
236
  }
236
- let e = v.get(a);
237
- if (v.get(d) < -50 && v.get(a) < v.get(E) - 1 ? e = v.get(a) + 1 : v.get(d) > 50 && v.get(a) > 0 && (e = v.get(a) - 1), v.set(d, 0), v.set(p, !1), e !== v.get(a)) {
238
- let t = e > v.get(a);
237
+ let e = v.get(i);
238
+ if (v.get(d) < -50 && v.get(i) < v.get(E) - 1 ? e = v.get(i) + 1 : v.get(d) > 50 && v.get(i) > 0 && (e = v.get(i) - 1), v.set(d, 0), v.set(f, !1), e !== v.get(i)) {
239
+ let t = e > v.get(i);
239
240
  if (v.set(x, !0), v.get(g)) {
240
- v.set(a, e, !0), v.set(x, !1);
241
+ v.set(i, e, !0), v.set(x, !1);
241
242
  return;
242
243
  }
243
- v.set(a, e, !0), v.set(b, t ? "slide-in-right" : "slide-in-left", !0), setTimeout(() => {
244
+ v.set(i, e, !0), v.set(b, t ? "slide-in-right" : "slide-in-left", !0), setTimeout(() => {
244
245
  v.set(b, ""), v.set(x, !1);
245
246
  }, 250);
246
247
  }
@@ -249,10 +250,10 @@ function E(e, t) {
249
250
  j(e);
250
251
  }
251
252
  function Me() {
252
- j(v.get(a) - 1);
253
+ j(v.get(i) - 1);
253
254
  }
254
255
  function Ne() {
255
- j(v.get(a) + 1);
256
+ j(v.get(i) + 1);
256
257
  }
257
258
  let M = v.state("");
258
259
  function Pe() {
@@ -262,7 +263,7 @@ function E(e, t) {
262
263
  async function Ie() {
263
264
  if (v.get(F)) return;
264
265
  v.set(F, !0), v.set(I, "");
265
- let e = await f(r().order.orderUUID, v.get(P).trim());
266
+ let e = await p(r().order.orderUUID, v.get(P).trim());
266
267
  v.set(F, !1), e.success ? (v.set(Fe, !0), v.set(N, !1)) : v.set(I, e.error || "Something went wrong. Please try again in a moment.", !0);
267
268
  }
268
269
  var Le = Te(), L = v.first_child(Le), Re = v.child(L), ze = (e) => {
@@ -350,29 +351,29 @@ function E(e, t) {
350
351
  return `qr-card !bg-card rounded-2xl shadow-2xl ${v.get(b) ?? ""}`;
351
352
  },
352
353
  children: (e, t) => {
353
- var r = ye(), i = v.first_child(r), a = v.child(i), s = (e) => {
354
+ var r = ye(), i = v.first_child(r), o = v.child(i), s = (e) => {
354
355
  {
355
- let t = v.derived(() => v.get(A).get(v.get(o).id)), n = v.derived(() => v.get(k) ? "opacity-20 grayscale" : "");
356
+ let t = v.derived(() => v.get(A).get(v.get(a).id)), n = v.derived(() => v.get(k) ? "opacity-20 grayscale" : "");
356
357
  u(e, {
357
358
  get src() {
358
359
  return v.get(t);
359
360
  },
360
361
  get alt() {
361
- return `QR code for ticket ${v.get(o).ticketNumber ?? ""}${v.get(De) ?? ""}`;
362
+ return `QR code for ticket ${v.get(a).ticketNumber ?? ""}${v.get(De) ?? ""}`;
362
363
  },
363
364
  get class() {
364
365
  return `h-52 w-52 ${v.get(n) ?? ""}`;
365
366
  }
366
367
  });
367
368
  }
368
- }, c = v.derived(() => v.get(A).get(v.get(o).id)), d = (e) => {
369
+ }, c = v.derived(() => v.get(A).get(v.get(a).id)), d = (e) => {
369
370
  var t = ge(), n = v.child(t);
370
371
  te(n, { size: "lg" }), v.reset(t), v.append(e, t);
371
372
  };
372
- v.if(a, (e) => {
373
+ v.if(o, (e) => {
373
374
  v.get(c) ? e(s) : e(d, -1);
374
375
  });
375
- var f = v.sibling(a, 2), p = (e) => {
376
+ var f = v.sibling(o, 2), p = (e) => {
376
377
  var t = _e();
377
378
  v.append(e, t);
378
379
  };
@@ -410,7 +411,7 @@ function E(e, t) {
410
411
  v.if(ne, (e) => {
411
412
  (v.get(k) || v.get(Ee)) && e(x);
412
413
  }), v.template_effect(() => {
413
- v.set_class(h, 1, v.clsx(n.h3), "svelte-zcgkvv"), v.set_text(ee, v.get(o).attendeeName), v.set_text(_, v.get(o).ticketType), v.set_text(b, v.get(o).ticketNumber);
414
+ v.set_class(h, 1, v.clsx(n.h3), "svelte-zcgkvv"), v.set_text(ee, v.get(a).attendeeName), v.set_text(_, v.get(a).ticketType), v.set_text(b, v.get(a).ticketNumber);
414
415
  }), v.append(e, r);
415
416
  },
416
417
  $$slots: { default: !0 }
@@ -418,8 +419,8 @@ function E(e, t) {
418
419
  var qe = v.sibling(Ke, 2), Je = (e) => {
419
420
  var t = be(), n = v.first_child(t), r = v.child(n);
420
421
  {
421
- let e = v.derived(() => v.get(a) === 0);
422
- i(r, {
422
+ let e = v.derived(() => v.get(i) === 0);
423
+ o(r, {
423
424
  variant: "icon",
424
425
  size: "sm",
425
426
  onclick: Me,
@@ -437,21 +438,21 @@ function E(e, t) {
437
438
  $$slots: { default: !0 }
438
439
  });
439
440
  }
440
- var o = v.sibling(r, 2);
441
- ae(o, {
441
+ var a = v.sibling(r, 2);
442
+ ae(a, {
442
443
  get count() {
443
444
  return v.get(E);
444
445
  },
445
446
  get activeIndex() {
446
- return v.get(a);
447
+ return v.get(i);
447
448
  },
448
449
  variant: "light",
449
450
  onselect: je
450
451
  });
451
- var s = v.sibling(o, 2);
452
+ var s = v.sibling(a, 2);
452
453
  {
453
- let e = v.derived(() => v.get(a) === v.get(E) - 1);
454
- i(s, {
454
+ let e = v.derived(() => v.get(i) === v.get(E) - 1);
455
+ o(s, {
455
456
  variant: "icon",
456
457
  size: "sm",
457
458
  onclick: Ne,
@@ -478,7 +479,7 @@ function E(e, t) {
478
479
  children: (e, t) => {
479
480
  v.next();
480
481
  var n = v.text();
481
- v.template_effect(() => v.set_text(n, `${v.get(a) + 1} of ${v.get(E) ?? ""}`)), v.append(e, n);
482
+ v.template_effect(() => v.set_text(n, `${v.get(i) + 1} of ${v.get(E) ?? ""}`)), v.append(e, n);
482
483
  },
483
484
  $$slots: { default: !0 }
484
485
  }), v.reset(c), v.append(e, t);
@@ -487,7 +488,7 @@ function E(e, t) {
487
488
  v.get(D) && e(Je);
488
489
  }), v.reset(V), v.reset(B);
489
490
  var Ye = v.sibling(B, 2), Xe = v.child(Ye), H = v.child(Xe), U = v.child(H), Ze = v.child(U);
490
- i(Ze, {
491
+ o(Ze, {
491
492
  variant: "ghost",
492
493
  onclick: Pe,
493
494
  class: "!p-0 !border-transparent transition-opacity hover:opacity-80 hover:!bg-transparent",
@@ -502,7 +503,7 @@ function E(e, t) {
502
503
  $$slots: { default: !0 }
503
504
  });
504
505
  var Qe = v.sibling(Ze, 2);
505
- i(Qe, {
506
+ o(Qe, {
506
507
  variant: "ghost",
507
508
  onclick: Pe,
508
509
  class: "!p-0 !border-transparent transition-opacity hover:opacity-80 hover:!bg-transparent",
@@ -519,7 +520,7 @@ function E(e, t) {
519
520
  var W = v.sibling(U, 2), $e = v.child(W, !0);
520
521
  v.reset(W), v.reset(H);
521
522
  var G = v.sibling(H, 2), et = v.child(G);
522
- i(et, {
523
+ o(et, {
523
524
  get href() {
524
525
  return v.get(oe);
525
526
  },
@@ -536,7 +537,7 @@ function E(e, t) {
536
537
  var J = v.sibling(G, 2), Y = v.child(J), rt = v.child(Y, !0);
537
538
  v.reset(Y);
538
539
  var it = v.sibling(Y, 2);
539
- i(it, {
540
+ o(it, {
540
541
  get href() {
541
542
  return v.get(ie);
542
543
  },
@@ -557,9 +558,9 @@ function E(e, t) {
557
558
  follow up about your order.`);
558
559
  }), v.append(e, t);
559
560
  }, st = (e) => {
560
- var t = we(), a = v.child(t), o = v.child(a);
561
- v.reset(a);
562
- var s = v.sibling(a, 2);
561
+ var t = we(), i = v.child(t), a = v.child(i);
562
+ v.reset(i);
563
+ var s = v.sibling(i, 2);
563
564
  ee(s, {
564
565
  id: "refund-reason",
565
566
  name: "refund-reason",
@@ -584,7 +585,7 @@ function E(e, t) {
584
585
  v.get(I) && e(l);
585
586
  });
586
587
  var u = v.sibling(c, 2), d = v.child(u);
587
- i(d, {
588
+ o(d, {
588
589
  variant: "alternative",
589
590
  size: "xs",
590
591
  onclick: Ie,
@@ -599,7 +600,7 @@ function E(e, t) {
599
600
  $$slots: { default: !0 }
600
601
  });
601
602
  var f = v.sibling(d, 2);
602
- i(f, {
603
+ o(f, {
603
604
  variant: "link",
604
605
  size: "xs",
605
606
  onclick: () => v.set(N, !1),
@@ -614,10 +615,10 @@ function E(e, t) {
614
615
  },
615
616
  $$slots: { default: !0 }
616
617
  }), v.reset(u), v.reset(t), v.template_effect(() => {
617
- v.set_class(a, 1, `${n.xsMuted ?? ""} block`, "svelte-zcgkvv"), v.set_text(o, `Tell ${r().venue.name ?? ""} why you're requesting a refund (optional)`);
618
+ v.set_class(i, 1, `${n.xsMuted ?? ""} block`, "svelte-zcgkvv"), v.set_text(a, `Tell ${r().venue.name ?? ""} why you're requesting a refund (optional)`);
618
619
  }), v.append(e, t);
619
620
  }, ct = (e) => {
620
- i(e, {
621
+ o(e, {
621
622
  variant: "link",
622
623
  size: "xs",
623
624
  onclick: () => v.set(N, !0),
@@ -1,4 +1,4 @@
1
- import { J as e } from "./constants-Dcj3kgZE.js";
1
+ import { J as e } from "./constants-OTS1wmXZ.js";
2
2
  import "svelte/internal/disclose-version";
3
3
  import * as t from "svelte/internal/client";
4
4
  //#region node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/ChevronDownOutline.svelte
@@ -1,4 +1,4 @@
1
- import { J as e } from "./constants-Dcj3kgZE.js";
1
+ import { J as e } from "./constants-OTS1wmXZ.js";
2
2
  import "svelte/internal/disclose-version";
3
3
  import * as t from "svelte/internal/client";
4
4
  //#region node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/WarningTriIcon.svelte
@@ -1,4 +1,4 @@
1
- import { F as e } from "./orders-tzTe2hNM.js";
1
+ import { L as e } from "./orders-NZP81zYT.js";
2
2
  //#region node_modules/@getmicdrop/svelte-components/dist/utils/liveAnnouncer.js
3
3
  var t = null;
4
4
  function n() {
package/dist/api/api.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@getmicdrop/svelte-components/utils/logger"),t=require("@getmicdrop/svelte-components/errors"),n=require("@getmicdrop/svelte-components"),r=require("@getmicdrop/svelte-components/datetime"),i=require("@getmicdrop/svelte-components/transforms");require("@getmicdrop/svelte-components/utils/timezones"),require("@getmicdrop/svelte-components/utils/formatters"),(0,e.createLogger)(`VC:config`,{enabled:!0});var a=(0,e.createLogger)(`VC`),o=`ABORTED`;function s(e,t){let n=t||void 0;return n?{...e,"X-Widget-Key":n}:e}function c(e,t){let n=`HTTP ${t}`;if(!e||typeof e!=`object`)return{message:n};let r=e,i=r.error&&typeof r.error==`object`?r.error:null,a=typeof r.code==`string`?r.code:typeof i?.code==`string`?i.code:void 0;return{message:typeof r.error==`string`?r.error:typeof i?.message==`string`?i.message:typeof r.message==`string`?r.message:n,code:a}}var l=class extends Error{code;statusCode;constructor(e,t,n){super(e),this.name=`ApiRequestError`,this.code=t,this.statusCode=n}},u={baseUrl:`https://get-micdrop.com`,timeout:3e4,retries:2,retryDelay:500,onError:e=>a.error(`API Error:`,e)};function d(e){u={...u,...e}}function f(){return{...u}}function p(){return`${u.baseUrl}/api/v2/public`}function m(){return`${u.baseUrl}/api/public`}function h(){return`${u.baseUrl}/api/orders/v2/public`}async function g(){return``}var _=e=>new Promise(t=>setTimeout(t,e));async function ee(e,t,n){let r=(t.method||`GET`).toUpperCase(),i=r===`GET`||r===`HEAD`?n.retries+1:1,a;for(let r=1;r<=i;r++){let o=new AbortController,s=setTimeout(()=>o.abort(),n.timeout),c=t.signal,l;c&&(c.aborted?o.abort():(l=()=>o.abort(),c.addEventListener(`abort`,l,{once:!0})));try{let n=await fetch(e,{...t,signal:o.signal});if(n.status>=500&&r<i)a=Error(`HTTP ${n.status}`);else return n}catch(e){if(a=e,c?.aborted)throw e}finally{clearTimeout(s),c&&l&&c.removeEventListener(`abort`,l)}r<i&&await _(n.retryDelay*2**(r-1))}throw a}async function v(e,t){return x(`GET`,e,void 0,t)}async function y(e,t,n){return x(`POST`,e,t,n)}async function te(e,t,n){return x(`PUT`,e,t,n)}async function b(e,t){return x(`DELETE`,e,void 0,t)}async function x(e,t,n,r){let i=t.startsWith(`http`)||t.startsWith(`/api/`)?t:`${p()}${t}`,{widgetKey:a,suppressOnError:d,headers:f,...m}=r??{},h=e=>{d||u.onError(e)};try{let t=await ee(i,{method:e,headers:s({"Content-Type":`application/json`,...f},a),body:n===void 0?void 0:JSON.stringify(n),...m},u);if(!t.ok){let{message:e,code:n}=c(await t.json().catch(()=>({})),t.status);return h(new l(e,n,t.status)),{success:!1,error:e,errorCode:n,statusCode:t.status}}return{success:!0,data:await t.json(),statusCode:t.status}}catch(e){if(r?.signal?.aborted)return{success:!1,error:`Request aborted`,errorCode:o,aborted:!0};let t=e instanceof Error?e.name===`AbortError`?`Request timed out`:e.message:`Unknown error`;return h(e instanceof Error?e:Error(t)),{success:!1,error:t}}}async function S(e,t){try{let n=e.startsWith(u.baseUrl),{widgetKey:r,...i}=t??{},o=await ee(e,{...i,...n?{headers:s(i.headers,r)}:{}},u);if(!o.ok){let e=await o.json().catch(()=>({}));return a.error(`API request failed: ${o.status}`,e),null}return o.json()}catch(e){return a.error(`API request error:`,e),null}}function ne(e){let t=e??{};return{ticketID:Number(t.TicketID??t.ticketID??0),quantity:Number(t.Quantity??t.quantity??0),priceAtReservation:Number(t.PriceAtReservation??t.priceAtReservation??0),status:String(t.Status??t.status??``)}}function re(e){let t=e??{};return{uuid:t.UUID??t.uuid??``,eventID:Number(t.EventID??t.eventID??0),status:t.Status??t.status??``,expiresAt:t.ExpiresAt??t.expiresAt??``,reservations:(t.Reservations??t.reservations??[]).map(ne)}}var C=[`utmSource`,`utmMedium`,`utmCampaign`,`utmContent`,`utmTerm`],ie={utmSource:`utm_source`,utmMedium:`utm_medium`,utmCampaign:`utm_campaign`,utmContent:`utm_content`,utmTerm:`utm_term`},ae=`direct`;function w(e){return e?e.trim().toLowerCase().replace(/\s+/g,`_`):``}function oe(e){let t={};for(let n of C)t[n]=w(e[n]);return t.utmSource||=ae,t}function se(e){let t={};for(let n of C)t[n]=e.get(ie[n]);return oe(t)}var T={search:null,referrer:null,pageUrl:null};function ce(){if(typeof window>`u`)return!0;try{return window.self===window.top}catch{return!1}}function le(){let e=typeof window<`u`,t=ce(),n=T.search??(e?window.location.search:``),r=T.referrer??(typeof document<`u`?document.referrer:``)??``,i=T.pageUrl??(e&&t?window.location.href:``);return{utm:se(new URLSearchParams(n)),referrer:r||``,pageUrl:i||``}}var E=null,ue=!1;function de(){return typeof window<`u`&&typeof window.__tcfapi==`function`}function fe(){return typeof navigator<`u`&&navigator.globalPrivacyControl===!0}function pe(){return E===null?de()||fe():E}function me(){return!pe()||ue}var he=`micdrop_session_id`,D=`micdrop_visitor_id`,ge=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function O(e){return typeof e==`string`&&ge.test(e)}function k(){let e=typeof crypto<`u`?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let e=0;e<16;e++)t[e]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[];for(let e=0;e<16;e++)n.push(t[e].toString(16).padStart(2,`0`));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n[10]}${n[11]}${n[12]}${n[13]}${n[14]}${n[15]}`}function _e(){let e=(0,n.getSessionStorage)(he);return e||(e=k(),(0,n.setSessionStorage)(he,e)),e}function ve(e){let t=(0,n.getLocalStorage)(D);if(O(t))return{id:t,createdAt:e,migrated:!0};if(t&&typeof t==`object`){let{id:n,createdAt:r}=t;if(!O(n))return null;let i=typeof r==`number`&&Number.isFinite(r),a=i?Math.min(r,e):e;return{id:n,createdAt:a,migrated:!i||a!==r}}return null}function ye(){if(!me())return null;let e=Date.now(),t=ve(e);if(t&&e-t.createdAt<34128e6){if(t.migrated){let e={id:t.id,createdAt:t.createdAt};(0,n.setLocalStorage)(D,e)}return t.id}let r=k();return(0,n.setLocalStorage)(D,{id:r,createdAt:e}),r}var be=`micdrop_attribution`;function xe(){let e=(0,n.getSessionStorage)(be);return!e||!e.utm||typeof e.utm.utmSource!=`string`?null:e}function A(){let e=xe()??le();return{sessionId:_e(),visitorId:ye(),utmSource:e.utm.utmSource,utmMedium:e.utm.utmMedium,utmCampaign:e.utm.utmCampaign,utmContent:e.utm.utmContent,utmTerm:e.utm.utmTerm,referrer:e.referrer||``}}(0,n.createLogger)(`tracking`);var j=(0,e.createLogger)(`VC`);async function Se(e,n,r,i){try{let a=await y(`${h()}/cart/${e}/payment-intent`,{productQuantities:n,...r&&Object.keys(r).length>0?{donationAmounts:r}:{},...i?{firstName:i.firstName,lastName:i.lastName,email:i.email,mailingList:i.mailingList??!1}:{},attribution:A()});if(!a.success)throw j.error(`Payment intent creation failed:`,a.error),new t.ApiError(a.error||`Failed to create payment intent`,a.statusCode??0,{endpoint:`${h()}/cart/${e}/payment-intent`,method:`POST`});return j.debug(`Payment intent created:`,a.data),a.data}catch(e){return j.error(`createPaymentIntent error:`,e),null}}async function Ce(e,t){if(!e)return null;try{let n=await v(`${h()}/cart/${e}`);if(!n.success)return null;let{uuid:r,eventID:i,status:a,expiresAt:o,reservations:s}=re(n.data);return a!==`reserved`&&a!==`active`||t!==void 0&&i!==Number(t)?null:{uuid:r,eventID:i,status:a,expiresAt:o,reservations:s}}catch(e){return j.error(`getCartByUUID error:`,e),null}}async function we(e,t,n){try{let r={};for(let[e,n]of Object.entries(t)){let t=typeof e==`number`?e:parseInt(e,10);!Number.isNaN(t)&&n>0&&(r[t]=n)}let i={};if(n)for(let[e,t]of Object.entries(n)){let n=typeof e==`number`?e:parseInt(e,10);!Number.isNaN(n)&&t>0&&(i[n]=t)}let a=await fetch(`${h()}/cart/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({quantities:r,...Object.keys(i).length>0?{donationAmounts:i}:{}})});if(!a.ok){let e=await a.json().catch(()=>({}));return j.error(`Cart update failed:`,e),!1}return!0}catch(e){return j.error(`updateCartQuantities error:`,e),!1}}async function Te(e){try{let t=await y(`${p()}/orders/complete/${e}`);return t.success?{success:!0,message:t.data?.message}:{success:!1,error:t.error||`Failed to complete reservation`}}catch(e){return j.error(`Error completing reservation:`,e),{success:!1,error:`Network error completing reservation`}}}async function Ee(e){try{let t=await y(`${p()}/orders/cancel/${e}`);return t.success?{success:!0,message:t.data?.message}:{success:!1,error:t.error||`Failed to cancel reservation`}}catch(e){return j.error(`Error cancelling reservation:`,e),{success:!1,error:`Network error cancelling reservation`}}}async function De(e,t){try{let n=await y(`${p()}/orders/create`,{eventID:e,promoCode:t,attribution:A()});return n.success?n.data:(j.error(`Create order failed:`,n.error),null)}catch(e){return j.error(`createOrder error:`,e),null}}async function Oe(e){return S(`${p()}/orders/${e}`)}async function ke(e,t){try{let n=await y(`${h()}/validatePaymentIntent/${e}`,{...t,attribution:A()});if(!n.success)return j.error(`Payment validation failed:`,n.error),{success:!1,status:`failed`,error:n.error||`Payment validation failed`};let r=n.data;return r.eventCanceled||r.eventPostponed?{success:!1,status:`failed`,eventCanceled:r.eventCanceled,eventPostponed:r.eventPostponed}:{success:!0,status:r.status||`Payment succeeded`,orderUUID:r.orderUUID||r.uuid}}catch(e){return j.error(`validatePaymentIntent error:`,e),null}}async function Ae(e){try{let t=await y(`${p()}/orders/extend-session`,{orderUuid:e});if(!t.success)return{success:!1,error:t.error||`Failed to extend session`,statusCode:t.statusCode};let n=t.data;return{success:!0,newExpiryTime:n.newExpiryTime,remainingExtensions:n.remainingExtensions}}catch(e){return j.error(`Error extending checkout session:`,e),{success:!1,error:`Network error extending session`}}}async function je(e){try{let t=await v(`${p()}/orders/session/${e}`);if(!t.success)return{error:t.error||`No active session found`,notFound:t.statusCode===404};let n=t.data;return{expiresAt:n.expiresAt,extensionCount:n.extensionCount,remainingExtensions:n.remainingExtensions,canExtend:n.canExtend,reservationCount:n.reservationCount,eventStatus:n.eventStatus}}catch(e){return j.error(`Error getting session status:`,e),{error:`Network error getting session status`}}}async function Me(e={eventID:``}){try{let t=await y(`${p()}/orders/create`,{...e,attribution:A()});return t.success?t.data?.uuid??null:(j.error(`Order initiation failed:`,t.error),null)}catch(e){return j.error(`initiateOrder error:`,e),null}}async function Ne(e){if(typeof window>`u`)return;let t=w(new URLSearchParams(window.location.search).get(`utm_source`))||`direct`;try{await fetch(`${p()}/utm/${e}/${encodeURIComponent(t)}`)}catch(e){j.error(`UTM tracking failed:`,e)}}var M=(0,e.createLogger)(`VC`);async function Pe(e,t){try{if(!t||!t.trim())return{valid:!1,error:`Promo code is required`};let n=await v(`/promo-codes/validate/${e}/${encodeURIComponent(t.trim())}`);if(!n.success)return n.statusCode===404?{valid:!1,error:`Invalid promo code`}:{valid:!1,error:`Failed to validate code`};let r=n.data;return{valid:r.valid??!0,revealHiddenTickets:r.revealHiddenTickets,revealTicketIds:r.revealTicketIds,provideDiscount:r.provideDiscount,discountType:r.discountType,amount:r.discount??r.amount,code:r.name||r.code||t,appliesToAllTickets:r.appliesToAllTickets,applyToTicketIds:r.applyToTicketIds}}catch(e){return M.error(`Error validating promo code:`,e),{valid:!1,error:`Network error validating code`}}}async function Fe(e){try{let t=await v(`/promo-codes/check/${e}`);return!t.success||t.data.hasPromoCodes===!0}catch(e){return M.error(`Error checking promo codes availability:`,e),!0}}async function Ie(e,t,n){try{let r={promoCode:t};n&&Object.keys(n).length>0&&(r.productQuantities=n);let i=await y(`${h()}/cart/${e}/apply-promo`,r);return i.success?{success:!0}:{success:!1,error:i.error||`Failed to apply promo code`}}catch(e){return M.error(`Error applying promo code:`,e),{success:!1,error:`Network error applying code`}}}async function Le(e){try{let t=await y(`/orders/${e}/remove-promo`);return t.success?{success:!0}:{success:!1,error:t.error||`Failed to remove promo code`}}catch(e){return M.error(`Error removing promo code:`,e),{success:!1,error:`Network error removing code`}}}function Re(e){let t=e??{};return{performers:Array.isArray(t.performers)?t.performers:[],showPerformers:t.showPerformers===!0}}function N(e){return{ok:!0,data:e}}function P(e){return{ok:!1,error:e}}function F(e){return{ok:!1,error:e,notFound:!0}}function ze(e){return e.ok}function Be(e){return!e.ok}function I(e,t){return e.ok?e.data:t}var L=`/api/v2/public`,R=`/api/orders/v2/public`,z=`/api/orders/v2`,B=`00000000-0000-0000-0000-000000000000`,V=B;`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}${V}`,`${L}`,`${L}`,`${L}`,`${L}`,`${L}`,`${L}`,`${L}`,`${L}${V}`,`${R}`,`${R}`,`${R}`,`${R}${V}`,`${R}`,`${R}${V}`,`${R}`,`${R}${V}`,`${R}`,`${R}${V}`,`${R}`,`${R}${V}`,`${R}`,`${R}${V}`,`${R}`,`${R}${V}`,`${R}`,`${R}${V}`,`${z}`,`${z}`,`${R}`,`${R}`,`${L}`,`${L}${V}`,`${L}`,`${L}`;var H=(0,e.createLogger)(`VC`),U=new Map;async function W(e,t=fetch,n){let r=n?`${e}:pw`:String(e);if(t===fetch){let e=U.get(r);if(e)return e}let i=(async()=>{try{let r=await t(n?`${p()}/events/${e}?password=${encodeURIComponent(n)}`:`${p()}/events/${e}`);if(!r.ok)return r.status===404?F(`event_not_found`):(H.error(`Failed to fetch event details: ${r.status}`),P(`event_fetch_failed`));let i=await r.json();return i?N(i):F(`event_not_found`)}catch(e){return H.error(`Error fetching event details:`,e),P(`event_fetch_failed`)}})();return t===fetch&&(U.set(r,i),i.finally(()=>{U.get(r)===i&&U.delete(r)})),i}async function Ve(e,t=fetch,n){let r=await W(e,t,n);return r.ok?r.data:null}async function G(e,t,n=e=>e){try{let r=await S(e);return r?N(n(r)):(H.error(`Failed to load (${t}): network or server error`),P(t))}catch(e){return H.error(`Error loading (${t}):`,e),P(t)}}function K(e){return Array.isArray(e)?e:[]}async function q(e,t){let n=t?.trim(),r=n?`?promoCode=${encodeURIComponent(n)}`:``;return G(`${p()}/tickets/event/${e}${r}`,`tickets_fetch_failed`,K)}async function He(e,t){return I(await q(e,t),[])}async function J(e){return e?G(`${p()}/events/${e}/performers`,`performers_fetch_failed`,e=>Re(e)):(H.warn(`fetchEventPerformers called without eventId`),P(`performers_missing_event_id`))}async function Ue(e){return I(await J(e),{performers:[],showPerformers:!1})}async function We(e){return e?G(`${p()}/venues/organization/${e}`,`venues_fetch_failed`,K):(H.warn(`fetchAllVenues called without orgId`),P(`venues_missing_org_id`))}async function Ge(e){return I(await We(e),[])}async function Ke(e){return e?G(`${p()}/events/venue/${e}`,`venue_events_fetch_failed`,K):(H.warn(`fetchVenueEvents called without venueId`),P(`venue_events_missing_venue_id`))}async function qe(e){return I(await Ke(e),[])}function Je(e){return Array.isArray(e)?e:Array.isArray(e.events)?e.events:[]}async function Ye(e,t,n){return G(`${p()}/events/venue/${e}/month/${t}/${n}`,`month_events_fetch_failed`,e=>Je(e))}async function Xe(e,t,n){return I(await Ye(e,t,n),[])}async function Ze(e,t,n){return G(`${p()}/events/organization/${e}/month/${t}/${n}`,`org_month_events_fetch_failed`,e=>Je(e))}async function Qe(e,t,n){return I(await Ze(e,t,n),[])}async function $e(e){return G(`${p()}/series/${e}/occurrences`,`series_occurrences_fetch_failed`)}async function et(e){let t=await $e(e);return t.ok?t.data:null}async function tt(e,t){return G(`${p()}/series/${e}/occurrences?venueId=${t}`,`series_cta_fetch_failed`)}async function nt(e,t){let n=await tt(e,t);return n.ok?n.data:null}async function rt(e,n){try{let r=n?`?slug=${encodeURIComponent(n)}`:``,i=await S(`${p()}/resolve/${encodeURIComponent(String(e))}${r}`);if(!i||!i.type)throw new t.NotFoundError(`entity`,String(e));return i}catch(e){return H.error(`Error resolving public entity:`,e),null}}async function it(e,n){try{let r=await S(n?`${p()}/collections/${e}?password=${encodeURIComponent(n)}`:`${p()}/collections/${e}`);if(!r)throw new t.NotFoundError(`collection`,String(e));return r}catch(e){return H.error(`Error fetching collection:`,e),null}}async function at(e,t){try{return(await S(`${p()}/collections/${e}/check-password`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({password:t})}))?.valid===!0}catch(e){return H.error(`Error checking collection password:`,e),!1}}async function ot(e,t){try{let n=await S(`${p()}/events/${e}/check-password`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({password:t})});return typeof n==`boolean`?{valid:n}:{valid:n?.valid===!0}}catch(e){return H.error(`Error checking event password:`,e),{valid:!1}}}async function st(e,t){try{let n=t?`${p()}/events/venue/${t}`:e?`${p()}/venues/organization/${e}`:`${p()}/venues/${B}`;return(await fetch(n,{method:`HEAD`})).status<500}catch(e){return H.error(`Network connection test failed:`,e),!1}}var Y=(0,e.createLogger)(`VC`);async function ct(e){try{if(!e)return Y.warn(`getVenue called without venueId`),null;let t=await v(`/venues/${e}`);return t.success?t.data??null:(Y.error(`Failed to fetch venue: ${t.statusCode}`),null)}catch(e){return Y.error(`Error fetching venue:`,e),null}}async function lt(e){let t=await ct(e);return t?{serviceFeePercentage:t.serviceFeePercentage??0,serviceFeeCents:t.serviceFeeCents==null?0:t.serviceFeeCents,taxPercentage:t.taxPercentage??0}:null}async function ut(e){try{if(!e)return Y.warn(`getVenueBySlug called without slug`),null;let t=await v(`/venues/slug/${encodeURIComponent(e)}`);return t.success?t.data??null:(Y.error(`Failed to fetch venue by slug: ${t.statusCode}`),null)}catch(e){return Y.error(`Error fetching venue by slug:`,e),null}}function X(e,t){return e==null||t(e)}function dt(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.valid===!0&&Number.isInteger(t.appliedAmount)&&typeof t.remainingTotal==`number`&&Number.isFinite(t.remainingTotal)&&X(t.giftCardCode,e=>typeof e==`string`)&&X(t.giftCardBalance,e=>typeof e==`number`&&Number.isFinite(e))&&X(t.fullyCoveredByCard,e=>typeof e==`boolean`)}var ft=`We couldn't apply that gift card. Please try again.`;function pt(e){if(!dt(e))return{valid:!1,error:ft};let t=e,r=(0,n.centsToDollars)((0,n.toCents)(t.appliedAmount)),i=t.remainingTotal,a=t.fullyCoveredByCard??i<=0,o=!a;return{valid:!0,giftCardCode:t.giftCardCode??void 0,giftCardAmount:r,giftCardBalance:t.giftCardBalance??void 0,paymentType:a?`gift_card_only`:`split`,stripeAmount:i,orderTotal:r+i,requiresStripe:o}}var Z=(0,e.createLogger)(`VC`);async function mt(e){try{let n=await y(`${h()}/gift-cards/purchase/create`,e);if(!n.success)throw Z.error(`Gift card purchase creation failed:`,n.error),new t.ApiError(n.error||`Failed to create gift card purchase`,n.statusCode??0,{endpoint:`${h()}/gift-cards/purchase/create`,method:`POST`});return Z.debug(`Gift card purchase created:`,n.data),n.data}catch(e){return Z.error(`Gift card purchase creation error:`,e),null}}async function ht(e,t){try{let n=await y(`${h()}/cart/${e}/apply-gift-card`,{giftCardCode:t});if(!n.success)return n.statusCode===429?{valid:!1,error:`Too many attempts. Please wait a moment and try again.`}:(Z.error(`Apply gift card failed:`,n.error),{valid:!1,error:n.error||`Invalid gift card code`});let r=pt(n.data);return r.valid||Z.error(`Apply gift card returned an unusable payload:`,n.data),r}catch(e){return Z.error(`applyGiftCard error:`,e),{valid:!1,error:`Network error. Please check your connection and try again.`}}}async function gt(e,t){try{let n=await b(`${h()}/cart/${e}/gift-card`,t?{body:JSON.stringify({giftCardCode:t})}:void 0);return n.success?{success:!0}:(Z.error(`Remove gift card failed:`,n.error),{success:!1,error:n.error||`Failed to remove gift card`})}catch(e){return Z.error(`removeGiftCard error:`,e),{success:!1,error:`Network error. Please check your connection and try again.`}}}async function _t(e,t){try{let r=await y(`${h()}/cart/${e}/complete-gift-card-payment`,{customerName:(0,n.formatFullName)(t.firstName,t.lastName),customerEmail:t.email,firstName:t.firstName,lastName:t.lastName,email:t.email,phoneNumber:t.phoneNumber||null,mailingList:t.mailingList||!1,attribution:A()});return r.success?{success:!0,orderId:r.data?.orderId,confirmationNumber:r.data?.confirmationNumber}:(Z.error(`Complete gift card payment failed:`,r.error),{success:!1,error:r.error||`Failed to complete payment`})}catch(e){return Z.error(`completeGiftCardPayment error:`,e),{success:!1,error:`Network error. Please check your connection and try again.`}}}var Q=(0,e.createLogger)(`VC`),vt={waitlist_not_enabled:`Waitlist is not available for this event`,event_not_found:`Event not found`,invalid_phone:`Please enter a valid phone number`,already_purchased:`You have already purchased tickets for this event`,phone_already_registered:`This phone number is already on the waitlist`};async function yt(e,t,n=null,r=!1){try{let i={email:t};n&&r&&(i.phone=n,i.smsOptIn=!0);let a=await y(`/events/${e}/waitlist`,i);return a.success?{success:!0,updated:a.data?.updated}:(Q.error(`Join waitlist failed:`,a.error),{success:!1,error:vt[a.error??``]||`Failed to join waitlist. Please try again.`})}catch(e){return Q.error(`joinWaitlist error:`,e),{success:!1,error:`Network error. Please check your connection and try again.`}}}async function bt(e,t){try{let n=await y(`/checkout/validate-token/${e}`,{email:t});return n.success?{valid:!0,eventId:n.data?.eventId??0}:{valid:!1,eventId:0,errorCode:n.error}}catch(e){return Q.error(`validateWaitlistToken error:`,e),{valid:!1,eventId:0,errorCode:`invalid_token`}}}async function xt(e){let t={waitlistEnabled:!1,soldOut:!1,gated:!1};try{let n=await v(`/events/${e}/waitlist/status`);return n.success?{waitlistEnabled:!!n.data?.waitlistEnabled,soldOut:!!n.data?.soldOut,gated:!!n.data?.gated}:t}catch(e){return Q.error(`getWaitlistStatus error:`,e),t}}function St(e,t,n={}){let{cancelled:a=!1,isRegistration:o=!1,waitlistEnabled:s=!1}=n,c=(0,r.browserNow)();if(a)return{text:`Cancelled`,disabled:!0,reason:`cancelled`};if((e?.status||``).trim().toLowerCase()===`postponed`)return{text:`Postponed`,disabled:!0,reason:`postponed`};let l=(0,r.toInstantOrNull)(e.endDateTime||e.startDateTime);if(l&&(0,r.compareInstants)(l,c)<0)return{text:`Sales ended`,disabled:!0,reason:`event_past`};let u=(e?.salesStatus||``).trim().toLowerCase();if(u===`paused`)return{text:`Sales paused`,disabled:!0,reason:`sales_paused`};if(u===`ended`)return{text:`Sales ended`,disabled:!0,reason:`sales_ended`};let d=e?.hasPurchasableHiddenTickets===!0||Array.isArray(t)&&t.some(i.isHiddenTicketPurchasable),f=()=>d?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`}:s?{text:`Join Waitlist`,disabled:!1,reason:`sold_out_waitlist`}:{text:`Sold out`,disabled:!0,reason:`sold_out`};if(u===`sold_out`)return f();let p=(t||[]).filter(e=>e.salesChannel!==2&&!e.isHidden&&!(typeof e.visibility==`number`&&e.visibility>=2));if(p.length===0)return d?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`}:{text:`No tickets available`,disabled:!0,reason:`no_tickets`};let m=!1,h=!0,g=!0,_=null;for(let e of p){let t=(0,r.toInstantOrNull)(e.salesBegin||e.salesStart||e.saleBegin||e.onSaleStart),n=(0,r.toInstantOrNull)(e.salesEnd||e.saleEnd||e.onSaleEnd),i=e.remainingCapacity??e.quantityRemaining??e.quantity,a=e.soldOut||i!=null&&i<=0,o=t?(0,r.compareInstants)(t,c)>0:!1,s=n?(0,r.compareInstants)(n,c)<0:!1;!a&&!o&&!s&&(m=!0),a||(h=!1),o||(g=!1),o&&t&&!a&&!s&&(!_||(0,r.compareInstants)(t,_)<0)&&(_=t)}if(m)return{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`available`};if(g&&_){if(d)return{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`};let e=(0,r.compareInstants)(_,c),t=e/36e5,n=e/864e5,i=e=>(0,r.formatLocal)(e,{hour:`numeric`,minute:`2-digit`,hour12:!0},`en-US`),a;return a=t<24?i(_):n<=7?(0,r.formatLocal)(_,{weekday:`short`,hour:`numeric`,minute:`2-digit`,hour12:!0},`en-US`):`${(0,r.formatLocal)(_,{month:`short`,day:`numeric`},`en-US`)} ${i(_)}`,{text:`On sale ${a}`,disabled:!0,reason:`coming_soon`}}return h?f():d?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`}:{text:`Sales ended`,disabled:!0,reason:`sales_ended`}}function Ct(e){let t=e;return{uuid:t.uuid||String(t.id||t.ID||``),id:t.id||t.ID,ticketNumber:t.ticketNumber||t.ticket_number,orderId:t.orderId||t.order_id,attendeeFirstName:t.attendeeFirstName||t.attendee_first_name||t.firstName,attendeeLastName:t.attendeeLastName||t.attendee_last_name||t.lastName,attendeeEmail:t.attendeeEmail||t.attendee_email||t.email,ticketName:t.ticketName||t.ticket_name||t.name||``,ticketTypeId:t.ticketTypeId||t.ticket_type_id,purchasePrice:t.purchasePrice||t.purchase_price||t.price||0,status:t.status,checkedIn:t.checkedIn||t.checked_in,checkedInAt:t.checkedInAt||t.checked_in_at}}function wt(e){let t=e,n=t.purchasedTickets||t.tickets||t.purchased_tickets||[];return{uuid:t.uuid||String(t.id||t.ID||``),id:t.id||t.ID,customerEmail:t.customerEmail||t.email||t.customer_email||``,customerFirstName:t.customerFirstName||t.firstName||t.first_name,customerLastName:t.customerLastName||t.lastName||t.last_name,status:t.status||`unknown`,totalAmount:t.totalAmount||t.total||t.total_amount||0,subtotal:t.subtotal,serviceFeesAmount:t.serviceFeesAmount||t.serviceFee||t.service_fee||t.service_fees_amount||0,taxAmount:t.taxAmount||t.tax||t.tax_amount||0,discount:t.discount==null?0:t.discount,paymentIntentId:t.paymentIntentId||t.payment_intent_id,paymentMethod:t.paymentMethod||t.payment_method,purchasedTickets:n.map(Ct),createdAt:t.createdAt||t.created_at,updatedAt:t.updatedAt||t.updated_at}}var Tt=Ct,Et=wt;function Dt(e){let t=wt(e),r=t.uuid.split(`-`)[0]||t.uuid,i=Number(t.totalAmount);return{orderId:t.uuid,displayOrderId:r,email:t.customerEmail,customerName:[t.customerFirstName,t.customerLastName].filter(Boolean).join(` `),total:t.totalAmount,formattedTotal:`${(0,n.formatCurrency)((0,n.asUSD)(Number.isFinite(i)?i/100:0))}`,ticketCount:t.purchasedTickets.length,status:t.status}}function Ot(e){return(0,n.resolveImageUrl)(e,{cdn:!0})}function $(e){return Ot(e.imageUrl||e.imageURL||e.image_url||e.image||``)}function kt(e){switch(e){case`available`:case`sold_out`:case`coming_soon`:case`ended`:return e;default:return null}}function At(e){let t=e.ctaState||e.cta_state;if(t){let e=kt(t);if(e)return e}if(e.isCancelled||e.is_cancelled)return`ended`;let n=(0,r.toInstantOrNull)(e.startDateTime||e.start_date_time||e.date);if(n){let e=Date.now();if(n.getTime()<e)return`ended`}let i=e.ticketsAvailable??e.tickets_available;if(i!==void 0)return i<=0?`sold_out`:`available`;let a=e.availableTickets||e.available_tickets||e.tickets||[];return a.length===0?`coming_soon`:a.reduce((e,t)=>{let n=t.quantityAvailable??t.quantity_available??t.quantity??0,r=t.quantitySold??t.quantity_sold??0;return e+Math.max(0,n-r)},0)<=0?`sold_out`:`available`}function jt(e){let t=e;return{id:t.id||t.ID,name:t.name||t.ticketName||``,description:t.description,price:t.price==null?0:t.price,quantity:t.quantity||t.totalQuantity||0,quantitySold:t.quantitySold||t.quantity_sold||0,quantityAvailable:t.quantityAvailable||t.quantity_available||(t.quantity||0)-(t.quantitySold||0),minPerOrder:t.minPerOrder||t.min_per_order||1,maxPerOrder:t.maxPerOrder||t.max_per_order||10,saleStartDate:t.saleStartDate||t.sale_start_date,saleEndDate:t.saleEndDate||t.sale_end_date,isHidden:t.isHidden||t.is_hidden||!1,revealWithPromoCode:t.revealWithPromoCode||t.reveal_with_promo_code,ticketType:t.ticketType||t.ticket_type||0,sectionId:t.sectionId||t.section_id,sortOrder:t.sortOrder||t.sort_order||0}}function Mt(e){let t=e,n=(t.availableTickets||t.available_tickets||t.tickets||[]).map(jt),r=n.map(e=>e.price).filter(e=>e>0),i=r.length>0?Math.min(...r):void 0,a=r.length>0?Math.max(...r):void 0;return{eventID:t.eventID||t.id||t.ID||0,id:t.id||t.ID,name:t.name||t.title||``,title:t.title||t.name,slug:t.slug,description:t.description,date:t.date||t.startDateTime||t.start_date_time||``,startDateTime:t.startDateTime||t.start_date_time,endDateTime:t.endDateTime||t.end_date_time,doorsOpenTime:t.doorsOpenTime||t.doors_open_time,timezone:t.timezone||t.time_zone,venueId:t.venueId||t.venue_id,venueName:t.venueName||t.venue_name,venueAddress:t.venueAddress||t.venue_address,location:t.location||t.venueAddress||t.venue_address,imageUrl:$(t),imageURL:$(t),status:t.status,isPublished:t.isPublished??t.is_published,isCancelled:t.isCancelled??t.is_cancelled,availableTickets:n,ticketsAvailable:t.ticketsAvailable??t.tickets_available??n.reduce((e,t)=>e+(t.quantityAvailable||0),0),ticketsSold:t.ticketsSold??t.tickets_sold,minPrice:t.minPrice??t.min_price??i,maxPrice:t.maxPrice??t.max_price??a,ctaText:t.ctaText||t.cta_text,ctaState:At(t),showPerformers:t.showPerformers??t.show_performers,eventSeriesId:t.eventSeriesId||t.event_series_id,seriesInstanceNumber:t.seriesInstanceNumber||t.series_instance_number,timeZone:t.timeZone,salesStatus:t.salesStatus||t.sales_status,eventSummary:t.eventSummary,password:t.password,hasPassword:t.hasPassword,disclaimer:t.disclaimer,ticketType:t.ticketType,eventTicketingType:t.eventTicketingType,ageRestriction:t.ageRestriction,displayAgeRestriction:t.displayAgeRestriction,displayStartTime:t.displayStartTime,displayEndTime:t.displayEndTime,displayDoorsTime:t.displayDoorsTime,collectionId:t.collectionId||t.collection_id,ticketsRemaining:t.ticketsRemaining,ticketsTotal:t.ticketsTotal,hasHiddenTickets:t.hasHiddenTickets,stage:t.stage,stageName:t.stageName,stageId:t.stageId,eventCategoryTypes:t.eventCategoryTypes,publicPerformers:t.publicPerformers,collectionIds:t.collectionIds,venue:t.venue,performers:t.performers,faqs:t.faqs,showtimes:t.showtimes,purchasedTickets:t.purchasedTickets}}var Nt=jt,Pt=Mt,Ft=Mt;function It(e){return(0,n.resolveImageUrl)(e,{cdn:!0})}function Lt(e){let t=e,n=t.logoUrl||t.logo_url||t.logo;return{id:t.id||t.ID||0,name:t.name||``,slug:t.slug,address:t.address,googleLocationNameCache:t.googleLocationNameCache||t.google_location_name_cache,city:t.city,state:t.state,zipCode:t.zipCode||t.zip_code,country:t.country,timezone:t.timezone||t.time_zone,logoUrl:It(n),serviceFeePercentage:t.serviceFeePercentage??t.service_fee_percentage??0,serviceFeeCents:t.serviceFeeCents??t.service_fee_cents??0,absorbServiceFee:(t.absorbServiceFee??t.absorb_service_fee)===!0,taxPercentage:t.taxPercentage??t.tax_percentage??0,organizationId:t.organizationId||t.organization_id}}var Rt=Lt;function zt(e){let t=e;return{serviceFeePercentage:t.serviceFeePercentage??t.service_fee_percentage??0,serviceFeeCents:t.serviceFeeCents??t.service_fee_cents??0,taxPercentage:t.taxPercentage??t.tax_percentage??0}}function Bt(e){return[e.address,e.city,e.state,e.zipCode].filter(Boolean).join(`, `)}exports.apiDelete=b,exports.apiGet=v,exports.apiPost=y,exports.apiPut=te,exports.applyGiftCard=ht,exports.applyPromoCode=Ie,exports.calculateCtaState=At,exports.cancelReservation=Ee,exports.checkCollectionPassword=at,exports.checkEventPassword=ot,exports.completeGiftCardPayment=_t,exports.completeReservation=Te,exports.computeCtaState=St,exports.configureApi=d,exports.createGiftCardPurchase=mt,exports.createOrder=De,exports.createPaymentIntent=Se,exports.err=P,exports.errNotFound=F,exports.extendCheckoutSession=Ae,exports.extractVenueFees=zt,exports.fetchAllVenues=Ge,exports.fetchAllVenuesResult=We,exports.fetchEventDetails=Ve,exports.fetchEventDetailsResult=W,exports.fetchEventPerformers=Ue,exports.fetchEventPerformersResult=J,exports.fetchEventTickets=He,exports.fetchEventTicketsResult=q,exports.fetchPublicCollection=it,exports.fetchSeriesOccurrences=nt,exports.fetchSeriesOccurrencesResult=tt,exports.fetchVenueEvents=qe,exports.fetchVenueEventsResult=Ke,exports.formatVenueAddress=Bt,exports.getApiConfig=f,exports.getCDNImageUrl=Ot,exports.getCartByUUID=Ce,exports.getClientIP=g,exports.getEventImageUrl=$,exports.getLegacyPublicUrl=m,exports.getMonthEvents=Xe,exports.getMonthEventsResult=Ye,exports.getOrder=Oe,exports.getOrdersV2Url=h,exports.getOrgMonthEvents=Qe,exports.getOrgMonthEventsResult=Ze,exports.getPublicBaseUrl=p,exports.getSeriesOccurrences=et,exports.getSeriesOccurrencesResult=$e,exports.getSessionStatus=je,exports.getVenue=ct,exports.getVenueBySlug=ut,exports.getVenueFees=lt,exports.getWaitlistStatus=xt,exports.hasPromoCodes=Fe,exports.initiateOrder=Me,exports.isErr=Be,exports.isOk=ze,exports.joinWaitlist=yt,exports.ok=N,exports.removeGiftCard=gt,exports.removePromoCode=Le,exports.resolvePublicEntity=rt,exports.testNetworkConnection=st,exports.trackUTMSource=Ne,exports.transformAvailableTicket=Nt,exports.transformEvent=Pt,exports.transformEventData=Ft,exports.transformOrder=Et,exports.transformOrderForDisplay=Dt,exports.transformTicket=Tt,exports.transformVenue=Rt,exports.unwrapOr=I,exports.updateCartQuantities=we,exports.validatePaymentIntent=ke,exports.validatePromoCode=Pe,exports.validateWaitlistToken=bt;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@getmicdrop/svelte-components/utils/logger"),t=require("@getmicdrop/svelte-components/errors"),n=require("@getmicdrop/svelte-components"),r=require("@getmicdrop/svelte-components/datetime"),i=require("@getmicdrop/svelte-components/transforms");require("@getmicdrop/svelte-components/utils/timezones"),require("@getmicdrop/svelte-components/utils/formatters"),(0,e.createLogger)(`VC:config`,{enabled:!0});var a=(0,e.createLogger)(`VC`),o=new Set;function s(e){if(e)for(let t of o)try{t(e)}catch{}}var c=`ABORTED`;function l(e,t){let n=t||void 0;return n?{...e,"X-Widget-Key":n}:e}function u(e,t){let n=`HTTP ${t}`;if(!e||typeof e!=`object`)return{message:n};let r=e,i=r.error&&typeof r.error==`object`?r.error:null,a=typeof r.code==`string`?r.code:typeof i?.code==`string`?i.code:void 0;return{message:typeof r.error==`string`?r.error:typeof i?.message==`string`?i.message:typeof r.message==`string`?r.message:n,code:a}}var d=class extends Error{code;statusCode;constructor(e,t,n){super(e),this.name=`ApiRequestError`,this.code=t,this.statusCode=n}},f={baseUrl:`https://get-micdrop.com`,timeout:3e4,retries:2,retryDelay:500,onError:e=>a.error(`API Error:`,e)};function p(e){f={...f,...e}}function m(){return{...f}}function h(){return`${f.baseUrl}/api/v2/public`}function g(){return`${f.baseUrl}/api/public`}function _(){return`${f.baseUrl}/api/orders/v2/public`}async function ee(){return``}var te=e=>new Promise(t=>setTimeout(t,e));async function v(e,t,n){let r=(t.method||`GET`).toUpperCase(),i=r===`GET`||r===`HEAD`?n.retries+1:1,a;for(let r=1;r<=i;r++){let o=new AbortController,s=setTimeout(()=>o.abort(),n.timeout),c=t.signal,l;c&&(c.aborted?o.abort():(l=()=>o.abort(),c.addEventListener(`abort`,l,{once:!0})));try{let n=await fetch(e,{...t,signal:o.signal});if(n.status>=500&&r<i)a=Error(`HTTP ${n.status}`);else return n}catch(e){if(a=e,c?.aborted)throw e}finally{clearTimeout(s),c&&l&&c.removeEventListener(`abort`,l)}r<i&&await te(n.retryDelay*2**(r-1))}throw a}async function y(e,t){return S(`GET`,e,void 0,t)}async function b(e,t,n){return S(`POST`,e,t,n)}async function ne(e,t,n){return S(`PUT`,e,t,n)}async function x(e,t){return S(`DELETE`,e,void 0,t)}async function S(e,t,n,r){let i=t.startsWith(`http`)||t.startsWith(`/api/`)?t:`${h()}${t}`,{widgetKey:a,suppressOnError:o,headers:p,...m}=r??{},g=e=>{o||f.onError(e)};try{let t=await v(i,{method:e,headers:l({"Content-Type":`application/json`,...p},a),body:n===void 0?void 0:JSON.stringify(n),...m},f);if(!t.ok){let{message:e,code:n}=u(await t.json().catch(()=>({})),t.status);return g(new d(e,n,t.status)),s(n),{success:!1,error:e,errorCode:n,statusCode:t.status}}return{success:!0,data:await t.json(),statusCode:t.status}}catch(e){if(r?.signal?.aborted)return{success:!1,error:`Request aborted`,errorCode:c,aborted:!0};let t=e instanceof Error?e.name===`AbortError`?`Request timed out`:e.message:`Unknown error`;return g(e instanceof Error?e:Error(t)),{success:!1,error:t}}}async function C(e,t){try{let n=e.startsWith(f.baseUrl),{widgetKey:r,...i}=t??{},o=await v(e,{...i,...n?{headers:l(i.headers,r)}:{}},f);if(!o.ok){let e=await o.json().catch(()=>({}));return a.error(`API request failed: ${o.status}`,e),null}return o.json()}catch(e){return a.error(`API request error:`,e),null}}function re(e){let t=e??{};return{ticketID:Number(t.TicketID??t.ticketID??0),quantity:Number(t.Quantity??t.quantity??0),priceAtReservation:Number(t.PriceAtReservation??t.priceAtReservation??0),status:String(t.Status??t.status??``)}}function ie(e){let t=e??{};return{uuid:t.UUID??t.uuid??``,eventID:Number(t.EventID??t.eventID??0),status:t.Status??t.status??``,expiresAt:t.ExpiresAt??t.expiresAt??``,reservations:(t.Reservations??t.reservations??[]).map(re)}}var ae=[`utmSource`,`utmMedium`,`utmCampaign`,`utmContent`,`utmTerm`],oe={utmSource:`utm_source`,utmMedium:`utm_medium`,utmCampaign:`utm_campaign`,utmContent:`utm_content`,utmTerm:`utm_term`},se=`direct`;function w(e){return e?e.trim().toLowerCase().replace(/\s+/g,`_`):``}function ce(e){let t={};for(let n of ae)t[n]=w(e[n]);return t.utmSource||=se,t}function le(e){let t={};for(let n of ae)t[n]=e.get(oe[n]);return ce(t)}var T={search:null,referrer:null,pageUrl:null};function ue(){if(typeof window>`u`)return!0;try{return window.self===window.top}catch{return!1}}function de(){let e=typeof window<`u`,t=ue(),n=T.search??(e?window.location.search:``),r=T.referrer??(typeof document<`u`?document.referrer:``)??``,i=T.pageUrl??(e&&t?window.location.href:``);return{utm:le(new URLSearchParams(n)),referrer:r||``,pageUrl:i||``}}var E=null,fe=!1;function pe(){return typeof window<`u`&&typeof window.__tcfapi==`function`}function me(){return typeof navigator<`u`&&navigator.globalPrivacyControl===!0}function he(){return E===null?pe()||me():E}function ge(){return!he()||fe}var _e=`micdrop_session_id`,D=`micdrop_visitor_id`,ve=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function O(e){return typeof e==`string`&&ve.test(e)}function ye(){let e=typeof crypto<`u`?crypto:void 0;if(e?.randomUUID)return e.randomUUID();let t=new Uint8Array(16);if(e?.getRandomValues)e.getRandomValues(t);else for(let e=0;e<16;e++)t[e]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=[];for(let e=0;e<16;e++)n.push(t[e].toString(16).padStart(2,`0`));return`${n[0]}${n[1]}${n[2]}${n[3]}-${n[4]}${n[5]}-${n[6]}${n[7]}-${n[8]}${n[9]}-${n[10]}${n[11]}${n[12]}${n[13]}${n[14]}${n[15]}`}function be(){let e=(0,n.getSessionStorage)(_e);return e||(e=ye(),(0,n.setSessionStorage)(_e,e)),e}function xe(e){let t=(0,n.getLocalStorage)(D);if(O(t))return{id:t,createdAt:e,migrated:!0};if(t&&typeof t==`object`){let{id:n,createdAt:r}=t;if(!O(n))return null;let i=typeof r==`number`&&Number.isFinite(r),a=i?Math.min(r,e):e;return{id:n,createdAt:a,migrated:!i||a!==r}}return null}function Se(){if(!ge())return null;let e=Date.now(),t=xe(e);if(t&&e-t.createdAt<34128e6){if(t.migrated){let e={id:t.id,createdAt:t.createdAt};(0,n.setLocalStorage)(D,e)}return t.id}let r=ye();return(0,n.setLocalStorage)(D,{id:r,createdAt:e}),r}var Ce=`micdrop_attribution`;function we(){let e=(0,n.getSessionStorage)(Ce);return!e||!e.utm||typeof e.utm.utmSource!=`string`?null:e}function k(){let e=we()??de();return{sessionId:be(),visitorId:Se(),utmSource:e.utm.utmSource,utmMedium:e.utm.utmMedium,utmCampaign:e.utm.utmCampaign,utmContent:e.utm.utmContent,utmTerm:e.utm.utmTerm,referrer:e.referrer||``}}(0,n.createLogger)(`tracking`);var A=(0,e.createLogger)(`VC`);async function Te(e,n,r,i){try{let a=await b(`${_()}/cart/${e}/payment-intent`,{productQuantities:n,...r&&Object.keys(r).length>0?{donationAmounts:r}:{},...i?{firstName:i.firstName,lastName:i.lastName,email:i.email,mailingList:i.mailingList??!1}:{},attribution:k()});if(!a.success)throw A.error(`Payment intent creation failed:`,a.error),new t.ApiError(a.error||`Failed to create payment intent`,a.statusCode??0,{endpoint:`${_()}/cart/${e}/payment-intent`,method:`POST`});return A.debug(`Payment intent created:`,a.data),a.data}catch(e){return A.error(`createPaymentIntent error:`,e),null}}async function Ee(e,t){if(!e)return null;try{let n=await y(`${_()}/cart/${e}`);if(!n.success)return null;let{uuid:r,eventID:i,status:a,expiresAt:o,reservations:s}=ie(n.data);return a!==`reserved`&&a!==`active`||t!==void 0&&i!==Number(t)?null:{uuid:r,eventID:i,status:a,expiresAt:o,reservations:s}}catch(e){return A.error(`getCartByUUID error:`,e),null}}async function De(e,t,n){try{let r={};for(let[e,n]of Object.entries(t)){let t=typeof e==`number`?e:parseInt(e,10);!Number.isNaN(t)&&n>0&&(r[t]=n)}let i={};if(n)for(let[e,t]of Object.entries(n)){let n=typeof e==`number`?e:parseInt(e,10);!Number.isNaN(n)&&t>0&&(i[n]=t)}let a=await fetch(`${_()}/cart/${e}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({quantities:r,...Object.keys(i).length>0?{donationAmounts:i}:{}})});if(!a.ok){let e=await a.json().catch(()=>({}));return A.error(`Cart update failed:`,e),!1}return!0}catch(e){return A.error(`updateCartQuantities error:`,e),!1}}async function Oe(e){try{let t=await b(`${h()}/orders/complete/${e}`);return t.success?{success:!0,message:t.data?.message}:{success:!1,error:t.error||`Failed to complete reservation`}}catch(e){return A.error(`Error completing reservation:`,e),{success:!1,error:`Network error completing reservation`}}}async function ke(e){try{let t=await b(`${h()}/orders/cancel/${e}`);return t.success?{success:!0,message:t.data?.message}:{success:!1,error:t.error||`Failed to cancel reservation`}}catch(e){return A.error(`Error cancelling reservation:`,e),{success:!1,error:`Network error cancelling reservation`}}}async function Ae(e,t){try{let n=await b(`${h()}/orders/create`,{eventID:e,promoCode:t,attribution:k()});return n.success?n.data:(A.error(`Create order failed:`,n.error),null)}catch(e){return A.error(`createOrder error:`,e),null}}async function je(e){return C(`${h()}/orders/${e}`)}async function Me(e,t){try{let n=await b(`${_()}/validatePaymentIntent/${e}`,{...t,attribution:k()});if(!n.success)return A.error(`Payment validation failed:`,n.error),{success:!1,status:`failed`,error:n.error||`Payment validation failed`};let r=n.data;return r.eventCanceled||r.eventPostponed?{success:!1,status:`failed`,eventCanceled:r.eventCanceled,eventPostponed:r.eventPostponed}:{success:!0,status:r.status||`Payment succeeded`,orderUUID:r.orderUUID||r.uuid}}catch(e){return A.error(`validatePaymentIntent error:`,e),null}}async function Ne(e){try{let t=await b(`${h()}/orders/extend-session`,{orderUuid:e});if(!t.success)return{success:!1,error:t.error||`Failed to extend session`,statusCode:t.statusCode};let n=t.data;return{success:!0,newExpiryTime:n.newExpiryTime,remainingExtensions:n.remainingExtensions}}catch(e){return A.error(`Error extending checkout session:`,e),{success:!1,error:`Network error extending session`}}}async function Pe(e){try{let t=await y(`${h()}/orders/session/${e}`);if(!t.success)return{error:t.error||`No active session found`,notFound:t.statusCode===404};let n=t.data;return{expiresAt:n.expiresAt,extensionCount:n.extensionCount,remainingExtensions:n.remainingExtensions,canExtend:n.canExtend,reservationCount:n.reservationCount,eventStatus:n.eventStatus}}catch(e){return A.error(`Error getting session status:`,e),{error:`Network error getting session status`}}}async function Fe(e={eventID:``}){try{let t=await b(`${h()}/orders/create`,{...e,attribution:k()});return t.success?t.data?.uuid??null:(A.error(`Order initiation failed:`,t.error),null)}catch(e){return A.error(`initiateOrder error:`,e),null}}async function Ie(e){if(typeof window>`u`)return;let t=w(new URLSearchParams(window.location.search).get(`utm_source`))||`direct`;try{await fetch(`${h()}/utm/${e}/${encodeURIComponent(t)}`)}catch(e){A.error(`UTM tracking failed:`,e)}}var j=(0,e.createLogger)(`VC`);async function Le(e,t){try{if(!t||!t.trim())return{valid:!1,error:`Promo code is required`};let n=await y(`/promo-codes/validate/${e}/${encodeURIComponent(t.trim())}`);if(!n.success)return n.statusCode===404?{valid:!1,error:`Invalid promo code`}:{valid:!1,error:`Failed to validate code`};let r=n.data;return{valid:r.valid??!0,revealHiddenTickets:r.revealHiddenTickets,revealTicketIds:r.revealTicketIds,provideDiscount:r.provideDiscount,discountType:r.discountType,amount:r.discount??r.amount,code:r.name||r.code||t,appliesToAllTickets:r.appliesToAllTickets,applyToTicketIds:r.applyToTicketIds}}catch(e){return j.error(`Error validating promo code:`,e),{valid:!1,error:`Network error validating code`}}}async function Re(e){try{let t=await y(`/promo-codes/check/${e}`);return!t.success||t.data.hasPromoCodes===!0}catch(e){return j.error(`Error checking promo codes availability:`,e),!0}}async function ze(e,t,n){try{let r={promoCode:t};n&&Object.keys(n).length>0&&(r.productQuantities=n);let i=await b(`${_()}/cart/${e}/apply-promo`,r);return i.success?{success:!0}:{success:!1,error:i.error||`Failed to apply promo code`}}catch(e){return j.error(`Error applying promo code:`,e),{success:!1,error:`Network error applying code`}}}async function Be(e){try{let t=await b(`/orders/${e}/remove-promo`);return t.success?{success:!0}:{success:!1,error:t.error||`Failed to remove promo code`}}catch(e){return j.error(`Error removing promo code:`,e),{success:!1,error:`Network error removing code`}}}function Ve(e){let t=e??{};return{performers:Array.isArray(t.performers)?t.performers:[],showPerformers:t.showPerformers===!0}}function M(e){return{ok:!0,data:e}}function N(e){return{ok:!1,error:e}}function P(e){return{ok:!1,error:e,notFound:!0}}function He(e){return e.ok}function Ue(e){return!e.ok}function F(e,t){return e.ok?e.data:t}var I=`/api/v2/public`,L=`/api/orders/v2/public`,We=`/api/orders/v2`,R=`00000000-0000-0000-0000-000000000000`,z=R;`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}${z}`,`${I}`,`${I}`,`${I}`,`${I}`,`${I}`,`${I}`,`${I}`,`${I}${z}`,`${L}`,`${L}`,`${L}`,`${L}${z}`,`${L}`,`${L}${z}`,`${L}`,`${L}${z}`,`${L}`,`${L}${z}`,`${L}`,`${L}${z}`,`${L}`,`${L}${z}`,`${L}`,`${L}${z}`,`${L}`,`${L}${z}`,`${We}`,`${We}`,`${L}`,`${L}`,`${L}`,`${L}`,`${I}`,`${I}${z}`,`${I}`,`${I}`;var B=(0,e.createLogger)(`VC`),V=new Map;async function H(e,t=fetch,n){let r=n?`${e}:pw`:String(e);if(t===fetch){let e=V.get(r);if(e)return e}let i=(async()=>{try{let r=await t(n?`${h()}/events/${e}?password=${encodeURIComponent(n)}`:`${h()}/events/${e}`);if(!r.ok)return r.status===404?P(`event_not_found`):(B.error(`Failed to fetch event details: ${r.status}`),N(`event_fetch_failed`));let i=await r.json();return i?M(i):P(`event_not_found`)}catch(e){return B.error(`Error fetching event details:`,e),N(`event_fetch_failed`)}})();return t===fetch&&(V.set(r,i),i.finally(()=>{V.get(r)===i&&V.delete(r)})),i}async function Ge(e,t=fetch,n){let r=await H(e,t,n);return r.ok?r.data:null}async function U(e,t,n=e=>e){try{let r=await C(e);return r?M(n(r)):(B.error(`Failed to load (${t}): network or server error`),N(t))}catch(e){return B.error(`Error loading (${t}):`,e),N(t)}}function W(e){return Array.isArray(e)?e:[]}async function G(e,t){let n=t?.trim(),r=n?`?promoCode=${encodeURIComponent(n)}`:``;return U(`${h()}/tickets/event/${e}${r}`,`tickets_fetch_failed`,W)}async function Ke(e,t){return F(await G(e,t),[])}async function K(e){return e?U(`${h()}/events/${e}/performers`,`performers_fetch_failed`,e=>Ve(e)):(B.warn(`fetchEventPerformers called without eventId`),N(`performers_missing_event_id`))}async function qe(e){return F(await K(e),{performers:[],showPerformers:!1})}async function q(e){return e?U(`${h()}/venues/organization/${e}`,`venues_fetch_failed`,W):(B.warn(`fetchAllVenues called without orgId`),N(`venues_missing_org_id`))}async function Je(e){return F(await q(e),[])}async function Ye(e){return e?U(`${h()}/events/venue/${e}`,`venue_events_fetch_failed`,W):(B.warn(`fetchVenueEvents called without venueId`),N(`venue_events_missing_venue_id`))}async function Xe(e){return F(await Ye(e),[])}function Ze(e){return Array.isArray(e)?e:Array.isArray(e.events)?e.events:[]}async function Qe(e,t,n){return U(`${h()}/events/venue/${e}/month/${t}/${n}`,`month_events_fetch_failed`,e=>Ze(e))}async function $e(e,t,n){return F(await Qe(e,t,n),[])}async function et(e,t,n){return U(`${h()}/events/organization/${e}/month/${t}/${n}`,`org_month_events_fetch_failed`,e=>Ze(e))}async function tt(e,t,n){return F(await et(e,t,n),[])}async function nt(e){return U(`${h()}/series/${e}/occurrences`,`series_occurrences_fetch_failed`)}async function rt(e){let t=await nt(e);return t.ok?t.data:null}async function it(e,t){return U(`${h()}/series/${e}/occurrences?venueId=${t}`,`series_cta_fetch_failed`)}async function at(e,t){let n=await it(e,t);return n.ok?n.data:null}async function ot(e,n){try{let r=n?`?slug=${encodeURIComponent(n)}`:``,i=await C(`${h()}/resolve/${encodeURIComponent(String(e))}${r}`);if(!i||!i.type)throw new t.NotFoundError(`entity`,String(e));return i}catch(e){return B.error(`Error resolving public entity:`,e),null}}async function st(e,n){try{let r=await C(n?`${h()}/collections/${e}?password=${encodeURIComponent(n)}`:`${h()}/collections/${e}`);if(!r)throw new t.NotFoundError(`collection`,String(e));return r}catch(e){return B.error(`Error fetching collection:`,e),null}}async function ct(e,t){try{return(await C(`${h()}/collections/${e}/check-password`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({password:t})}))?.valid===!0}catch(e){return B.error(`Error checking collection password:`,e),!1}}async function lt(e,t){try{let n=await C(`${h()}/events/${e}/check-password`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({password:t})});return typeof n==`boolean`?{valid:n}:{valid:n?.valid===!0}}catch(e){return B.error(`Error checking event password:`,e),{valid:!1}}}async function ut(e,t){try{let n=t?`${h()}/events/venue/${t}`:e?`${h()}/venues/organization/${e}`:`${h()}/venues/${R}`;return(await fetch(n,{method:`HEAD`})).status<500}catch(e){return B.error(`Network connection test failed:`,e),!1}}var J=(0,e.createLogger)(`VC`);async function dt(e){try{if(!e)return J.warn(`getVenue called without venueId`),null;let t=await y(`/venues/${e}`);return t.success?t.data??null:(J.error(`Failed to fetch venue: ${t.statusCode}`),null)}catch(e){return J.error(`Error fetching venue:`,e),null}}async function ft(e){let t=await dt(e);return t?{serviceFeePercentage:t.serviceFeePercentage??0,serviceFeeCents:t.serviceFeeCents==null?0:t.serviceFeeCents,taxPercentage:t.taxPercentage??0}:null}async function pt(e){try{if(!e)return J.warn(`getVenueBySlug called without slug`),null;let t=await y(`/venues/slug/${encodeURIComponent(e)}`);return t.success?t.data??null:(J.error(`Failed to fetch venue by slug: ${t.statusCode}`),null)}catch(e){return J.error(`Error fetching venue by slug:`,e),null}}function Y(e,t){return e==null||t(e)}function mt(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.valid===!0&&Number.isInteger(t.appliedAmount)&&typeof t.remainingTotal==`number`&&Number.isFinite(t.remainingTotal)&&Y(t.giftCardCode,e=>typeof e==`string`)&&Y(t.giftCardBalance,e=>typeof e==`number`&&Number.isFinite(e))&&Y(t.fullyCoveredByCard,e=>typeof e==`boolean`)}var ht=`We couldn't apply that gift card. Please try again.`;function gt(e){if(!mt(e))return{valid:!1,error:ht};let t=e,r=(0,n.centsToDollars)((0,n.toCents)(t.appliedAmount)),i=t.remainingTotal,a=t.fullyCoveredByCard??i<=0,o=!a;return{valid:!0,giftCardCode:t.giftCardCode??void 0,giftCardAmount:r,giftCardBalance:t.giftCardBalance??void 0,paymentType:a?`gift_card_only`:`split`,stripeAmount:i,orderTotal:r+i,requiresStripe:o}}var X=(0,e.createLogger)(`VC`);async function _t(e){try{let n=await b(`${_()}/gift-cards/purchase/create`,e);if(!n.success)throw X.error(`Gift card purchase creation failed:`,n.error),new t.ApiError(n.error||`Failed to create gift card purchase`,n.statusCode??0,{endpoint:`${_()}/gift-cards/purchase/create`,method:`POST`});return X.debug(`Gift card purchase created:`,n.data),n.data}catch(e){return X.error(`Gift card purchase creation error:`,e),null}}async function vt(e,t){try{let n=await b(`${_()}/cart/${e}/apply-gift-card`,{giftCardCode:t});if(!n.success)return n.statusCode===429?{valid:!1,error:`Too many attempts. Please wait a moment and try again.`}:(X.error(`Apply gift card failed:`,n.error),{valid:!1,error:n.error||`Invalid gift card code`});let r=gt(n.data);return r.valid||X.error(`Apply gift card returned an unusable payload:`,n.data),r}catch(e){return X.error(`applyGiftCard error:`,e),{valid:!1,error:`Network error. Please check your connection and try again.`}}}async function yt(e,t){try{let n=await x(`${_()}/cart/${e}/gift-card`,t?{body:JSON.stringify({giftCardCode:t})}:void 0);return n.success?{success:!0}:(X.error(`Remove gift card failed:`,n.error),{success:!1,error:n.error||`Failed to remove gift card`})}catch(e){return X.error(`removeGiftCard error:`,e),{success:!1,error:`Network error. Please check your connection and try again.`}}}async function bt(e,t){try{let r=await b(`${_()}/cart/${e}/complete-gift-card-payment`,{customerName:(0,n.formatFullName)(t.firstName,t.lastName),customerEmail:t.email,firstName:t.firstName,lastName:t.lastName,email:t.email,phoneNumber:t.phoneNumber||null,mailingList:t.mailingList||!1,attribution:k()});return r.success?{success:!0,orderId:r.data?.orderId,confirmationNumber:r.data?.confirmationNumber}:(X.error(`Complete gift card payment failed:`,r.error),{success:!1,error:r.error||`Failed to complete payment`})}catch(e){return X.error(`completeGiftCardPayment error:`,e),{success:!1,error:`Network error. Please check your connection and try again.`}}}var Z=(0,e.createLogger)(`VC`),xt={waitlist_not_enabled:`Waitlist is not available for this event`,event_not_found:`Event not found`,invalid_phone:`Please enter a valid phone number`,already_purchased:`You have already purchased tickets for this event`,phone_already_registered:`This phone number is already on the waitlist`};async function St(e,t,n=null,r=!1){try{let i={email:t};n&&r&&(i.phone=n,i.smsOptIn=!0);let a=await b(`/events/${e}/waitlist`,i);return a.success?{success:!0,updated:a.data?.updated}:(Z.error(`Join waitlist failed:`,a.error),{success:!1,error:xt[a.error??``]||`Failed to join waitlist. Please try again.`})}catch(e){return Z.error(`joinWaitlist error:`,e),{success:!1,error:`Network error. Please check your connection and try again.`}}}async function Ct(e,t){try{let n=await b(`/checkout/validate-token/${e}`,{email:t});return n.success?{valid:!0,eventId:n.data?.eventId??0}:{valid:!1,eventId:0,errorCode:n.error}}catch(e){return Z.error(`validateWaitlistToken error:`,e),{valid:!1,eventId:0,errorCode:`invalid_token`}}}async function wt(e){let t={waitlistEnabled:!1,soldOut:!1,gated:!1};try{let n=await y(`/events/${e}/waitlist/status`);return n.success?{waitlistEnabled:!!n.data?.waitlistEnabled,soldOut:!!n.data?.soldOut,gated:!!n.data?.gated}:t}catch(e){return Z.error(`getWaitlistStatus error:`,e),t}}function Tt(e,t,n={}){let{cancelled:a=!1,isRegistration:o=!1,waitlistEnabled:s=!1}=n,c=(0,r.browserNow)();if(a)return{text:`Cancelled`,disabled:!0,reason:`cancelled`};if((e?.status||``).trim().toLowerCase()===`postponed`)return{text:`Postponed`,disabled:!0,reason:`postponed`};let l=(0,r.toInstantOrNull)(e.endDateTime||e.startDateTime);if(l&&(0,r.compareInstants)(l,c)<0)return{text:`Sales ended`,disabled:!0,reason:`event_past`};let u=(e?.salesStatus||``).trim().toLowerCase();if(u===`paused`)return{text:`Sales paused`,disabled:!0,reason:`sales_paused`};if(u===`ended`)return{text:`Sales ended`,disabled:!0,reason:`sales_ended`};let d=e?.hasPurchasableHiddenTickets===!0||Array.isArray(t)&&t.some(i.isHiddenTicketPurchasable),f=()=>d?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`}:s?{text:`Join Waitlist`,disabled:!1,reason:`sold_out_waitlist`}:{text:`Sold out`,disabled:!0,reason:`sold_out`};if(u===`sold_out`)return f();let p=(t||[]).filter(e=>e.salesChannel!==2&&!e.isHidden&&!(typeof e.visibility==`number`&&e.visibility>=2));if(p.length===0)return d?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`}:{text:`No tickets available`,disabled:!0,reason:`no_tickets`};let m=!1,h=!0,g=!0,_=null;for(let e of p){let t=(0,r.toInstantOrNull)(e.salesBegin||e.salesStart||e.saleBegin||e.onSaleStart),n=(0,r.toInstantOrNull)(e.salesEnd||e.saleEnd||e.onSaleEnd),i=e.remainingCapacity??e.quantityRemaining??e.quantity,a=e.soldOut||i!=null&&i<=0,o=t?(0,r.compareInstants)(t,c)>0:!1,s=n?(0,r.compareInstants)(n,c)<0:!1;!a&&!o&&!s&&(m=!0),a||(h=!1),o||(g=!1),o&&t&&!a&&!s&&(!_||(0,r.compareInstants)(t,_)<0)&&(_=t)}if(m)return{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`available`};if(g&&_){if(d)return{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`};let e=(0,r.compareInstants)(_,c),t=e/36e5,n=e/864e5,i=e=>(0,r.formatLocal)(e,{hour:`numeric`,minute:`2-digit`,hour12:!0},`en-US`),a;return a=t<24?i(_):n<=7?(0,r.formatLocal)(_,{weekday:`short`,hour:`numeric`,minute:`2-digit`,hour12:!0},`en-US`):`${(0,r.formatLocal)(_,{month:`short`,day:`numeric`},`en-US`)} ${i(_)}`,{text:`On sale ${a}`,disabled:!0,reason:`coming_soon`}}return h?f():d?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`}:{text:`Sales ended`,disabled:!0,reason:`sales_ended`}}function Et(e){let t=e;return{uuid:t.uuid||String(t.id||t.ID||``),id:t.id||t.ID,ticketNumber:t.ticketNumber||t.ticket_number,orderId:t.orderId||t.order_id,attendeeFirstName:t.attendeeFirstName||t.attendee_first_name||t.firstName,attendeeLastName:t.attendeeLastName||t.attendee_last_name||t.lastName,attendeeEmail:t.attendeeEmail||t.attendee_email||t.email,ticketName:t.ticketName||t.ticket_name||t.name||``,ticketTypeId:t.ticketTypeId||t.ticket_type_id,purchasePrice:t.purchasePrice||t.purchase_price||t.price||0,status:t.status,checkedIn:t.checkedIn||t.checked_in,checkedInAt:t.checkedInAt||t.checked_in_at}}function Q(e){let t=e,n=t.purchasedTickets||t.tickets||t.purchased_tickets||[];return{uuid:t.uuid||String(t.id||t.ID||``),id:t.id||t.ID,customerEmail:t.customerEmail||t.email||t.customer_email||``,customerFirstName:t.customerFirstName||t.firstName||t.first_name,customerLastName:t.customerLastName||t.lastName||t.last_name,status:t.status||`unknown`,totalAmount:t.totalAmount||t.total||t.total_amount||0,subtotal:t.subtotal,serviceFeesAmount:t.serviceFeesAmount||t.serviceFee||t.service_fee||t.service_fees_amount||0,taxAmount:t.taxAmount||t.tax||t.tax_amount||0,discount:t.discount==null?0:t.discount,paymentIntentId:t.paymentIntentId||t.payment_intent_id,paymentMethod:t.paymentMethod||t.payment_method,purchasedTickets:n.map(Et),createdAt:t.createdAt||t.created_at,updatedAt:t.updatedAt||t.updated_at}}var Dt=Et,Ot=Q;function kt(e){let t=Q(e),r=t.uuid.split(`-`)[0]||t.uuid,i=Number(t.totalAmount);return{orderId:t.uuid,displayOrderId:r,email:t.customerEmail,customerName:[t.customerFirstName,t.customerLastName].filter(Boolean).join(` `),total:t.totalAmount,formattedTotal:`${(0,n.formatCurrency)((0,n.asUSD)(Number.isFinite(i)?i/100:0))}`,ticketCount:t.purchasedTickets.length,status:t.status}}function At(e){return(0,n.resolveImageUrl)(e,{cdn:!0})}function $(e){return At(e.imageUrl||e.imageURL||e.image_url||e.image||``)}function jt(e){switch(e){case`available`:case`sold_out`:case`coming_soon`:case`ended`:return e;default:return null}}function Mt(e){let t=e.ctaState||e.cta_state;if(t){let e=jt(t);if(e)return e}if(e.isCancelled||e.is_cancelled)return`ended`;let n=(0,r.toInstantOrNull)(e.startDateTime||e.start_date_time||e.date);if(n){let e=Date.now();if(n.getTime()<e)return`ended`}let i=e.ticketsAvailable??e.tickets_available;if(i!==void 0)return i<=0?`sold_out`:`available`;let a=e.availableTickets||e.available_tickets||e.tickets||[];return a.length===0?`coming_soon`:a.reduce((e,t)=>{let n=t.quantityAvailable??t.quantity_available??t.quantity??0,r=t.quantitySold??t.quantity_sold??0;return e+Math.max(0,n-r)},0)<=0?`sold_out`:`available`}function Nt(e){let t=e;return{id:t.id||t.ID,name:t.name||t.ticketName||``,description:t.description,price:t.price==null?0:t.price,quantity:t.quantity||t.totalQuantity||0,quantitySold:t.quantitySold||t.quantity_sold||0,quantityAvailable:t.quantityAvailable||t.quantity_available||(t.quantity||0)-(t.quantitySold||0),minPerOrder:t.minPerOrder||t.min_per_order||1,maxPerOrder:t.maxPerOrder||t.max_per_order||10,saleStartDate:t.saleStartDate||t.sale_start_date,saleEndDate:t.saleEndDate||t.sale_end_date,isHidden:t.isHidden||t.is_hidden||!1,revealWithPromoCode:t.revealWithPromoCode||t.reveal_with_promo_code,ticketType:t.ticketType||t.ticket_type||0,sectionId:t.sectionId||t.section_id,sortOrder:t.sortOrder||t.sort_order||0}}function Pt(e){let t=e,n=(t.availableTickets||t.available_tickets||t.tickets||[]).map(Nt),r=n.map(e=>e.price).filter(e=>e>0),i=r.length>0?Math.min(...r):void 0,a=r.length>0?Math.max(...r):void 0;return{eventID:t.eventID||t.id||t.ID||0,id:t.id||t.ID,name:t.name||t.title||``,title:t.title||t.name,slug:t.slug,description:t.description,date:t.date||t.startDateTime||t.start_date_time||``,startDateTime:t.startDateTime||t.start_date_time,endDateTime:t.endDateTime||t.end_date_time,doorsOpenTime:t.doorsOpenTime||t.doors_open_time,timezone:t.timezone||t.time_zone,venueId:t.venueId||t.venue_id,venueName:t.venueName||t.venue_name,venueAddress:t.venueAddress||t.venue_address,location:t.location||t.venueAddress||t.venue_address,imageUrl:$(t),imageURL:$(t),status:t.status,isPublished:t.isPublished??t.is_published,isCancelled:t.isCancelled??t.is_cancelled,availableTickets:n,ticketsAvailable:t.ticketsAvailable??t.tickets_available??n.reduce((e,t)=>e+(t.quantityAvailable||0),0),ticketsSold:t.ticketsSold??t.tickets_sold,minPrice:t.minPrice??t.min_price??i,maxPrice:t.maxPrice??t.max_price??a,ctaText:t.ctaText||t.cta_text,ctaState:Mt(t),showPerformers:t.showPerformers??t.show_performers,eventSeriesId:t.eventSeriesId||t.event_series_id,seriesInstanceNumber:t.seriesInstanceNumber||t.series_instance_number,timeZone:t.timeZone,salesStatus:t.salesStatus||t.sales_status,eventSummary:t.eventSummary,password:t.password,hasPassword:t.hasPassword,disclaimer:t.disclaimer,ticketType:t.ticketType,eventTicketingType:t.eventTicketingType,ageRestriction:t.ageRestriction,displayAgeRestriction:t.displayAgeRestriction,displayStartTime:t.displayStartTime,displayEndTime:t.displayEndTime,displayDoorsTime:t.displayDoorsTime,collectionId:t.collectionId||t.collection_id,ticketsRemaining:t.ticketsRemaining,ticketsTotal:t.ticketsTotal,hasHiddenTickets:t.hasHiddenTickets,stage:t.stage,stageName:t.stageName,stageId:t.stageId,eventCategoryTypes:t.eventCategoryTypes,publicPerformers:t.publicPerformers,collectionIds:t.collectionIds,venue:t.venue,performers:t.performers,faqs:t.faqs,showtimes:t.showtimes,purchasedTickets:t.purchasedTickets}}var Ft=Nt,It=Pt,Lt=Pt;function Rt(e){return(0,n.resolveImageUrl)(e,{cdn:!0})}function zt(e){let t=e,n=t.logoUrl||t.logo_url||t.logo;return{id:t.id||t.ID||0,name:t.name||``,slug:t.slug,address:t.address,googleLocationNameCache:t.googleLocationNameCache||t.google_location_name_cache,city:t.city,state:t.state,zipCode:t.zipCode||t.zip_code,country:t.country,timezone:t.timezone||t.time_zone,logoUrl:Rt(n),serviceFeePercentage:t.serviceFeePercentage??t.service_fee_percentage??0,serviceFeeCents:t.serviceFeeCents??t.service_fee_cents??0,absorbServiceFee:(t.absorbServiceFee??t.absorb_service_fee)===!0,taxPercentage:t.taxPercentage??t.tax_percentage??0,organizationId:t.organizationId||t.organization_id}}var Bt=zt;function Vt(e){let t=e;return{serviceFeePercentage:t.serviceFeePercentage??t.service_fee_percentage??0,serviceFeeCents:t.serviceFeeCents??t.service_fee_cents??0,taxPercentage:t.taxPercentage??t.tax_percentage??0}}function Ht(e){return[e.address,e.city,e.state,e.zipCode].filter(Boolean).join(`, `)}exports.apiDelete=x,exports.apiGet=y,exports.apiPost=b,exports.apiPut=ne,exports.applyGiftCard=vt,exports.applyPromoCode=ze,exports.calculateCtaState=Mt,exports.cancelReservation=ke,exports.checkCollectionPassword=ct,exports.checkEventPassword=lt,exports.completeGiftCardPayment=bt,exports.completeReservation=Oe,exports.computeCtaState=Tt,exports.configureApi=p,exports.createGiftCardPurchase=_t,exports.createOrder=Ae,exports.createPaymentIntent=Te,exports.err=N,exports.errNotFound=P,exports.extendCheckoutSession=Ne,exports.extractVenueFees=Vt,exports.fetchAllVenues=Je,exports.fetchAllVenuesResult=q,exports.fetchEventDetails=Ge,exports.fetchEventDetailsResult=H,exports.fetchEventPerformers=qe,exports.fetchEventPerformersResult=K,exports.fetchEventTickets=Ke,exports.fetchEventTicketsResult=G,exports.fetchPublicCollection=st,exports.fetchSeriesOccurrences=at,exports.fetchSeriesOccurrencesResult=it,exports.fetchVenueEvents=Xe,exports.fetchVenueEventsResult=Ye,exports.formatVenueAddress=Ht,exports.getApiConfig=m,exports.getCDNImageUrl=At,exports.getCartByUUID=Ee,exports.getClientIP=ee,exports.getEventImageUrl=$,exports.getLegacyPublicUrl=g,exports.getMonthEvents=$e,exports.getMonthEventsResult=Qe,exports.getOrder=je,exports.getOrdersV2Url=_,exports.getOrgMonthEvents=tt,exports.getOrgMonthEventsResult=et,exports.getPublicBaseUrl=h,exports.getSeriesOccurrences=rt,exports.getSeriesOccurrencesResult=nt,exports.getSessionStatus=Pe,exports.getVenue=dt,exports.getVenueBySlug=pt,exports.getVenueFees=ft,exports.getWaitlistStatus=wt,exports.hasPromoCodes=Re,exports.initiateOrder=Fe,exports.isErr=Ue,exports.isOk=He,exports.joinWaitlist=St,exports.ok=M,exports.removeGiftCard=yt,exports.removePromoCode=Be,exports.resolvePublicEntity=ot,exports.testNetworkConnection=ut,exports.trackUTMSource=Ie,exports.transformAvailableTicket=Ft,exports.transformEvent=It,exports.transformEventData=Lt,exports.transformOrder=Ot,exports.transformOrderForDisplay=kt,exports.transformTicket=Dt,exports.transformVenue=Bt,exports.unwrapOr=F,exports.updateCartQuantities=De,exports.validatePaymentIntent=Me,exports.validatePromoCode=Le,exports.validateWaitlistToken=Ct;