@getmicdrop/venue-calendar 4.0.109 → 4.0.110
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/CartView-bMHSoj75.js +2475 -0
- package/dist/CartView-bMHSoj75.js.map +1 -0
- package/dist/{Checkout-CMEf_qnp.js → Checkout-DDXZc-yj.js} +323 -333
- package/dist/Checkout-DDXZc-yj.js.map +1 -0
- package/dist/{Checkout-Chki2df_.js → Checkout-DG2iHmHC.js} +206 -205
- package/dist/Checkout-DG2iHmHC.js.map +1 -0
- package/dist/{CheckoutTimer-BAaY_60w.js → CheckoutTimer-Bwq6a_Hl.js} +5 -5
- package/dist/{CheckoutTimer-BAaY_60w.js.map → CheckoutTimer-Bwq6a_Hl.js.map} +1 -1
- package/dist/{ClockIcon-Dbbj_qur.js → ClockIcon-ZgeMNNI1.js} +2 -2
- package/dist/{ClockIcon-Dbbj_qur.js.map → ClockIcon-ZgeMNNI1.js.map} +1 -1
- package/dist/{CollectionView-RM30YPOJ.js → CollectionView-1pf2C4kX.js} +78 -77
- package/dist/CollectionView-1pf2C4kX.js.map +1 -0
- package/dist/{Event-kdxMa6OT.js → Event-D3o0fguY.js} +659 -657
- package/dist/Event-D3o0fguY.js.map +1 -0
- package/dist/{EventPage-BRBByBHe.js → EventPage-DqO-AV8i.js} +300 -306
- package/dist/EventPage-DqO-AV8i.js.map +1 -0
- package/dist/{Heading-CSDFD80h.js → Heading-pURRwiIC.js} +2 -2
- package/dist/{Heading-CSDFD80h.js.map → Heading-pURRwiIC.js.map} +1 -1
- package/dist/{ScarcityBadge-B0ca48su.js → ScarcityBadge-ykz32KS9.js} +11 -11
- package/dist/{ScarcityBadge-B0ca48su.js.map → ScarcityBadge-ykz32KS9.js.map} +1 -1
- package/dist/SeriesPage-BmNk80cF.js +34 -0
- package/dist/SeriesPage-BmNk80cF.js.map +1 -0
- package/dist/{Spinner--TOwvv9A.js → Spinner-OGA1hrc5.js} +2 -2
- package/dist/{Spinner--TOwvv9A.js.map → Spinner-OGA1hrc5.js.map} +1 -1
- package/dist/Success-DLlQ54_-.js +896 -0
- package/dist/Success-DLlQ54_-.js.map +1 -0
- package/dist/{Text-WLl_ELy9.js → Text-DMpMLgcU.js} +19 -19
- package/dist/Text-DMpMLgcU.js.map +1 -0
- package/dist/VenueCalendar-ClSRsS6u.js +16474 -0
- package/dist/VenueCalendar-ClSRsS6u.js.map +1 -0
- package/dist/{ViewTicketsEmbed-BOukxQIF.js → ViewTicketsEmbed-5LMG2xwn.js} +86 -85
- package/dist/{ViewTicketsEmbed-BOukxQIF.js.map → ViewTicketsEmbed-5LMG2xwn.js.map} +1 -1
- package/dist/__SKIP_PATHS__-BtJ0tS93.js +10 -0
- package/dist/__SKIP_PATHS__-BtJ0tS93.js.map +1 -0
- package/dist/api/api.cjs +1 -1
- package/dist/api/api.cjs.map +1 -1
- package/dist/api/api.mjs +336 -333
- package/dist/api/api.mjs.map +1 -1
- package/dist/{labels-DXGieQXs.js → labels-Ws4MJjH5.js} +154 -149
- package/dist/labels-Ws4MJjH5.js.map +1 -0
- package/dist/{modalManager.svelte-Dbd1xgTQ.js → modalManager.svelte-BPA2JF6c.js} +2 -2
- package/dist/{modalManager.svelte-Dbd1xgTQ.js.map → modalManager.svelte-BPA2JF6c.js.map} +1 -1
- package/dist/navigation--gZASiSa.js +19 -0
- package/dist/navigation--gZASiSa.js.map +1 -0
- package/dist/{promo-oWi_MKmY.js → promo-vXx1bxQm.js} +2 -2
- package/dist/{promo-oWi_MKmY.js.map → promo-vXx1bxQm.js.map} +1 -1
- package/dist/seo/seo.cjs +1 -1
- package/dist/seo/seo.cjs.map +1 -1
- package/dist/seo/seo.mjs +438 -291
- package/dist/seo/seo.mjs.map +1 -1
- package/dist/seo/types.d.ts +0 -1
- package/dist/{showcase-state-options-DJJdjxvZ.js → showcase-state-options-9SoS5WuT.js} +21 -21
- package/dist/showcase-state-options-9SoS5WuT.js.map +1 -0
- package/dist/{transform-Bgqwj9i-.js → transform-BD9xXAq7.js} +81 -77
- package/dist/transform-BD9xXAq7.js.map +1 -0
- package/dist/types/index.d.ts +18 -14
- package/dist/utm-rT0TPh8G.js +288 -0
- package/dist/utm-rT0TPh8G.js.map +1 -0
- package/dist/venue-calendar.css +1 -1
- package/dist/venue-calendar.es.js +2 -2
- package/dist/venue-calendar.iife.js +49 -49
- package/dist/venue-calendar.iife.js.map +1 -1
- package/dist/venue-calendar.umd.js +44 -44
- package/dist/venue-calendar.umd.js.map +1 -1
- package/package.json +4 -4
- package/dist/CartView-C3N5pw89.js +0 -2381
- package/dist/CartView-C3N5pw89.js.map +0 -1
- package/dist/Checkout-CMEf_qnp.js.map +0 -1
- package/dist/Checkout-Chki2df_.js.map +0 -1
- package/dist/CollectionView-RM30YPOJ.js.map +0 -1
- package/dist/Event-kdxMa6OT.js.map +0 -1
- package/dist/EventPage-BRBByBHe.js.map +0 -1
- package/dist/SeriesPage-CczfbUKO.js +0 -33
- package/dist/SeriesPage-CczfbUKO.js.map +0 -1
- package/dist/Success-DIWUGUPs.js +0 -886
- package/dist/Success-DIWUGUPs.js.map +0 -1
- package/dist/Text-WLl_ELy9.js.map +0 -1
- package/dist/VenueCalendar-CU5N9klc.js +0 -16579
- package/dist/VenueCalendar-CU5N9klc.js.map +0 -1
- package/dist/labels-DXGieQXs.js.map +0 -1
- package/dist/showcase-state-options-DJJdjxvZ.js.map +0 -1
- package/dist/transform-Bgqwj9i-.js.map +0 -1
package/dist/seo/seo.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
function
|
|
1
|
+
function E() {
|
|
2
2
|
return "America/Los_Angeles";
|
|
3
3
|
}
|
|
4
|
-
const
|
|
4
|
+
const V = /<\/(?:p|div|h[1-6]|li|ul|ol|blockquote|tr)>/gi, x = /<br\s*\/?>/gi, z = /<[^>]*>/g, J = {
|
|
5
5
|
"&": "&",
|
|
6
6
|
"<": "<",
|
|
7
7
|
">": ">",
|
|
@@ -10,33 +10,179 @@ const $ = /<\/(?:p|div|h[1-6]|li|ul|ol|blockquote|tr)>/gi, O = /<br\s*\/?>/gi, P
|
|
|
10
10
|
"'": "'",
|
|
11
11
|
" ": " "
|
|
12
12
|
};
|
|
13
|
-
function
|
|
14
|
-
return
|
|
13
|
+
function j(t) {
|
|
14
|
+
return t.replace(/&#x([0-9a-f]+);/gi, (e, n) => v(parseInt(n, 16))).replace(/&#(\d+);/g, (e, n) => v(Number(n))).replace(/&[a-z0-9]+;/gi, (e) => J[e.toLowerCase()] ?? e);
|
|
15
15
|
}
|
|
16
|
-
function
|
|
17
|
-
return Number.isFinite(
|
|
16
|
+
function v(t) {
|
|
17
|
+
return Number.isFinite(t) && t > 0 && t <= 1114111 ? String.fromCodePoint(t) : "";
|
|
18
18
|
}
|
|
19
|
-
function
|
|
20
|
-
if (!
|
|
19
|
+
function I(t, e) {
|
|
20
|
+
if (!t)
|
|
21
21
|
return "";
|
|
22
|
-
let
|
|
23
|
-
if (
|
|
24
|
-
const
|
|
25
|
-
|
|
22
|
+
let n = String(t).replace(x, " ").replace(V, " ").replace(z, "");
|
|
23
|
+
if (n = j(n).replace(/\s+/g, " ").trim(), e && e > 0 && n.length > e) {
|
|
24
|
+
const i = n.slice(0, e), s = i.lastIndexOf(" ");
|
|
25
|
+
n = (s > 40 ? i.slice(0, s) : i).trimEnd() + "…";
|
|
26
26
|
}
|
|
27
|
-
return
|
|
27
|
+
return n;
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function w() {
|
|
30
30
|
return /* @__PURE__ */ new Date();
|
|
31
31
|
}
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
class F extends Error {
|
|
33
|
+
constructor(e, n, i = {}) {
|
|
34
|
+
super(e), this.name = "AppError", this.code = n, this.status = i.status ?? 500, this.details = i.details, this.timestamp = w(), this.recoverable = i.recoverable ?? !0, this.cause = i.cause, Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Serialize error for logging/reporting
|
|
38
|
+
*/
|
|
39
|
+
toJSON() {
|
|
40
|
+
return {
|
|
41
|
+
name: this.name,
|
|
42
|
+
code: this.code,
|
|
43
|
+
message: this.message,
|
|
44
|
+
status: this.status,
|
|
45
|
+
details: this.details,
|
|
46
|
+
timestamp: this.timestamp.toISOString(),
|
|
47
|
+
recoverable: this.recoverable,
|
|
48
|
+
stack: this.stack,
|
|
49
|
+
cause: this.cause?.message
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get user-friendly message.
|
|
54
|
+
*
|
|
55
|
+
* Subclasses override this and may consult an optional `ErrorMessageResolver`
|
|
56
|
+
* to localize. The base class returns the raw message and ignores any
|
|
57
|
+
* resolver (the parameter exists only so the signature is uniform across the
|
|
58
|
+
* hierarchy).
|
|
59
|
+
*/
|
|
60
|
+
getUserMessage(e) {
|
|
61
|
+
return this.message;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Check if this error type is retryable
|
|
65
|
+
*/
|
|
66
|
+
isRetryable() {
|
|
67
|
+
return this.recoverable;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
class k extends F {
|
|
71
|
+
constructor(e, n, i = {}) {
|
|
72
|
+
super(e, n, {
|
|
73
|
+
// 422 Unprocessable — the value itself failed an invariant. Not a 500
|
|
74
|
+
// (nothing crashed server-side) and not retryable (re-running the same
|
|
75
|
+
// bad value fails identically), so recoverable defaults to false.
|
|
76
|
+
status: 422,
|
|
77
|
+
recoverable: !1,
|
|
78
|
+
...i
|
|
79
|
+
}), this.name = "ValueGuardError";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
class _ extends k {
|
|
83
|
+
constructor(e, n, i) {
|
|
84
|
+
super(e, n, { details: i }), this.name = "DateTimeError";
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
var d;
|
|
88
|
+
(function(t) {
|
|
89
|
+
t.INVALID_TIMEZONE = "INVALID_TIMEZONE", t.INVALID_ISO_STRING = "INVALID_ISO_STRING", t.INVALID_DATE = "INVALID_DATE", t.INVALID_TIME = "INVALID_TIME", t.MISSING_TIMEZONE = "MISSING_TIMEZONE", t.PARSE_ERROR = "PARSE_ERROR";
|
|
90
|
+
})(d || (d = {}));
|
|
91
|
+
function M(t, e, n, i = 0, s = 0, r = 0) {
|
|
92
|
+
const o = new Date(Date.UTC(t, e - 1, n, i, s, r));
|
|
93
|
+
return t >= 0 && t <= 99 && o.setUTCFullYear(t), o;
|
|
94
|
+
}
|
|
95
|
+
const B = /^(\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})?)?$/;
|
|
96
|
+
function U(t, e, n) {
|
|
97
|
+
const i = M(t, e, n);
|
|
98
|
+
return i.getUTCFullYear() === t && i.getUTCMonth() === e - 1 && i.getUTCDate() === n;
|
|
99
|
+
}
|
|
100
|
+
const W = /^(\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.]+)?$/, P = M(1, 1, 1).getTime();
|
|
101
|
+
function C(t) {
|
|
102
|
+
const e = B.exec(t);
|
|
103
|
+
if (e) {
|
|
104
|
+
const [, i, s, r] = e;
|
|
105
|
+
return { iso: t, year: +i, month: +s, day: +r };
|
|
106
|
+
}
|
|
107
|
+
const n = W.exec(t);
|
|
108
|
+
if (n) {
|
|
109
|
+
const [, i, s, r, o, c, u, a, m, l, h] = n, f = a ? `.${a.slice(0, 3).padEnd(3, "0")}` : "";
|
|
110
|
+
return {
|
|
111
|
+
iso: `${i}-${s}-${r}T${o}:${c}:${u}${f}${m}${l}:${h}`,
|
|
112
|
+
year: +i,
|
|
113
|
+
month: +s,
|
|
114
|
+
day: +r
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
function K(t) {
|
|
120
|
+
if (typeof t == "number") {
|
|
121
|
+
if (!Number.isFinite(t))
|
|
122
|
+
return null;
|
|
123
|
+
const i = new Date(t);
|
|
124
|
+
return Number.isNaN(i.getTime()) ? null : i;
|
|
125
|
+
}
|
|
126
|
+
if (typeof t != "string")
|
|
127
|
+
return null;
|
|
128
|
+
const e = C(t.trim());
|
|
129
|
+
if (!e || !U(e.year, e.month, e.day))
|
|
130
|
+
return null;
|
|
131
|
+
const n = new Date(e.iso);
|
|
132
|
+
return Number.isNaN(n.getTime()) ? null : n;
|
|
133
|
+
}
|
|
134
|
+
function Y(t) {
|
|
135
|
+
const e = K(t);
|
|
136
|
+
return e !== null && e.getTime() === P;
|
|
137
|
+
}
|
|
138
|
+
function O(t, e) {
|
|
139
|
+
if (t.getTime() === P)
|
|
140
|
+
throw new _(`toInstant: ${JSON.stringify(e)} 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.`, d.INVALID_ISO_STRING, { value: e });
|
|
141
|
+
}
|
|
142
|
+
function A(t, e) {
|
|
143
|
+
if (!(t instanceof Date) || Number.isNaN(t.getTime()))
|
|
144
|
+
throw new _(`${e} must be a valid Date`, d.INVALID_DATE, { value: t });
|
|
34
145
|
}
|
|
35
|
-
function
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
146
|
+
function D(t, e) {
|
|
147
|
+
return A(t, "compareInstants(a)"), A(e, "compareInstants(b)"), t.getTime() - e.getTime();
|
|
148
|
+
}
|
|
149
|
+
function Q(t) {
|
|
150
|
+
if (typeof t == "number") {
|
|
151
|
+
if (!Number.isFinite(t))
|
|
152
|
+
throw new _(`toInstant: epoch milliseconds must be a finite number, got ${t}`, d.INVALID_DATE, { value: t });
|
|
153
|
+
const o = new Date(t);
|
|
154
|
+
return A(o, "toInstant(value)"), O(o, t), o;
|
|
155
|
+
}
|
|
156
|
+
if (typeof t != "string" || t.trim() === "")
|
|
157
|
+
throw new _(`toInstant: a UTC ISO timestamp or epoch ms is required, got ${JSON.stringify(t)}`, typeof t == "string" ? d.INVALID_ISO_STRING : d.INVALID_DATE, { value: t });
|
|
158
|
+
const e = C(t);
|
|
159
|
+
if (!e)
|
|
160
|
+
throw H.test(t) ? new _(`toInstant: ${JSON.stringify(t)} 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.`, d.MISSING_TIMEZONE, { value: t }) : new _(`toInstant: not an ISO-8601 timestamp: ${JSON.stringify(t)}`, d.INVALID_ISO_STRING, { value: t });
|
|
161
|
+
const { year: n, month: i, day: s } = e;
|
|
162
|
+
if (!U(n, i, s))
|
|
163
|
+
throw new _(`toInstant: ${n}-${i}-${s} is not a real calendar date: ${JSON.stringify(t)}`, d.INVALID_ISO_STRING, { value: t });
|
|
164
|
+
const r = new Date(e.iso);
|
|
165
|
+
if (Number.isNaN(r.getTime()))
|
|
166
|
+
throw new _(`toInstant: ISO-8601 shaped but not a real instant: ${JSON.stringify(t)}`, d.INVALID_ISO_STRING, { value: t });
|
|
167
|
+
return O(r, t), r;
|
|
168
|
+
}
|
|
169
|
+
function $(t) {
|
|
170
|
+
if (t == null || typeof t == "string" && t.trim() === "" || Y(t))
|
|
171
|
+
return null;
|
|
172
|
+
try {
|
|
173
|
+
return Q(t);
|
|
174
|
+
} catch {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
function le(t) {
|
|
179
|
+
return t.replace(/</g, "\\u003c").replace(/>/g, "\\u003e").replace(/&/g, "\\u0026");
|
|
180
|
+
}
|
|
181
|
+
function S(t, e) {
|
|
182
|
+
if (!t) return null;
|
|
183
|
+
const n = new Date(t);
|
|
184
|
+
if (isNaN(n.getTime())) return null;
|
|
185
|
+
const i = {
|
|
40
186
|
year: "numeric",
|
|
41
187
|
month: "2-digit",
|
|
42
188
|
day: "2-digit",
|
|
@@ -48,167 +194,171 @@ function v(i, t) {
|
|
|
48
194
|
};
|
|
49
195
|
let s;
|
|
50
196
|
try {
|
|
51
|
-
s = new Intl.DateTimeFormat("en-US", { ...
|
|
197
|
+
s = new Intl.DateTimeFormat("en-US", { ...i, timeZone: e });
|
|
52
198
|
} catch {
|
|
53
199
|
s = new Intl.DateTimeFormat("en-US", {
|
|
54
|
-
...
|
|
55
|
-
timeZone:
|
|
200
|
+
...i,
|
|
201
|
+
timeZone: E()
|
|
56
202
|
});
|
|
57
203
|
}
|
|
58
|
-
const
|
|
59
|
-
let
|
|
60
|
-
if (
|
|
61
|
-
const
|
|
62
|
-
if (
|
|
63
|
-
const
|
|
64
|
-
|
|
204
|
+
const r = s.formatToParts(n), o = (g) => r.find((T) => T.type === g)?.value || "", c = o("year"), u = o("month"), a = o("day"), m = o("hour"), l = o("minute"), h = o("second"), f = o("timeZoneName");
|
|
205
|
+
let y = "+00:00";
|
|
206
|
+
if (f) {
|
|
207
|
+
const g = f.match(/GMT([+-])(\d+)(?::(\d+))?/);
|
|
208
|
+
if (g) {
|
|
209
|
+
const T = g[1], G = g[2].padStart(2, "0"), q = g[3] || "00";
|
|
210
|
+
y = `${T}${G}:${q}`;
|
|
65
211
|
}
|
|
66
212
|
}
|
|
67
|
-
return `${
|
|
213
|
+
return `${c}-${u}-${a}T${m}:${l}:${h}${y}`;
|
|
68
214
|
}
|
|
69
|
-
function
|
|
70
|
-
if (!
|
|
71
|
-
const
|
|
72
|
-
if (
|
|
215
|
+
function X(t) {
|
|
216
|
+
if (!t) return null;
|
|
217
|
+
const e = t.split(",").map((s) => s.trim());
|
|
218
|
+
if (e.length < 2)
|
|
73
219
|
return {
|
|
74
220
|
"@type": "PostalAddress",
|
|
75
|
-
streetAddress:
|
|
221
|
+
streetAddress: t,
|
|
76
222
|
addressCountry: "US"
|
|
77
223
|
};
|
|
78
|
-
const
|
|
79
|
-
return
|
|
224
|
+
const i = e[e.length - 1].match(/^([A-Z]{2})\s+(\d{5}(?:-\d{4})?)$/);
|
|
225
|
+
return i && e.length >= 3 ? {
|
|
80
226
|
"@type": "PostalAddress",
|
|
81
|
-
streetAddress:
|
|
82
|
-
addressLocality:
|
|
83
|
-
addressRegion:
|
|
84
|
-
postalCode:
|
|
227
|
+
streetAddress: e.slice(0, -2).join(", "),
|
|
228
|
+
addressLocality: e[e.length - 2],
|
|
229
|
+
addressRegion: i[1],
|
|
230
|
+
postalCode: i[2],
|
|
85
231
|
addressCountry: "US"
|
|
86
232
|
} : {
|
|
87
233
|
"@type": "PostalAddress",
|
|
88
|
-
streetAddress:
|
|
89
|
-
addressLocality:
|
|
234
|
+
streetAddress: e[0],
|
|
235
|
+
addressLocality: e.slice(1).join(", "),
|
|
90
236
|
addressCountry: "US"
|
|
91
237
|
};
|
|
92
238
|
}
|
|
93
|
-
function
|
|
94
|
-
if (
|
|
95
|
-
const
|
|
96
|
-
return
|
|
239
|
+
function Z(t, e) {
|
|
240
|
+
if (t && (t.city || t.state || t.postalCode)) {
|
|
241
|
+
const n = { "@type": "PostalAddress" };
|
|
242
|
+
return t.address && (n.streetAddress = t.address), t.city && (n.addressLocality = t.city), t.state && (n.addressRegion = t.state), t.postalCode && (n.postalCode = t.postalCode), n.addressCountry = t.country || "US", n;
|
|
97
243
|
}
|
|
98
|
-
return
|
|
244
|
+
return X(t && t.address || e || null);
|
|
99
245
|
}
|
|
100
|
-
function
|
|
101
|
-
if (!
|
|
102
|
-
const
|
|
103
|
-
return
|
|
246
|
+
function R(t) {
|
|
247
|
+
if (!t) return "https://schema.org/EventScheduled";
|
|
248
|
+
const e = t.toLowerCase();
|
|
249
|
+
return e === "cancelled" || e === "canceled" ? "https://schema.org/EventCancelled" : e === "postponed" ? "https://schema.org/EventPostponed" : e === "rescheduled" ? "https://schema.org/EventRescheduled" : "https://schema.org/EventScheduled";
|
|
104
250
|
}
|
|
105
|
-
function
|
|
106
|
-
if ((
|
|
251
|
+
function ee(t) {
|
|
252
|
+
if ((t.remainingCapacity ?? t.quantityRemaining ?? t.quantity) === 0 || t.soldOut)
|
|
107
253
|
return "https://schema.org/SoldOut";
|
|
108
|
-
const
|
|
109
|
-
|
|
254
|
+
const n = w(), i = $(
|
|
255
|
+
t.salesBegin || t.salesStart || t.saleBegin || t.onSaleStart
|
|
256
|
+
), s = $(
|
|
257
|
+
t.salesEnd || t.saleEnd || t.onSaleEnd
|
|
258
|
+
);
|
|
259
|
+
return i && D(i, n) > 0 ? "https://schema.org/PreOrder" : s && D(s, n) < 0 ? "https://schema.org/SoldOut" : "https://schema.org/InStock";
|
|
110
260
|
}
|
|
111
|
-
function
|
|
112
|
-
return
|
|
261
|
+
function b(t, e, n, i = {}) {
|
|
262
|
+
return t !== e ? {
|
|
113
263
|
"@type": "AggregateOffer",
|
|
114
|
-
lowPrice:
|
|
115
|
-
highPrice:
|
|
264
|
+
lowPrice: t,
|
|
265
|
+
highPrice: e,
|
|
116
266
|
priceCurrency: "USD",
|
|
117
|
-
availability:
|
|
118
|
-
...
|
|
267
|
+
availability: n,
|
|
268
|
+
...i
|
|
119
269
|
} : {
|
|
120
270
|
"@type": "Offer",
|
|
121
|
-
price:
|
|
271
|
+
price: t,
|
|
122
272
|
priceCurrency: "USD",
|
|
123
|
-
availability:
|
|
124
|
-
...
|
|
273
|
+
availability: n,
|
|
274
|
+
...i
|
|
125
275
|
};
|
|
126
276
|
}
|
|
127
|
-
function
|
|
128
|
-
if (!
|
|
129
|
-
const
|
|
130
|
-
const u =
|
|
131
|
-
return
|
|
277
|
+
function te(t, e) {
|
|
278
|
+
if (!t || t.length === 0) return null;
|
|
279
|
+
const n = t.filter((c) => {
|
|
280
|
+
const u = c.visibility ?? 0, a = u === 0 || u === 1, m = c.salesChannel !== 2;
|
|
281
|
+
return a && m;
|
|
132
282
|
});
|
|
133
|
-
if (e.length === 0) return null;
|
|
134
|
-
const n = e.map((l) => parseFloat(String(l.price ?? 0))).filter((l) => !isNaN(l));
|
|
135
283
|
if (n.length === 0) return null;
|
|
136
|
-
const
|
|
137
|
-
return
|
|
284
|
+
const i = n.map((c) => parseFloat(String(c.price ?? 0))).filter((c) => !isNaN(c));
|
|
285
|
+
if (i.length === 0) return null;
|
|
286
|
+
const s = Math.min(...i), r = Math.max(...i), o = n[0];
|
|
287
|
+
return b(
|
|
138
288
|
s,
|
|
139
|
-
|
|
140
|
-
|
|
289
|
+
r,
|
|
290
|
+
ee(o),
|
|
141
291
|
{
|
|
142
|
-
url:
|
|
143
|
-
validFrom:
|
|
292
|
+
url: e || void 0,
|
|
293
|
+
validFrom: o?.salesBegin || o?.salesStart || void 0
|
|
144
294
|
}
|
|
145
295
|
);
|
|
146
296
|
}
|
|
147
|
-
function
|
|
148
|
-
if (!
|
|
149
|
-
const
|
|
150
|
-
const
|
|
151
|
-
return
|
|
297
|
+
function ne(t) {
|
|
298
|
+
if (!t || t.length === 0) return null;
|
|
299
|
+
const e = t.filter((n) => {
|
|
300
|
+
const i = n.acceptedState === 2, s = !n.shouldBeHidden, r = n.RosterPerformer?.User?.performerProfile, o = r?.firstName || r?.lastName || r?.displayName;
|
|
301
|
+
return i && s && o;
|
|
152
302
|
});
|
|
153
|
-
return
|
|
154
|
-
const
|
|
303
|
+
return e.length === 0 ? null : e.map((n) => {
|
|
304
|
+
const i = n.RosterPerformer?.User?.performerProfile;
|
|
155
305
|
return {
|
|
156
306
|
"@type": "PerformingGroup",
|
|
157
|
-
name:
|
|
307
|
+
name: i?.displayName || [i?.firstName, i?.lastName].filter(Boolean).join(" ")
|
|
158
308
|
};
|
|
159
309
|
});
|
|
160
310
|
}
|
|
161
|
-
function
|
|
311
|
+
function ie(t) {
|
|
162
312
|
const {
|
|
163
|
-
event:
|
|
164
|
-
venue:
|
|
165
|
-
venueTimeZone:
|
|
313
|
+
event: e,
|
|
314
|
+
venue: n,
|
|
315
|
+
venueTimeZone: i = E(),
|
|
166
316
|
eventUrl: s,
|
|
167
|
-
organizer:
|
|
168
|
-
} =
|
|
169
|
-
if (!
|
|
170
|
-
const
|
|
171
|
-
|
|
172
|
-
|
|
317
|
+
organizer: r
|
|
318
|
+
} = t;
|
|
319
|
+
if (!e) return null;
|
|
320
|
+
const o = S(
|
|
321
|
+
e.startDateTime,
|
|
322
|
+
i
|
|
173
323
|
);
|
|
174
|
-
if (!
|
|
324
|
+
if (!e.name || !o || !n?.name)
|
|
175
325
|
return null;
|
|
176
|
-
const
|
|
177
|
-
|
|
178
|
-
|
|
326
|
+
const c = Z(
|
|
327
|
+
n,
|
|
328
|
+
n?.googleLocationNameCache
|
|
179
329
|
), u = {
|
|
180
330
|
"@type": "Place",
|
|
181
|
-
name:
|
|
331
|
+
name: n.name
|
|
182
332
|
};
|
|
183
|
-
|
|
184
|
-
const
|
|
333
|
+
c && (u.address = c);
|
|
334
|
+
const a = {
|
|
185
335
|
"@context": "https://schema.org",
|
|
186
336
|
"@type": "Event",
|
|
187
|
-
name:
|
|
188
|
-
startDate:
|
|
189
|
-
eventStatus:
|
|
337
|
+
name: e.name,
|
|
338
|
+
startDate: o,
|
|
339
|
+
eventStatus: R(e.status),
|
|
190
340
|
eventAttendanceMode: "https://schema.org/OfflineEventAttendanceMode",
|
|
191
341
|
location: u
|
|
192
|
-
}, m =
|
|
193
|
-
m && (
|
|
194
|
-
const
|
|
195
|
-
|
|
196
|
-
const h =
|
|
197
|
-
h && (
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
const
|
|
201
|
-
if (
|
|
202
|
-
const
|
|
342
|
+
}, m = S(e.endDateTime, i);
|
|
343
|
+
m && (a.endDate = m);
|
|
344
|
+
const l = I(e.description) || e.eventSummary;
|
|
345
|
+
l && (a.description = l);
|
|
346
|
+
const h = e.image || e.coverImage || e.ShowImage;
|
|
347
|
+
h && (a.image = [h]);
|
|
348
|
+
const f = te(e.availableTickets, s);
|
|
349
|
+
f && (a.offers = f);
|
|
350
|
+
const y = ne(e.performers);
|
|
351
|
+
if (y && y.length > 0 && (a.performer = y), r?.name) {
|
|
352
|
+
const g = {
|
|
203
353
|
"@type": "Organization",
|
|
204
|
-
name:
|
|
354
|
+
name: r.name
|
|
205
355
|
};
|
|
206
|
-
|
|
356
|
+
r.url && (g.url = r.url), a.organizer = g;
|
|
207
357
|
}
|
|
208
|
-
return s && (
|
|
358
|
+
return s && (a.url = s), a;
|
|
209
359
|
}
|
|
210
|
-
function
|
|
211
|
-
switch (
|
|
360
|
+
function se(t) {
|
|
361
|
+
switch (t) {
|
|
212
362
|
case "available":
|
|
213
363
|
return "https://schema.org/InStock";
|
|
214
364
|
case "sold_out":
|
|
@@ -221,208 +371,205 @@ function x(i) {
|
|
|
221
371
|
return "https://schema.org/InStock";
|
|
222
372
|
}
|
|
223
373
|
}
|
|
224
|
-
function
|
|
225
|
-
if (!
|
|
226
|
-
const
|
|
374
|
+
function re(t, e) {
|
|
375
|
+
if (!t || t.length === 0) return null;
|
|
376
|
+
const n = t.filter(
|
|
227
377
|
(s) => s.status !== "sold_out" && s.status !== "ended"
|
|
228
378
|
);
|
|
229
|
-
if (
|
|
230
|
-
const s =
|
|
231
|
-
return s.length === 0 ? null :
|
|
379
|
+
if (n.length === 0) {
|
|
380
|
+
const s = t.map((r) => r.price).filter((r) => !isNaN(r));
|
|
381
|
+
return s.length === 0 ? null : b(
|
|
232
382
|
Math.min(...s),
|
|
233
383
|
Math.max(...s),
|
|
234
384
|
"https://schema.org/SoldOut"
|
|
235
385
|
);
|
|
236
386
|
}
|
|
237
|
-
const
|
|
238
|
-
return
|
|
239
|
-
Math.min(...
|
|
240
|
-
Math.max(...
|
|
241
|
-
|
|
387
|
+
const i = n.map((s) => s.price).filter((s) => !isNaN(s));
|
|
388
|
+
return i.length === 0 ? null : b(
|
|
389
|
+
Math.min(...i),
|
|
390
|
+
Math.max(...i),
|
|
391
|
+
se(n[0].status)
|
|
242
392
|
);
|
|
243
393
|
}
|
|
244
|
-
function
|
|
245
|
-
const { series:
|
|
246
|
-
if (!
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
394
|
+
function oe(t) {
|
|
395
|
+
const { series: e, baseEventUrl: n } = t;
|
|
396
|
+
if (!e.title || !e.occurrences || e.occurrences.length === 0 || !e.venue?.name) return null;
|
|
397
|
+
const i = Z(
|
|
398
|
+
e.venue,
|
|
399
|
+
e.venue.googleLocationNameCache
|
|
250
400
|
), s = {
|
|
251
401
|
"@type": "Place",
|
|
252
|
-
name:
|
|
402
|
+
name: e.venue.name
|
|
253
403
|
};
|
|
254
|
-
|
|
255
|
-
const
|
|
404
|
+
i && (s.address = i);
|
|
405
|
+
const r = {
|
|
256
406
|
"@context": "https://schema.org",
|
|
257
407
|
"@type": "EventSeries",
|
|
258
|
-
name:
|
|
408
|
+
name: e.title,
|
|
259
409
|
location: s
|
|
260
|
-
},
|
|
261
|
-
|
|
262
|
-
const
|
|
263
|
-
|
|
410
|
+
}, o = I(e.description) || e.eventSummary;
|
|
411
|
+
o && (r.description = o), e.image && (r.image = [e.image]);
|
|
412
|
+
const c = e.performers?.filter((a) => a.displayName);
|
|
413
|
+
c && c.length > 0 && (r.performer = c.map((a) => ({
|
|
264
414
|
"@type": "PerformingGroup",
|
|
265
|
-
name:
|
|
415
|
+
name: a.displayName
|
|
266
416
|
})));
|
|
267
417
|
const u = [];
|
|
268
|
-
for (const
|
|
269
|
-
const m =
|
|
270
|
-
|
|
271
|
-
|
|
418
|
+
for (const a of e.occurrences) {
|
|
419
|
+
const m = S(
|
|
420
|
+
a.startDateTime,
|
|
421
|
+
e.timeZone
|
|
272
422
|
);
|
|
273
423
|
if (!m) continue;
|
|
274
|
-
const
|
|
424
|
+
const l = {
|
|
275
425
|
"@type": "Event",
|
|
276
|
-
name:
|
|
426
|
+
name: a.title,
|
|
277
427
|
startDate: m,
|
|
278
|
-
eventStatus:
|
|
428
|
+
eventStatus: R(a.status),
|
|
279
429
|
location: s
|
|
280
430
|
};
|
|
281
|
-
|
|
282
|
-
const h =
|
|
283
|
-
h && (
|
|
284
|
-
const
|
|
285
|
-
|
|
286
|
-
}
|
|
287
|
-
return u.length === 0 ? null : (
|
|
288
|
-
}
|
|
289
|
-
function
|
|
290
|
-
const { collection:
|
|
291
|
-
if (!
|
|
292
|
-
const
|
|
293
|
-
for (const
|
|
294
|
-
if (!
|
|
295
|
-
const
|
|
431
|
+
n && (l["@id"] = `${n}/${a.id}-${a.slug}`);
|
|
432
|
+
const h = S(a.endDateTime, e.timeZone);
|
|
433
|
+
h && (l.endDate = h);
|
|
434
|
+
const f = re(a.tickets, a.status);
|
|
435
|
+
f && (l.offers = f), u.push(l);
|
|
436
|
+
}
|
|
437
|
+
return u.length === 0 ? null : (r.subEvent = u, r);
|
|
438
|
+
}
|
|
439
|
+
function ae(t) {
|
|
440
|
+
const { collection: e, baseEventUrl: n } = t;
|
|
441
|
+
if (!e.collectionTitle || !e.events || e.events.length === 0) return null;
|
|
442
|
+
const i = [];
|
|
443
|
+
for (const o of e.events) {
|
|
444
|
+
if (!o.title) continue;
|
|
445
|
+
const c = {
|
|
296
446
|
"@type": "ListItem",
|
|
297
|
-
position:
|
|
298
|
-
name:
|
|
447
|
+
position: i.length + 1,
|
|
448
|
+
name: o.title
|
|
299
449
|
};
|
|
300
|
-
|
|
450
|
+
n && (c.url = o.slug ? `${n}/${o.id}-${o.slug}` : `${n}/${o.id}`), i.push(c);
|
|
301
451
|
}
|
|
302
|
-
if (
|
|
452
|
+
if (i.length === 0) return null;
|
|
303
453
|
const s = {
|
|
304
454
|
"@context": "https://schema.org",
|
|
305
455
|
"@type": "CollectionPage",
|
|
306
|
-
name:
|
|
307
|
-
},
|
|
308
|
-
return
|
|
456
|
+
name: e.collectionTitle
|
|
457
|
+
}, r = I(e.description) || e.summary;
|
|
458
|
+
return r && (s.description = r), e.coverImage && (s.image = [e.coverImage]), s.mainEntity = {
|
|
309
459
|
"@type": "ItemList",
|
|
310
|
-
numberOfItems:
|
|
311
|
-
itemListElement:
|
|
460
|
+
numberOfItems: i.length,
|
|
461
|
+
itemListElement: i
|
|
312
462
|
}, s;
|
|
313
463
|
}
|
|
314
|
-
const
|
|
315
|
-
function
|
|
316
|
-
return
|
|
464
|
+
const ce = 70;
|
|
465
|
+
function N(t) {
|
|
466
|
+
return t.normalize("NFKD").replace(/[\u0300-\u036f]/g, "").toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "").slice(0, ce).replace(/-+$/g, "");
|
|
317
467
|
}
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
const f = class f {
|
|
322
|
-
constructor(t) {
|
|
323
|
-
this._state = "idle", this._originals = null, this._originalsSaved = !1, this._events = [], !(typeof document > "u") && (f._activeInstance && f._activeInstance !== this && f._activeInstance.destroy(), this._venueName = t.venueName, this._venueAddress = t.venueAddress, this._venueTimeZone = t.venueTimeZone || A(), this._baseUrl = t.baseUrl || window.location.origin + window.location.pathname, this._saveOriginals(), f._activeInstance = this);
|
|
468
|
+
const p = class p {
|
|
469
|
+
constructor(e) {
|
|
470
|
+
this._state = "idle", this._originals = null, this._originalsSaved = !1, this._events = [], !(typeof document > "u") && (p._activeInstance && p._activeInstance !== this && p._activeInstance.destroy(), this._venueName = e.venueName, this._venueAddress = e.venueAddress, this._venueTimeZone = e.venueTimeZone || E(), this._baseUrl = e.baseUrl || window.location.origin + window.location.pathname, this._saveOriginals(), p._activeInstance = this);
|
|
324
471
|
}
|
|
325
472
|
// ---------------------------------------------------------------------------
|
|
326
473
|
// Private helpers
|
|
327
474
|
// ---------------------------------------------------------------------------
|
|
328
475
|
_saveOriginals() {
|
|
329
476
|
if (this._originalsSaved) return;
|
|
330
|
-
const
|
|
477
|
+
const e = document.querySelector(
|
|
331
478
|
'link[rel="canonical"]'
|
|
332
|
-
), e = document.querySelector(
|
|
333
|
-
'meta[property="og:title"]'
|
|
334
479
|
), n = document.querySelector(
|
|
480
|
+
'meta[property="og:title"]'
|
|
481
|
+
), i = document.querySelector(
|
|
335
482
|
'meta[property="og:description"]'
|
|
336
483
|
), s = document.querySelector(
|
|
337
484
|
'meta[property="og:image"]'
|
|
338
|
-
),
|
|
485
|
+
), r = document.querySelector(
|
|
339
486
|
'meta[property="og:url"]'
|
|
340
|
-
),
|
|
487
|
+
), o = document.querySelector(
|
|
341
488
|
'meta[property="og:type"]'
|
|
342
|
-
),
|
|
489
|
+
), c = document.querySelector(
|
|
343
490
|
'meta[name="description"]'
|
|
344
491
|
);
|
|
345
492
|
this._originals = {
|
|
346
493
|
title: document.title,
|
|
347
|
-
canonicalHref:
|
|
348
|
-
ogTitle:
|
|
349
|
-
ogDescription:
|
|
494
|
+
canonicalHref: e?.getAttribute("href") ?? null,
|
|
495
|
+
ogTitle: n?.getAttribute("content") ?? null,
|
|
496
|
+
ogDescription: i?.getAttribute("content") ?? null,
|
|
350
497
|
ogImage: s?.getAttribute("content") ?? null,
|
|
351
|
-
ogUrl:
|
|
352
|
-
ogType:
|
|
353
|
-
metaDescription:
|
|
498
|
+
ogUrl: r?.getAttribute("content") ?? null,
|
|
499
|
+
ogType: o?.getAttribute("content") ?? null,
|
|
500
|
+
metaDescription: c?.getAttribute("content") ?? null
|
|
354
501
|
}, this._originalsSaved = !0;
|
|
355
502
|
}
|
|
356
|
-
_injectJsonLd(
|
|
503
|
+
_injectJsonLd(e) {
|
|
357
504
|
if (typeof document > "u") return;
|
|
358
|
-
document.querySelectorAll('script[data-micdrop="jsonld"]').forEach((
|
|
359
|
-
const
|
|
360
|
-
|
|
505
|
+
document.querySelectorAll('script[data-micdrop="jsonld"]').forEach((i) => i.remove());
|
|
506
|
+
const n = document.createElement("script");
|
|
507
|
+
n.setAttribute("type", "application/ld+json"), n.setAttribute("data-micdrop", "jsonld"), n.textContent = JSON.stringify(e), document.head.appendChild(n);
|
|
361
508
|
}
|
|
362
|
-
_setMeta(
|
|
509
|
+
_setMeta(e, n) {
|
|
363
510
|
if (!(typeof document > "u"))
|
|
364
|
-
if (
|
|
365
|
-
let
|
|
366
|
-
`meta[property="${
|
|
511
|
+
if (e.startsWith("og:")) {
|
|
512
|
+
let i = document.querySelector(
|
|
513
|
+
`meta[property="${e}"]`
|
|
367
514
|
);
|
|
368
|
-
|
|
515
|
+
i ? i.setAttribute("content", n) : (i = document.createElement("meta"), i.setAttribute("property", e), i.setAttribute("content", n), i.setAttribute("data-micdrop", "og"), document.head.appendChild(i));
|
|
369
516
|
} else {
|
|
370
|
-
let
|
|
371
|
-
`meta[name="${
|
|
517
|
+
let i = document.querySelector(
|
|
518
|
+
`meta[name="${e}"]`
|
|
372
519
|
);
|
|
373
|
-
|
|
520
|
+
i ? i.setAttribute("content", n) : (i = document.createElement("meta"), i.setAttribute("name", e), i.setAttribute("content", n), i.setAttribute("data-micdrop", "meta"), document.head.appendChild(i));
|
|
374
521
|
}
|
|
375
522
|
}
|
|
376
|
-
_setCanonical(
|
|
523
|
+
_setCanonical(e) {
|
|
377
524
|
if (typeof document > "u") return;
|
|
378
|
-
let
|
|
525
|
+
let n = document.querySelector(
|
|
379
526
|
'link[rel="canonical"]'
|
|
380
527
|
);
|
|
381
|
-
|
|
528
|
+
n ? n.setAttribute("href", e) : (n = document.createElement("link"), n.setAttribute("rel", "canonical"), n.setAttribute("href", e), n.setAttribute("data-micdrop", "canonical"), document.head.appendChild(n));
|
|
382
529
|
}
|
|
383
530
|
_removeAllInjected() {
|
|
384
|
-
typeof document > "u" || document.querySelectorAll("[data-micdrop]").forEach((
|
|
531
|
+
typeof document > "u" || document.querySelectorAll("[data-micdrop]").forEach((e) => e.remove());
|
|
385
532
|
}
|
|
386
533
|
_restoreOriginals() {
|
|
387
534
|
if (!(typeof document > "u" || !this._originals)) {
|
|
388
535
|
if (document.title = this._originals.title, this._originals.canonicalHref !== null) {
|
|
389
|
-
const
|
|
536
|
+
const e = document.querySelector(
|
|
390
537
|
'link[rel="canonical"]'
|
|
391
538
|
);
|
|
392
|
-
|
|
539
|
+
e && e.setAttribute("href", this._originals.canonicalHref);
|
|
393
540
|
}
|
|
394
541
|
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;
|
|
395
542
|
}
|
|
396
543
|
}
|
|
397
|
-
_restoreMetaProperty(
|
|
398
|
-
const
|
|
399
|
-
`meta[property="${
|
|
544
|
+
_restoreMetaProperty(e, n) {
|
|
545
|
+
const i = document.querySelector(
|
|
546
|
+
`meta[property="${e}"]`
|
|
400
547
|
);
|
|
401
|
-
|
|
548
|
+
n !== null && i ? i.setAttribute("content", n) : n === null && i?.hasAttribute("data-micdrop") && i.remove();
|
|
402
549
|
}
|
|
403
|
-
_restoreMetaName(
|
|
404
|
-
const
|
|
405
|
-
`meta[name="${
|
|
550
|
+
_restoreMetaName(e, n) {
|
|
551
|
+
const i = document.querySelector(
|
|
552
|
+
`meta[name="${e}"]`
|
|
406
553
|
);
|
|
407
|
-
|
|
554
|
+
n !== null && i ? i.setAttribute("content", n) : n === null && i?.hasAttribute("data-micdrop") && i.remove();
|
|
408
555
|
}
|
|
409
|
-
_buildItemList(
|
|
556
|
+
_buildItemList(e) {
|
|
410
557
|
return {
|
|
411
558
|
"@context": "https://schema.org",
|
|
412
559
|
"@type": "ItemList",
|
|
413
|
-
itemListElement:
|
|
414
|
-
const s =
|
|
560
|
+
itemListElement: e.map((n, i) => {
|
|
561
|
+
const s = n.slug || N(n.name || "");
|
|
415
562
|
return {
|
|
416
563
|
"@type": "ListItem",
|
|
417
|
-
position:
|
|
418
|
-
url: `${this._baseUrl}?e=${
|
|
564
|
+
position: i + 1,
|
|
565
|
+
url: `${this._baseUrl}?e=${n.id}-${s}`
|
|
419
566
|
};
|
|
420
567
|
})
|
|
421
568
|
};
|
|
422
569
|
}
|
|
423
|
-
_buildEntityUrl(
|
|
424
|
-
const s =
|
|
425
|
-
return `${this._baseUrl}?${s}=${
|
|
570
|
+
_buildEntityUrl(e, n, i) {
|
|
571
|
+
const s = e === "event" ? "e" : e === "series" ? "s" : "c";
|
|
572
|
+
return `${this._baseUrl}?${s}=${n}-${i}`;
|
|
426
573
|
}
|
|
427
574
|
// ---------------------------------------------------------------------------
|
|
428
575
|
// Public API
|
|
@@ -431,75 +578,75 @@ const f = class f {
|
|
|
431
578
|
* Called when events finish loading from the API.
|
|
432
579
|
* Injects an ItemList JSON-LD for the listing. Does not modify OG/canonical/title.
|
|
433
580
|
*/
|
|
434
|
-
onEventsLoaded(
|
|
581
|
+
onEventsLoaded(e, n) {
|
|
435
582
|
if (typeof document > "u" || this._state === "destroyed") return;
|
|
436
|
-
if (
|
|
437
|
-
this._venueName =
|
|
438
|
-
const s =
|
|
583
|
+
if (n) {
|
|
584
|
+
this._venueName = n.name || this._venueName, this._venueAddress = n.address || n.googleLocationNameCache || this._venueAddress;
|
|
585
|
+
const s = n.timeZone || n.timezone;
|
|
439
586
|
s && (this._venueTimeZone = s);
|
|
440
587
|
}
|
|
441
|
-
this._events =
|
|
442
|
-
const
|
|
443
|
-
this._injectJsonLd(
|
|
588
|
+
this._events = e;
|
|
589
|
+
const i = this._buildItemList(e);
|
|
590
|
+
this._injectJsonLd(i), this._state = "listing";
|
|
444
591
|
}
|
|
445
592
|
/**
|
|
446
593
|
* Called when the user selects an event, series, or collection.
|
|
447
594
|
* Replaces ItemList JSON-LD with entity-specific JSON-LD and updates
|
|
448
595
|
* all head tags (canonical, OG, meta description, title).
|
|
449
596
|
*/
|
|
450
|
-
onEntitySelected(
|
|
597
|
+
onEntitySelected(e, n, i) {
|
|
451
598
|
if (typeof document > "u" || this._state === "destroyed") return;
|
|
452
|
-
if (this._saveOriginals(),
|
|
453
|
-
this._venueName =
|
|
454
|
-
const
|
|
455
|
-
|
|
599
|
+
if (this._saveOriginals(), i) {
|
|
600
|
+
this._venueName = i.name || this._venueName, this._venueAddress = i.address || i.googleLocationNameCache || this._venueAddress;
|
|
601
|
+
const l = i.timeZone || i.timezone;
|
|
602
|
+
l && (this._venueTimeZone = l);
|
|
456
603
|
}
|
|
457
|
-
let s = null,
|
|
458
|
-
if (
|
|
459
|
-
const
|
|
460
|
-
|
|
604
|
+
let s = null, r = "", o = "", c = "", u = "", a = "";
|
|
605
|
+
if (e === "event") {
|
|
606
|
+
const l = n.slug || N(n.name || "");
|
|
607
|
+
a = this._buildEntityUrl(
|
|
461
608
|
"event",
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
), s =
|
|
465
|
-
event:
|
|
609
|
+
n.id || n.eventID || "",
|
|
610
|
+
l
|
|
611
|
+
), s = ie({
|
|
612
|
+
event: n,
|
|
466
613
|
venue: {
|
|
467
614
|
name: this._venueName,
|
|
468
615
|
googleLocationNameCache: this._venueAddress
|
|
469
616
|
},
|
|
470
617
|
venueTimeZone: this._venueTimeZone,
|
|
471
|
-
eventUrl:
|
|
472
|
-
}),
|
|
473
|
-
} else if (
|
|
474
|
-
const
|
|
475
|
-
|
|
618
|
+
eventUrl: a
|
|
619
|
+
}), r = n.name || "", o = n.description || "", c = n.eventSummary || "", u = n.image || n.coverImage || n.ShowImage || "";
|
|
620
|
+
} else if (e === "series") {
|
|
621
|
+
const l = n.slug || N(n.title || "");
|
|
622
|
+
a = this._buildEntityUrl("series", n.id || "", l), s = oe({
|
|
476
623
|
series: {
|
|
477
|
-
...
|
|
624
|
+
...n,
|
|
478
625
|
venue: {
|
|
479
626
|
name: this._venueName,
|
|
480
627
|
googleLocationNameCache: this._venueAddress
|
|
481
628
|
},
|
|
482
629
|
timeZone: this._venueTimeZone
|
|
483
630
|
},
|
|
484
|
-
baseEventUrl:
|
|
485
|
-
}),
|
|
486
|
-
} else if (
|
|
487
|
-
const
|
|
488
|
-
|
|
489
|
-
collection:
|
|
490
|
-
baseEventUrl:
|
|
631
|
+
baseEventUrl: a
|
|
632
|
+
}), r = n.title || "", o = n.description || "", c = n.eventSummary || "", u = n.image || "";
|
|
633
|
+
} else if (e === "collection") {
|
|
634
|
+
const l = n.slug || N(n.collectionTitle || "");
|
|
635
|
+
a = this._buildEntityUrl("collection", n.id || "", l), s = ae({
|
|
636
|
+
collection: n,
|
|
637
|
+
baseEventUrl: a,
|
|
491
638
|
defaultTimeZone: this._venueTimeZone
|
|
492
|
-
}),
|
|
639
|
+
}), r = n.collectionTitle || "", o = n.description || "", c = n.summary || "", u = n.coverImage || "";
|
|
493
640
|
}
|
|
494
|
-
s && this._injectJsonLd(s),
|
|
495
|
-
const m =
|
|
641
|
+
s && this._injectJsonLd(s), a && this._setCanonical(a), r && this._setMeta("og:title", r);
|
|
642
|
+
const m = I(o, 160) || I(c, 160);
|
|
496
643
|
m ? this._setMeta("og:description", m) : this._restoreMetaProperty(
|
|
497
644
|
"og:description",
|
|
498
645
|
this._originals?.ogDescription ?? null
|
|
499
|
-
), u && this._setMeta("og:image", u),
|
|
646
|
+
), u && this._setMeta("og:image", u), a && this._setMeta("og:url", a), this._setMeta("og:type", "website"), this._setMeta("twitter:card", "summary_large_image"), m ? this._setMeta("description", m) : this._restoreMetaName(
|
|
500
647
|
"description",
|
|
501
648
|
this._originals?.metaDescription ?? null
|
|
502
|
-
),
|
|
649
|
+
), r && (document.title = `${r} | ${this._venueName}`), this._state = "entity";
|
|
503
650
|
}
|
|
504
651
|
/**
|
|
505
652
|
* Called when the user navigates back to the event listing.
|
|
@@ -508,8 +655,8 @@ const f = class f {
|
|
|
508
655
|
onBackToListing() {
|
|
509
656
|
if (!(typeof document > "u") && this._state !== "destroyed") {
|
|
510
657
|
if (this._restoreOriginals(), this._removeAllInjected(), this._events.length > 0) {
|
|
511
|
-
const
|
|
512
|
-
this._injectJsonLd(
|
|
658
|
+
const e = this._buildItemList(this._events);
|
|
659
|
+
this._injectJsonLd(e);
|
|
513
660
|
}
|
|
514
661
|
this._saveOriginals(), this._state = "listing";
|
|
515
662
|
}
|
|
@@ -519,23 +666,23 @@ const f = class f {
|
|
|
519
666
|
* and restores originals. Clears the static active instance.
|
|
520
667
|
*/
|
|
521
668
|
destroy() {
|
|
522
|
-
typeof document > "u" || this._state !== "destroyed" && (this._removeAllInjected(), this._restoreOriginals(),
|
|
669
|
+
typeof document > "u" || this._state !== "destroyed" && (this._removeAllInjected(), this._restoreOriginals(), p._activeInstance === this && (p._activeInstance = null), this._state = "destroyed");
|
|
523
670
|
}
|
|
524
671
|
};
|
|
525
|
-
|
|
526
|
-
let
|
|
672
|
+
p._activeInstance = null;
|
|
673
|
+
let L = p;
|
|
527
674
|
export {
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
675
|
+
L as HostSeoController,
|
|
676
|
+
ae as buildCollectionJsonLd,
|
|
677
|
+
ie as buildEventJsonLd,
|
|
678
|
+
te as buildOffers,
|
|
679
|
+
ne as buildPerformers,
|
|
680
|
+
Z as buildPostalAddress,
|
|
681
|
+
oe as buildSeriesJsonLd,
|
|
682
|
+
le as escapeJsonLdForScript,
|
|
683
|
+
S as formatDateTimeWithOffset,
|
|
684
|
+
R as getEventStatus,
|
|
685
|
+
ee as getTicketAvailability,
|
|
686
|
+
X as parseAddressToPostal
|
|
540
687
|
};
|
|
541
688
|
//# sourceMappingURL=seo.mjs.map
|