@getmicdrop/venue-calendar 4.3.38 → 4.3.40
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.
- package/dist/{ArrowLeftIcon-bH5d6LQO.js → ArrowLeftIcon-DahiD9EF.js} +1 -1
- package/dist/{BlockPlaceholder-yXhu9HrQ.js → BlockPlaceholder-BfbLTliy.js} +1 -1
- package/dist/{Calendar-BjE02HrG.js → Calendar-CM-dDG7x.js} +14 -14
- package/dist/{CalendarFoundryView-BWaOYwqK.js → CalendarFoundryView-Bv0EsOwe.js} +635 -617
- package/dist/{CalendarIcon-Cg9UUTeu.js → CalendarIcon-DOAS1a6F.js} +1 -1
- package/dist/{CartView-YRimdA6F.js → CartView-CYJMgWS2.js} +615 -617
- package/dist/{Checkbox-24CWEsty.js → Checkbox-BtJwg_CF.js} +1 -0
- package/dist/{Checkout-djS62Y9-.js → Checkout-C8BrLSYw.js} +59 -59
- package/dist/{Checkout-rsX9zvb7.js → Checkout-D6GEwsKQ.js} +28 -34
- package/dist/{CheckoutTimer-D3XNCZ36.js → CheckoutTimer-DjaTq2_0.js} +3 -3
- package/dist/{ChevronDownIcon-BA40Kl0C.js → ChevronDownIcon-CiYpE3Hq.js} +1 -1
- package/dist/{ClockIcon-DjC-doTv.js → ClockIcon-BSlM7HM2.js} +1 -1
- package/dist/{CloseIcon-BdwmaxDK.js → CloseIcon-ojn3Lny5.js} +1 -1
- package/dist/{CollectionView-DJMd-lQ5.js → CollectionView-BZuyx4kC.js} +6 -6
- package/dist/{CropImage-Ct6MRg_a.js → CropImage-BFtvLjTE.js} +1 -1
- package/dist/{Event-ETzQP0s-.js → Event-CqQ0yP-h.js} +91 -91
- package/dist/{EventPage-BDmpGhgp.js → EventPage-CMH2gocB.js} +14 -14
- package/dist/{Input-o-1w57H2.js → Input-Ck0Q7LwW.js} +1 -1
- package/dist/{MailIcon-DCMMhuHr.js → MailIcon-CqCCKGgC.js} +1 -1
- package/dist/{PasswordInput-zX7J--jb.js → PasswordInput-yTDvehkW.js} +1 -1
- package/dist/{RecommendationsRail-CKoChbYt.js → RecommendationsRail-CN_dtLWp.js} +131 -131
- package/dist/{ScarcityBadge-CwYWJOsJ.js → ScarcityBadge-BJrsvt6e.js} +9 -9
- package/dist/{SeriesPage-DccLByjM.js → SeriesPage-B1bK_MeR.js} +3 -3
- package/dist/{Success-BVYGRvb8.js → Success-D8dgqzkd.js} +50 -50
- package/dist/{TagIcon-CkfQvNGi.js → TagIcon-D_kSJfGZ.js} +1 -1
- package/dist/{ViewTicketsEmbed-D6ZLDsJe.js → ViewTicketsEmbed-rdcE9aPB.js} +5 -5
- package/dist/{WarningCircleIcon-Iq24pJJf.js → WarningCircleIcon-DhNvSQag.js} +1 -1
- package/dist/{WarningTriIcon-Dw5GnHpq.js → WarningTriIcon-V6pL3ERG.js} +1 -1
- package/dist/api/api.cjs +1 -1
- package/dist/api/api.mjs +1 -1
- package/dist/api/authHeaders.d.ts +25 -0
- package/dist/api/checkout-availability.d.ts +71 -0
- package/dist/api/gate-password-cache.d.ts +60 -0
- package/dist/api/recommendations.d.ts +35 -0
- package/dist/api/surge-queue.d.ts +133 -0
- package/dist/api/types.d.ts +435 -556
- package/dist/{api-LOBSDFGW.js → api-Di0gC83p.js} +3 -3
- package/dist/{constants-COyf9Cef.js → constants-CQ8nJvPW.js} +1 -1
- package/dist/{copyToClipboard-C3IBl2Z1.js → copyToClipboard-zcPgoppJ.js} +1 -1
- package/dist/{de-BY5vJUGN.js → de-DD9e2eok.js} +21 -3
- package/dist/{defaultLabels-Zp9QbN37.js → defaultLabels-BkjXKQDd.js} +20 -2
- package/dist/{defaults-BS-A8oEj.js → defaults-DthmKRyG.js} +2 -2
- package/dist/{es-jUq9nrJk.js → es-CHuPO3ex.js} +21 -3
- package/dist/{event-c9mHeEJz.js → event-Dew6DCL7.js} +1 -1
- package/dist/{event-transform-BR82y7EY.js → event-transform-BpB65AAX.js} +6 -6
- package/dist/{eventStatusStream-1YtkEBw8.js → eventStatusStream-DTshTZoI.js} +1 -1
- package/dist/{fr-BhVwmvlV.js → fr-Ctu5i20f.js} +21 -3
- package/dist/{href-1o0O9xTA.js → href-B-lH1SYh.js} +2 -2
- package/dist/i18n--YZExMpe.js +28 -0
- package/dist/{i18n-02Y9QRm0.js → i18n-BpodazP1.js} +105 -105
- package/dist/{id-CWU5ZvLv.js → id-DKYW7qEJ.js} +21 -3
- package/dist/imageOptimizer-Cf0BbZJ7.js +220 -0
- package/dist/{it-wlDmN3hH.js → it-DPWCuCsJ.js} +21 -3
- package/dist/{ja-DpA7hJaC.js → ja-CNSRW1XM.js} +21 -3
- package/dist/{ko-DdWLaFvo.js → ko--itQbcHD.js} +21 -3
- package/dist/locales/{4.3.38 → 4.3.40}/main/de.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/es.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/fr.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/id.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/it.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/ja.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/ko.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/nl.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/pl.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/pt-br.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/tr.js +1 -1
- package/dist/locales/{4.3.38 → 4.3.40}/main/zh.js +1 -1
- package/dist/{nl-BwxAfMRa.js → nl-BoZA1-rw.js} +21 -3
- package/dist/{order-totals-BEUOdkCb.js → order-totals-iUg6d6MJ.js} +3 -3
- package/dist/{orders-_DuPjm-g.js → orders-DABdaHOy.js} +1 -1
- package/dist/{phoneUtils-CbiDWdEC.js → phoneUtils-BPEB92vB.js} +1 -1
- package/dist/{pixels-BXobnFyk.js → pixels-BVOE_JFH.js} +2 -2
- package/dist/{pl-CuRdwJXc.js → pl-tC8ayoR2.js} +21 -3
- package/dist/{promo-BrstveEs.js → promo-B3Tj0iQF.js} +1 -1
- package/dist/{pt-br-BUWJLxKf.js → pt-br-CTMA1wMi.js} +21 -3
- package/dist/{scarcity-CwnIxi1J.js → scarcity-CJ6IsR7f.js} +3 -12
- package/dist/seo/types.d.ts +137 -156
- package/dist/{serverTotals-D2-FzkdS.js → serverTotals-ClEUVCOz.js} +1 -1
- package/dist/{showcase-state-options-CDOHpho6.js → showcase-state-options-Dwn2NLOM.js} +1 -1
- package/dist/{to-event-card-props-ChcFQ_rl.js → to-event-card-props-Cr5Uq0Ef.js} +9 -9
- package/dist/{tr-DTe5Urub.js → tr-CuaYXuAQ.js} +21 -3
- package/dist/{utils-DlMAhsnl.js → utils-CG0ZJ6gb.js} +2 -2
- package/dist/venue-calendar.css +1 -1
- package/dist/venue-calendar.es.js +498 -489
- package/dist/venue-calendar.iife.js +60 -60
- package/dist/venue-calendar.umd.js +54 -54
- package/dist/{zh-BnBN3ggx.js → zh-Bcr7RKpt.js} +21 -3
- package/package.json +2 -2
- package/dist/i18n-Dwg2jCJS.js +0 -28
- package/dist/imageOptimizer-DkJp4tei.js +0 -140
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/de.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/es.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/fr.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/id.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/it.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/ja.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/ko.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/nl.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/pl.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/pt-br.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/tr.js +0 -0
- /package/dist/locales/{4.3.38 → 4.3.40}/flow/zh.js +0 -0
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import { E as e } from "./Button-klwKgfhG.js";
|
|
2
|
-
import {
|
|
3
|
-
import { t as i } from "./ArrowLeftIcon-
|
|
4
|
-
import { t as a } from "./CalendarIcon-
|
|
5
|
-
import { t as o } from "./ChevronDownIcon-
|
|
6
|
-
import { n as s, t as c } from "./MailIcon-
|
|
7
|
-
import { n as l, o as u, r as d, t as f } from "./RecommendationsRail-
|
|
8
|
-
import { n as p } from "./copyToClipboard-
|
|
9
|
-
import { U as m, V as h, i as g } from "./defaultLabels-
|
|
10
|
-
import { H as _, Q as v, X as y, _ as b, et as x, s as S } from "./orders-
|
|
2
|
+
import { K as t, c as n, r } from "./scarcity-CJ6IsR7f.js";
|
|
3
|
+
import { t as i } from "./ArrowLeftIcon-DahiD9EF.js";
|
|
4
|
+
import { t as a } from "./CalendarIcon-DOAS1a6F.js";
|
|
5
|
+
import { t as o } from "./ChevronDownIcon-CiYpE3Hq.js";
|
|
6
|
+
import { n as s, t as c } from "./MailIcon-CqCCKGgC.js";
|
|
7
|
+
import { n as l, o as u, r as d, t as f } from "./RecommendationsRail-CN_dtLWp.js";
|
|
8
|
+
import { n as p } from "./copyToClipboard-zcPgoppJ.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-
|
|
15
|
-
import { c as k, r as A } from "./pixels-
|
|
16
|
-
import { i as j, n as M, t as N } from "./i18n-
|
|
17
|
-
import { n as P, t as F } from "./i18n
|
|
14
|
+
import { g as D, h as O } from "./api-Di0gC83p.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-BpodazP1.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-
|
|
20
|
-
import { n as z, t as B } from "./constants-
|
|
21
|
-
import { a as V, i as H, n as U, o as ne, r as W, s as G } from "./showcase-state-options-
|
|
19
|
+
import { C as ee, d as L, l as R, n as te } from "./utils-CG0ZJ6gb.js";
|
|
20
|
+
import { n as z, t as B } from "./constants-CQ8nJvPW.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-
|
|
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";
|
|
27
27
|
import { onDestroy as ae, onMount as Y } from "svelte";
|
|
28
28
|
//#region node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/HelpIcon.svelte
|
|
29
29
|
var X = q.from_svg("<path d=\"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,168a12,12,0,1,1,12-12A12,12,0,0,1,128,192Zm8-48.72V144a8,8,0,0,1-16,0v-8a8,8,0,0,1,8-8c13.23,0,24-9,24-20s-10.77-20-24-20-24,9-24,20v4a8,8,0,0,1-16,0v-4c0-19.85,17.94-36,40-36s40,16.15,40,36C168,125.38,154.24,139.93,136,143.28Z\"></path>"), oe = q.from_svg("<circle cx=\"128\" cy=\"180\" r=\"12\"></circle><path d=\"M128,144v-8c17.67,0,32-12.54,32-28s-14.33-28-32-28S96,92.54,96,108v4\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"16\"></path><circle cx=\"128\" cy=\"128\" r=\"96\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"16\"></circle>", 1), se = q.from_svg("<svg aria-hidden=\"true\" viewBox=\"0 0 256 256\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><!></svg>");
|
|
30
|
-
function ce(e,
|
|
31
|
-
q.push(
|
|
32
|
-
let r = q.prop(
|
|
30
|
+
function ce(e, n) {
|
|
31
|
+
q.push(n, !0);
|
|
32
|
+
let r = q.prop(n, "size", 3, "24"), i = q.prop(n, "color", 3, "currentColor"), a = q.prop(n, "class", 3, ""), o = t(), s = q.derived(() => n.weight ?? o?.weight ?? "regular");
|
|
33
33
|
var c = se();
|
|
34
34
|
let l;
|
|
35
35
|
var u = q.child(c), d = (e) => {
|
|
@@ -209,9 +209,9 @@ var Q = {
|
|
|
209
209
|
yellow: "#fbbc05",
|
|
210
210
|
red: "#ea4335"
|
|
211
211
|
}, ge = q.from_html(" <!>", 1), _e = q.from_html("<p class=\"wallet-note caption svelte-4szgdz\"> </p>"), ve = q.from_html("<!> <!>", 1), ye = q.from_html("<div class=\"dropdown-menu bg-surface-primary border-default svelte-4szgdz\"><a rel=\"external noopener noreferrer\" class=\"dropdown-item type-body text-color-primary hover:bg-surface-secondary svelte-4szgdz\"><svg aria-hidden=\"true\" class=\"shrink-0\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 0 1-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z\"></path><path d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\"></path><path d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18A10.96 10.96 0 0 0 1 12c0 1.77.42 3.45 1.18 4.93l3.66-2.84z\"></path><path d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\"></path></svg> </a> <button type=\"button\" class=\"dropdown-item type-body text-color-primary hover:bg-surface-secondary svelte-4szgdz\"><!> </button></div>"), be = q.from_html("<!> ", 1), xe = q.from_html("<p class=\"copy-fallback caption svelte-4szgdz\">Copy failed — select to copy: <span class=\"copy-url svelte-4szgdz\"> </span></p>"), Se = q.from_html("<span class=\"text-color-muted\">·</span> <a class=\"text-link type-caption text-color-muted hover:text-color-secondary svelte-4szgdz\"><!> </a>", 1), Ce = q.from_html("<div class=\"rounded-t-xl overflow-hidden bg-surface-tertiary\"><!></div> <div class=\"p-5 space-y-4\"><div><!> <div class=\"flex items-center gap-1.5 mt-1.5\"><!> <!></div> <div class=\"mt-0.5\"><!></div></div> <div class=\"flex flex-col items-center gap-3\"><button type=\"button\" class=\"wallet-badge-btn svelte-4szgdz\"><img src=\"/wallet-badges/apple-wallet.svg\" class=\"wallet-badge-img svelte-4szgdz\"/></button> <button type=\"button\" class=\"wallet-badge-btn svelte-4szgdz\"><img src=\"/wallet-badges/google-wallet-dark.svg\" class=\"wallet-badge-img google-dark svelte-4szgdz\"/> <img src=\"/wallet-badges/google-wallet-light.svg\" class=\"wallet-badge-img google-light svelte-4szgdz\"/></button> <!></div> <div class=\"divider\"></div> <div class=\"calendar-dropdown relative\"><!> <!></div> <div class=\"flex gap-2\"><!> <!></div> <!> <div class=\"flex items-center justify-center gap-4 pt-1\"><button type=\"button\" class=\"text-link type-caption text-color-muted hover:text-color-secondary svelte-4szgdz\"><!> </button> <!></div></div>", 1), we = q.from_html("<div><!></div>");
|
|
212
|
-
function Te(e,
|
|
213
|
-
q.push(
|
|
214
|
-
let c = q.prop(
|
|
212
|
+
function Te(e, t) {
|
|
213
|
+
q.push(t, !0);
|
|
214
|
+
let c = q.prop(t, "backHref", 3, void 0), d = q.prop(t, "labels", 3, z), f = q.prop(t, "locale", 3, void 0), h = q.derived(() => c() || t.eventUrl), _ = q.state(!1), v = l(), y = q.state("");
|
|
215
215
|
q.user_effect(() => {
|
|
216
216
|
q.get(y) && C(q.get(y), { politeness: "polite" });
|
|
217
217
|
}), q.user_effect(() => {
|
|
@@ -227,17 +227,17 @@ function Te(e, n) {
|
|
|
227
227
|
return document.addEventListener("click", e), () => document.removeEventListener("click", e);
|
|
228
228
|
});
|
|
229
229
|
let x = q.derived(() => (() => {
|
|
230
|
-
let e = new Date(
|
|
230
|
+
let e = new Date(t.event.startDateTime), n = t.event.endDateTime ? new Date(t.event.endDateTime) : new Date(e.getTime() + 72e5), r = (e) => e.toISOString().replace(/[-:]/g, "").replace(/\.\d{3}/, ""), i = [t.event.venue.name, t.event.venue.address].filter(Boolean).join(", ");
|
|
231
231
|
return `https://calendar.google.com/calendar/render?${new URLSearchParams({
|
|
232
232
|
action: "TEMPLATE",
|
|
233
|
-
text:
|
|
234
|
-
dates: `${r(e)}/${r(
|
|
233
|
+
text: t.event.title,
|
|
234
|
+
dates: `${r(e)}/${r(n)}`,
|
|
235
235
|
location: i,
|
|
236
|
-
details: `Event: ${
|
|
236
|
+
details: `Event: ${t.eventUrl}\n\nTicket confirmation #${t.orderId}`
|
|
237
237
|
}).toString()}`;
|
|
238
238
|
})());
|
|
239
239
|
function S() {
|
|
240
|
-
let e = new Date(
|
|
240
|
+
let e = new Date(t.event.startDateTime), n = t.event.endDateTime ? new Date(t.event.endDateTime) : new Date(e.getTime() + 72e5), r = (e) => e.toISOString().replace(/[-:]/g, "").replace(/\.\d{3}/, ""), i = `order-${t.orderId}-event-${t.event.id}@micdrop.com`, a = r(/* @__PURE__ */ new Date()), o = [t.event.venue.name, t.event.venue.address].filter(Boolean).join(", "), s = (e) => e ? e.replace(/\\/g, "\\\\").replace(/;/g, "\\;").replace(/,/g, "\\,").replace(/\n/g, "\\n") : "", c = `BEGIN:VCALENDAR
|
|
241
241
|
VERSION:2.0
|
|
242
242
|
PRODID:-//MicDrop//Ticket Confirmation//EN
|
|
243
243
|
CALSCALE:GREGORIAN
|
|
@@ -246,17 +246,17 @@ BEGIN:VEVENT
|
|
|
246
246
|
UID:${i}
|
|
247
247
|
DTSTAMP:${a}
|
|
248
248
|
DTSTART:${r(e)}
|
|
249
|
-
DTEND:${r(
|
|
250
|
-
SUMMARY:${s(
|
|
249
|
+
DTEND:${r(n)}
|
|
250
|
+
SUMMARY:${s(t.event.title)}
|
|
251
251
|
LOCATION:${s(o)}
|
|
252
|
-
DESCRIPTION:${s(`Order #${
|
|
253
|
-
URL:${
|
|
252
|
+
DESCRIPTION:${s(`Order #${t.orderId}\n\nView event: ${t.eventUrl}`)}
|
|
253
|
+
URL:${t.eventUrl}
|
|
254
254
|
STATUS:CONFIRMED
|
|
255
255
|
END:VEVENT
|
|
256
256
|
END:VCALENDAR`, l = new Blob([c], { type: "text/calendar;charset=utf-8" }), u = URL.createObjectURL(l);
|
|
257
257
|
try {
|
|
258
258
|
let e = document.createElement("a");
|
|
259
|
-
e.href = u, e.download = `${(
|
|
259
|
+
e.href = u, e.download = `${(t.event.title || "event").replace(/[^a-zA-Z0-9\s-]/g, "").replace(/\s+/g, "-")}.ics`, document.body.appendChild(e), e.click(), e.remove();
|
|
260
260
|
} finally {
|
|
261
261
|
URL.revokeObjectURL(u);
|
|
262
262
|
}
|
|
@@ -266,14 +266,14 @@ END:VCALENDAR`, l = new Blob([c], { type: "text/calendar;charset=utf-8" }), u =
|
|
|
266
266
|
q.set(_, !1);
|
|
267
267
|
}
|
|
268
268
|
function D() {
|
|
269
|
-
v.share(
|
|
269
|
+
v.share(t.eventUrl);
|
|
270
270
|
}
|
|
271
271
|
function O() {
|
|
272
272
|
q.set(y, d().walletComingSoon || "Wallet passes are coming soon. Your ticket is confirmed — check your email", !0);
|
|
273
273
|
}
|
|
274
274
|
ae(v.dispose);
|
|
275
275
|
let k = q.derived(() => (() => {
|
|
276
|
-
let e = [
|
|
276
|
+
let e = [t.event.venue.name, t.event.venue.address].filter(Boolean);
|
|
277
277
|
return `https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(e.join(", "))}`;
|
|
278
278
|
})());
|
|
279
279
|
function A() {
|
|
@@ -290,10 +290,10 @@ END:VCALENDAR`, l = new Blob([c], { type: "text/calendar;charset=utf-8" }), u =
|
|
|
290
290
|
var l = Ce(), h = q.first_child(l), C = q.child(h);
|
|
291
291
|
m(C, {
|
|
292
292
|
get src() {
|
|
293
|
-
return
|
|
293
|
+
return t.event.imageUrl;
|
|
294
294
|
},
|
|
295
295
|
get alt() {
|
|
296
|
-
return
|
|
296
|
+
return t.event.title;
|
|
297
297
|
},
|
|
298
298
|
get fallback() {
|
|
299
299
|
return B;
|
|
@@ -307,10 +307,10 @@ END:VCALENDAR`, l = new Blob([c], { type: "text/calendar;charset=utf-8" }), u =
|
|
|
307
307
|
weight: "semibold",
|
|
308
308
|
leading: "tight",
|
|
309
309
|
class: "block",
|
|
310
|
-
children: (e,
|
|
310
|
+
children: (e, n) => {
|
|
311
311
|
q.next();
|
|
312
312
|
var r = q.text();
|
|
313
|
-
q.template_effect(() => q.set_text(r,
|
|
313
|
+
q.template_effect(() => q.set_text(r, t.event.title)), q.append(e, r);
|
|
314
314
|
},
|
|
315
315
|
$$slots: { default: !0 }
|
|
316
316
|
});
|
|
@@ -327,11 +327,11 @@ END:VCALENDAR`, l = new Blob([c], { type: "text/calendar;charset=utf-8" }), u =
|
|
|
327
327
|
q.next();
|
|
328
328
|
var a = ge(), o = q.first_child(a), s = q.sibling(o), c = (e) => {
|
|
329
329
|
var r = q.text();
|
|
330
|
-
q.template_effect((e) => q.set_text(r, `· ${e ?? ""}`), [() => t
|
|
330
|
+
q.template_effect((e) => q.set_text(r, `· ${e ?? ""}`), [() => n(t.event.startDateTime, t.event.timezone, f())]), q.append(e, r);
|
|
331
331
|
};
|
|
332
332
|
q.if(s, (e) => {
|
|
333
|
-
|
|
334
|
-
}), q.template_effect((e) => q.set_text(o, `${e ?? ""} `), [() => r(
|
|
333
|
+
t.event.displayStartTime !== !1 && e(c);
|
|
334
|
+
}), q.template_effect((e) => q.set_text(o, `${e ?? ""} `), [() => r(t.event.startDateTime, t.event.timezone, f())]), q.append(e, a);
|
|
335
335
|
},
|
|
336
336
|
$$slots: { default: !0 }
|
|
337
337
|
}), q.reset(N);
|
|
@@ -340,10 +340,10 @@ END:VCALENDAR`, l = new Blob([c], { type: "text/calendar;charset=utf-8" }), u =
|
|
|
340
340
|
size: "xs",
|
|
341
341
|
color: "muted",
|
|
342
342
|
class: "block",
|
|
343
|
-
children: (e,
|
|
343
|
+
children: (e, n) => {
|
|
344
344
|
q.next();
|
|
345
345
|
var r = q.text();
|
|
346
|
-
q.template_effect(() => q.set_text(r,
|
|
346
|
+
q.template_effect(() => q.set_text(r, t.event.venue.name)), q.append(e, r);
|
|
347
347
|
},
|
|
348
348
|
$$slots: { default: !0 }
|
|
349
349
|
}), q.reset(I), q.reset(j);
|
|
@@ -431,7 +431,7 @@ END:VCALENDAR`, l = new Blob([c], { type: "text/calendar;charset=utf-8" }), u =
|
|
|
431
431
|
});
|
|
432
432
|
};
|
|
433
433
|
q.if(ae, (e) => {
|
|
434
|
-
|
|
434
|
+
t.event.venue.address && e(Y);
|
|
435
435
|
}), q.reset(K);
|
|
436
436
|
var X = q.sibling(K, 2), oe = (e) => {
|
|
437
437
|
var t = xe(), n = q.sibling(q.child(t)), r = q.child(n, !0);
|
|
@@ -448,24 +448,24 @@ END:VCALENDAR`, l = new Blob([c], { type: "text/calendar;charset=utf-8" }), u =
|
|
|
448
448
|
var ue = q.sibling(le);
|
|
449
449
|
q.reset(Z);
|
|
450
450
|
var de = q.sibling(Z, 2), fe = (e) => {
|
|
451
|
-
var
|
|
451
|
+
var n = Se(), r = q.sibling(q.first_child(n), 2), i = q.child(r);
|
|
452
452
|
ce(i, {
|
|
453
453
|
size: "16",
|
|
454
454
|
class: "shrink-0"
|
|
455
455
|
});
|
|
456
456
|
var a = q.sibling(i);
|
|
457
457
|
q.reset(r), q.template_effect(() => {
|
|
458
|
-
q.set_attribute(r, "href", `mailto:${
|
|
459
|
-
}), q.append(e,
|
|
458
|
+
q.set_attribute(r, "href", `mailto:${t.event.venue.contactEmail ?? ""}?subject=Help with Order ${t.orderId ?? ""}`), q.set_text(a, ` ${(d().needHelp || "Need help?") ?? ""}`);
|
|
459
|
+
}), q.append(e, n);
|
|
460
460
|
};
|
|
461
461
|
q.if(de, (e) => {
|
|
462
|
-
|
|
462
|
+
t.event.venue.contactEmail && e(fe);
|
|
463
463
|
}), q.reset(se), q.reset(w), q.template_effect(() => {
|
|
464
464
|
q.set_attribute(te, "alt", d().addToAppleWallet || "Add to Apple Wallet"), q.set_attribute(V, "alt", d().saveToGoogleWallet || "Save to Google Wallet"), q.set_attribute(H, "alt", d().saveToGoogleWallet || "Save to Google Wallet"), q.set_text(ue, ` ${(d().backToEvent || "Back to event") ?? ""}`);
|
|
465
465
|
}), q.delegated("click", R, O), q.delegated("click", z, O), q.delegated("click", Z, A), q.append(e, l);
|
|
466
466
|
},
|
|
467
467
|
$$slots: { default: !0 }
|
|
468
|
-
}), q.reset(j), q.template_effect(() => M = q.set_class(j, 1, "actions-wrapper svelte-4szgdz", null, M, { visible:
|
|
468
|
+
}), q.reset(j), q.template_effect(() => M = q.set_class(j, 1, "actions-wrapper svelte-4szgdz", null, M, { visible: t.showContent })), q.append(e, j), q.pop();
|
|
469
469
|
}
|
|
470
470
|
q.delegate(["click"]);
|
|
471
471
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { K as e } from "./scarcity-CJ6IsR7f.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-
|
|
4
|
-
import { N as s, a as c } from "./orders-
|
|
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
|
|
10
|
-
import { a as h, i as g, n as _, o as v, r as y, s as b, t as ee } from "./defaults-
|
|
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\">·</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-
|
|
133
|
+
var ae = x.from_html("<span class=\"mx-1 text-white/30\">·</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\">·</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\">·</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 {
|
|
1
|
+
import { K as e } from "./scarcity-CJ6IsR7f.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 {
|
|
1
|
+
import { K as e } from "./scarcity-CJ6IsR7f.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: "
|
|
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;
|