@getmicdrop/venue-calendar 4.3.37 → 4.3.39

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 (103) hide show
  1. package/dist/{ArrowLeftIcon-bH5d6LQO.js → ArrowLeftIcon-BMuyNOqe.js} +1 -1
  2. package/dist/{BlockPlaceholder-yXhu9HrQ.js → BlockPlaceholder-CUusOhOf.js} +1 -1
  3. package/dist/{Calendar-BjE02HrG.js → Calendar-Dy-jZDff.js} +3 -3
  4. package/dist/{CalendarFoundryView-BWaOYwqK.js → CalendarFoundryView-BWyEe7Xe.js} +23 -23
  5. package/dist/{CalendarIcon-Cg9UUTeu.js → CalendarIcon-B1JasL-W.js} +1 -1
  6. package/dist/{CartView-bcOiHkc9.js → CartView-CyU9g9ss.js} +21 -21
  7. package/dist/{Checkbox-24CWEsty.js → Checkbox-BtJwg_CF.js} +1 -0
  8. package/dist/{Checkout-CQkHV2jG.js → Checkout-BGXlW2j2.js} +15 -21
  9. package/dist/{Checkout-CBKPSWLo.js → Checkout-DrP1KLR_.js} +19 -19
  10. package/dist/{CheckoutTimer-BYQ43W8T.js → CheckoutTimer-CAKT63di.js} +3 -3
  11. package/dist/{ChevronDownIcon-BA40Kl0C.js → ChevronDownIcon--mG1fNDx.js} +1 -1
  12. package/dist/{ClockIcon-DjC-doTv.js → ClockIcon-B8ahXV8G.js} +1 -1
  13. package/dist/{CloseIcon-BdwmaxDK.js → CloseIcon-C9guTa4C.js} +1 -1
  14. package/dist/{CollectionView-5CycNo4A.js → CollectionView-BhBCM-01.js} +6 -6
  15. package/dist/{CropImage-Ct6MRg_a.js → CropImage-BFtvLjTE.js} +1 -1
  16. package/dist/{Event-Bz4DLlpB.js → Event-DyX1UrZe.js} +18 -18
  17. package/dist/EventPage-DxyEqU7R.js +1184 -0
  18. package/dist/{Input-o-1w57H2.js → Input-DNzDcf6I.js} +1 -1
  19. package/dist/{MailIcon-DCMMhuHr.js → MailIcon-Cf77TYiB.js} +1 -1
  20. package/dist/{PasswordInput-zX7J--jb.js → PasswordInput-C-BH1Do3.js} +1 -1
  21. package/dist/{RecommendationsRail-Cb--XCvg.js → RecommendationsRail-CG0vCtgJ.js} +8 -8
  22. package/dist/{ScarcityBadge-CwYWJOsJ.js → ScarcityBadge-D0D6Hqp0.js} +3 -3
  23. package/dist/{SeriesPage-BalCscZf.js → SeriesPage-D9_Nn8gF.js} +3 -3
  24. package/dist/{Success-DtScq6E2.js → Success-Db843hJe.js} +25 -25
  25. package/dist/{TagIcon-CkfQvNGi.js → TagIcon-DUY8KSZ0.js} +1 -1
  26. package/dist/{ViewTicketsEmbed-KbA05I2k.js → ViewTicketsEmbed-rdcE9aPB.js} +5 -5
  27. package/dist/{WarningCircleIcon-Iq24pJJf.js → WarningCircleIcon-C1-Aj9ut.js} +1 -1
  28. package/dist/{WarningTriIcon-Dw5GnHpq.js → WarningTriIcon-BrwQ58VB.js} +1 -1
  29. package/dist/api/api.cjs +1 -1
  30. package/dist/api/api.mjs +1 -1
  31. package/dist/api/authHeaders.d.ts +25 -0
  32. package/dist/api/checkout-availability.d.ts +71 -0
  33. package/dist/api/gate-password-cache.d.ts +60 -0
  34. package/dist/api/recommendations.d.ts +35 -0
  35. package/dist/api/surge-queue.d.ts +133 -0
  36. package/dist/api/types.d.ts +435 -556
  37. package/dist/{api-D0rw6nGg.js → api-DDVVRbC-.js} +73 -73
  38. package/dist/{constants-B3kqqQpi.js → constants-7hsFMWgp.js} +1 -1
  39. package/dist/{copyToClipboard-C3IBl2Z1.js → copyToClipboard-4LAkJ_1y.js} +1 -1
  40. package/dist/{de-BY5vJUGN.js → de-DD9e2eok.js} +21 -3
  41. package/dist/{defaultLabels-Zp9QbN37.js → defaultLabels-BkjXKQDd.js} +20 -2
  42. package/dist/{defaults-BMbXcKP9.js → defaults-DthmKRyG.js} +2 -2
  43. package/dist/{es-jUq9nrJk.js → es-CHuPO3ex.js} +21 -3
  44. package/dist/{event-c9mHeEJz.js → event-Dew6DCL7.js} +1 -1
  45. package/dist/{event-transform-D0mzpOzE.js → event-transform-CbFR1hRl.js} +4 -4
  46. package/dist/{eventStatusStream-dDHNTEOf.js → eventStatusStream-DTshTZoI.js} +1 -1
  47. package/dist/{fr-BhVwmvlV.js → fr-Ctu5i20f.js} +21 -3
  48. package/dist/{href-1o0O9xTA.js → href-B4azVXj-.js} +2 -2
  49. package/dist/i18n--YZExMpe.js +28 -0
  50. package/dist/{i18n-DInkJ-RH.js → i18n-srcm-H61.js} +6 -6
  51. package/dist/{id-CWU5ZvLv.js → id-DKYW7qEJ.js} +21 -3
  52. package/dist/imageOptimizer-Cf0BbZJ7.js +220 -0
  53. package/dist/{it-wlDmN3hH.js → it-DPWCuCsJ.js} +21 -3
  54. package/dist/{ja-DpA7hJaC.js → ja-CNSRW1XM.js} +21 -3
  55. package/dist/{ko-DdWLaFvo.js → ko--itQbcHD.js} +21 -3
  56. package/dist/locales/{4.3.37 → 4.3.39}/main/de.js +1 -1
  57. package/dist/locales/{4.3.37 → 4.3.39}/main/es.js +1 -1
  58. package/dist/locales/{4.3.37 → 4.3.39}/main/fr.js +1 -1
  59. package/dist/locales/{4.3.37 → 4.3.39}/main/id.js +1 -1
  60. package/dist/locales/{4.3.37 → 4.3.39}/main/it.js +1 -1
  61. package/dist/locales/{4.3.37 → 4.3.39}/main/ja.js +1 -1
  62. package/dist/locales/{4.3.37 → 4.3.39}/main/ko.js +1 -1
  63. package/dist/locales/{4.3.37 → 4.3.39}/main/nl.js +1 -1
  64. package/dist/locales/{4.3.37 → 4.3.39}/main/pl.js +1 -1
  65. package/dist/locales/{4.3.37 → 4.3.39}/main/pt-br.js +1 -1
  66. package/dist/locales/{4.3.37 → 4.3.39}/main/tr.js +1 -1
  67. package/dist/locales/{4.3.37 → 4.3.39}/main/zh.js +1 -1
  68. package/dist/{nl-BwxAfMRa.js → nl-BoZA1-rw.js} +21 -3
  69. package/dist/{order-totals-BEUOdkCb.js → order-totals-DFE6UVG4.js} +3 -3
  70. package/dist/{orders-jQz7QFjK.js → orders-DABdaHOy.js} +167 -166
  71. package/dist/{phoneUtils-CbiDWdEC.js → phoneUtils-CxLRaM5n.js} +1 -1
  72. package/dist/{pixels-DnbRn43e.js → pixels-BVOE_JFH.js} +8 -8
  73. package/dist/{pl-CuRdwJXc.js → pl-tC8ayoR2.js} +21 -3
  74. package/dist/{promo-BrstveEs.js → promo-B3Tj0iQF.js} +1 -1
  75. package/dist/{pt-br-BUWJLxKf.js → pt-br-CTMA1wMi.js} +21 -3
  76. package/dist/{scarcity-CwnIxi1J.js → scarcity-DqbDh1cS.js} +1 -1
  77. package/dist/seo/types.d.ts +137 -156
  78. package/dist/{serverTotals-D2-FzkdS.js → serverTotals-ClEUVCOz.js} +1 -1
  79. package/dist/{showcase-state-options-CDOHpho6.js → showcase-state-options-Dwn2NLOM.js} +1 -1
  80. package/dist/{to-event-card-props-ChcFQ_rl.js → to-event-card-props-CRaeqRxY.js} +2 -2
  81. package/dist/{tr-DTe5Urub.js → tr-CuaYXuAQ.js} +21 -3
  82. package/dist/{utils-KGYASlkk.js → utils-kRsfuFcG.js} +53 -53
  83. package/dist/venue-calendar.css +1 -1
  84. package/dist/venue-calendar.es.js +499 -490
  85. package/dist/venue-calendar.iife.js +56 -56
  86. package/dist/venue-calendar.umd.js +56 -56
  87. package/dist/{zh-BnBN3ggx.js → zh-Bcr7RKpt.js} +21 -3
  88. package/package.json +2 -2
  89. package/dist/EventPage-6-7R9qrl.js +0 -1184
  90. package/dist/i18n-i-1mHdch.js +0 -28
  91. package/dist/imageOptimizer-DkJp4tei.js +0 -140
  92. /package/dist/locales/{4.3.37 → 4.3.39}/flow/de.js +0 -0
  93. /package/dist/locales/{4.3.37 → 4.3.39}/flow/es.js +0 -0
  94. /package/dist/locales/{4.3.37 → 4.3.39}/flow/fr.js +0 -0
  95. /package/dist/locales/{4.3.37 → 4.3.39}/flow/id.js +0 -0
  96. /package/dist/locales/{4.3.37 → 4.3.39}/flow/it.js +0 -0
  97. /package/dist/locales/{4.3.37 → 4.3.39}/flow/ja.js +0 -0
  98. /package/dist/locales/{4.3.37 → 4.3.39}/flow/ko.js +0 -0
  99. /package/dist/locales/{4.3.37 → 4.3.39}/flow/nl.js +0 -0
  100. /package/dist/locales/{4.3.37 → 4.3.39}/flow/pl.js +0 -0
  101. /package/dist/locales/{4.3.37 → 4.3.39}/flow/pt-br.js +0 -0
  102. /package/dist/locales/{4.3.37 → 4.3.39}/flow/tr.js +0 -0
  103. /package/dist/locales/{4.3.37 → 4.3.39}/flow/zh.js +0 -0
