@getmicdrop/venue-calendar 4.3.18 → 4.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/{ArrowLeftIcon-BYu_Qbkb.js → ArrowLeftIcon-B6XUGpop.js} +1 -1
  2. package/dist/{Badge-DCHGGod2.js → Badge-n7TfNjln.js} +1 -1
  3. package/dist/{BlockPlaceholder-BoPMt_9Z.js → BlockPlaceholder-hsdlaBnA.js} +2 -2
  4. package/dist/{Button-vmWb6wKc.js → Button-klwKgfhG.js} +91 -68
  5. package/dist/{Calendar-V0u5h9jS.js → Calendar-mTCyUfCM.js} +5 -5
  6. package/dist/{CalendarFoundryView-8W0A4tl0.js → CalendarFoundryView-D55nnNNn.js} +30 -30
  7. package/dist/{CalendarIcon-C8-UVSje.js → CalendarIcon-DxSu-1DJ.js} +1 -1
  8. package/dist/{CartView-Ce0yKXNh.js → CartView-CebO-Th3.js} +126 -125
  9. package/dist/{Checkout-C0lQ0AwV.js → Checkout-Cc_aU50W.js} +18 -18
  10. package/dist/{Checkout-ByQsDGg3.js → Checkout-DYF-ES2Q.js} +171 -166
  11. package/dist/{CheckoutTimer-B0E9KnHc.js → CheckoutTimer-DiVoyBfw.js} +3 -3
  12. package/dist/{ChevronDownIcon-C1uJ2yvz.js → ChevronDownIcon-BDgtb-f-.js} +1 -1
  13. package/dist/{ClockIcon-Dk9q65sX.js → ClockIcon-DWPagxrA.js} +1 -1
  14. package/dist/{CloseIcon-CyR73vpD.js → CloseIcon-BVaXYU7Q.js} +1 -1
  15. package/dist/{CollectionView-BxpZehV9.js → CollectionView-Bt-mwGkJ.js} +8 -8
  16. package/dist/{CropImage-BOT2Fojj.js → CropImage-B9d215n1.js} +4 -4
  17. package/dist/{Event-BhfnEP7c.js → Event-omuqSNCd.js} +71 -70
  18. package/dist/EventPage-0Yel6tyg.js +1155 -0
  19. package/dist/{Heading-Br1Yqnvg.js → Heading-D6bWtGZA.js} +1 -1
  20. package/dist/{Image-M5RaWbKU.js → Image-GWt4S2Xa.js} +1 -1
  21. package/dist/{Input-Bk8lP6TX.js → Input-CdSv8k7C.js} +2 -2
  22. package/dist/{MailIcon-Ic2SruY-.js → MailIcon-D1kB8YIm.js} +1 -1
  23. package/dist/{Modal-CLeZUJ_i.js → Modal-gEHiBqWZ.js} +2 -2
  24. package/dist/{ModalFooter-CSoG_uic.js → ModalFooter-D21lJobf.js} +1 -1
  25. package/dist/{ModalHeader-DpKxDJT_.js → ModalHeader-fa2P2o57.js} +2 -2
  26. package/dist/{PasswordInput-BHj_lokg.js → PasswordInput-ClW4V5aJ.js} +2 -2
  27. package/dist/{RecommendationsRail-8AVZ0aLE.js → RecommendationsRail-B1psK9wy.js} +7 -7
  28. package/dist/{ScarcityBadge-nK2AQY3W.js → ScarcityBadge-Bp5PeXnY.js} +5 -5
  29. package/dist/{SeriesPage-DynN1IWH.js → SeriesPage-CQQM8yM4.js} +5 -5
  30. package/dist/{Spinner-a1KCKWxZ.js → Spinner-D8dOJe6O.js} +2 -2
  31. package/dist/{Success-Cd3KhNfN.js → Success-B-dMRrrQ.js} +73 -72
  32. package/dist/{TagIcon-BiYfs6T7.js → TagIcon-C5Pftz3x.js} +1 -1
  33. package/dist/{ViewTicketsEmbed-Lxg7n02-.js → ViewTicketsEmbed-BB0RnYzO.js} +9 -9
  34. package/dist/{WarningCircleIcon-AuYbQdPU.js → WarningCircleIcon-DSEX92MS.js} +1 -1
  35. package/dist/{WarningTriIcon-BzI-tSDG.js → WarningTriIcon-BZ0Vypl3.js} +1 -1
  36. package/dist/__SKIP_PATHS__-BQgiZG5h.js +37 -0
  37. package/dist/{api-C1M2t6HU.js → api-shjFa9FF.js} +4 -4
  38. package/dist/{browser-DrfMvEfn.js → browser-B_8qS4Bh.js} +1 -1
  39. package/dist/{constants-YG4UeBdR.js → constants-DYUMWpub.js} +1 -1
  40. package/dist/{copyToClipboard-3SejVveg.js → copyToClipboard-CXm6ykbn.js} +1 -1
  41. package/dist/{defaultLabels-CXCsTwix.js → defaultLabels-O0WBww33.js} +1 -1
  42. package/dist/{event-transform-DNqGTQhp.js → event-transform-Dc-1uKqG.js} +15 -15
  43. package/dist/{eventStatusStream-CLLN-Rvf.js → eventStatusStream-DV25oAL5.js} +2 -2
  44. package/dist/{href-DuxMJt4c.js → href-B9gyMxPK.js} +3 -3
  45. package/dist/{i18n-Ct9Bo-Vp.js → i18n-CzZfkIsL.js} +5 -5
  46. package/dist/{i18n-KdVjJUV5.js → i18n-DmBGDLUG.js} +2 -2
  47. package/dist/{imageOptimizer-Ba8P7ZEJ.js → imageOptimizer-CXtAyNGI.js} +2 -2
  48. package/dist/{event-DAjJ01GM.js → navigation-B4lnLFo1.js} +57 -24
  49. package/dist/{order-totals-DyVkHVqG.js → order-totals-CJBxOV1W.js} +3 -3
  50. package/dist/{orders-rH0WZYOW.js → orders-B22egWyB.js} +2 -2
  51. package/dist/{phoneUtils-BFrVEwkQ.js → phoneUtils-sFYidfQ9.js} +1 -1
  52. package/dist/{pixels-mdd6C3Bk.js → pixels-f66b9MW0.js} +3 -3
  53. package/dist/{promo-CTRn_F4t.js → promo-C05OA-90.js} +1 -1
  54. package/dist/{scarcity-Ccj5RlrR.js → scarcity-BvvpXH8o.js} +1 -1
  55. package/dist/seo/HostSeoController.d.ts +9 -7
  56. package/dist/seo/seo.cjs +1 -1
  57. package/dist/seo/seo.mjs +13 -1
  58. package/dist/{serverTotals-Dk3z9sIA.js → serverTotals-BCfUAcv0.js} +1 -1
  59. package/dist/{showcase-state-options-8-egiV5-.js → showcase-state-options-BKJejE2a.js} +1 -1
  60. package/dist/{to-event-card-props-a4k6D100.js → to-event-card-props-CqOnItRm.js} +54 -47
  61. package/dist/types/index.d.ts +7 -0
  62. package/dist/{utils-BseYYrbn.js → utils-silGk-bs.js} +3 -3
  63. package/dist/venue-calendar.css +1 -1
  64. package/dist/venue-calendar.es.js +1313 -1278
  65. package/dist/venue-calendar.iife.js +60 -60
  66. package/dist/venue-calendar.umd.js +51 -51
  67. package/package.json +2 -2
  68. package/dist/EventPage-DMeqzHxR.js +0 -1154
  69. package/dist/__SKIP_PATHS__-CnJ51yD_.js +0 -64
  70. /package/dist/locales/{4.3.18 → 4.3.20}/flow/de.js +0 -0
  71. /package/dist/locales/{4.3.18 → 4.3.20}/flow/es.js +0 -0
  72. /package/dist/locales/{4.3.18 → 4.3.20}/flow/fr.js +0 -0
  73. /package/dist/locales/{4.3.18 → 4.3.20}/flow/id.js +0 -0
  74. /package/dist/locales/{4.3.18 → 4.3.20}/flow/it.js +0 -0
  75. /package/dist/locales/{4.3.18 → 4.3.20}/flow/ja.js +0 -0
  76. /package/dist/locales/{4.3.18 → 4.3.20}/flow/ko.js +0 -0
  77. /package/dist/locales/{4.3.18 → 4.3.20}/flow/nl.js +0 -0
  78. /package/dist/locales/{4.3.18 → 4.3.20}/flow/pl.js +0 -0
  79. /package/dist/locales/{4.3.18 → 4.3.20}/flow/pt-br.js +0 -0
  80. /package/dist/locales/{4.3.18 → 4.3.20}/flow/tr.js +0 -0
  81. /package/dist/locales/{4.3.18 → 4.3.20}/flow/zh.js +0 -0
  82. /package/dist/locales/{4.3.18 → 4.3.20}/main/de.js +0 -0
  83. /package/dist/locales/{4.3.18 → 4.3.20}/main/es.js +0 -0
  84. /package/dist/locales/{4.3.18 → 4.3.20}/main/fr.js +0 -0
  85. /package/dist/locales/{4.3.18 → 4.3.20}/main/id.js +0 -0
  86. /package/dist/locales/{4.3.18 → 4.3.20}/main/it.js +0 -0
  87. /package/dist/locales/{4.3.18 → 4.3.20}/main/ja.js +0 -0
  88. /package/dist/locales/{4.3.18 → 4.3.20}/main/ko.js +0 -0
  89. /package/dist/locales/{4.3.18 → 4.3.20}/main/nl.js +0 -0
  90. /package/dist/locales/{4.3.18 → 4.3.20}/main/pl.js +0 -0
  91. /package/dist/locales/{4.3.18 → 4.3.20}/main/pt-br.js +0 -0
  92. /package/dist/locales/{4.3.18 → 4.3.20}/main/tr.js +0 -0
  93. /package/dist/locales/{4.3.18 → 4.3.20}/main/zh.js +0 -0