@@ -1,5 +1,5 @@
1
1
  import { C as e, O as t, S as n, T as r, _ as i, b as a } from "./Button-klwKgfhG.js";
2
- import { x as o } from "./scarcity-CwnIxi1J.js";
2
+ import { x as o } from "./scarcity-DqbDh1cS.js";
3
3
  import { d as s, n as c, r as l } from "./z-index-Bo0dqmiq.js";
4
4
  import { t as u } from "./RequiredIndicator-CYcnRFsA.js";
5
5
  import "svelte/internal/disclose-version";
@@ -1,4 +1,4 @@
1
- import { q as e } from "./scarcity-CwnIxi1J.js";
1
+ import { q as e } from "./scarcity-DqbDh1cS.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/DownloadIcon.svelte
@@ -1,5 +1,5 @@
1
1
  import { O as e } from "./Button-klwKgfhG.js";
2
- import { t } from "./Input-o-1w57H2.js";
2
+ import { t } from "./Input-DNzDcf6I.js";
3
3
  import { d as n, n as r, r as i } from "./z-index-Bo0dqmiq.js";
4
4
  import { t as a } from "./lazyOnce-CCfEO1xG.js";
5
5
  import "svelte/internal/disclose-version";
@@ -1,11 +1,11 @@
1
- import { i as e, p as t, q as n } from "./scarcity-CwnIxi1J.js";
2
- import { t as r } from "./copyToClipboard-C3IBl2Z1.js";
3
- import { A as i, C as a, g as o, x as s } from "./defaultLabels-Zp9QbN37.js";
4
- import { L as c, z as l } from "./orders-jQz7QFjK.js";
1
+ import { i as e, p as t, q as n } from "./scarcity-DqbDh1cS.js";
2
+ import { t as r } from "./copyToClipboard-4LAkJ_1y.js";
3
+ import { A as i, C as a, g as o, x as s } from "./defaultLabels-BkjXKQDd.js";
4
+ import { B as c, R as l } from "./orders-DABdaHOy.js";
5
5
  import { t as u } from "./Heading-D6bWtGZA.js";
6
- import { c as d, i as f, s as p, t as m } from "./to-event-card-props-ChcFQ_rl.js";
7
- import { r as h, t as g } from "./event-c9mHeEJz.js";
8
- import { z as _ } from "./api-D0rw6nGg.js";
6
+ import { c as d, i as f, s as p, t as m } from "./to-event-card-props-CRaeqRxY.js";
7
+ import { r as h, t as g } from "./event-Dew6DCL7.js";
8
+ import { z as _ } from "./api-DDVVRbC-.js";
9
9
  import { t as v } from "./venue-CBos8YTa.js";
10
10
  import "svelte/internal/disclose-version";
11
11
  import * as y from "svelte/internal/client";