@@ -1,4 +1,4 @@
1
- import { q as e } from "./scarcity-Ccj5RlrR.js";
1
+ import { q as e } from "./scarcity-BvvpXH8o.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/LocationIcon.svelte
@@ -1,4 +1,4 @@
1
- import { S as e, b as t, h as n, i as r, j as i, n as a, p as o, r as s, t as c, w as l } from "./Button-vmWb6wKc.js";
1
+ import { S as e, b as t, h as n, i as r, j as i, n as a, p as o, r as s, t as c, w as l } from "./Button-klwKgfhG.js";
2
2
  import "svelte/internal/disclose-version";
3
3
  import * as u from "svelte/internal/client";
4
4
  //#region node_modules/@getmicdrop/svelte-components/dist/types/brands.js
@@ -1,7 +1,7 @@
1
- import { d as e, f as t, i as n, l as r, s as i } from "./scarcity-Ccj5RlrR.js";
2
- import { x as a } from "./defaultLabels-CXCsTwix.js";
3
- import { n as o, t as s } from "./event-DAjJ01GM.js";
4
- import { A as c, C as l, E as u, O as d, j as f, k as p } from "./api-C1M2t6HU.js";
1
+ import { d as e, f as t, i as n, l as r, s as i } from "./scarcity-BvvpXH8o.js";
2
+ import { x as a } from "./defaultLabels-O0WBww33.js";
3
+ import { l as o, u as s } from "./navigation-B4lnLFo1.js";
4
+ import { A as c, C as l, E as u, O as d, j as f, k as p } from "./api-shjFa9FF.js";
5
5
  //#region src/lib/utils/event-transform.js
6
6
  var m = "data:image/svg+xml," + encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 300" fill="none">
7
7
  <rect width="200" height="300" fill="${l[200]}"/>
@@ -10,7 +10,7 @@ var m = "data:image/svg+xml," + encodeURIComponent(`<svg xmlns="http://www.w3.or
10
10
  <path d="M70 155 L100 125 L130 155 L130 155" stroke="${l[400]}" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
11
11
  </svg>`);
12
12
  function h(e) {
13
- return o(e, { placeholder: m });
13
+ return s(e, { placeholder: m });
14
14
  }
15
15
  var g = /* @__PURE__ */ new Map(), _ = 64;
16
16
  function v(e, t, n) {
@@ -73,21 +73,21 @@ var S = {
73
73
  function C(e, t = { mode: S.DETAIL }) {
74
74
  let { mode: n = S.DETAIL } = t;
75
75
  if (!e) return n === S.BROWSE ? D() : O();
76
- let r = s(e), i = a(r.timeZone || r.timezone), o = h(e), c = {
76
+ let r = o(e), i = a(r.timeZone || r.timezone), s = h(e), c = {
77
77
  id: r.id,
78
78
  name: r.title || "",
79
- image: o,
79
+ image: s,
80
80
  timeZone: i,
81
81
  startDateTime: r.startDateTime || null,
82
82
  salesStatus: r.salesStatus
83
83
  };
84
- return n === S.BROWSE ? w(e, r, c, i) : T(e, r, c, i, o);
84
+ return n === S.BROWSE ? w(e, r, c, i) : T(e, r, c, i, s);
85
85
  }
86
86
  function w(e, t, r, i) {
87
- let a = t.startDateTime ? n(t.startDateTime, i) : "", s;
87
+ let a = t.startDateTime ? n(t.startDateTime, i) : "", o;
88
88
  if (typeof t.ticketsRemaining == "number" && typeof t.ticketsTotal == "number") {
89
89
  let e = t.ticketsRemaining, n = t.ticketsTotal;
90
- s = {
90
+ o = {
91
91
  totalRemaining: e,
92
92
  totalCapacity: n,
93
93
  isSoldOut: n > 0 && e <= 0
@@ -97,20 +97,20 @@ function w(e, t, r, i) {
97
97
  excludeDoorOnly: !0,
98
98
  publicOnly: !1
99
99
  });
100
- s = d(t);
100
+ o = d(t);
101
101
  }
102
102
  return {
103
103
  ...r,
104
- image: o(e, { placeholder: "" }),
104
+ image: s(e, { placeholder: "" }),
105
105
  date: a || t.date || "",
106
106
  status: t.status || "On Sale",
107
107
  timeline: b(t, i),
108
108
  description: t.description || t.eventSummary || "",
109
109
  venueId: t.venueId,
110
110
  eventSeriesId: t.eventSeriesId || null,
111
- ticketsRemaining: s.totalRemaining,
112
- ticketsTotal: s.totalCapacity,
113
- isSoldOut: s.isSoldOut,
111
+ ticketsRemaining: o.totalRemaining,
112
+ ticketsTotal: o.totalCapacity,
113
+ isSoldOut: o.isSoldOut,
114
114
  hasPurchasableHiddenTickets: u(e),
115
115
  stageId: t.stageId ?? null,
116
116
  eventCategoryTypes: t.eventCategoryTypes ?? null,
@@ -1,5 +1,5 @@
1
- import { E as e } from "./Button-vmWb6wKc.js";
2
- import { H as t, I as n } from "./orders-rH0WZYOW.js";
1
+ import { E as e } from "./Button-klwKgfhG.js";
2
+ import { H as t, I as n } from "./orders-B22egWyB.js";
3
3
  //#region src/lib/public-calendar-flow/eventStatusStream.ts
4
4
  var r = e("VC"), i = /* @__PURE__ */ new Set([
5
5
  "canceled",
@@ -1,6 +1,6 @@
1
- import { S as e } from "./Button-vmWb6wKc.js";
2
- import { q as t } from "./scarcity-Ccj5RlrR.js";
3
- import { t as n } from "./Image-M5RaWbKU.js";
1
+ import { S as e } from "./Button-klwKgfhG.js";
2
+ import { q as t } from "./scarcity-BvvpXH8o.js";
3
+ import { t as n } from "./Image-GWt4S2Xa.js";
4
4
  import "svelte/internal/disclose-version";
5
5
  import * as r from "svelte/internal/client";
6
6
  //#region node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/CheckCircleIcon.svelte
@@ -1,9 +1,9 @@
1
- import { D as e, G as t, S as n, _ as r, h as i, m as a, n as o, t as s } from "./scarcity-Ccj5RlrR.js";
2
- import { D as c, b as l, h as u, z as d } from "./defaultLabels-CXCsTwix.js";
3
- import { l as f } from "./orders-rH0WZYOW.js";
1
+ import { D as e, G as t, S as n, _ as r, h as i, m as a, n as o, t as s } from "./scarcity-BvvpXH8o.js";
2
+ import { D as c, b as l, h as u, z as d } from "./defaultLabels-O0WBww33.js";
3
+ import { l as f } from "./orders-B22egWyB.js";
4
4
  import { t as p } from "./Text-CqjLjIF8.js";
5
- import { D as m } from "./api-C1M2t6HU.js";
6
- import { n as h } from "./constants-YG4UeBdR.js";
5
+ import { D as m } from "./api-shjFa9FF.js";
6
+ import { n as h } from "./constants-DYUMWpub.js";
7
7
  import "svelte/internal/disclose-version";
8
8
  import * as g from "svelte/internal/client";
9
9
  //#region src/lib/api/cta.ts
@@ -1,5 +1,5 @@
1
- import { t as e } from "./defaultLabels-CXCsTwix.js";
2
- import { l as t } from "./orders-rH0WZYOW.js";
1
+ import { t as e } from "./defaultLabels-O0WBww33.js";
2
+ import { l as t } from "./orders-B22egWyB.js";
3
3
  //#endregion
4
4
  //#region src/lib/i18n/index.js
5
5
  var n = t({
@@ -1,6 +1,6 @@
1
- import { A as e, C as t, o as n } from "./Button-vmWb6wKc.js";
1
+ import { A as e, C as t, o as n } from "./Button-klwKgfhG.js";
2
2
  import { c as r, n as i, r as a, t as o, u as s } from "./z-index-BgKs9X9U.js";
3
- import { c, h as l, l as u, m as d, o as f, s as p } from "./ModalFooter-CSoG_uic.js";
3
+ import { c, h as l, l as u, m as d, o as f, s as p } from "./ModalFooter-D21lJobf.js";
4
4
  import "svelte/internal/disclose-version";
5
5
  import * as m from "svelte/internal/client";
6
6
  //#region node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/PlusOutline.svelte
@@ -1,40 +1,41 @@
1
- import { b as e } from "./defaultLabels-CXCsTwix.js";
1
+ import { b as e } from "./defaultLabels-O0WBww33.js";
2
+ import { V as t } from "./orders-B22egWyB.js";
2
3
  //#region node_modules/@getmicdrop/svelte-components/dist/utils/imageUrl.js
3
- function t(e, t) {
4
+ function n(e, t) {
4
5
  if (typeof e == "string") return e;
5
6
  let n = globalThis.process?.env?.[t];
6
7
  return typeof n == "string" ? n : void 0;
7
8
  }
8
- function n(e, n, r) {
9
- let i = t(e, n);
9
+ function r(e, t, r) {
10
+ let i = n(e, t);
10
11
  if (i === void 0) return r;
11
12
  let a = i.trim().replace(/\/+$/, "");
12
13
  return a === "" ? r : a;
13
14
  }
14
- var r = n(void 0, "PUBLIC_IMAGE_ORIGIN_BASE", "https://moxy.sfo3.digitaloceanspaces.com"), i = n(void 0, "PUBLIC_IMAGE_CDN_BASE", "https://moxy.sfo3.cdn.digitaloceanspaces.com");
15
- function a(e, t = {}) {
16
- let n = typeof t == "string" ? { fallback: t } : t, a = n.fallback ?? "", o = n.cdn ?? !0;
17
- if (!e || e.trim() === "") return a;
15
+ var i = r(void 0, "PUBLIC_IMAGE_ORIGIN_BASE", "https://moxy.sfo3.digitaloceanspaces.com"), a = r(void 0, "PUBLIC_IMAGE_CDN_BASE", "https://moxy.sfo3.cdn.digitaloceanspaces.com");
16
+ function o(e, t = {}) {
17
+ let n = typeof t == "string" ? { fallback: t } : t, r = n.fallback ?? "", o = n.cdn ?? !0;
18
+ if (!e || e.trim() === "") return r;
18
19
  if (e.startsWith("http") || e.startsWith("data:") || e.startsWith("blob:")) return e;
19
20
  let s = `/${e.replace(/^\/+/, "")}`;
20
- return `${o ? i : r}${s}`;
21
+ return `${o ? a : i}${s}`;
21
22
  }
22
- function o(e, t = {}) {
23
+ function s(e, t = {}) {
23
24
  let { placeholder: n = "", cdn: r } = t;
24
- return a(e.image || e.coverImage || e.imageUrl || e.imageURL || e.image_url || "", {
25
+ return o(e.image || e.coverImage || e.imageUrl || e.imageURL || e.image_url || "", {
25
26
  fallback: n,
26
27
  cdn: r
27
28
  });
28
29
  }
29
30
  //#endregion
30
31
  //#region src/lib/api/transformers/event.ts
31
- function s(e) {
32
- return a(e, { cdn: !0 });
33
- }
34
32
  function c(e) {
35
- return s(e.imageUrl || e.imageURL || e.image_url || e.image || "");
33
+ return o(e, { cdn: !0 });
36
34
  }
37
35
  function l(e) {
36
+ return c(e.imageUrl || e.imageURL || e.image_url || e.image || "");
37
+ }
38
+ function u(e) {
38
39
  switch (e) {
39
40
  case "available":
40
41
  case "sold_out":
@@ -43,10 +44,10 @@ function l(e) {
43
44
  default: return null;
44
45
  }
45
46
  }
46
- function u(t) {
47
+ function d(t) {
47
48
  let n = t.ctaState || t.cta_state;
48
49
  if (n) {
49
- let e = l(n);
50
+ let e = u(n);
50
51
  if (e) return e;
51
52
  }
52
53
  if (t.isCancelled || t.is_cancelled) return "ended";
@@ -63,7 +64,7 @@ function u(t) {
63
64
  return e + Math.max(0, n - r);
64
65
  }, 0) <= 0 ? "sold_out" : "available";
65
66
  }
66
- function d(e) {
67
+ function f(e) {
67
68
  let t = e;
68
69
  return {
69
70
  id: t.id || t.ID,
@@ -84,8 +85,8 @@ function d(e) {
84
85
  sortOrder: t.sortOrder || t.sort_order || 0
85
86
  };
86
87
  }
87
- function f(e) {
88
- let t = e, n = (t.availableTickets || t.available_tickets || t.tickets || []).map(d), 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;
88
+ function p(e) {
89
+ let t = e, n = (t.availableTickets || t.available_tickets || t.tickets || []).map(f), 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;
89
90
  return {
90
91
  eventID: t.eventID || t.id || t.ID || 0,
91
92
  id: t.id || t.ID,
@@ -102,8 +103,8 @@ function f(e) {
102
103
  venueName: t.venueName || t.venue_name,
103
104
  venueAddress: t.venueAddress || t.venue_address,
104
105
  location: t.location || t.venueAddress || t.venue_address,
105
- imageUrl: c(t),
106
- imageURL: c(t),
106
+ imageUrl: l(t),
107
+ imageURL: l(t),
107
108
  status: t.status,
108
109
  isPublished: t.isPublished ?? t.is_published,
109
110
  isCancelled: t.isCancelled ?? t.is_cancelled,
@@ -113,7 +114,7 @@ function f(e) {
113
114
  minPrice: t.minPrice ?? t.min_price ?? i,
114
115
  maxPrice: t.maxPrice ?? t.max_price ?? a,
115
116
  ctaText: t.ctaText || t.cta_text,
116
- ctaState: u(t),
117
+ ctaState: d(t),
117
118
  showPerformers: t.showPerformers ?? t.show_performers,
118
119
  eventSeriesId: t.eventSeriesId || t.event_series_id,
119
120
  seriesInstanceNumber: t.seriesInstanceNumber || t.series_instance_number,
@@ -150,4 +151,36 @@ function f(e) {
150
151
  };
151
152
  }
152
153
  //#endregion
153
- export { o as n, a as r, f as t };
154
+ //#region src/lib/navigation.ts
155
+ function m(e, n) {
156
+ let r = t();
157
+ return n ? `${r}/e/${e}-${n}` : `${r}/e/${e}`;
158
+ }
159
+ function h(e, n, r) {
160
+ let i = r?.toString(), a = n ? `/e/${e}-${n}` : `/e/${e}`;
161
+ return `${t()}${a}${i ? `?${i}` : ""}`;
162
+ }
163
+ function g(e, t, n) {
164
+ let r = n?.toString();
165
+ return `/${e}/${t}${r ? `?${r}` : ""}`;
166
+ }
167
+ function _(e) {
168
+ return `/${e}`;
169
+ }
170
+ function v(e) {
171
+ return `${t()}/${e}`;
172
+ }
173
+ function y(e, t) {
174
+ return `/${e}/${t}/checkout`;
175
+ }
176
+ function b(e) {
177
+ return `/?${e.toString()}`;
178
+ }
179
+ function x(e, t, n = {}) {
180
+ let r = `${y(e, t)}/success`, i = new URLSearchParams();
181
+ n.orderId && i.set("orderId", n.orderId), n.ticketCount && n.ticketCount > 0 && i.set("tickets", String(n.ticketCount));
182
+ let a = i.toString();
183
+ return a ? `${r}?${a}` : r;
184
+ }
185
+ //#endregion
186
+ export { h as a, b as c, o as d, _ as i, p as l, y as n, m as o, v as r, g as s, x as t, s as u };
@@ -1,6 +1,6 @@
1
- import { D as e, E as t } from "./scarcity-Ccj5RlrR.js";
2
- import { I as n, R as r, k as i } from "./defaultLabels-CXCsTwix.js";
3
- import { n as a } from "./promo-CTRn_F4t.js";
1
+ import { D as e, E as t } from "./scarcity-BvvpXH8o.js";
2
+ import { I as n, R as r, k as i } from "./defaultLabels-O0WBww33.js";
3
+ import { n as a } from "./promo-C05OA-90.js";
4
4
  var o = .029, s = .3;
5
5
  function c(e) {
6
6
  return e.discountedPrice ?? e.price;
@@ -1,5 +1,5 @@
1
- import { D as e, E as t, O as n } from "./Button-vmWb6wKc.js";
2
- import { I as r, T as i, a, k as o, o as s } from "./defaultLabels-CXCsTwix.js";
1
+ import { D as e, E as t, O as n } from "./Button-klwKgfhG.js";
2
+ import { I as r, T as i, a, k as o, o as s } from "./defaultLabels-O0WBww33.js";
3
3
  import * as c from "svelte/internal/client";
4
4
  //#region node_modules/@getmicdrop/svelte-components/dist/errors/classes/ApiError.js
5
5
  var l = class e extends i {
@@ -1,4 +1,4 @@
1
- import { q as e } from "./scarcity-Ccj5RlrR.js";
1
+ import { q as e } from "./scarcity-BvvpXH8o.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/ExclamationTriangleOutline.svelte
@@ -1,6 +1,6 @@
1
- import { E as e } from "./Button-vmWb6wKc.js";
2
- import { D as t } from "./defaultLabels-CXCsTwix.js";
3
- import { S as n, T as r, x as i } from "./orders-rH0WZYOW.js";
1
+ import { E as e } from "./Button-klwKgfhG.js";
2
+ import { D as t } from "./defaultLabels-O0WBww33.js";
3
+ import { S as n, T as r, x as i } from "./orders-B22egWyB.js";
4
4
  //#region src/lib/embed-bridge.js
5
5
  var a = e("embed-bridge"), o = "micdrop-calendar", s = Object.freeze({
6
6
  NAVIGATION: "MICDROP_NAVIGATION",
@@ -1,4 +1,4 @@
1
- import { A as e, F as t, M as n, k as r } from "./defaultLabels-CXCsTwix.js";
1
+ import { A as e, F as t, M as n, k as r } from "./defaultLabels-O0WBww33.js";
2
2
  //#region src/lib/utils/promo.ts
3
3
  var i = [
4
4
  "percentage",
@@ -1,4 +1,4 @@
1
- import { C as e, D as t, E as n, L as r, S as i, b as a, h as o, m as s, p as c, r as l, t as u, w as d } from "./defaultLabels-CXCsTwix.js";
1
+ import { C as e, D as t, E as n, L as r, S as i, b as a, h as o, m as s, p as c, r as l, t as u, w as d } from "./defaultLabels-O0WBww33.js";
2
2
  import { getContext as f, setContext as p } from "svelte";
3
3
  //#region node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/iconWeight.js
4
4
  var m = Symbol("mds-icon-weight");
@@ -15,16 +15,17 @@ interface VenueData {
15
15
  }
16
16
  export declare class HostSeoController {
17
17
  /**
18
- * Single active instance. A venue page that mounts >1 calendar embed
19
- * (e.g. "upcoming shows" + "this weekend") will see the *later*
20
- * controller take over `<head>` — the earlier one is destroyed.
21
- *
22
- * KNOWN LIMITATION: multi-embed pages cannot run two SEO controllers
23
- * in parallel because they would both fight to own `<title>`/OG/etc.
24
- * Pass `data-inject-seo="false"` on all but one embed to opt out.
18
+ * Single active instance: two controllers would fight to own
19
+ * `<title>`/OG/etc, so constructing one destroys the one before it.
20
+ * Embeds go through `shared()` instead, so every calendar on a page with
21
+ * several (e.g. "upcoming shows" + "this weekend") drives the same one.
25
22
  */
26
23
  static _activeInstance: HostSeoController | null;
24
+ /** The page's live controller, or a new one when there is none. Each
25
+ * caller holds it until its own destroy(); the last one out tears it down. */
26
+ static shared(options: HostSeoControllerOptions): HostSeoController;
27
27
  private _state;
28
+ private _holders;
28
29
  private _venueName;
29
30
  private _venueAddress;
30
31
  private _venueTimeZone;
@@ -64,5 +65,6 @@ export declare class HostSeoController {
64
65
  * and restores originals. Clears the static active instance.
65
66
  */
66
67
  destroy(): void;
68
+ private _teardown;
67
69
  }
68
70
  export {};
package/dist/seo/seo.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(){return`America/Los_Angeles`}var t=/<\/(?:p|div|h[1-6]|li|ul|ol|blockquote|tr)>/gi,n=/<br\s*\/?>/gi,r=/<[^>]*>/g,i={"&amp;":`&`,"&lt;":`<`,"&gt;":`>`,"&quot;":`"`,"&#39;":`'`,"&apos;":`'`,"&nbsp;":` `};function a(e){return e.replace(/&#x([0-9a-f]+);/gi,(e,t)=>o(parseInt(t,16))).replace(/&#(\d+);/g,(e,t)=>o(Number(t))).replace(/&[a-z0-9]+;/gi,e=>i[e.toLowerCase()]??e)}function o(e){return Number.isFinite(e)&&e>0&&e<=1114111?String.fromCodePoint(e):``}function s(e,i){if(!e)return``;let o=String(e).replace(n,` `).replace(t,` `).replace(r,``);if(o=a(o).replace(/\s+/g,` `).trim(),i&&i>0&&o.length>i){let e=o.slice(0,i),t=e.lastIndexOf(` `);o=(t>40?e.slice(0,t):e).trimEnd()+`…`}return o}function c(){return new Date}var l=class extends Error{constructor(e,t,n={}){super(e),this.name=`AppError`,this.code=t,this.status=n.status??500,this.details=n.details,this.timestamp=c(),this.recoverable=n.recoverable??!0,this.cause=n.cause,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toJSON(){return{name:this.name,code:this.code,message:this.message,status:this.status,details:this.details,timestamp:this.timestamp.toISOString(),recoverable:this.recoverable,stack:this.stack,cause:this.cause?.message}}getUserMessage(e){return this.message}isRetryable(){return this.recoverable}},u=class extends l{constructor(e,t,n={}){super(e,t,{status:422,recoverable:!1,...n}),this.name=`ValueGuardError`}},d=class extends u{constructor(e,t,n){super(e,t,{details:n}),this.name=`DateTimeError`}},f;(function(e){e.INVALID_TIMEZONE=`INVALID_TIMEZONE`,e.INVALID_ISO_STRING=`INVALID_ISO_STRING`,e.INVALID_DATE=`INVALID_DATE`,e.INVALID_TIME=`INVALID_TIME`,e.MISSING_TIMEZONE=`MISSING_TIMEZONE`,e.PARSE_ERROR=`PARSE_ERROR`})(f||={});function p(e,t,n,r=0,i=0,a=0){let o=new Date(Date.UTC(e,t-1,n,r,i,a));return e>=0&&e<=99&&o.setUTCFullYear(e),o}var m=/^(\d{4})-(\d{2})-(\d{2})(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}:\d{2}))?$/,h=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?$/;function g(e,t,n){let r=p(e,t,n);return r.getUTCFullYear()===e&&r.getUTCMonth()===t-1&&r.getUTCDate()===n}var _=/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,9}))? ?([+-])(\d{2}):?(\d{2})(?: [A-Za-z][A-Za-z0-9_/+-]*)?(?: m=[+-][\d.]+)?$/,v=p(1,1,1).getTime();function y(e){let t=m.exec(e);if(t){let[,n,r,i]=t;return{iso:e,year:+n,month:+r,day:+i}}let n=_.exec(e);if(n){let[,e,t,r,i,a,o,s,c,l,u]=n;return{iso:`${e}-${t}-${r}T${i}:${a}:${o}${s?`.${s.slice(0,3).padEnd(3,`0`)}`:``}${c}${l}:${u}`,year:+e,month:+t,day:+r}}return null}function b(e){if(typeof e==`number`){if(!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}if(typeof e!=`string`)return null;let t=y(e.trim());if(!t||!g(t.year,t.month,t.day))return null;let n=new Date(t.iso);return Number.isNaN(n.getTime())?null:n}function x(e){let t=b(e);return t!==null&&t.getTime()===v}function S(e,t){if(e.getTime()===v)throw new d(`toInstant: ${JSON.stringify(t)} is the backend's UNSET marker (Go's zero time.Time), not a moment — the field was never filled in. toInstant is the REQUIRED-timestamp door, so an unset value here is a bug: returning the year-1 instant it names would sort this row ahead of every real date and answer "yes" to "has this started?". If the field is allowed to be unset, read it with toInstantOrNull (null), ask isAbsentTimestamp why it is missing, and order it with compareWireInstants.`,f.INVALID_ISO_STRING,{value:t})}function C(e,t){if(!(e instanceof Date)||Number.isNaN(e.getTime()))throw new d(`${t} must be a valid Date`,f.INVALID_DATE,{value:e})}function w(e,t){return C(e,`compareInstants(a)`),C(t,`compareInstants(b)`),e.getTime()-t.getTime()}function T(e){if(typeof e==`number`){if(!Number.isFinite(e))throw new d(`toInstant: epoch milliseconds must be a finite number, got ${e}`,f.INVALID_DATE,{value:e});let t=new Date(e);return C(t,`toInstant(value)`),S(t,e),t}if(typeof e!=`string`||e.trim()===``)throw new d(`toInstant: a UTC ISO timestamp or epoch ms is required, got ${JSON.stringify(e)}`,typeof e==`string`?f.INVALID_ISO_STRING:f.INVALID_DATE,{value:e});let t=y(e);if(!t)throw h.test(e)?new d(`toInstant: ${JSON.stringify(e)} carries a time but no timezone, so it is not an instant — it would resolve on the viewer's clock and land on a different calendar day for a viewer in Los Angeles than one in London. Send a UTC wire timestamp (2026-06-09T20:00:00Z) or an explicit offset (2026-06-09T13:00:00-07:00). If this is a local wall-clock value, it belongs in datetime/local or parseLocalToUTC(value, timezone), not here.`,f.MISSING_TIMEZONE,{value:e}):new d(`toInstant: not an ISO-8601 timestamp: ${JSON.stringify(e)}`,f.INVALID_ISO_STRING,{value:e});let{year:n,month:r,day:i}=t;if(!g(n,r,i))throw new d(`toInstant: ${n}-${r}-${i} is not a real calendar date: ${JSON.stringify(e)}`,f.INVALID_ISO_STRING,{value:e});let a=new Date(t.iso);if(Number.isNaN(a.getTime()))throw new d(`toInstant: ISO-8601 shaped but not a real instant: ${JSON.stringify(e)}`,f.INVALID_ISO_STRING,{value:e});return S(a,e),a}function E(e){if(e==null||typeof e==`string`&&e.trim()===``||x(e))return null;try{return T(e)}catch{return null}}function D(e){return Math.round((e+2**-52)*100)/100}function O(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function k(e){let t=O(e?.price);return t===null?null:t===0?0:D(t+(O(e?.fee)??0))}function A(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`)}function j(t,n){if(!t)return null;let r=new Date(t);if(isNaN(r.getTime()))return null;let i={year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1,timeZoneName:`shortOffset`},a;try{a=new Intl.DateTimeFormat(`en-US`,{...i,timeZone:n})}catch{a=new Intl.DateTimeFormat(`en-US`,{...i,timeZone:e()})}let o=a.formatToParts(r),s=e=>o.find(t=>t.type===e)?.value||``,c=s(`year`),l=s(`month`),u=s(`day`),d=s(`hour`),f=s(`minute`),p=s(`second`),m=s(`timeZoneName`),h=`+00:00`;if(m){let e=m.match(/GMT([+-])(\d+)(?::(\d+))?/);e&&(h=`${e[1]}${e[2].padStart(2,`0`)}:${e[3]||`00`}`)}return`${c}-${l}-${u}T${d}:${f}:${p}${h}`}function M(e){if(!e)return null;let t=e.split(`,`).map(e=>e.trim());if(t.length<2)return{"@type":`PostalAddress`,streetAddress:e,addressCountry:`US`};let n=t[t.length-1].match(/^([A-Z]{2})\s+(\d{5}(?:-\d{4})?)$/);return n&&t.length>=3?{"@type":`PostalAddress`,streetAddress:t.slice(0,-2).join(`, `),addressLocality:t[t.length-2],addressRegion:n[1],postalCode:n[2],addressCountry:`US`}:{"@type":`PostalAddress`,streetAddress:t[0],addressLocality:t.slice(1).join(`, `),addressCountry:`US`}}function N(e,t){if(e&&(e.city||e.state||e.postalCode)){let t={"@type":`PostalAddress`};return e.address&&(t.streetAddress=e.address),e.city&&(t.addressLocality=e.city),e.state&&(t.addressRegion=e.state),e.postalCode&&(t.postalCode=e.postalCode),t.addressCountry=e.country||`US`,t}return M(e&&e.address||t||null)}function P(e){if(!e)return`https://schema.org/EventScheduled`;let t=e.toLowerCase();return t===`cancelled`||t===`canceled`?`https://schema.org/EventCancelled`:t===`postponed`?`https://schema.org/EventPostponed`:t===`rescheduled`?`https://schema.org/EventRescheduled`:`https://schema.org/EventScheduled`}function F(e){if((e.remainingCapacity??e.quantityRemaining??e.quantity)===0||e.soldOut)return`https://schema.org/SoldOut`;let t=c(),n=E(e.salesBegin||e.salesStart||e.saleBegin||e.onSaleStart),r=E(e.salesEnd||e.saleEnd||e.onSaleEnd);return n&&w(n,t)>0?`https://schema.org/PreOrder`:r&&w(r,t)<0?`https://schema.org/SoldOut`:`https://schema.org/InStock`}function I(e,t,n,r={}){return e===t?{"@type":`Offer`,price:e,priceCurrency:`USD`,availability:n,...r}:{"@type":`AggregateOffer`,lowPrice:e,highPrice:t,priceCurrency:`USD`,availability:n,...r}}function L(e,t){if(!e||e.length===0)return null;let n=e.filter(e=>{let t=e.visibility??0,n=t===0||t===1,r=e.salesChannel!==2;return n&&r});if(n.length===0)return null;let r=n.map(e=>k({price:e.price,fee:e.fee})).filter(e=>e!=null);if(r.length===0)return null;let i=Math.min(...r),a=Math.max(...r),o=n[0];return I(i,a,F(o),{url:t||void 0,validFrom:o?.salesBegin||o?.salesStart||void 0})}function R(e){if(!e||e.length===0)return null;let t=e.filter(e=>{let t=e.acceptedState===2,n=!e.shouldBeHidden,r=e.RosterPerformer?.User?.performerProfile,i=r?.firstName||r?.lastName||r?.displayName;return t&&n&&i});return t.length===0?null:t.map(e=>{let t=e.RosterPerformer?.User?.performerProfile;return{"@type":`PerformingGroup`,name:t?.displayName||[t?.firstName,t?.lastName].filter(Boolean).join(` `)}})}function z(t){let{event:n,venue:r,venueTimeZone:i=e(),eventUrl:a,organizer:o}=t;if(!n)return null;let c=j(n.startDateTime,i);if(!n.name||!c||!r?.name)return null;let l=N(r,r?.googleLocationNameCache),u={"@type":`Place`,name:r.name};l&&(u.address=l);let d={"@context":`https://schema.org`,"@type":`Event`,name:n.name,startDate:c,eventStatus:P(n.status),eventAttendanceMode:`https://schema.org/OfflineEventAttendanceMode`,location:u},f=j(n.endDateTime,i);f&&(d.endDate=f);let p=s(n.description)||n.eventSummary;p&&(d.description=p);let m=n.image||n.coverImage||n.ShowImage;m&&(d.image=[m]);let h=L(n.availableTickets,a);h&&(d.offers=h);let g=R(n.performers);if(g&&g.length>0&&(d.performer=g),o?.name){let e={"@type":`Organization`,name:o.name};o.url&&(e.url=o.url),d.organizer=e}return a&&(d.url=a),d}function B(e){switch(e){case`available`:return`https://schema.org/InStock`;case`sold_out`:return`https://schema.org/SoldOut`;case`coming_soon`:return`https://schema.org/PreOrder`;case`ended`:return`https://schema.org/SoldOut`;default:return`https://schema.org/InStock`}}function V(e,t){if(!e||e.length===0)return null;let n=e.filter(e=>e.status!==`sold_out`&&e.status!==`ended`);if(n.length===0){let t=e.map(e=>e.price).filter(e=>!isNaN(e));return t.length===0?null:I(Math.min(...t),Math.max(...t),`https://schema.org/SoldOut`)}let r=n.map(e=>e.price).filter(e=>!isNaN(e));return r.length===0?null:I(Math.min(...r),Math.max(...r),B(n[0].status))}function H(e){let{series:t,baseEventUrl:n}=e;if(!t.title||!t.occurrences||t.occurrences.length===0||!t.venue?.name)return null;let r=N(t.venue,t.venue.googleLocationNameCache),i={"@type":`Place`,name:t.venue.name};r&&(i.address=r);let a={"@context":`https://schema.org`,"@type":`EventSeries`,name:t.title,location:i},o=s(t.description)||t.eventSummary;o&&(a.description=o),t.image&&(a.image=[t.image]);let c=t.performers?.filter(e=>e.displayName);c&&c.length>0&&(a.performer=c.map(e=>({"@type":`PerformingGroup`,name:e.displayName})));let l=[];for(let e of t.occurrences){let r=j(e.startDateTime,t.timeZone);if(!r)continue;let a={"@type":`Event`,name:e.title,startDate:r,eventStatus:P(e.status),location:i};n&&(a[`@id`]=`${n}/${e.id}-${e.slug}`);let o=j(e.endDateTime,t.timeZone);o&&(a.endDate=o);let s=V(e.tickets,e.status);s&&(a.offers=s),l.push(a)}return l.length===0?null:(a.subEvent=l,a)}function U(e){let{collection:t,baseEventUrl:n}=e;if(!t.collectionTitle||!t.events||t.events.length===0)return null;let r=[];for(let e of t.events){if(!e.title)continue;let t={"@type":`ListItem`,position:r.length+1,name:e.title};n&&(t.url=e.slug?`${n}/${e.id}-${e.slug}`:`${n}/${e.id}`),r.push(t)}if(r.length===0)return null;let i={"@context":`https://schema.org`,"@type":`CollectionPage`,name:t.collectionTitle},a=s(t.description)||t.summary;return a&&(i.description=a),t.coverImage&&(i.image=[t.coverImage]),i.mainEntity={"@type":`ItemList`,numberOfItems:r.length,itemListElement:r},i}var W=70;function G(e){return e.normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,W).replace(/-+$/g,``)}var K=class t{static _activeInstance=null;_state=`idle`;_venueName;_venueAddress;_venueTimeZone;_baseUrl;_originals=null;_originalsSaved=!1;_events=[];constructor(n){typeof document>`u`||(t._activeInstance&&t._activeInstance!==this&&t._activeInstance.destroy(),this._venueName=n.venueName,this._venueAddress=n.venueAddress,this._venueTimeZone=n.venueTimeZone||e(),this._baseUrl=n.baseUrl||window.location.origin+window.location.pathname,this._saveOriginals(),t._activeInstance=this)}_saveOriginals(){if(this._originalsSaved)return;let e=document.querySelector(`link[rel="canonical"]`),t=document.querySelector(`meta[property="og:title"]`),n=document.querySelector(`meta[property="og:description"]`),r=document.querySelector(`meta[property="og:image"]`),i=document.querySelector(`meta[property="og:url"]`),a=document.querySelector(`meta[property="og:type"]`),o=document.querySelector(`meta[name="description"]`);this._originals={title:document.title,canonicalHref:e?.getAttribute(`href`)??null,ogTitle:t?.getAttribute(`content`)??null,ogDescription:n?.getAttribute(`content`)??null,ogImage:r?.getAttribute(`content`)??null,ogUrl:i?.getAttribute(`content`)??null,ogType:a?.getAttribute(`content`)??null,metaDescription:o?.getAttribute(`content`)??null},this._originalsSaved=!0}_injectJsonLd(e){if(typeof document>`u`)return;document.querySelectorAll(`script[data-micdrop="jsonld"]`).forEach(e=>e.remove());let t=document.createElement(`script`);t.setAttribute(`type`,`application/ld+json`),t.setAttribute(`data-micdrop`,`jsonld`),t.textContent=JSON.stringify(e),document.head.appendChild(t)}_setMeta(e,t){if(!(typeof document>`u`)){if(e.startsWith(`og:`)){let n=document.querySelector(`meta[property="${e}"]`);n?n.setAttribute(`content`,t):(n=document.createElement(`meta`),n.setAttribute(`property`,e),n.setAttribute(`content`,t),n.setAttribute(`data-micdrop`,`og`),document.head.appendChild(n))}else{let n=document.querySelector(`meta[name="${e}"]`);n?n.setAttribute(`content`,t):(n=document.createElement(`meta`),n.setAttribute(`name`,e),n.setAttribute(`content`,t),n.setAttribute(`data-micdrop`,`meta`),document.head.appendChild(n))}}}_setCanonical(e){if(typeof document>`u`)return;let t=document.querySelector(`link[rel="canonical"]`);t?t.setAttribute(`href`,e):(t=document.createElement(`link`),t.setAttribute(`rel`,`canonical`),t.setAttribute(`href`,e),t.setAttribute(`data-micdrop`,`canonical`),document.head.appendChild(t))}_removeAllInjected(){typeof document>`u`||document.querySelectorAll(`[data-micdrop]`).forEach(e=>e.remove())}_restoreOriginals(){if(!(typeof document>`u`||!this._originals)){if(document.title=this._originals.title,this._originals.canonicalHref!==null){let e=document.querySelector(`link[rel="canonical"]`);e&&e.setAttribute(`href`,this._originals.canonicalHref)}this._restoreMetaProperty(`og:title`,this._originals.ogTitle),this._restoreMetaProperty(`og:description`,this._originals.ogDescription),this._restoreMetaProperty(`og:image`,this._originals.ogImage),this._restoreMetaProperty(`og:url`,this._originals.ogUrl),this._restoreMetaProperty(`og:type`,this._originals.ogType),this._restoreMetaName(`description`,this._originals.metaDescription),this._originalsSaved=!1}}_restoreMetaProperty(e,t){let n=document.querySelector(`meta[property="${e}"]`);t!==null&&n?n.setAttribute(`content`,t):t===null&&n?.hasAttribute(`data-micdrop`)&&n.remove()}_restoreMetaName(e,t){let n=document.querySelector(`meta[name="${e}"]`);t!==null&&n?n.setAttribute(`content`,t):t===null&&n?.hasAttribute(`data-micdrop`)&&n.remove()}_buildItemList(e){return{"@context":`https://schema.org`,"@type":`ItemList`,itemListElement:e.map((e,t)=>{let n=e.slug||G(e.name||``);return{"@type":`ListItem`,position:t+1,url:`${this._baseUrl}?e=${e.id}-${n}`}})}}_buildEntityUrl(e,t,n){let r=e===`event`?`e`:e===`series`?`s`:`c`;return`${this._baseUrl}?${r}=${t}-${n}`}onEventsLoaded(e,t){if(typeof document>`u`||this._state===`destroyed`)return;if(t){this._venueName=t.name||this._venueName,this._venueAddress=t.address||t.googleLocationNameCache||this._venueAddress;let e=t.timeZone||t.timezone;e&&(this._venueTimeZone=e)}this._events=e;let n=this._buildItemList(e);this._injectJsonLd(n),this._state=`listing`}onEntitySelected(e,t,n){if(typeof document>`u`||this._state===`destroyed`)return;if(this._saveOriginals(),n){this._venueName=n.name||this._venueName,this._venueAddress=n.address||n.googleLocationNameCache||this._venueAddress;let e=n.timeZone||n.timezone;e&&(this._venueTimeZone=e)}let r=null,i=``,a=``,o=``,c=``,l=``;if(e===`event`){let e=t.slug||G(t.name||``);l=this._buildEntityUrl(`event`,t.id||t.eventID||``,e),r=z({event:t,venue:{name:this._venueName,googleLocationNameCache:this._venueAddress},venueTimeZone:this._venueTimeZone,eventUrl:l}),i=t.name||``,a=t.description||``,o=t.eventSummary||``,c=t.image||t.coverImage||t.ShowImage||``}else if(e===`series`){let e=t.slug||G(t.title||``);l=this._buildEntityUrl(`series`,t.id||``,e),r=H({series:{...t,venue:{name:this._venueName,googleLocationNameCache:this._venueAddress},timeZone:this._venueTimeZone},baseEventUrl:l}),i=t.title||``,a=t.description||``,o=t.eventSummary||``,c=t.image||``}else if(e===`collection`){let e=t.slug||G(t.collectionTitle||``);l=this._buildEntityUrl(`collection`,t.id||``,e),r=U({collection:t,baseEventUrl:l,defaultTimeZone:this._venueTimeZone}),i=t.collectionTitle||``,a=t.description||``,o=t.summary||``,c=t.coverImage||``}r&&this._injectJsonLd(r),l&&this._setCanonical(l),i&&this._setMeta(`og:title`,i);let u=s(a,160)||s(o,160);u?this._setMeta(`og:description`,u):this._restoreMetaProperty(`og:description`,this._originals?.ogDescription??null),c&&this._setMeta(`og:image`,c),l&&this._setMeta(`og:url`,l),this._setMeta(`og:type`,`website`),this._setMeta(`twitter:card`,`summary_large_image`),u?this._setMeta(`description`,u):this._restoreMetaName(`description`,this._originals?.metaDescription??null),i&&(document.title=`${i} | ${this._venueName}`),this._state=`entity`}onBackToListing(){if(!(typeof document>`u`)&&this._state!==`destroyed`){if(this._restoreOriginals(),this._removeAllInjected(),this._events.length>0){let e=this._buildItemList(this._events);this._injectJsonLd(e)}this._saveOriginals(),this._state=`listing`}}destroy(){typeof document>`u`||this._state!==`destroyed`&&(this._removeAllInjected(),this._restoreOriginals(),t._activeInstance===this&&(t._activeInstance=null),this._state=`destroyed`)}};exports.HostSeoController=K,exports.buildCollectionJsonLd=U,exports.buildEventJsonLd=z,exports.buildOffers=L,exports.buildPerformers=R,exports.buildPostalAddress=N,exports.buildSeriesJsonLd=H,exports.escapeJsonLdForScript=A,exports.formatDateTimeWithOffset=j,exports.getEventStatus=P,exports.getTicketAvailability=F,exports.parseAddressToPostal=M;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(){return`America/Los_Angeles`}var t=/<\/(?:p|div|h[1-6]|li|ul|ol|blockquote|tr)>/gi,n=/<br\s*\/?>/gi,r=/<[^>]*>/g,i={"&amp;":`&`,"&lt;":`<`,"&gt;":`>`,"&quot;":`"`,"&#39;":`'`,"&apos;":`'`,"&nbsp;":` `};function a(e){return e.replace(/&#x([0-9a-f]+);/gi,(e,t)=>o(parseInt(t,16))).replace(/&#(\d+);/g,(e,t)=>o(Number(t))).replace(/&[a-z0-9]+;/gi,e=>i[e.toLowerCase()]??e)}function o(e){return Number.isFinite(e)&&e>0&&e<=1114111?String.fromCodePoint(e):``}function s(e,i){if(!e)return``;let o=String(e).replace(n,` `).replace(t,` `).replace(r,``);if(o=a(o).replace(/\s+/g,` `).trim(),i&&i>0&&o.length>i){let e=o.slice(0,i),t=e.lastIndexOf(` `);o=(t>40?e.slice(0,t):e).trimEnd()+`…`}return o}function c(){return new Date}var l=class extends Error{constructor(e,t,n={}){super(e),this.name=`AppError`,this.code=t,this.status=n.status??500,this.details=n.details,this.timestamp=c(),this.recoverable=n.recoverable??!0,this.cause=n.cause,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}toJSON(){return{name:this.name,code:this.code,message:this.message,status:this.status,details:this.details,timestamp:this.timestamp.toISOString(),recoverable:this.recoverable,stack:this.stack,cause:this.cause?.message}}getUserMessage(e){return this.message}isRetryable(){return this.recoverable}},u=class extends l{constructor(e,t,n={}){super(e,t,{status:422,recoverable:!1,...n}),this.name=`ValueGuardError`}},d=class extends u{constructor(e,t,n){super(e,t,{details:n}),this.name=`DateTimeError`}},f;(function(e){e.INVALID_TIMEZONE=`INVALID_TIMEZONE`,e.INVALID_ISO_STRING=`INVALID_ISO_STRING`,e.INVALID_DATE=`INVALID_DATE`,e.INVALID_TIME=`INVALID_TIME`,e.MISSING_TIMEZONE=`MISSING_TIMEZONE`,e.PARSE_ERROR=`PARSE_ERROR`})(f||={});function p(e,t,n,r=0,i=0,a=0){let o=new Date(Date.UTC(e,t-1,n,r,i,a));return e>=0&&e<=99&&o.setUTCFullYear(e),o}var m=/^(\d{4})-(\d{2})-(\d{2})(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}:\d{2}))?$/,h=/^\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?$/;function g(e,t,n){let r=p(e,t,n);return r.getUTCFullYear()===e&&r.getUTCMonth()===t-1&&r.getUTCDate()===n}var _=/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,9}))? ?([+-])(\d{2}):?(\d{2})(?: [A-Za-z][A-Za-z0-9_/+-]*)?(?: m=[+-][\d.]+)?$/,v=p(1,1,1).getTime();function y(e){let t=m.exec(e);if(t){let[,n,r,i]=t;return{iso:e,year:+n,month:+r,day:+i}}let n=_.exec(e);if(n){let[,e,t,r,i,a,o,s,c,l,u]=n;return{iso:`${e}-${t}-${r}T${i}:${a}:${o}${s?`.${s.slice(0,3).padEnd(3,`0`)}`:``}${c}${l}:${u}`,year:+e,month:+t,day:+r}}return null}function b(e){if(typeof e==`number`){if(!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}if(typeof e!=`string`)return null;let t=y(e.trim());if(!t||!g(t.year,t.month,t.day))return null;let n=new Date(t.iso);return Number.isNaN(n.getTime())?null:n}function x(e){let t=b(e);return t!==null&&t.getTime()===v}function S(e,t){if(e.getTime()===v)throw new d(`toInstant: ${JSON.stringify(t)} is the backend's UNSET marker (Go's zero time.Time), not a moment — the field was never filled in. toInstant is the REQUIRED-timestamp door, so an unset value here is a bug: returning the year-1 instant it names would sort this row ahead of every real date and answer "yes" to "has this started?". If the field is allowed to be unset, read it with toInstantOrNull (null), ask isAbsentTimestamp why it is missing, and order it with compareWireInstants.`,f.INVALID_ISO_STRING,{value:t})}function C(e,t){if(!(e instanceof Date)||Number.isNaN(e.getTime()))throw new d(`${t} must be a valid Date`,f.INVALID_DATE,{value:e})}function w(e,t){return C(e,`compareInstants(a)`),C(t,`compareInstants(b)`),e.getTime()-t.getTime()}function T(e){if(typeof e==`number`){if(!Number.isFinite(e))throw new d(`toInstant: epoch milliseconds must be a finite number, got ${e}`,f.INVALID_DATE,{value:e});let t=new Date(e);return C(t,`toInstant(value)`),S(t,e),t}if(typeof e!=`string`||e.trim()===``)throw new d(`toInstant: a UTC ISO timestamp or epoch ms is required, got ${JSON.stringify(e)}`,typeof e==`string`?f.INVALID_ISO_STRING:f.INVALID_DATE,{value:e});let t=y(e);if(!t)throw h.test(e)?new d(`toInstant: ${JSON.stringify(e)} carries a time but no timezone, so it is not an instant — it would resolve on the viewer's clock and land on a different calendar day for a viewer in Los Angeles than one in London. Send a UTC wire timestamp (2026-06-09T20:00:00Z) or an explicit offset (2026-06-09T13:00:00-07:00). If this is a local wall-clock value, it belongs in datetime/local or parseLocalToUTC(value, timezone), not here.`,f.MISSING_TIMEZONE,{value:e}):new d(`toInstant: not an ISO-8601 timestamp: ${JSON.stringify(e)}`,f.INVALID_ISO_STRING,{value:e});let{year:n,month:r,day:i}=t;if(!g(n,r,i))throw new d(`toInstant: ${n}-${r}-${i} is not a real calendar date: ${JSON.stringify(e)}`,f.INVALID_ISO_STRING,{value:e});let a=new Date(t.iso);if(Number.isNaN(a.getTime()))throw new d(`toInstant: ISO-8601 shaped but not a real instant: ${JSON.stringify(e)}`,f.INVALID_ISO_STRING,{value:e});return S(a,e),a}function E(e){if(e==null||typeof e==`string`&&e.trim()===``||x(e))return null;try{return T(e)}catch{return null}}function D(e){return Math.round((e+2**-52)*100)/100}function O(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function k(e){let t=O(e?.price);return t===null?null:t===0?0:D(t+(O(e?.fee)??0))}function A(e){return e.replace(/</g,`\\u003c`).replace(/>/g,`\\u003e`).replace(/&/g,`\\u0026`)}function j(t,n){if(!t)return null;let r=new Date(t);if(isNaN(r.getTime()))return null;let i={year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1,timeZoneName:`shortOffset`},a;try{a=new Intl.DateTimeFormat(`en-US`,{...i,timeZone:n})}catch{a=new Intl.DateTimeFormat(`en-US`,{...i,timeZone:e()})}let o=a.formatToParts(r),s=e=>o.find(t=>t.type===e)?.value||``,c=s(`year`),l=s(`month`),u=s(`day`),d=s(`hour`),f=s(`minute`),p=s(`second`),m=s(`timeZoneName`),h=`+00:00`;if(m){let e=m.match(/GMT([+-])(\d+)(?::(\d+))?/);e&&(h=`${e[1]}${e[2].padStart(2,`0`)}:${e[3]||`00`}`)}return`${c}-${l}-${u}T${d}:${f}:${p}${h}`}function M(e){if(!e)return null;let t=e.split(`,`).map(e=>e.trim());if(t.length<2)return{"@type":`PostalAddress`,streetAddress:e,addressCountry:`US`};let n=t[t.length-1].match(/^([A-Z]{2})\s+(\d{5}(?:-\d{4})?)$/);return n&&t.length>=3?{"@type":`PostalAddress`,streetAddress:t.slice(0,-2).join(`, `),addressLocality:t[t.length-2],addressRegion:n[1],postalCode:n[2],addressCountry:`US`}:{"@type":`PostalAddress`,streetAddress:t[0],addressLocality:t.slice(1).join(`, `),addressCountry:`US`}}function N(e,t){if(e&&(e.city||e.state||e.postalCode)){let t={"@type":`PostalAddress`};return e.address&&(t.streetAddress=e.address),e.city&&(t.addressLocality=e.city),e.state&&(t.addressRegion=e.state),e.postalCode&&(t.postalCode=e.postalCode),t.addressCountry=e.country||`US`,t}return M(e&&e.address||t||null)}function P(e){if(!e)return`https://schema.org/EventScheduled`;let t=e.toLowerCase();return t===`cancelled`||t===`canceled`?`https://schema.org/EventCancelled`:t===`postponed`?`https://schema.org/EventPostponed`:t===`rescheduled`?`https://schema.org/EventRescheduled`:`https://schema.org/EventScheduled`}function F(e){if((e.remainingCapacity??e.quantityRemaining??e.quantity)===0||e.soldOut)return`https://schema.org/SoldOut`;let t=c(),n=E(e.salesBegin||e.salesStart||e.saleBegin||e.onSaleStart),r=E(e.salesEnd||e.saleEnd||e.onSaleEnd);return n&&w(n,t)>0?`https://schema.org/PreOrder`:r&&w(r,t)<0?`https://schema.org/SoldOut`:`https://schema.org/InStock`}function I(e,t,n,r={}){return e===t?{"@type":`Offer`,price:e,priceCurrency:`USD`,availability:n,...r}:{"@type":`AggregateOffer`,lowPrice:e,highPrice:t,priceCurrency:`USD`,availability:n,...r}}function L(e,t){if(!e||e.length===0)return null;let n=e.filter(e=>{let t=e.visibility??0,n=t===0||t===1,r=e.salesChannel!==2;return n&&r});if(n.length===0)return null;let r=n.map(e=>k({price:e.price,fee:e.fee})).filter(e=>e!=null);if(r.length===0)return null;let i=Math.min(...r),a=Math.max(...r),o=n[0];return I(i,a,F(o),{url:t||void 0,validFrom:o?.salesBegin||o?.salesStart||void 0})}function R(e){if(!e||e.length===0)return null;let t=e.filter(e=>{let t=e.acceptedState===2,n=!e.shouldBeHidden,r=e.RosterPerformer?.User?.performerProfile,i=r?.firstName||r?.lastName||r?.displayName;return t&&n&&i});return t.length===0?null:t.map(e=>{let t=e.RosterPerformer?.User?.performerProfile;return{"@type":`PerformingGroup`,name:t?.displayName||[t?.firstName,t?.lastName].filter(Boolean).join(` `)}})}function z(t){let{event:n,venue:r,venueTimeZone:i=e(),eventUrl:a,organizer:o}=t;if(!n)return null;let c=j(n.startDateTime,i);if(!n.name||!c||!r?.name)return null;let l=N(r,r?.googleLocationNameCache),u={"@type":`Place`,name:r.name};l&&(u.address=l);let d={"@context":`https://schema.org`,"@type":`Event`,name:n.name,startDate:c,eventStatus:P(n.status),eventAttendanceMode:`https://schema.org/OfflineEventAttendanceMode`,location:u},f=j(n.endDateTime,i);f&&(d.endDate=f);let p=s(n.description)||n.eventSummary;p&&(d.description=p);let m=n.image||n.coverImage||n.ShowImage;m&&(d.image=[m]);let h=L(n.availableTickets,a);h&&(d.offers=h);let g=R(n.performers);if(g&&g.length>0&&(d.performer=g),o?.name){let e={"@type":`Organization`,name:o.name};o.url&&(e.url=o.url),d.organizer=e}return a&&(d.url=a),d}function B(e){switch(e){case`available`:return`https://schema.org/InStock`;case`sold_out`:return`https://schema.org/SoldOut`;case`coming_soon`:return`https://schema.org/PreOrder`;case`ended`:return`https://schema.org/SoldOut`;default:return`https://schema.org/InStock`}}function V(e,t){if(!e||e.length===0)return null;let n=e.filter(e=>e.status!==`sold_out`&&e.status!==`ended`);if(n.length===0){let t=e.map(e=>e.price).filter(e=>!isNaN(e));return t.length===0?null:I(Math.min(...t),Math.max(...t),`https://schema.org/SoldOut`)}let r=n.map(e=>e.price).filter(e=>!isNaN(e));return r.length===0?null:I(Math.min(...r),Math.max(...r),B(n[0].status))}function H(e){let{series:t,baseEventUrl:n}=e;if(!t.title||!t.occurrences||t.occurrences.length===0||!t.venue?.name)return null;let r=N(t.venue,t.venue.googleLocationNameCache),i={"@type":`Place`,name:t.venue.name};r&&(i.address=r);let a={"@context":`https://schema.org`,"@type":`EventSeries`,name:t.title,location:i},o=s(t.description)||t.eventSummary;o&&(a.description=o),t.image&&(a.image=[t.image]);let c=t.performers?.filter(e=>e.displayName);c&&c.length>0&&(a.performer=c.map(e=>({"@type":`PerformingGroup`,name:e.displayName})));let l=[];for(let e of t.occurrences){let r=j(e.startDateTime,t.timeZone);if(!r)continue;let a={"@type":`Event`,name:e.title,startDate:r,eventStatus:P(e.status),location:i};n&&(a[`@id`]=`${n}/${e.id}-${e.slug}`);let o=j(e.endDateTime,t.timeZone);o&&(a.endDate=o);let s=V(e.tickets,e.status);s&&(a.offers=s),l.push(a)}return l.length===0?null:(a.subEvent=l,a)}function U(e){let{collection:t,baseEventUrl:n}=e;if(!t.collectionTitle||!t.events||t.events.length===0)return null;let r=[];for(let e of t.events){if(!e.title)continue;let t={"@type":`ListItem`,position:r.length+1,name:e.title};n&&(t.url=e.slug?`${n}/${e.id}-${e.slug}`:`${n}/${e.id}`),r.push(t)}if(r.length===0)return null;let i={"@context":`https://schema.org`,"@type":`CollectionPage`,name:t.collectionTitle},a=s(t.description)||t.summary;return a&&(i.description=a),t.coverImage&&(i.image=[t.coverImage]),i.mainEntity={"@type":`ItemList`,numberOfItems:r.length,itemListElement:r},i}var W=70;function G(e){return e.normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,W).replace(/-+$/g,``)}var K=class t{static _activeInstance=null;static shared(e){let n=t._activeInstance;return n?(n._holders+=1,n):new t(e)}_state=`idle`;_holders=1;_venueName;_venueAddress;_venueTimeZone;_baseUrl;_originals=null;_originalsSaved=!1;_events=[];constructor(n){typeof document>`u`||(t._activeInstance&&t._activeInstance!==this&&t._activeInstance._teardown(),this._venueName=n.venueName,this._venueAddress=n.venueAddress,this._venueTimeZone=n.venueTimeZone||e(),this._baseUrl=n.baseUrl||window.location.origin+window.location.pathname,this._saveOriginals(),t._activeInstance=this)}_saveOriginals(){if(this._originalsSaved)return;let e=document.querySelector(`link[rel="canonical"]`),t=document.querySelector(`meta[property="og:title"]`),n=document.querySelector(`meta[property="og:description"]`),r=document.querySelector(`meta[property="og:image"]`),i=document.querySelector(`meta[property="og:url"]`),a=document.querySelector(`meta[property="og:type"]`),o=document.querySelector(`meta[name="description"]`);this._originals={title:document.title,canonicalHref:e?.getAttribute(`href`)??null,ogTitle:t?.getAttribute(`content`)??null,ogDescription:n?.getAttribute(`content`)??null,ogImage:r?.getAttribute(`content`)??null,ogUrl:i?.getAttribute(`content`)??null,ogType:a?.getAttribute(`content`)??null,metaDescription:o?.getAttribute(`content`)??null},this._originalsSaved=!0}_injectJsonLd(e){if(typeof document>`u`)return;document.querySelectorAll(`script[data-micdrop="jsonld"]`).forEach(e=>e.remove());let t=document.createElement(`script`);t.setAttribute(`type`,`application/ld+json`),t.setAttribute(`data-micdrop`,`jsonld`),t.textContent=JSON.stringify(e),document.head.appendChild(t)}_setMeta(e,t){if(!(typeof document>`u`)){if(e.startsWith(`og:`)){let n=document.querySelector(`meta[property="${e}"]`);n?n.setAttribute(`content`,t):(n=document.createElement(`meta`),n.setAttribute(`property`,e),n.setAttribute(`content`,t),n.setAttribute(`data-micdrop`,`og`),document.head.appendChild(n))}else{let n=document.querySelector(`meta[name="${e}"]`);n?n.setAttribute(`content`,t):(n=document.createElement(`meta`),n.setAttribute(`name`,e),n.setAttribute(`content`,t),n.setAttribute(`data-micdrop`,`meta`),document.head.appendChild(n))}}}_setCanonical(e){if(typeof document>`u`)return;let t=document.querySelector(`link[rel="canonical"]`);t?t.setAttribute(`href`,e):(t=document.createElement(`link`),t.setAttribute(`rel`,`canonical`),t.setAttribute(`href`,e),t.setAttribute(`data-micdrop`,`canonical`),document.head.appendChild(t))}_removeAllInjected(){typeof document>`u`||document.querySelectorAll(`[data-micdrop]`).forEach(e=>e.remove())}_restoreOriginals(){if(!(typeof document>`u`||!this._originals)){if(document.title=this._originals.title,this._originals.canonicalHref!==null){let e=document.querySelector(`link[rel="canonical"]`);e&&e.setAttribute(`href`,this._originals.canonicalHref)}this._restoreMetaProperty(`og:title`,this._originals.ogTitle),this._restoreMetaProperty(`og:description`,this._originals.ogDescription),this._restoreMetaProperty(`og:image`,this._originals.ogImage),this._restoreMetaProperty(`og:url`,this._originals.ogUrl),this._restoreMetaProperty(`og:type`,this._originals.ogType),this._restoreMetaName(`description`,this._originals.metaDescription),this._originalsSaved=!1}}_restoreMetaProperty(e,t){let n=document.querySelector(`meta[property="${e}"]`);t!==null&&n?n.setAttribute(`content`,t):t===null&&n?.hasAttribute(`data-micdrop`)&&n.remove()}_restoreMetaName(e,t){let n=document.querySelector(`meta[name="${e}"]`);t!==null&&n?n.setAttribute(`content`,t):t===null&&n?.hasAttribute(`data-micdrop`)&&n.remove()}_buildItemList(e){return{"@context":`https://schema.org`,"@type":`ItemList`,itemListElement:e.map((e,t)=>{let n=e.slug||G(e.name||``);return{"@type":`ListItem`,position:t+1,url:`${this._baseUrl}?e=${e.id}-${n}`}})}}_buildEntityUrl(e,t,n){let r=e===`event`?`e`:e===`series`?`s`:`c`;return`${this._baseUrl}?${r}=${t}-${n}`}onEventsLoaded(e,t){if(typeof document>`u`||this._state===`destroyed`)return;if(t){this._venueName=t.name||this._venueName,this._venueAddress=t.address||t.googleLocationNameCache||this._venueAddress;let e=t.timeZone||t.timezone;e&&(this._venueTimeZone=e)}this._events=e;let n=this._buildItemList(e);this._injectJsonLd(n),this._state=`listing`}onEntitySelected(e,t,n){if(typeof document>`u`||this._state===`destroyed`)return;if(this._saveOriginals(),n){this._venueName=n.name||this._venueName,this._venueAddress=n.address||n.googleLocationNameCache||this._venueAddress;let e=n.timeZone||n.timezone;e&&(this._venueTimeZone=e)}let r=null,i=``,a=``,o=``,c=``,l=``;if(e===`event`){let e=t.slug||G(t.name||``);l=this._buildEntityUrl(`event`,t.id||t.eventID||``,e),r=z({event:t,venue:{name:this._venueName,googleLocationNameCache:this._venueAddress},venueTimeZone:this._venueTimeZone,eventUrl:l}),i=t.name||``,a=t.description||``,o=t.eventSummary||``,c=t.image||t.coverImage||t.ShowImage||``}else if(e===`series`){let e=t.slug||G(t.title||``);l=this._buildEntityUrl(`series`,t.id||``,e),r=H({series:{...t,venue:{name:this._venueName,googleLocationNameCache:this._venueAddress},timeZone:this._venueTimeZone},baseEventUrl:l}),i=t.title||``,a=t.description||``,o=t.eventSummary||``,c=t.image||``}else if(e===`collection`){let e=t.slug||G(t.collectionTitle||``);l=this._buildEntityUrl(`collection`,t.id||``,e),r=U({collection:t,baseEventUrl:l,defaultTimeZone:this._venueTimeZone}),i=t.collectionTitle||``,a=t.description||``,o=t.summary||``,c=t.coverImage||``}r&&this._injectJsonLd(r),l&&this._setCanonical(l),i&&this._setMeta(`og:title`,i);let u=s(a,160)||s(o,160);u?this._setMeta(`og:description`,u):this._restoreMetaProperty(`og:description`,this._originals?.ogDescription??null),c&&this._setMeta(`og:image`,c),l&&this._setMeta(`og:url`,l),this._setMeta(`og:type`,`website`),this._setMeta(`twitter:card`,`summary_large_image`),u?this._setMeta(`description`,u):this._restoreMetaName(`description`,this._originals?.metaDescription??null),i&&(document.title=`${i} | ${this._venueName}`),this._state=`entity`}onBackToListing(){if(!(typeof document>`u`)&&this._state!==`destroyed`){if(this._restoreOriginals(),this._removeAllInjected(),this._events.length>0){let e=this._buildItemList(this._events);this._injectJsonLd(e)}this._saveOriginals(),this._state=`listing`}}destroy(){if(this._holders>1){--this._holders;return}this._teardown()}_teardown(){typeof document>`u`||this._state!==`destroyed`&&(this._removeAllInjected(),this._restoreOriginals(),t._activeInstance===this&&(t._activeInstance=null),this._state=`destroyed`)}};exports.HostSeoController=K,exports.buildCollectionJsonLd=U,exports.buildEventJsonLd=z,exports.buildOffers=L,exports.buildPerformers=R,exports.buildPostalAddress=N,exports.buildSeriesJsonLd=H,exports.escapeJsonLdForScript=A,exports.formatDateTimeWithOffset=j,exports.getEventStatus=P,exports.getTicketAvailability=F,exports.parseAddressToPostal=M;
package/dist/seo/seo.mjs CHANGED
@@ -435,7 +435,12 @@ function G(e) {
435
435
  //#region src/lib/seo/HostSeoController.ts
436
436
  var K = class t {
437
437
  static _activeInstance = null;
438
+ static shared(e) {
439
+ let n = t._activeInstance;
440
+ return n ? (n._holders += 1, n) : new t(e);
441
+ }
438
442
  _state = "idle";
443
+ _holders = 1;
439
444
  _venueName;
440
445
  _venueAddress;
441
446
  _venueTimeZone;
@@ -444,7 +449,7 @@ var K = class t {
444
449
  _originalsSaved = !1;
445
450
  _events = [];
446
451
  constructor(n) {
447
- typeof document > "u" || (t._activeInstance && t._activeInstance !== this && t._activeInstance.destroy(), this._venueName = n.venueName, this._venueAddress = n.venueAddress, this._venueTimeZone = n.venueTimeZone || e(), this._baseUrl = n.baseUrl || window.location.origin + window.location.pathname, this._saveOriginals(), t._activeInstance = this);
452
+ typeof document > "u" || (t._activeInstance && t._activeInstance !== this && t._activeInstance._teardown(), this._venueName = n.venueName, this._venueAddress = n.venueAddress, this._venueTimeZone = n.venueTimeZone || e(), this._baseUrl = n.baseUrl || window.location.origin + window.location.pathname, this._saveOriginals(), t._activeInstance = this);
448
453
  }
449
454
  _saveOriginals() {
450
455
  if (this._originalsSaved) return;
@@ -585,6 +590,13 @@ var K = class t {
585
590
  }
586
591
  }
587
592
  destroy() {
593
+ if (this._holders > 1) {
594
+ --this._holders;
595
+ return;
596
+ }
597
+ this._teardown();
598
+ }
599
+ _teardown() {
588
600
  typeof document > "u" || this._state !== "destroyed" && (this._removeAllInjected(), this._restoreOriginals(), t._activeInstance === this && (t._activeInstance = null), this._state = "destroyed");
589
601
  }
590
602
  };
@@ -1,4 +1,4 @@
1
- import { I as e, k as t } from "./defaultLabels-CXCsTwix.js";
1
+ import { I as e, k as t } from "./defaultLabels-O0WBww33.js";
2
2
  //#region node_modules/zod/v4/core/core.js
3
3
  var n;
4
4
  function r(e, t, n) {
@@ -1,4 +1,4 @@
1
- import { E as e, n as t } from "./defaultLabels-CXCsTwix.js";
1
+ import { E as e, n as t } from "./defaultLabels-O0WBww33.js";
2
2
  import * as n from "svelte/internal/client";
3
3
  //#region src/lib/public-calendar-flow/mock-data.ts
4
4
  function r(e, t, n = 0) {