@@ -335,7 +335,7 @@ function z() {
335
335
  //#endregion
336
336
  //#region src/lib/api/recommendations.ts
337
337
  async function B(e, t = "event_page", n) {
338
- return e ? (await l(`${c()}/events/${e}/recommendations?surface=${t}`, { widgetKey: n }))?.recommendations ?? [] : [];
338
+ return e ? (await c(`${l()}/events/${e}/recommendations?surface=${t}`, { widgetKey: n }))?.recommendations ?? [] : [];
339
339
  }
340
340
  //#endregion
341
341
  //#region src/lib/public-calendar-flow/recommendation-cards.ts
@@ -1,7 +1,7 @@
1
- import { t as e } from "./WarningCircleIcon-Iq24pJJf.js";
2
- import { n as t, q as n } from "./scarcity-CwnIxi1J.js";
1
+ import { t as e } from "./WarningCircleIcon-C1-Aj9ut.js";
2
+ import { n as t, q as n } from "./scarcity-DqbDh1cS.js";
3
3
  import { t as r } from "./Badge-n7TfNjln.js";
4
- import { t as i } from "./defaultLabels-Zp9QbN37.js";
4
+ import { t as i } from "./defaultLabels-BkjXKQDd.js";
5
5
  import { n as a } from "./liveAnnouncer-D3xVL7qA.js";
6
6
  import "svelte/internal/disclose-version";
7
7
  import * as o from "svelte/internal/client";
@@ -1,7 +1,7 @@
1
1
  import { E as e } from "./Button-klwKgfhG.js";
2
- import { t } from "./Event-Bz4DLlpB.js";
3
- import { a as n } from "./RecommendationsRail-Cb--XCvg.js";
4
- import { n as r } from "./ScarcityBadge-CwYWJOsJ.js";
2
+ import { t } from "./Event-DyX1UrZe.js";
3
+ import { a as n } from "./RecommendationsRail-CG0vCtgJ.js";
4
+ import { n as r } from "./ScarcityBadge-D0D6Hqp0.js";
5
5
  import { t as i } from "./__SKIP_PATHS__-C0ixDSSm.js";
6
6
  import "svelte/internal/disclose-version";
7
7
  import * as a from "svelte/internal/client";
@@ -1,26 +1,26 @@
1
1
  import { E as e } from "./Button-klwKgfhG.js";
2
- import { l as t, q as n, r } from "./scarcity-CwnIxi1J.js";
3
- import { t as i } from "./ArrowLeftIcon-bH5d6LQO.js";
4
- import { t as a } from "./CalendarIcon-Cg9UUTeu.js";
5
- import { t as o } from "./ChevronDownIcon-BA40Kl0C.js";
6
- import { n as s, t as c } from "./MailIcon-DCMMhuHr.js";
7
- import { n as l, o as u, r as d, t as f } from "./RecommendationsRail-Cb--XCvg.js";
8
- import { n as p } from "./copyToClipboard-C3IBl2Z1.js";
9
- import { U as m, V as h, i as g } from "./defaultLabels-Zp9QbN37.js";
10
- import { $ as _, V as v, Y as y, Z as b, g as x, s as S } from "./orders-jQz7QFjK.js";
2
+ import { l as t, q as n, r } from "./scarcity-DqbDh1cS.js";
3
+ import { t as i } from "./ArrowLeftIcon-BMuyNOqe.js";
4
+ import { t as a } from "./CalendarIcon-B1JasL-W.js";
5
+ import { t as o } from "./ChevronDownIcon--mG1fNDx.js";
6
+ import { n as s, t as c } from "./MailIcon-Cf77TYiB.js";
7
+ import { n as l, o as u, r as d, t as f } from "./RecommendationsRail-CG0vCtgJ.js";
8
+ import { n as p } from "./copyToClipboard-4LAkJ_1y.js";
9
+ import { U as m, V as h, i as g } from "./defaultLabels-BkjXKQDd.js";
10
+ import { H as _, Q as v, X as y, _ as b, et as x, s as S } from "./orders-DABdaHOy.js";
11
11
  import { t as C } from "./liveAnnouncer-D3xVL7qA.js";
12
12
  import { n as w, t as T } from "./Heading-D6bWtGZA.js";
13
13
  import { t as E } from "./Text-CqjLjIF8.js";
14
- import { g as D, h as O } from "./api-D0rw6nGg.js";
15
- import { c as k, r as A } from "./pixels-DnbRn43e.js";
16
- import { i as j, n as M, t as N } from "./i18n-DInkJ-RH.js";
17
- import { n as P, t as F } from "./i18n-i-1mHdch.js";
14
+ import { g as D, h as O } from "./api-DDVVRbC-.js";
15
+ import { c as k, r as A } from "./pixels-BVOE_JFH.js";
16
+ import { i as j, n as M, t as N } from "./i18n-srcm-H61.js";
17
+ import { n as P, t as F } from "./i18n--YZExMpe.js";
18
18
  import { t as I } from "./__SKIP_PATHS__-C0ixDSSm.js";
19
- import { C as ee, d as L, l as R, n as te } from "./utils-KGYASlkk.js";
20
- import { n as z, t as B } from "./constants-B3kqqQpi.js";
21
- import { a as V, i as H, n as U, o as ne, r as W, s as G } from "./showcase-state-options-CDOHpho6.js";
19
+ import { C as ee, d as L, l as R, n as te } from "./utils-kRsfuFcG.js";
20
+ import { n as z, t as B } from "./constants-7hsFMWgp.js";
21
+ import { a as V, i as H, n as U, o as ne, r as W, s as G } from "./showcase-state-options-Dwn2NLOM.js";
22
22
  import { n as re, t as ie } from "./buyerEmail-BfCq-gDt.js";
23
- import { r as K } from "./defaults-BMbXcKP9.js";
23
+ import { r as K } from "./defaults-DthmKRyG.js";
24
24
  import "svelte/internal/disclose-version";
25
25
  import * as q from "svelte/internal/client";
26
26
  import { SvelteMap as J } from "svelte/reactivity";
@@ -52,7 +52,7 @@ function le(e) {
52
52
  return e ? y(Z(e), null) : null;
53
53
  }
54
54
  function ue(e) {
55
- e && b(Z(e));
55
+ e && v(Z(e));
56
56
  }
57
57
  //#endregion
58
58
  //#region src/lib/public-calendar-flow/SuccessTicket.svelte
@@ -723,7 +723,7 @@ function De(e, t) {
723
723
  var $ = e("Success"), Oe = q.from_html("<p class=\"payment-failed-title svelte-1mm1psu\"> </p> <p class=\"payment-failed-message svelte-1mm1psu\"> </p>", 1), ke = q.from_html("<p class=\"payment-failed-title svelte-1mm1psu\"> </p> <p class=\"payment-failed-message svelte-1mm1psu\"> </p> <a class=\"payment-failed-retry svelte-1mm1psu\"> </a>", 1), Ae = q.from_html("<div class=\"flex flex-col items-center justify-center py-24 text-center gap-4 payment-failed-container\"><!></div>"), je = q.from_html("<div class=\"flex flex-col items-center justify-center py-24 text-center gap-4 error-container svelte-1mm1psu\"><p class=\"svelte-1mm1psu\"> </p></div>"), Me = q.from_html("<div class=\"flex items-center justify-center py-24 text-center loading-container svelte-1mm1psu\"><p> </p></div>");
724
724
  function Ne(e, t) {
725
725
  q.push(t, !0);
726
- let n = q.prop(t, "data", 19, () => ({})), r = q.prop(t, "browseUrl", 3, "/"), i = q.prop(t, "backHref", 3, void 0), a = q.prop(t, "eventUrl", 3, void 0), o = q.prop(t, "widgetId", 3, null), s = q.prop(t, "venueId", 3, null), c = q.prop(t, "labels", 19, () => ({})), l = q.prop(t, "locale", 3, void 0), u = q.derived(() => F(l(), c())), f = q.derived(() => q.get(u).ticketFallbackName), p = q.derived(() => i() || (n()?.id && n()?.slug ? O(String(n().id), String(n().slug)) : I(r(), {}))), m = q.state(null), h = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i, g = q.state(""), b = q.state(null), C = q.state(!0), w = q.derived(() => String(n()?.redirectStatus || "")), T = q.derived(() => q.get(w) !== "" && q.get(w) !== "succeeded"), E = q.derived(() => q.get(w) === "pending" || q.get(w) === "processing"), D = q.state(!1), j = q.state(!1);
726
+ let n = q.prop(t, "data", 19, () => ({})), r = q.prop(t, "browseUrl", 3, "/"), i = q.prop(t, "backHref", 3, void 0), a = q.prop(t, "eventUrl", 3, void 0), o = q.prop(t, "widgetId", 3, null), s = q.prop(t, "venueId", 3, null), c = q.prop(t, "labels", 19, () => ({})), l = q.prop(t, "locale", 3, void 0), u = q.derived(() => F(l(), c())), f = q.derived(() => q.get(u).ticketFallbackName), p = q.derived(() => i() || (n()?.id && n()?.slug ? O(String(n().id), String(n().slug)) : I(r(), {}))), m = q.state(null), h = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i, g = q.state(""), v = q.state(null), C = q.state(!0), w = q.derived(() => String(n()?.redirectStatus || "")), T = q.derived(() => q.get(w) !== "" && q.get(w) !== "succeeded"), E = q.derived(() => q.get(w) === "pending" || q.get(w) === "processing"), D = q.state(!1), j = q.state(!1);
727
727
  async function M(e, t) {
728
728
  if (!e) return "unconfirmed";
729
729
  let n = le(e);
@@ -758,7 +758,7 @@ function Ne(e, t) {
758
758
  }
759
759
  let { id: e, slug: t, event: r, orderId: i, orderUuid: c, customerEmail: p, ticketCount: S, value: E, currency: O } = n() || {};
760
760
  {
761
- let { postMessageOnSuccess: t, postMessageTargetOrigin: a } = v();
761
+ let { postMessageOnSuccess: t, postMessageTargetOrigin: a } = _();
762
762
  if (t) {
763
763
  let t = {
764
764
  orderId: String(i || c || ""),
@@ -769,20 +769,20 @@ function Ne(e, t) {
769
769
  }
770
770
  {
771
771
  let t = e ?? n()?.eventId ?? r?.id ?? null, a = String(i || c || ""), l = "micdrop_purchased_orders", u = y(l, []) ?? [], d = !!a && u.includes(a);
772
- t != null && !d && (x(t, o(), s() || r?.venueID || r?.venueId || null), A({
772
+ t != null && !d && (b(t, o(), s() || r?.venueID || r?.venueId || null), A({
773
773
  eventId: t,
774
774
  orderId: a,
775
775
  value: typeof E == "number" ? E : null,
776
776
  currency: O,
777
777
  contentName: r?.name || r?.title || ""
778
- }), a && _(l, [...u, a]));
778
+ }), a && x(l, [...u, a]));
779
779
  }
780
780
  q.set(g, a() || `${window.location.origin}/e/${e}-${t}`, !0);
781
781
  let N;
782
782
  try {
783
783
  N = d(r);
784
784
  } catch (e) {
785
- $.warn("Success: transformApiEvent failed:", e), q.set(b, q.get(u).failedToLoadEventData || "Failed to load event data", !0), q.set(C, !1);
785
+ $.warn("Success: transformApiEvent failed:", e), q.set(v, q.get(u).failedToLoadEventData || "Failed to load event data", !0), q.set(C, !1);
786
786
  return;
787
787
  }
788
788
  let F = i || c || "", I = p || ie(F), z = [], B = null;
@@ -859,7 +859,7 @@ function Ne(e, t) {
859
859
  }), q.reset(t), q.append(e, t);
860
860
  }, V = (e) => {
861
861
  var t = je(), n = q.child(t), r = q.child(n, !0);
862
- q.reset(n), q.reset(t), q.template_effect(() => q.set_text(r, q.get(b))), q.append(e, t);
862
+ q.reset(n), q.reset(t), q.template_effect(() => q.set_text(r, q.get(v))), q.append(e, t);
863
863
  }, H = (e) => {
864
864
  var t = Me(), n = q.child(t), r = q.child(n, !0);
865
865
  q.reset(n), q.reset(t), q.template_effect(() => q.set_text(r, q.get(u).loadingYourOrder || "Loading your order...")), q.append(e, t);
@@ -880,7 +880,7 @@ function Ne(e, t) {
880
880
  });
881
881
  };
882
882
  q.if(z, (e) => {
883
- q.get(T) || q.get(j) || q.get(D) ? e(B) : q.get(b) ? e(V, 1) : q.get(C) || !q.get(m) ? e(H, 2) : e(U, -1);
883
+ q.get(T) || q.get(j) || q.get(D) ? e(B) : q.get(v) ? e(V, 1) : q.get(C) || !q.get(m) ? e(H, 2) : e(U, -1);
884
884
  }), q.append(e, N), q.pop();
885
885
  }
886
886
  //#endregion
@@ -1,4 +1,4 @@
1
- import { q as e } from "./scarcity-CwnIxi1J.js";
1
+ import { q as e } from "./scarcity-DqbDh1cS.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/TagIcon.svelte
@@ -1,13 +1,13 @@
1
1
  import { C as e, O as t } from "./Button-klwKgfhG.js";
2
2
  import { t as n } from "./Badge-n7TfNjln.js";
3
- import { U as r, i, n as a, t as o } from "./defaultLabels-Zp9QbN37.js";
4
- import { M as s, a as c } from "./orders-jQz7QFjK.js";
3
+ import { U as r, i, n as a, t as o } from "./defaultLabels-BkjXKQDd.js";
4
+ import { N as s, a as c } from "./orders-DABdaHOy.js";
5
5
  import { n as l, t as u } from "./Heading-D6bWtGZA.js";
6
6
  import { t as d } from "./Textarea-D24kYZAW.js";
7
7
  import { t as f } from "./Spinner-D8dOJe6O.js";
8
8
  import { t as p } from "./Text-CqjLjIF8.js";
9
- import { t as m } from "./i18n-i-1mHdch.js";
10
- import { a as h, i as g, n as _, o as v, r as y, s as b, t as ee } from "./defaults-BMbXcKP9.js";
9
+ import { t as m } from "./i18n--YZExMpe.js";
10
+ import { a as h, i as g, n as _, o as v, r as y, s as b, t as ee } from "./defaults-DthmKRyG.js";
11
11
  import "svelte/internal/disclose-version";
12
12
  import * as x from "svelte/internal/client";
13
13
  import { SvelteMap as te } from "svelte/reactivity";
@@ -130,7 +130,7 @@ var E = {
130
130
  ({ ...E }), E.tickets[0], { ...E }, { ...E.event }, { ...E }, E.tickets[0], { ...E.tickets[1] }, { ...E.tickets[2] };
131
131
  //#endregion
132
132
  //#region src/lib/view-tickets/variants/dice-swipe/ViewTickets.svelte
133
- var ae = x.from_html("<span class=\"mx-1 text-white/30\">&middot;</span>"), oe = x.from_html("<!> ", 1), se = x.from_html(" <!>", 1), ce = x.from_html("<div class=\"flex h-52 w-52 items-center justify-center bg-bg-secondary\"><!></div>"), le = x.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\"> </span></div>"), ue = x.from_html("<div class=\"mt-3 flex flex-col items-center gap-1.5\"><!> <p class=\"type-caption text-center tone-muted\"> </p></div>"), de = x.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), fe = x.from_html("<div class=\"mt-5 flex items-center justify-center gap-4\"><!> <!> <!></div> <div class=\"mt-2 text-center\"><!></div>", 1), pe = x.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> ", 1), me = x.from_html("<p aria-live=\"polite\"> </p>"), he = x.from_html("<p class=\"type-caption text-status-error-text\" aria-live=\"polite\"> </p>"), ge = x.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>"), _e = x.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-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> <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> <a class=\"tone-muted underline underline-offset-2 transition-colors hover:tone-muted\"> </a></p></div></div></div></div>", 1);
133
+ var ae = x.from_html("<span class=\"mx-1 text-white/30\">&middot;</span>"), oe = x.from_html("<!> ", 1), se = x.from_html(" <!>", 1), ce = x.from_html("<div class=\"flex h-52 w-52 items-center justify-center bg-bg-secondary\"><!></div>"), le = x.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\"> </span></div>"), ue = x.from_html("<div class=\"mt-3 flex flex-col items-center gap-1.5\"><!> <p class=\"type-caption text-center tone-muted\"> </p></div>"), de = x.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), fe = x.from_html("<div class=\"mt-5 flex items-center justify-center gap-4\"><!> <!> <!></div> <div class=\"mt-2 text-center\"><!></div>", 1), pe = x.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> ", 1), me = x.from_html("<p aria-live=\"polite\"> </p>"), he = x.from_html("<p class=\"type-caption text-status-error-text\" aria-live=\"polite\"> </p>"), ge = x.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>"), _e = x.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-roledescription=\"carousel\"><!> <!></div></div> <div class=\"mt-auto bg-black/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> <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> <a class=\"tone-muted underline underline-offset-2 transition-colors hover:tone-muted\"> </a></p></div></div></div></div>", 1);
134
134
  function D(t, a) {
135
135
  x.push(a, !0);
136
136
  let s = x.prop(a, "data", 3, E), m = x.prop(a, "labels", 3, o), g = x.state(0), S = x.derived(() => s().tickets[x.get(g)]), C = x.state(0), w = x.state(0), T = x.state(0), D = x.state(!1), O = x.state(!1), k = x.state(""), A = x.state(!1), j = x.derived(() => ee(s().event, s().venue, s().order.orderNumber)), ve = x.derived(() => _(s().venue)), ye = x.derived(() => y(s().order.orderUUID)), be = x.derived(() => h(s().event.startDateTime, s().event.timezone)), xe = x.derived(() => v(s().event.startDateTime, s().event.timezone)), M = x.derived(() => s().tickets.length), N = x.derived(() => x.get(M) > 1), Se = x.derived(() => s().event.imageUrl), P = x.derived(() => x.get(S).refunded === !0), Ce = x.derived(() => !x.get(P) && x.get(S).checkedIn === !0), we = x.derived(() => x.get(P) ? ` — ${m().qrRefundedSuffix || "refunded, not valid for entry"}` : x.get(Ce) ? ` — ${m().qrCheckedInSuffix || "already checked in"}` : ""), F = x.state(x.proxy(/* @__PURE__ */ new Map()));
@@ -1,4 +1,4 @@
1
- import { q as e } from "./scarcity-CwnIxi1J.js";
1
+ import { q as e } from "./scarcity-DqbDh1cS.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 { q as e } from "./scarcity-CwnIxi1J.js";
1
+ import { q as e } from "./scarcity-DqbDh1cS.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
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=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??{},r=t.Amount??t.amount,i=Number(r);return{giftCardId:Number(t.GiftCardID??t.giftCardId??0),maskedCode:String(t.MaskedCode??t.maskedCode??``),amount:r==null||!Number.isFinite(i)?null:(0,n.centsToDollars)((0,n.toCents)(i))}}function ae(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),giftCards:(t.GiftCards??t.giftCards??[]).map(ie)}}var w=[`utmSource`,`utmMedium`,`utmCampaign`,`utmContent`,`utmTerm`],oe={utmSource:`utm_source`,utmMedium:`utm_medium`,utmCampaign:`utm_campaign`,utmContent:`utm_content`,utmTerm:`utm_term`},se=`direct`;function ce(e){return e?e.trim().toLowerCase().replace(/\s+/g,`_`):``}function le(e){let t={};for(let n of w)t[n]=ce(e[n]);return t.utmSource||=se,t}function ue(e){let t={};for(let n of w)t[n]=e.get(oe[n]);return le(t)}var T={search:null,referrer:null,pageUrl:null};function de(){if(typeof window>`u`)return!0;try{return window.self===window.top}catch{return!1}}function fe(){let e=typeof window<`u`,t=de(),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:ue(new URLSearchParams(n)),referrer:r||``,pageUrl:i||``}}var pe=null,me=!1;function he(){return typeof window<`u`&&typeof window.__tcfapi==`function`}function ge(){return typeof navigator<`u`&&navigator.globalPrivacyControl===!0}function _e(){return pe===null?he()||ge():pe}function ve(){return!_e()||me}var ye=`micdrop_session_id`,E=`micdrop_visitor_id`,be=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function D(e){return typeof e==`string`&&be.test(e)}function O(){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 xe(){let e=(0,n.getSessionStorage)(ye);return e||(e=O(),(0,n.setSessionStorage)(ye,e)),e}function Se(e){let t=(0,n.getLocalStorage)(E);if(D(t))return{id:t,createdAt:e,migrated:!0};if(t&&typeof t==`object`){let{id:n,createdAt:r}=t;if(!D(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 Ce(){if(!ve())return null;let e=Date.now(),t=Se(e);if(t&&e-t.createdAt<34128e6){if(t.migrated){let e={id:t.id,createdAt:t.createdAt};(0,n.setLocalStorage)(E,e)}return t.id}let r=O();return(0,n.setLocalStorage)(E,{id:r,createdAt:e}),r}var we=`micdrop_attribution`;function Te(){let e=(0,n.getSessionStorage)(we);return!e||!e.utm||typeof e.utm.utmSource!=`string`?null:e}function k(){let e=Te()??fe();return{sessionId:xe(),visitorId:Ce(),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`),$state(0);function Ee(){return typeof navigator>`u`?null:navigator.language||navigator.userLanguage||null}var A=[[`es`,`es`,`es`],[`fr`,`fr`,`fr`],[`pt-br`,`pt-br`,`pt_br`],[`pt`,`pt-br`,`pt_br`],[`de`,`de`,`de`],[`ja`,`ja`,`ja`],[`zh`,`zh`,`zh`],[`ko`,`ko`,`ko`],[`it`,`it`,`it`],[`nl`,`nl`,`nl`],[`tr`,`tr`,`tr`],[`id`,`id`,`id`],[`pl`,`pl`,`pl`]];Array.from(new Set(A.map(([,e])=>e)));var j=new Map([[`en`,`en`],...A.map(([e])=>[e,e===`pt`||e===`pt-br`?`pt-BR`:e])]);function M(e){let t=e||Ee();if(!t||typeof t!=`string`)return;let n=t.toLowerCase();return j.get(n)??j.get(n.split(`-`)[0])}var N=(0,e.createLogger)(`VC`);async function De(e,n,r,i,a){let o=M(a);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,phone:i.phone??``,questionAnswer:i.questionAnswer??``,mailingList:i.mailingList??!1}:{},attribution:k(),...o?{locale:o}:{}});if(!a.success)throw N.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 N.debug(`Payment intent created:`,a.data),a.data}catch(e){return N.error(`createPaymentIntent error:`,e),null}}async function Oe(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,giftCards:c}=ae(n.data);return a!==`reserved`&&a!==`active`||t!==void 0&&i!==Number(t)?null:{uuid:r,eventID:i,status:a,expiresAt:o,reservations:s,giftCards:c}}catch(e){return N.error(`getCartByUUID error:`,e),null}}async function ke(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 N.error(`Cart update failed:`,e),!1}return!0}catch(e){return N.error(`updateCartQuantities error:`,e),!1}}async function Ae(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 N.error(`Error completing reservation:`,e),{success:!1,error:`Network error completing reservation`}}}async function je(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 N.error(`Error cancelling reservation:`,e),{success:!1,error:`Network error cancelling reservation`}}}async function Me(e,t){try{let n=await b(`${h()}/orders/create`,{eventID:e,promoCode:t,attribution:k()});return n.success?n.data:(N.error(`Create order failed:`,n.error),null)}catch(e){return N.error(`createOrder error:`,e),null}}async function Ne(e){return C(`${h()}/orders/${e}`)}async function Pe(e,t,n){let r=M(n);try{let n=await b(`${_()}/validatePaymentIntent/${e}`,{...t,attribution:k(),...r?{locale:r}:{}});if(!n.success)return N.error(`Payment validation failed:`,n.error),{success:!1,status:`failed`,error:n.error||`Payment validation failed`};let i=n.data;return i.eventCanceled||i.eventPostponed?{success:!1,status:`failed`,eventCanceled:i.eventCanceled,eventPostponed:i.eventPostponed}:{success:!0,status:i.status||`Payment succeeded`,orderUUID:i.orderUUID||i.uuid}}catch(e){return N.error(`validatePaymentIntent error:`,e),null}}async function Fe(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 N.error(`Error extending checkout session:`,e),{success:!1,error:`Network error extending session`}}}async function Ie(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 N.error(`Error getting session status:`,e),{error:`Network error getting session status`}}}async function Le(e={eventID:``}){try{let t=await b(`${h()}/orders/create`,{...e,attribution:k()});return t.success?t.data?.uuid??null:(N.error(`Order initiation failed:`,t.error),null)}catch(e){return N.error(`initiateOrder error:`,e),null}}async function Re(e){if(typeof window>`u`)return;let t=ce(new URLSearchParams(window.location.search).get(`utm_source`))||`direct`;try{await fetch(`${h()}/utm/${e}/${encodeURIComponent(t)}`)}catch(e){N.error(`UTM tracking failed:`,e)}}var P=(0,e.createLogger)(`VC`);function ze(e,t){if(e===404)return`Promo code isn't valid.`;let n=(t??``).toLowerCase();return e===400?n.includes(`not yet active`)?`Promo code doesn't apply.`:n.includes(`expired`)?`Promo code expired.`:n.includes(`limit`)?`Promo code has reached its limit.`:`Promo code isn't valid.`:`Failed to validate code`}async function Be(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{valid:!1,error:ze(n.statusCode,n.error)};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 P.error(`Error validating promo code:`,e),{valid:!1,error:`Network error validating code`}}}async function Ve(e){try{let t=await y(`/promo-codes/check/${e}`);return!t.success||t.data.hasPromoCodes===!0}catch(e){return P.error(`Error checking promo codes availability:`,e),!0}}async function He(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 P.error(`Error applying promo code:`,e),{success:!1,error:`Network error applying code`}}}async function Ue(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 P.error(`Error removing promo code:`,e),{success:!1,error:`Network error removing code`}}}function We(e){let t=e??{};return{performers:Array.isArray(t.performers)?t.performers:[],showPerformers:t.showPerformers===!0}}function F(e){return{ok:!0,data:e}}function I(e){return{ok:!1,error:e}}function L(e){return{ok:!1,error:e,notFound:!0}}function Ge(e){return e.ok}function Ke(e){return!e.ok}function R(e,t){return e.ok?e.data:t}var z=`/api/v2/public`,B=`/api/orders/v2/public`,V=`/api/orders/v2`,qe=`00000000-0000-0000-0000-000000000000`,H=qe;`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}${H}`,`${B}`,`${B}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${V}`,`${V}`,`${B}`,`${B}`,`${B}`,`${B}`,`${z}`,`${z}${H}`,`${z}`,`${z}`;var U=(0,e.createLogger)(`VC`),W=new Map;async function Je(e,t=fetch,n){let r=n?`${e}:pw`:String(e);if(t===fetch){let e=W.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?L(`event_not_found`):(U.error(`Failed to fetch event details: ${r.status}`),I(`event_fetch_failed`));let i=await r.json();return i?F(i):L(`event_not_found`)}catch(e){return U.error(`Error fetching event details:`,e),I(`event_fetch_failed`)}})();return t===fetch&&(W.set(r,i),i.finally(()=>{W.get(r)===i&&W.delete(r)})),i}async function Ye(e,t=fetch,n){let r=await Je(e,t,n);return r.ok?r.data:null}async function G(e,t,n=e=>e){try{let r=await C(e);return r?F(n(r)):(U.error(`Failed to load (${t}): network or server error`),I(t))}catch(e){return U.error(`Error loading (${t}):`,e),I(t)}}function K(e){return Array.isArray(e)?e:[]}async function Xe(e,t){let n=t?.trim(),r=n?`?promoCode=${encodeURIComponent(n)}`:``;return G(`${h()}/tickets/event/${e}${r}`,`tickets_fetch_failed`,K)}async function Ze(e,t){return R(await Xe(e,t),[])}async function Qe(e){return e?G(`${h()}/events/${e}/performers`,`performers_fetch_failed`,e=>We(e)):(U.warn(`fetchEventPerformers called without eventId`),I(`performers_missing_event_id`))}async function $e(e){return R(await Qe(e),{performers:[],showPerformers:!1})}async function et(e){return e?G(`${h()}/venues/organization/${e}`,`venues_fetch_failed`,K):(U.warn(`fetchAllVenues called without orgId`),I(`venues_missing_org_id`))}async function tt(e){return R(await et(e),[])}async function nt(e){return e?G(`${h()}/events/venue/${e}`,`venue_events_fetch_failed`,K):(U.warn(`fetchVenueEvents called without venueId`),I(`venue_events_missing_venue_id`))}async function rt(e){return R(await nt(e),[])}function it(e){return Array.isArray(e)?e:Array.isArray(e.events)?e.events:[]}var q=new Map;function at(e,t,n){if(!n?.fresh){let t=q.get(e);if(t)return t}let r=G(e,t,e=>it(e));return q.set(e,r),r.finally(()=>{q.get(e)===r&&q.delete(e)}),r}async function ot(e,t,n,r){return at(`${h()}/events/venue/${e}/month/${t}/${n}`,`month_events_fetch_failed`,r)}async function st(e,t,n){return R(await ot(e,t,n),[])}async function ct(e,t,n,r){return at(`${h()}/events/organization/${e}/month/${t}/${n}`,`org_month_events_fetch_failed`,r)}async function lt(e,t,n){return R(await ct(e,t,n),[])}async function ut(e){return G(`${h()}/series/${e}/occurrences`,`series_occurrences_fetch_failed`)}async function dt(e){let t=await ut(e);return t.ok?t.data:null}async function ft(e,t){return G(`${h()}/series/${e}/occurrences?venueId=${t}`,`series_cta_fetch_failed`)}async function pt(e,t){let n=await ft(e,t);return n.ok?n.data:null}async function mt(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 U.error(`Error resolving public entity:`,e),null}}async function ht(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 U.error(`Error fetching collection:`,e),null}}async function gt(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 U.error(`Error checking collection password:`,e),!1}}async function _t(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 U.error(`Error checking event password:`,e),{valid:!1}}}async function vt(e,t){try{let n=t?`${h()}/events/venue/${t}`:e?`${h()}/venues/organization/${e}`:`${h()}/venues/${qe}`;return(await fetch(n,{method:`HEAD`})).status<500}catch(e){return U.error(`Network connection test failed:`,e),!1}}var yt=`get-micdrop.com`;function bt(e){let t=typeof e==`string`?e.trim():``;return t?`https://${encodeURIComponent(t)}.${yt}`:``}var J=(0,e.createLogger)(`VC`);async function xt(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 St(e){let t=await xt(e);return t?{serviceFeePercentage:t.serviceFeePercentage??0,serviceFeeCents:t.serviceFeeCents==null?0:t.serviceFeeCents,taxPercentage:t.taxPercentage??0}:null}async function Ct(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}}async function wt(e){let t=bt(e);if(!t)return!1;try{let e=await y(`/sites/by-host/${encodeURIComponent(new URL(t).host)}`);return!!(e.success&&e.data)}catch(e){return J.warn(`hasPublishedSite failed:`,e),!1}}function Y(e,t){return e==null||t(e)}function Tt(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 Et=`We couldn't apply that gift card. Please try again.`;function Dt(e){if(!Tt(e))return{valid:!1,error:Et};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 Ot(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 kt(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=Dt(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 At(e,t){try{let n=t?.giftCardId?{giftCardId:t.giftCardId}:t?.code?{giftCardCode:t.code}:null,r=await x(`${_()}/cart/${e}/gift-card`,n?{body:JSON.stringify(n)}:void 0);if(!r.success)return X.error(`Remove gift card failed:`,r.error),{success:!1,error:r.error||`Failed to remove gift card`};let i=r.data??{},a=i.newTotal??i.NewTotal;return{success:!0,...typeof a==`number`?{remainingTotal:a}:{}}}catch(e){return X.error(`removeGiftCard error:`,e),{success:!1,error:`Network error. Please check your connection and try again.`}}}async function jt(e,t,r){let i=M(r);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,questionAnswer:t.questionAnswer||``,mailingList:t.mailingList||!1,attribution:k(),...i?{locale:i}:{}});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`);async function Mt(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,position:a.data?.position}:(Z.error(`Join waitlist failed:`,a.error),{success:!1,errorCode:a.error||`join_failed`})}catch(e){return Z.error(`joinWaitlist error:`,e),{success:!1,errorCode:`network_error`}}}async function Nt(e,t){try{let n=await b(`/checkout/validate-token/${e}`,{email:t});return n.success?{valid:!0,eventId:n.data?.eventId??0,expiresAt:n.data?.expiresAt}:{valid:!1,eventId:0,errorCode:n.error}}catch(e){return Z.error(`validateWaitlistToken error:`,e),{valid:!1,eventId:0,errorCode:`invalid_token`}}}async function Pt(e,t){try{let n=await b(`/waitlist/requeue/${e}`,{email:t});return n.success?{success:!0}:{success:!1,errorCode:n.error}}catch(e){return Z.error(`requeueWaitlistToFront error:`,e),{success:!1,errorCode:`internal_error`}}}async function Ft(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 It(e){let t=String(e%60).padStart(2,`0`);return e>=3600?`${Math.floor(e/3600)}:${String(Math.floor(e%3600/60)).padStart(2,`0`)}:${t}`:`${Math.floor(e/60)}:${t}`}function Lt(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>=i.TICKET_VISIBILITY.HIDDEN));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)}return m?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`available`}:g&&_?d?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`}:{text:`On sale ${Rt(_,(0,r.compareInstants)(_,c),[e.timezone,e.timeZone].find(e=>!!e&&(0,r.isValidIANATimezone)(e)))}`,disabled:!0,reason:`coming_soon`}:h?f():d?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`}:{text:`Sales ended`,disabled:!0,reason:`sales_ended`}}function Rt(e,t,n){let i=t/36e5,a=t/864e5;if(n){let t=e.toISOString(),o=(0,r.formatTzAbbreviation)(n,e),s=`${(0,r.formatEventTime)(t,n)} ${o}`;return i<24?s:a<=7?`${(0,r.formatDayOfWeek)(t,n,!0)} ${s}`:`${(0,r.formatEventDate)(t,n,{includeYear:!1})} ${s}`}let o=e=>(0,r.formatLocal)(e,{hour:`numeric`,minute:`2-digit`,hour12:!0},`en-US`);return i<24?o(e):a<=7?(0,r.formatLocal)(e,{weekday:`short`,hour:`numeric`,minute:`2-digit`,hour12:!0},`en-US`):`${(0,r.formatLocal)(e,{month:`short`,day:`numeric`},`en-US`)} ${o(e)}`}function zt(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 Bt(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(zt),createdAt:t.createdAt||t.created_at,updatedAt:t.updatedAt||t.updated_at}}var Vt=zt,Ht=Bt;function Ut(e){let t=Bt(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 Wt(e){return(0,n.resolveImageUrl)(e,{cdn:!0})}function Q(e){return Wt(e.imageUrl||e.imageURL||e.image_url||e.image||``)}function Gt(e){switch(e){case`available`:case`sold_out`:case`coming_soon`:case`ended`:return e;default:return null}}function Kt(e){let t=e.ctaState||e.cta_state;if(t){let e=Gt(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 qt(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 $(e){let t=e,n=(t.availableTickets||t.available_tickets||t.tickets||[]).map(qt),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:Q(t),imageURL:Q(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:Kt(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,displayTicketsLeft:t.displayTicketsLeft,postSalesMessage:t.postSalesMessage,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 Jt=qt,Yt=$,Xt=$;function Zt(e){return(0,n.resolveImageUrl)(e,{cdn:!0})}function Qt(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:Zt(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 $t=Qt;function en(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 tn(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=kt,exports.applyPromoCode=He,exports.calculateCtaState=Kt,exports.cancelReservation=je,exports.checkCollectionPassword=gt,exports.checkEventPassword=_t,exports.completeGiftCardPayment=jt,exports.completeReservation=Ae,exports.computeCtaState=Lt,exports.configureApi=p,exports.createGiftCardPurchase=Ot,exports.createOrder=Me,exports.createPaymentIntent=De,exports.err=I,exports.errNotFound=L,exports.extendCheckoutSession=Fe,exports.extractVenueFees=en,exports.fetchAllVenues=tt,exports.fetchAllVenuesResult=et,exports.fetchEventDetails=Ye,exports.fetchEventDetailsResult=Je,exports.fetchEventPerformers=$e,exports.fetchEventPerformersResult=Qe,exports.fetchEventTickets=Ze,exports.fetchEventTicketsResult=Xe,exports.fetchPublicCollection=ht,exports.fetchSeriesOccurrences=pt,exports.fetchSeriesOccurrencesResult=ft,exports.fetchVenueEvents=rt,exports.fetchVenueEventsResult=nt,exports.formatVenueAddress=tn,exports.formatWaitlistWindow=It,exports.getApiConfig=m,exports.getCDNImageUrl=Wt,exports.getCartByUUID=Oe,exports.getClientIP=ee,exports.getEventImageUrl=Q,exports.getLegacyPublicUrl=g,exports.getMonthEvents=st,exports.getMonthEventsResult=ot,exports.getOrder=Ne,exports.getOrdersV2Url=_,exports.getOrgMonthEvents=lt,exports.getOrgMonthEventsResult=ct,exports.getPublicBaseUrl=h,exports.getSeriesOccurrences=dt,exports.getSeriesOccurrencesResult=ut,exports.getSessionStatus=Ie,exports.getVenue=xt,exports.getVenueBySlug=Ct,exports.getVenueFees=St,exports.getWaitlistStatus=Ft,exports.hasPromoCodes=Ve,exports.hasPublishedSite=wt,exports.initiateOrder=Le,exports.isErr=Ke,exports.isOk=Ge,exports.joinWaitlist=Mt,exports.ok=F,exports.removeGiftCard=At,exports.removePromoCode=Ue,exports.requeueWaitlistToFront=Pt,exports.resolvePublicEntity=mt,exports.testNetworkConnection=vt,exports.trackUTMSource=Re,exports.transformAvailableTicket=Jt,exports.transformEvent=Yt,exports.transformEventData=Xt,exports.transformOrder=Ht,exports.transformOrderForDisplay=Ut,exports.transformTicket=Vt,exports.transformVenue=$t,exports.unwrapOr=R,exports.updateCartQuantities=ke,exports.validatePaymentIntent=Pe,exports.validatePromoCode=Be,exports.validateWaitlistToken=Nt;
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??{},r=t.Amount??t.amount,i=Number(r);return{giftCardId:Number(t.GiftCardID??t.giftCardId??0),maskedCode:String(t.MaskedCode??t.maskedCode??``),amount:r==null||!Number.isFinite(i)?null:(0,n.centsToDollars)((0,n.toCents)(i))}}function ae(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),giftCards:(t.GiftCards??t.giftCards??[]).map(ie)}}var w=[`utmSource`,`utmMedium`,`utmCampaign`,`utmContent`,`utmTerm`],oe={utmSource:`utm_source`,utmMedium:`utm_medium`,utmCampaign:`utm_campaign`,utmContent:`utm_content`,utmTerm:`utm_term`},se=`direct`;function ce(e){return e?e.trim().toLowerCase().replace(/\s+/g,`_`):``}function le(e){let t={};for(let n of w)t[n]=ce(e[n]);return t.utmSource||=se,t}function ue(e){let t={};for(let n of w)t[n]=e.get(oe[n]);return le(t)}var T={search:null,referrer:null,pageUrl:null};function de(){if(typeof window>`u`)return!0;try{return window.self===window.top}catch{return!1}}function fe(){let e=typeof window<`u`,t=de(),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:ue(new URLSearchParams(n)),referrer:r||``,pageUrl:i||``}}var pe=null,me=!1;function he(){return typeof window<`u`&&typeof window.__tcfapi==`function`}function ge(){return typeof navigator<`u`&&navigator.globalPrivacyControl===!0}function _e(){return pe===null?he()||ge():pe}function ve(){return!_e()||me}var ye=`micdrop_session_id`,E=`micdrop_visitor_id`,be=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function D(e){return typeof e==`string`&&be.test(e)}function O(){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 xe(){let e=(0,n.getSessionStorage)(ye);return e||(e=O(),(0,n.setSessionStorage)(ye,e)),e}function Se(e){let t=(0,n.getLocalStorage)(E);if(D(t))return{id:t,createdAt:e,migrated:!0};if(t&&typeof t==`object`){let{id:n,createdAt:r}=t;if(!D(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 Ce(){if(!ve())return null;let e=Date.now(),t=Se(e);if(t&&e-t.createdAt<34128e6){if(t.migrated){let e={id:t.id,createdAt:t.createdAt};(0,n.setLocalStorage)(E,e)}return t.id}let r=O();return(0,n.setLocalStorage)(E,{id:r,createdAt:e}),r}var we=`micdrop_attribution`;function Te(){let e=(0,n.getSessionStorage)(we);return!e||!e.utm||typeof e.utm.utmSource!=`string`?null:e}function k(){let e=Te()??fe();return{sessionId:xe(),visitorId:Ce(),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`),$state(0);function Ee(){return typeof navigator>`u`?null:navigator.language||navigator.userLanguage||null}var A=[[`es`,`es`,`es`],[`fr`,`fr`,`fr`],[`pt-br`,`pt-br`,`pt_br`],[`pt`,`pt-br`,`pt_br`],[`de`,`de`,`de`],[`ja`,`ja`,`ja`],[`zh`,`zh`,`zh`],[`ko`,`ko`,`ko`],[`it`,`it`,`it`],[`nl`,`nl`,`nl`],[`tr`,`tr`,`tr`],[`id`,`id`,`id`],[`pl`,`pl`,`pl`]];Array.from(new Set(A.map(([,e])=>e)));var j=new Map([[`en`,`en`],...A.map(([e])=>[e,e===`pt`||e===`pt-br`?`pt-BR`:e])]);function M(e){let t=e||Ee();if(!t||typeof t!=`string`)return;let n=t.toLowerCase();return j.get(n)??j.get(n.split(`-`)[0])}var N=(0,e.createLogger)(`VC`);async function De(e,n,r,i,a){let o=M(a);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,phone:i.phone??``,questionAnswer:i.questionAnswer??``,mailingList:i.mailingList??!1}:{},attribution:k(),...o?{locale:o}:{}});if(!a.success)throw N.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 N.debug(`Payment intent created:`,a.data),a.data}catch(e){return N.error(`createPaymentIntent error:`,e),null}}async function Oe(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,giftCards:c}=ae(n.data);return a!==`reserved`&&a!==`active`||t!==void 0&&i!==Number(t)?null:{uuid:r,eventID:i,status:a,expiresAt:o,reservations:s,giftCards:c}}catch(e){return N.error(`getCartByUUID error:`,e),null}}async function ke(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 N.error(`Cart update failed:`,e),!1}return!0}catch(e){return N.error(`updateCartQuantities error:`,e),!1}}async function Ae(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 N.error(`Error completing reservation:`,e),{success:!1,error:`Network error completing reservation`}}}async function je(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 N.error(`Error cancelling reservation:`,e),{success:!1,error:`Network error cancelling reservation`}}}async function Me(e,t){try{let n=await b(`${h()}/orders/create`,{eventID:e,promoCode:t,attribution:k()});return n.success?n.data:(N.error(`Create order failed:`,n.error),null)}catch(e){return N.error(`createOrder error:`,e),null}}async function Ne(e){return C(`${h()}/orders/${e}`)}async function Pe(e,t,n){let r=M(n);try{let n=await b(`${_()}/validatePaymentIntent/${e}`,{...t,attribution:k(),...r?{locale:r}:{}});if(!n.success)return N.error(`Payment validation failed:`,n.error),{success:!1,status:`failed`,error:n.error||`Payment validation failed`};let i=n.data;return i.eventCanceled||i.eventPostponed?{success:!1,status:`failed`,eventCanceled:i.eventCanceled,eventPostponed:i.eventPostponed}:{success:!0,status:i.status||`Payment succeeded`,orderUUID:i.orderUUID||i.uuid}}catch(e){return N.error(`validatePaymentIntent error:`,e),null}}async function Fe(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 N.error(`Error extending checkout session:`,e),{success:!1,error:`Network error extending session`}}}async function Ie(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 N.error(`Error getting session status:`,e),{error:`Network error getting session status`}}}async function Le(e={eventID:``}){try{let t=await b(`${h()}/orders/create`,{...e,attribution:k()});return t.success?t.data?.uuid??null:(N.error(`Order initiation failed:`,t.error),null)}catch(e){return N.error(`initiateOrder error:`,e),null}}async function Re(e){if(typeof window>`u`)return;let t=ce(new URLSearchParams(window.location.search).get(`utm_source`))||`direct`;try{await fetch(`${h()}/utm/${e}/${encodeURIComponent(t)}`)}catch(e){N.error(`UTM tracking failed:`,e)}}var P=(0,e.createLogger)(`VC`);function ze(e,t){if(e===404)return`Promo code isn't valid.`;let n=(t??``).toLowerCase();return e===400?n.includes(`not yet active`)?`Promo code doesn't apply.`:n.includes(`expired`)?`Promo code expired.`:n.includes(`limit`)?`Promo code has reached its limit.`:`Promo code isn't valid.`:`Failed to validate code`}async function Be(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{valid:!1,error:ze(n.statusCode,n.error)};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 P.error(`Error validating promo code:`,e),{valid:!1,error:`Network error validating code`}}}async function Ve(e){try{let t=await y(`/promo-codes/check/${e}`);return!t.success||t.data.hasPromoCodes===!0}catch(e){return P.error(`Error checking promo codes availability:`,e),!0}}async function He(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 P.error(`Error applying promo code:`,e),{success:!1,error:`Network error applying code`}}}async function Ue(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 P.error(`Error removing promo code:`,e),{success:!1,error:`Network error removing code`}}}function We(e){let t=e??{};return{performers:Array.isArray(t.performers)?t.performers:[],showPerformers:t.showPerformers===!0}}function F(e){return{ok:!0,data:e}}function I(e){return{ok:!1,error:e}}function L(e){return{ok:!1,error:e,notFound:!0}}function Ge(e){return e.ok}function Ke(e){return!e.ok}function R(e,t){return e.ok?e.data:t}var z=`/api/v2/public`,B=`/api/orders/v2/public`,V=`/api/orders/v2`,qe=`00000000-0000-0000-0000-000000000000`,H=qe;`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}${H}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}`,`${z}${H}`,`${B}`,`${B}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${B}`,`${B}${H}`,`${V}`,`${V}`,`${B}`,`${B}`,`${B}`,`${B}`,`${z}`,`${z}${H}`,`${z}`,`${z}`;var U=(0,e.createLogger)(`VC`),W=new Map;async function Je(e,t=fetch,n){let r=n?`${e}:pw`:String(e);if(t===fetch){let e=W.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?L(`event_not_found`):(U.error(`Failed to fetch event details: ${r.status}`),I(`event_fetch_failed`));let i=await r.json();return i?F(i):L(`event_not_found`)}catch(e){return U.error(`Error fetching event details:`,e),I(`event_fetch_failed`)}})();return t===fetch&&(W.set(r,i),i.finally(()=>{W.get(r)===i&&W.delete(r)})),i}async function Ye(e,t=fetch,n){let r=await Je(e,t,n);return r.ok?r.data:null}async function G(e,t,n=e=>e){try{let r=await C(e);return r?F(n(r)):(U.error(`Failed to load (${t}): network or server error`),I(t))}catch(e){return U.error(`Error loading (${t}):`,e),I(t)}}function K(e){return Array.isArray(e)?e:[]}async function Xe(e,t){let n=t?.trim(),r=n?`?promoCode=${encodeURIComponent(n)}`:``;return G(`${h()}/tickets/event/${e}${r}`,`tickets_fetch_failed`,K)}async function Ze(e,t){return R(await Xe(e,t),[])}async function Qe(e){return e?G(`${h()}/events/${e}/performers`,`performers_fetch_failed`,e=>We(e)):(U.warn(`fetchEventPerformers called without eventId`),I(`performers_missing_event_id`))}async function $e(e){return R(await Qe(e),{performers:[],showPerformers:!1})}async function et(e){return e?G(`${h()}/venues/organization/${e}`,`venues_fetch_failed`,K):(U.warn(`fetchAllVenues called without orgId`),I(`venues_missing_org_id`))}async function tt(e){return R(await et(e),[])}async function nt(e){return e?G(`${h()}/events/venue/${e}`,`venue_events_fetch_failed`,K):(U.warn(`fetchVenueEvents called without venueId`),I(`venue_events_missing_venue_id`))}async function rt(e){return R(await nt(e),[])}function it(e){return Array.isArray(e)?e:Array.isArray(e.events)?e.events:[]}var q=new Map;function at(e,t,n){if(!n?.fresh){let t=q.get(e);if(t)return t}let r=G(e,t,e=>it(e));return q.set(e,r),r.finally(()=>{q.get(e)===r&&q.delete(e)}),r}async function ot(e,t,n,r){return at(`${h()}/events/venue/${e}/month/${t}/${n}`,`month_events_fetch_failed`,r)}async function st(e,t,n){return R(await ot(e,t,n),[])}async function ct(e,t,n,r){return at(`${h()}/events/organization/${e}/month/${t}/${n}`,`org_month_events_fetch_failed`,r)}async function lt(e,t,n){return R(await ct(e,t,n),[])}async function ut(e){return G(`${h()}/series/${e}/occurrences`,`series_occurrences_fetch_failed`)}async function dt(e){let t=await ut(e);return t.ok?t.data:null}async function ft(e,t){return G(`${h()}/series/${e}/occurrences?venueId=${t}`,`series_cta_fetch_failed`)}async function pt(e,t){let n=await ft(e,t);return n.ok?n.data:null}async function mt(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 U.error(`Error resolving public entity:`,e),null}}async function ht(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 U.error(`Error fetching collection:`,e),null}}async function gt(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 U.error(`Error checking collection password:`,e),!1}}async function _t(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 U.error(`Error checking event password:`,e),{valid:!1}}}async function vt(e,t){try{let n=t?`${h()}/events/venue/${t}`:e?`${h()}/venues/organization/${e}`:`${h()}/venues/${qe}`;return(await fetch(n,{method:`HEAD`})).status<500}catch(e){return U.error(`Network connection test failed:`,e),!1}}var yt=`get-micdrop.com`;function bt(e){let t=typeof e==`string`?e.trim():``;return t?`https://${encodeURIComponent(t)}.${yt}`:``}var J=(0,e.createLogger)(`VC`);async function xt(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 St(e){let t=await xt(e);return t?{serviceFeePercentage:t.serviceFeePercentage??0,serviceFeeCents:t.serviceFeeCents==null?0:t.serviceFeeCents,taxPercentage:t.taxPercentage??0}:null}async function Ct(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}}async function wt(e){let t=bt(e);if(!t)return!1;try{let e=await y(`/sites/by-host/${encodeURIComponent(new URL(t).host)}`);return!!(e.success&&e.data)}catch(e){return J.warn(`hasPublishedSite failed:`,e),!1}}function Y(e,t){return e==null||t(e)}function Tt(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 Et=`We couldn't apply that gift card. Please try again.`;function Dt(e){if(!Tt(e))return{valid:!1,error:Et};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 Ot(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 kt(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=Dt(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 At(e,t){try{let n=t?.giftCardId?{giftCardId:t.giftCardId}:t?.code?{giftCardCode:t.code}:null,r=await x(`${_()}/cart/${e}/gift-card`,n?{body:JSON.stringify(n)}:void 0);if(!r.success)return X.error(`Remove gift card failed:`,r.error),{success:!1,error:r.error||`Failed to remove gift card`};let i=r.data??{},a=i.newTotal??i.NewTotal;return{success:!0,...typeof a==`number`?{remainingTotal:a}:{}}}catch(e){return X.error(`removeGiftCard error:`,e),{success:!1,error:`Network error. Please check your connection and try again.`}}}async function jt(e,t,r){let i=M(r);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,questionAnswer:t.questionAnswer||``,mailingList:t.mailingList||!1,attribution:k(),...i?{locale:i}:{}});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`);async function Mt(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,position:a.data?.position}:(Z.error(`Join waitlist failed:`,a.error),{success:!1,errorCode:a.error||`join_failed`})}catch(e){return Z.error(`joinWaitlist error:`,e),{success:!1,errorCode:`network_error`}}}async function Nt(e,t){try{let n=await b(`/checkout/validate-token/${e}`,{email:t});return n.success?{valid:!0,eventId:n.data?.eventId??0,expiresAt:n.data?.expiresAt}:{valid:!1,eventId:0,errorCode:n.error}}catch(e){return Z.error(`validateWaitlistToken error:`,e),{valid:!1,eventId:0,errorCode:`invalid_token`}}}async function Pt(e,t){try{let n=await b(`/waitlist/requeue/${e}`,{email:t});return n.success?{success:!0}:{success:!1,errorCode:n.error}}catch(e){return Z.error(`requeueWaitlistToFront error:`,e),{success:!1,errorCode:`internal_error`}}}async function Ft(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 It(e){let t=String(e%60).padStart(2,`0`);return e>=3600?`${Math.floor(e/3600)}:${String(Math.floor(e%3600/60)).padStart(2,`0`)}:${t}`:`${Math.floor(e/60)}:${t}`}function Lt(e,t,n={}){let{cancelled:a=!1,isRegistration:o=!1,waitlistEnabled:s=!1}=n,c=(0,r.browserNow)();if(a)return{text:`Canceled`,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>=i.TICKET_VISIBILITY.HIDDEN));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)}return m?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`available`}:g&&_?d?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`}:{text:`On sale ${Rt(_,(0,r.compareInstants)(_,c),[e.timezone,e.timeZone].find(e=>!!e&&(0,r.isValidIANATimezone)(e)))}`,disabled:!0,reason:`coming_soon`}:h?f():d?{text:o?`Reserve a spot`:`Get tickets`,disabled:!1,reason:`hidden_only`}:{text:`Sales ended`,disabled:!0,reason:`sales_ended`}}function Rt(e,t,n){let i=t/36e5,a=t/864e5;if(n){let t=e.toISOString(),o=(0,r.formatTzAbbreviation)(n,e),s=`${(0,r.formatEventTime)(t,n)} ${o}`;return i<24?s:a<=7?`${(0,r.formatDayOfWeek)(t,n,!0)} ${s}`:`${(0,r.formatEventDate)(t,n,{includeYear:!1})} ${s}`}let o=e=>(0,r.formatLocal)(e,{hour:`numeric`,minute:`2-digit`,hour12:!0},`en-US`);return i<24?o(e):a<=7?(0,r.formatLocal)(e,{weekday:`short`,hour:`numeric`,minute:`2-digit`,hour12:!0},`en-US`):`${(0,r.formatLocal)(e,{month:`short`,day:`numeric`},`en-US`)} ${o(e)}`}function zt(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 Bt(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(zt),createdAt:t.createdAt||t.created_at,updatedAt:t.updatedAt||t.updated_at}}var Vt=zt,Ht=Bt;function Ut(e){let t=Bt(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 Wt(e){return(0,n.resolveImageUrl)(e,{cdn:!0})}function Q(e){return Wt(e.imageUrl||e.imageURL||e.image_url||e.image||``)}function Gt(e){switch(e){case`available`:case`sold_out`:case`coming_soon`:case`ended`:return e;default:return null}}function Kt(e){let t=e.ctaState||e.cta_state;if(t){let e=Gt(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 qt(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 $(e){let t=e,n=(t.availableTickets||t.available_tickets||t.tickets||[]).map(qt),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:Q(t),imageURL:Q(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:Kt(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,displayTicketsLeft:t.displayTicketsLeft,postSalesMessage:t.postSalesMessage,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 Jt=qt,Yt=$,Xt=$;function Zt(e){return(0,n.resolveImageUrl)(e,{cdn:!0})}function Qt(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:Zt(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 $t=Qt;function en(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 tn(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=kt,exports.applyPromoCode=He,exports.calculateCtaState=Kt,exports.cancelReservation=je,exports.checkCollectionPassword=gt,exports.checkEventPassword=_t,exports.completeGiftCardPayment=jt,exports.completeReservation=Ae,exports.computeCtaState=Lt,exports.configureApi=p,exports.createGiftCardPurchase=Ot,exports.createOrder=Me,exports.createPaymentIntent=De,exports.err=I,exports.errNotFound=L,exports.extendCheckoutSession=Fe,exports.extractVenueFees=en,exports.fetchAllVenues=tt,exports.fetchAllVenuesResult=et,exports.fetchEventDetails=Ye,exports.fetchEventDetailsResult=Je,exports.fetchEventPerformers=$e,exports.fetchEventPerformersResult=Qe,exports.fetchEventTickets=Ze,exports.fetchEventTicketsResult=Xe,exports.fetchPublicCollection=ht,exports.fetchSeriesOccurrences=pt,exports.fetchSeriesOccurrencesResult=ft,exports.fetchVenueEvents=rt,exports.fetchVenueEventsResult=nt,exports.formatVenueAddress=tn,exports.formatWaitlistWindow=It,exports.getApiConfig=m,exports.getCDNImageUrl=Wt,exports.getCartByUUID=Oe,exports.getClientIP=ee,exports.getEventImageUrl=Q,exports.getLegacyPublicUrl=g,exports.getMonthEvents=st,exports.getMonthEventsResult=ot,exports.getOrder=Ne,exports.getOrdersV2Url=_,exports.getOrgMonthEvents=lt,exports.getOrgMonthEventsResult=ct,exports.getPublicBaseUrl=h,exports.getSeriesOccurrences=dt,exports.getSeriesOccurrencesResult=ut,exports.getSessionStatus=Ie,exports.getVenue=xt,exports.getVenueBySlug=Ct,exports.getVenueFees=St,exports.getWaitlistStatus=Ft,exports.hasPromoCodes=Ve,exports.hasPublishedSite=wt,exports.initiateOrder=Le,exports.isErr=Ke,exports.isOk=Ge,exports.joinWaitlist=Mt,exports.ok=F,exports.removeGiftCard=At,exports.removePromoCode=Ue,exports.requeueWaitlistToFront=Pt,exports.resolvePublicEntity=mt,exports.testNetworkConnection=vt,exports.trackUTMSource=Re,exports.transformAvailableTicket=Jt,exports.transformEvent=Yt,exports.transformEventData=Xt,exports.transformOrder=Ht,exports.transformOrderForDisplay=Ut,exports.transformTicket=Vt,exports.transformVenue=$t,exports.unwrapOr=R,exports.updateCartQuantities=ke,exports.validatePaymentIntent=Pe,exports.validatePromoCode=Be,exports.validateWaitlistToken=Nt;
package/dist/api/api.mjs CHANGED
@@ -1144,7 +1144,7 @@ function nn(e) {
1144
1144
  function rn(e, t, n = {}) {
1145
1145
  let { cancelled: r = !1, isRegistration: i = !1, waitlistEnabled: a = !1 } = n, o = ee();
1146
1146
  if (r) return {
1147
- text: "Cancelled",
1147
+ text: "Canceled",
1148
1148
  disabled: !0,
1149
1149
  reason: "cancelled"
1150
1150
  };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Canonical Bearer auth-header builder for venue-calendar (R-AUTH-03).
3
+ *
4
+ * Doctrine: "One Bearer-header builder per app, used everywhere. All HTTP call
5
+ * sites import this builder — no inline Bearer template literals." Every VC call
6
+ * site that needs an `Authorization: Bearer <token>` header routes through here,
7
+ * so the Bearer construction lives in exactly one place and any future
8
+ * rename/format change has a single surface.
9
+ *
10
+ * Empty-token contract: when `token` is falsy (an unset operator token), the
11
+ * `Authorization` value is the empty string — byte-identical to what the call
12
+ * sites sent before migration (`token ? \`Bearer ${token}\` : ''`). The builder
13
+ * preserves that shape; it does not drop the header or alter what an unset token
14
+ * transmits.
15
+ *
16
+ * @stale-doc-comment-allow: Authorization
17
+ * (`Authorization` is an HTTP header NAME, not a code entity. It exists here only
18
+ * as an object key and a type-literal property — both of which stopped resolving
19
+ * in vc#685, because a property key labels a slot rather than declaring a binding.
20
+ * The header is real and external, which is exactly what the per-name hatch is
21
+ * for; a file-level escape would blind the rest of this file.)
22
+ */
23
+ export declare function buildAuthHeaders(token: string | undefined | null): {
24
+ Authorization: string;
25
+ };
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Can this page complete a purchase?
3
+ *
4
+ * WHY THIS EXISTS (embed audit 2026-08-22, blocker B1)
5
+ *
6
+ * The buy path is gated on the `cors_allowed_domains` allowlist: a venue that
7
+ * embeds the calendar on its own website must have that domain registered, or
8
+ * every cart/promo/gift-card/payment call is refused. Before this module the
9
+ * failure was invisible until a buyer had already chosen a ticket — the
10
+ * calendar rendered perfectly, and the dead end was a disabled CTA three
11
+ * screens in. This asks the question up front so the calendar can say so.
12
+ *
13
+ * The probe is deliberately conservative in three ways:
14
+ *
15
+ * 1. It only runs CROSS-ORIGIN. On get-micdrop.com's own pages — the large
16
+ * majority of traffic — the allowlist is not in play and no request is made.
17
+ * 2. It runs ONCE per browser session per origin, memoized in-module (so N
18
+ * widgets on one page share one request) and in sessionStorage (so it
19
+ * survives navigation around the venue's site).
20
+ * 3. Only an explicit `ORIGIN_NOT_REGISTERED` counts as unavailable. A 429, a
21
+ * 5xx, a timeout, an offline browser — anything that merely failed to
22
+ * answer — resolves to `unknown`, which renders nothing. An alert that
23
+ * appears during an unrelated outage would be worse than no alert.
24
+ */
25
+ /** The backend code that means "this domain is not registered for checkout". */
26
+ export declare const ORIGIN_NOT_REGISTERED = "ORIGIN_NOT_REGISTERED";
27
+ export type CheckoutAvailabilityReason =
28
+ /** Purchases work from this origin. */
29
+ 'available'
30
+ /** The host domain is not on the allowlist; buying is refused. */
31
+ | 'origin-not-registered'
32
+ /** Not asked, or the question could not be answered. Render nothing. */
33
+ | 'unknown';
34
+ export interface CheckoutAvailability {
35
+ /** False ONLY when the origin was explicitly rejected. `unknown` is true. */
36
+ available: boolean;
37
+ reason: CheckoutAvailabilityReason;
38
+ /** The page's own origin, for the message. Empty during SSR. */
39
+ origin: string;
40
+ }
41
+ /**
42
+ * True when the widget is running on a domain that is not the API's own.
43
+ *
44
+ * `getApiConfig().baseUrl` is a hard literal (`https://get-micdrop.com`), never
45
+ * derived from the host page, so this is a genuine first-party/third-party test
46
+ * and not a tautology.
47
+ */
48
+ export declare function isCrossOriginEmbed(): boolean;
49
+ /**
50
+ * Subscribe to the answer. Fires immediately with whatever is already known,
51
+ * and again if it changes. Returns an unsubscribe function.
52
+ */
53
+ export declare function onCheckoutAvailabilityChange(listener: (_state: CheckoutAvailability) => void): () => void;
54
+ /**
55
+ * Record that a REAL buy-path call was refused for this origin.
56
+ *
57
+ * This is the authoritative signal — an actual cart or payment request, not a
58
+ * probe — so it overrides a cached `available` and is what keeps the alert
59
+ * correct if the domain is de-registered mid-session, or if the probe was
60
+ * skipped entirely. Wired from the API client, which sees every failure code.
61
+ */
62
+ export declare function noteCheckoutOriginRejected(): void;
63
+ /**
64
+ * Ask whether this origin may complete a purchase.
65
+ *
66
+ * Safe to call from every widget instance on the page: the first call owns the
67
+ * request and the rest await it.
68
+ */
69
+ export declare function probeCheckoutAvailability(): Promise<CheckoutAvailability>;
70
+ /** Test seam: forget the memo, the cache and the subscribers. */
71
+ export declare function resetCheckoutAvailability(): void;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * In-memory cache of gate passwords the server has already accepted.
3
+ *
4
+ * WHY THIS IS NOT sessionStorage (security audit 2026-08-14, F36).
5
+ *
6
+ * `CollectionView` used to persist the plaintext collection password to
7
+ * `sessionStorage` under `micdrop:authedCollections:list`. This widget is a
8
+ * light-DOM embed: it runs on the VENUE'S OWN ORIGIN, alongside whatever else
9
+ * that page loads — tag managers, RUM agents, session-replay recorders,
10
+ * chat widgets. `sessionStorage` is readable by every one of them, and it kept
11
+ * the password readable for the whole tab session, long after the visitor
12
+ * typed it. Gate passwords are stored plaintext at rest server-side and are
13
+ * SHARED BY EVERY ATTENDEE of a private/pre-sale event, so one harvested value
14
+ * defeats the gate for everyone.
15
+ *
16
+ * A module-scoped Map keeps the same UX for the case that actually matters —
17
+ * the widget is a SPA, so navigating collection → event → back re-mounts the
18
+ * component and the unlock still survives — while removing the cross-script
19
+ * read surface and the persistence. The trade is deliberate and narrow: a hard
20
+ * page RELOAD now re-prompts, where before it did not.
21
+ *
22
+ * The server remains the authority either way. A cached password that no
23
+ * longer matches comes back as `passwordRequired` and the caller re-prompts,
24
+ * so nothing here can reveal gated content on its own.
25
+ */
26
+ /** Which gate a cached password belongs to. Keys are namespaced by scope so an
27
+ * unlocked collection never satisfies the per-event gate (or vice versa). */
28
+ export type GateScope = 'collection' | 'event';
29
+ /** Remember a password the server just accepted. No-op for an empty password. */
30
+ export declare function rememberGatePassword(scope: GateScope, id: string | number, password?: string): void;
31
+ /** Recall a previously accepted password for this page load, if any. */
32
+ export declare function recallGatePassword(scope: GateScope, id: string | number): string | undefined;
33
+ /** Drop a cached password the server has since rejected (rotated / revoked). */
34
+ export declare function forgetGatePassword(scope: GateScope, id: string | number): void;
35
+ /**
36
+ * Record that a gate has been unlocked for this page load.
37
+ *
38
+ * This is the ONLY store of "already authenticated" for the event/collection
39
+ * gates. It is deliberately NOT web storage:
40
+ *
41
+ * - a blocked store (sandboxed iframe, Safari private mode, a partitioned
42
+ * third-party context) made the old `sessionStorage.getItem` READ throw, and
43
+ * that throw propagated out of the `isLocked` derivation and out of the
44
+ * correct-password handler — so on a venue's own domain a buyer could type
45
+ * the RIGHT password and still be told nothing happened. A Map cannot throw,
46
+ * so a blocked store now degrades to "re-prompt on the next mount", which is
47
+ * the honest fallback.
48
+ * - it is unreachable from other scripts on the host page, closing the forge
49
+ * surface described on LEGACY_STORAGE_KEYS.
50
+ *
51
+ * The server stays the authority: an unlock recorded here only suppresses the
52
+ * prompt, and any payload that still arrives with `passwordRequired` re-locks.
53
+ */
54
+ export declare function rememberGateUnlock(scope: GateScope, id: string | number): void;
55
+ /** Whether this page load has already cleared that gate. Never throws. */
56
+ export declare function recallGateUnlock(scope: GateScope, id: string | number): boolean;
57
+ /** Re-lock a gate (password rotated / revoked, or the server said so). */
58
+ export declare function forgetGateUnlock(scope: GateScope, id: string | number): void;
59
+ /** Test hook: wipe the whole cache between cases. */
60
+ export declare function clearGatePasswordCache(): void;