@getmicdrop/venue-calendar 4.3.52 → 4.3.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ArrowLeftIcon-BVz8rVy-.js → ArrowLeftIcon-DjqiKzR8.js} +1 -1
- package/dist/{Badge-n7TfNjln.js → Badge-BsWJrQII.js} +8 -7
- package/dist/{BlockPlaceholder-BMor_G7G.js → BlockPlaceholder-CgZr2Euq.js} +2 -2
- package/dist/Button-AZ8OLQqj.js +178 -0
- package/dist/{Button-klwKgfhG.js → Button-B8GiiO44.js} +588 -855
- package/dist/Calendar-CS_RqyU_.js +486 -0
- package/dist/{CalendarFoundryView-Bq547Oiz.js → CalendarFoundryView-D6cytJxm.js} +7218 -10025
- package/dist/{CalendarIcon-B1zQMDYt.js → CalendarIcon-D9Z9YFz6.js} +1 -1
- package/dist/CartView-DTXoQTOC.js +2294 -0
- package/dist/ChartBlock-CaxNJtrg.js +1190 -0
- package/dist/{Checkout-pjUaSvU6.js → Checkout-B8ZkBxF_.js} +66 -65
- package/dist/Checkout-QIxYrkeK.js +1832 -0
- package/dist/{CheckoutTimer-DjYTRwVK.js → CheckoutTimer-CyN-mQCP.js} +5 -4
- package/dist/{ChevronDownIcon-8-uVEhg0.js → ChevronDownIcon-D9I-5bmz.js} +1 -1
- package/dist/ChevronDownOutline-D7YDiKBF.js +13 -0
- package/dist/{ClockIcon-CubuxycE.js → ClockIcon-C7nkbmvv.js} +1 -1
- package/dist/{CloseIcon-pz6eBxlB.js → CloseIcon-DPdjPdoi.js} +1 -1
- package/dist/{CollectionView-CWwhiJHK.js → CollectionView-CkKwCXQj.js} +15 -14
- package/dist/{CropImage-BFtvLjTE.js → CropImage-9r61-nLv.js} +66 -64
- package/dist/EmptyState-DxahojFY.js +53 -0
- package/dist/{Event-Cj5-V360.js → Event-BfWRG4dm.js} +415 -409
- package/dist/EventPage-dCTHvk7P.js +1201 -0
- package/dist/ExclamationCircleOutline-D3XbhOwM.js +13 -0
- package/dist/Grid-kuP6V0GW.js +89 -0
- package/dist/{Heading-D6bWtGZA.js → Heading-CZMbiuFu.js} +2 -1
- package/dist/Input-CDw-j5fQ.js +292 -0
- package/dist/{MailIcon-B4iLV34K.js → MailIcon-C__hyCKr.js} +1 -1
- package/dist/{Modal-DZ8fudB4.js → Modal-D6NKikBr.js} +2 -2
- package/dist/ModalFooter-ngqovl_z.js +377 -0
- package/dist/{ModalHeader-DkKpWKcG.js → ModalHeader-CI7Ev4MQ.js} +2 -2
- package/dist/{PasswordInput-Dd_mQxbp.js → PasswordInput-D3Pwparw.js} +2 -2
- package/dist/PhoneInput-oGG1WJii.js +1568 -0
- package/dist/{RecommendationsRail-D7NWOEEf.js → RecommendationsRail-DPxl9JCm.js} +17 -15
- package/dist/{ScarcityBadge--Rh62z2D.js → ScarcityBadge-BXn6HM_K.js} +24 -24
- package/dist/{SeriesPage-Dx0PFJkE.js → SeriesPage-B7z1yoAK.js} +7 -7
- package/dist/{Spinner-D8dOJe6O.js → Spinner-6UtYyNcF.js} +3 -3
- package/dist/{Success-Fj5TXPWu.js → Success-BzuOliUV.js} +43 -42
- package/dist/{TagIcon-DVXKjStU.js → TagIcon-DwWcRiXS.js} +1 -1
- package/dist/{Textarea-D24kYZAW.js → Textarea-CyfWw1Zf.js} +6 -6
- package/dist/{ViewTicketsEmbed-DByaBHeq.js → ViewTicketsEmbed-BE8iTUF9.js} +31 -30
- package/dist/{WarningCircleIcon-CbNmDN5r.js → WarningCircleIcon-C2fJjhKf.js} +18 -28
- package/dist/{WarningTriIcon-CZPGuEl3.js → WarningTriIcon-OqM9Rfwq.js} +1 -1
- package/dist/action-test-id-DJZiaKrZ.js +145 -0
- package/dist/api/gift-cards.d.ts +11 -2
- package/dist/{api-Cbbszsig.js → api-BsBSvoNj.js} +21 -20
- package/dist/{copyToClipboard-DfqOeS1-.js → copyToClipboard-CL9BmJA4.js} +1 -1
- package/dist/createErrorGate.svelte-DwTTmYou.js +83 -0
- package/dist/{de-DdgY9gjK.js → de-Cx6vl1bo.js} +1 -1
- package/dist/{defaultLabels-C7rJdC-m.js → defaultLabels-BaVkGLw4.js} +431 -605
- package/dist/{defaults-DBpwynsR.js → defaults-BHXY6s4i.js} +2 -2
- package/dist/{event-transform-rUtOP2f0.js → event-transform-oLpmof1H.js} +5 -4
- package/dist/{event-B4F3zifd.js → event-xgg-eiTq.js} +1 -1
- package/dist/{eventStatusStream-CeFdF0pM.js → eventStatusStream-BIxriEut.js} +2 -2
- package/dist/floatingPosition-DXLeLxPY.js +846 -0
- package/dist/{href-C_CnchY7.js → href-DO3HKeJp.js} +3 -3
- package/dist/i18n-8EWq-WHv.js +28 -0
- package/dist/{i18n-CEpacwpz.js → i18n-JpkI3lvS.js} +55 -54
- package/dist/{id-DLwaroVD.js → id-KAEn4B4Q.js} +1 -1
- package/dist/{imageOptimizer-Cf0BbZJ7.js → imageOptimizer-Bb09jR0m.js} +60 -57
- package/dist/{it-CB7RtPbU.js → it-CQcRIzL4.js} +1 -1
- package/dist/{it-BzBtirlA.js → it-DmnGZl3R.js} +2 -2
- package/dist/{ja-Bg0GgXOg.js → ja-BrzmyaoG.js} +1 -1
- package/dist/keyboard-Crrnn87b.js +55 -0
- package/dist/{ko-CTS9jPS0.js → ko-DY6ctJAC.js} +1 -1
- package/dist/locales/4.3.54/flow/it.js +1 -0
- package/dist/locales/4.3.54/main/de.js +1 -0
- package/dist/locales/4.3.54/main/id.js +1 -0
- package/dist/locales/4.3.54/main/it.js +1 -0
- package/dist/locales/{4.3.52 → 4.3.54}/main/ja.js +1 -1
- package/dist/locales/4.3.54/main/ko.js +1 -0
- package/dist/locales/4.3.54/main/pt-br.js +1 -0
- package/dist/locales/4.3.54/main/zh.js +1 -0
- package/dist/{order-totals-c3zn-HDr.js → order-totals-5X0jD77w.js} +4 -4
- package/dist/{orders-DZbxfNI9.js → orders--luy9Lyn.js} +6 -5
- package/dist/{createErrorGate.svelte-Ct8gFqvn.js → phoneUtils-CS66SHie.js} +607 -686
- package/dist/{pixels-CoXwcqE_.js → pixels-FefBmhJt.js} +3 -3
- package/dist/portal-BZBgqs8B.js +98 -0
- package/dist/{promo-X_5x9P0A.js → promo-BNwWtZjP.js} +3 -3
- package/dist/{pt-br-QgRkwqJk.js → pt-br-COrMoRiG.js} +1 -1
- package/dist/{scarcity-Do5MrSwn.js → scarcity-CR1Pa81F.js} +105 -104
- package/dist/seo/HostSeoController.d.ts +92 -1
- package/dist/seo/seo.cjs +1 -1
- package/dist/seo/seo.mjs +39 -6
- package/dist/seo/types.d.ts +13 -0
- package/dist/{serverTotals-6RxxdfwU.js → serverTotals-DeOPPRj6.js} +8 -8
- package/dist/{showcase-state-options-nn-CiCd1.js → showcase-state-options-BGmvUaQ_.js} +1 -1
- package/dist/sizing-CFDo_qh_.js +216 -0
- package/dist/{to-event-card-props-DwRTJ3x9.js → to-event-card-props-DLOxO2oP.js} +103 -188
- package/dist/{utils--rXGNV9Z.js → utils-BFaSYuNA.js} +3 -3
- package/dist/venue-calendar.css +1 -1
- package/dist/venue-calendar.es.js +1205 -1154
- package/dist/venue-calendar.iife.js +37 -74
- package/dist/venue-calendar.umd.js +51 -51
- package/dist/{zh-CWmj934h.js → zh-Mf1aD1Qu.js} +1 -1
- package/package.json +220 -220
- package/dist/Calendar-c-VQOPhK.js +0 -1373
- package/dist/CartView-hWsZGkVQ.js +0 -2292
- package/dist/Checkout-BwxyqHY_.js +0 -1831
- package/dist/EventPage-Gh0QX1Wk.js +0 -1197
- package/dist/Input-B0S168FA.js +0 -301
- package/dist/ModalFooter-T1gpnywp.js +0 -470
- package/dist/i18n-iYGbHTiH.js +0 -28
- package/dist/locales/4.3.52/flow/it.js +0 -1
- package/dist/locales/4.3.52/main/de.js +0 -1
- package/dist/locales/4.3.52/main/id.js +0 -1
- package/dist/locales/4.3.52/main/it.js +0 -1
- package/dist/locales/4.3.52/main/ko.js +0 -1
- package/dist/locales/4.3.52/main/pt-br.js +0 -1
- package/dist/locales/4.3.52/main/zh.js +0 -1
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/de.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/es.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/fr.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/id.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/ja.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/ko.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/nl.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/pl.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/pt-br.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/tr.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/flow/zh.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/main/es.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/main/fr.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/main/nl.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/main/pl.js +0 -0
- /package/dist/locales/{4.3.52 → 4.3.54}/main/tr.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { C as n, D as r, S as i } from "./orders
|
|
1
|
+
import { g as e } from "./sizing-CFDo_qh_.js";
|
|
2
|
+
import { r as t } from "./Button-AZ8OLQqj.js";
|
|
3
|
+
import { C as n, D as r, S as i } from "./orders--luy9Lyn.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",
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { getContext as e, setContext as t } from "svelte";
|
|
2
|
+
//#region node_modules/@getmicdrop/svelte-components/dist/utils/portalContainment.js
|
|
3
|
+
var n = Symbol("portal-containment");
|
|
4
|
+
function r(e) {
|
|
5
|
+
t(n, e);
|
|
6
|
+
}
|
|
7
|
+
function i() {
|
|
8
|
+
try {
|
|
9
|
+
return e(n);
|
|
10
|
+
} catch {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
var a = [], o = /* @__PURE__ */ new Set(), s = !1, c = !1;
|
|
15
|
+
function l() {
|
|
16
|
+
if (s) {
|
|
17
|
+
c = !0;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
s = !0;
|
|
21
|
+
try {
|
|
22
|
+
let e = 0;
|
|
23
|
+
do {
|
|
24
|
+
c = !1;
|
|
25
|
+
for (let e of o) e();
|
|
26
|
+
e += 1;
|
|
27
|
+
} while (c && e < 5);
|
|
28
|
+
} finally {
|
|
29
|
+
s = !1;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function u() {
|
|
33
|
+
l();
|
|
34
|
+
}
|
|
35
|
+
function d(e) {
|
|
36
|
+
a.push(e), l();
|
|
37
|
+
let t = !1;
|
|
38
|
+
return () => {
|
|
39
|
+
if (t) return;
|
|
40
|
+
t = !0;
|
|
41
|
+
let n = a.lastIndexOf(e);
|
|
42
|
+
n !== -1 && a.splice(n, 1), l();
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function f() {
|
|
46
|
+
return a.length > 0;
|
|
47
|
+
}
|
|
48
|
+
function p(e) {
|
|
49
|
+
return a.some((t) => t === e || t.contains(e));
|
|
50
|
+
}
|
|
51
|
+
function m(e) {
|
|
52
|
+
return o.add(e), () => {
|
|
53
|
+
o.delete(e);
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region node_modules/@getmicdrop/svelte-components/dist/utils/portal.js
|
|
58
|
+
function h(e, t) {
|
|
59
|
+
let n = i(), r = t, a = e.parentNode;
|
|
60
|
+
function o() {
|
|
61
|
+
return e.getAttribute?.("aria-modal") === "true" || e.querySelector?.("[aria-modal=\"true\"]") !== null;
|
|
62
|
+
}
|
|
63
|
+
function s() {
|
|
64
|
+
if (r) return r;
|
|
65
|
+
let t = n?.target;
|
|
66
|
+
return t && t !== e && !e.contains(t) && t.contains(a) && !o() ? t : document.body;
|
|
67
|
+
}
|
|
68
|
+
let c = e.hasAttribute?.("data-theme"), l;
|
|
69
|
+
function d(t) {
|
|
70
|
+
if (c) return;
|
|
71
|
+
l?.disconnect(), l = void 0;
|
|
72
|
+
let n = a?.closest?.("[data-theme]");
|
|
73
|
+
n && t && !n.contains(t) ? (e.dataset.theme = n.dataset.theme, typeof MutationObserver < "u" && (l = new MutationObserver(() => d(e.parentNode)), l.observe(n, {
|
|
74
|
+
attributes: !0,
|
|
75
|
+
attributeFilter: ["data-theme"]
|
|
76
|
+
}))) : e.removeAttribute?.("data-theme");
|
|
77
|
+
}
|
|
78
|
+
function f() {
|
|
79
|
+
let t = s();
|
|
80
|
+
e.parentNode !== t && (t.appendChild(e), d(t), u());
|
|
81
|
+
}
|
|
82
|
+
let p = n ? m(f) : void 0, h = n && typeof MutationObserver < "u" ? new MutationObserver(f) : void 0;
|
|
83
|
+
return h?.observe(e, {
|
|
84
|
+
childList: !0,
|
|
85
|
+
subtree: !0,
|
|
86
|
+
attributes: !0,
|
|
87
|
+
attributeFilter: ["aria-modal"]
|
|
88
|
+
}), f(), {
|
|
89
|
+
update(e) {
|
|
90
|
+
r = e || void 0, f();
|
|
91
|
+
},
|
|
92
|
+
destroy() {
|
|
93
|
+
p?.(), h?.disconnect(), l?.disconnect(), e.parentNode && e.parentNode.removeChild(e);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
export { m as a, p as i, i as n, d as o, f as r, r as s, h as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as e, F as t, M as n, k as r } from "./defaultLabels-BaVkGLw4.js";
|
|
2
2
|
//#region src/lib/utils/promo.ts
|
|
3
3
|
var i = [
|
|
4
4
|
"percentage",
|
|
@@ -30,8 +30,8 @@ function l(e, t, n) {
|
|
|
30
30
|
function u(i, s, c, u) {
|
|
31
31
|
if (!a(u) || !(c > 0)) return 0;
|
|
32
32
|
if (!o(u)) return l(s, c, u);
|
|
33
|
-
let d = i.filter(({ quantity: e }) => e > 0).map(({ unitPrice: t, quantity: r }) => e(
|
|
34
|
-
return t(
|
|
33
|
+
let d = i.filter(({ quantity: e }) => e > 0).map(({ unitPrice: t, quantity: r }) => n(e(l(t, c, u)), r));
|
|
34
|
+
return r(t(d));
|
|
35
35
|
}
|
|
36
36
|
//#endregion
|
|
37
37
|
export { l as a, u as i, c as n, s as r, o as t };
|
|
@@ -295,7 +295,7 @@ var e = {
|
|
|
295
295
|
waitlistLinkEmailMismatch: "Este link foi enviado para outro e-mail. Você continua na lista de espera",
|
|
296
296
|
waitlistLinkInventoryExhausted: "Esses ingressos acabaram de ser garantidos por outra pessoa. Você continua na lista de espera — avisaremos por e-mail se liberarem mais",
|
|
297
297
|
waitlistLinkInvalid: "Este link não é válido. Você continua na lista de espera — avisaremos por e-mail se surgirem novos ingressos",
|
|
298
|
-
checkout: "
|
|
298
|
+
checkout: "Finalizar compra",
|
|
299
299
|
unableToReserveTickets: "Não foi possível reservar os ingressos",
|
|
300
300
|
connectionIssue: "Problema de conexão",
|
|
301
301
|
cartFailedMessage: "Não conseguimos reservar seus ingressos. Isso pode ser devido a uma falha na conexão ou os ingressos podem não estar mais disponíveis",
|
|
@@ -1,87 +1,88 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { D as e, E as t, L as n, T as r, b as i, h as a, m as o, p as s, r as c, t as l, w as ee } from "./defaultLabels-BaVkGLw4.js";
|
|
2
|
+
import { r as u } from "./Button-AZ8OLQqj.js";
|
|
3
|
+
import { getContext as d, setContext as f } from "svelte";
|
|
3
4
|
//#region node_modules/@getmicdrop/svelte-components/dist/primitives/Icons/phosphor/iconWeight.js
|
|
4
|
-
var
|
|
5
|
-
function
|
|
6
|
-
p
|
|
5
|
+
var p = Symbol("mds-icon-weight");
|
|
6
|
+
function m(e) {
|
|
7
|
+
f(p, { get weight() {
|
|
7
8
|
return e();
|
|
8
9
|
} });
|
|
9
10
|
}
|
|
10
|
-
function
|
|
11
|
-
return
|
|
11
|
+
function h() {
|
|
12
|
+
return d(p);
|
|
12
13
|
}
|
|
13
14
|
//#endregion
|
|
14
15
|
//#region node_modules/@getmicdrop/svelte-components/dist/datetime/local.js
|
|
15
|
-
function
|
|
16
|
+
function g(e) {
|
|
16
17
|
return e < 10 ? `0${e}` : String(e);
|
|
17
18
|
}
|
|
18
|
-
function
|
|
19
|
-
return `${e.getFullYear()}-${
|
|
19
|
+
function _(e) {
|
|
20
|
+
return `${e.getFullYear()}-${g(e.getMonth() + 1)}-${g(e.getDate())}`;
|
|
20
21
|
}
|
|
21
|
-
function
|
|
22
|
+
function v(e, t, n = "en-US") {
|
|
22
23
|
return new Intl.DateTimeFormat(n, t).format(e);
|
|
23
24
|
}
|
|
24
25
|
//#endregion
|
|
25
26
|
//#region node_modules/@getmicdrop/svelte-components/dist/datetime/calendar.js
|
|
26
|
-
function
|
|
27
|
+
function y(e, t, n) {
|
|
27
28
|
return new Date(e, t, n);
|
|
28
29
|
}
|
|
29
|
-
function
|
|
30
|
+
function b(e) {
|
|
30
31
|
return Date.UTC(e.getFullYear(), e.getMonth(), e.getDate());
|
|
31
32
|
}
|
|
32
|
-
function
|
|
33
|
-
if (typeof e != "number" || !Number.isInteger(e)) throw new r(`${
|
|
33
|
+
function x(e, n) {
|
|
34
|
+
if (typeof e != "number" || !Number.isInteger(e)) throw new r(`${n} must be an integer, got ${JSON.stringify(e)}`, t.INVALID_DATE, { value: e });
|
|
34
35
|
}
|
|
35
|
-
function
|
|
36
|
-
return o(e, "toLocalDay(date)"),
|
|
36
|
+
function S(e) {
|
|
37
|
+
return o(e, "toLocalDay(date)"), y(e.getFullYear(), e.getMonth(), e.getDate());
|
|
37
38
|
}
|
|
38
|
-
function
|
|
39
|
-
if (
|
|
39
|
+
function C(e, n, i) {
|
|
40
|
+
if (x(e, "localDayFromParts(year)"), x(n, "localDayFromParts(monthIndex)"), x(i, "localDayFromParts(day)"), n < 0 || n > 11) throw new r(`localDayFromParts(monthIndex) must be 0-11 (0 = January), got ${n}`, t.INVALID_DATE, {
|
|
40
41
|
year: e,
|
|
41
|
-
monthIndex:
|
|
42
|
+
monthIndex: n,
|
|
42
43
|
day: i
|
|
43
44
|
});
|
|
44
|
-
let a =
|
|
45
|
-
if (a.getFullYear() !== e || a.getMonth() !==
|
|
45
|
+
let a = y(e, n, i);
|
|
46
|
+
if (a.getFullYear() !== e || a.getMonth() !== n || a.getDate() !== i || Number.isNaN(a.getTime())) throw new r(`localDayFromParts: ${e}-${n + 1}-${i} is not a real calendar date`, t.INVALID_DATE, {
|
|
46
47
|
year: e,
|
|
47
|
-
monthIndex:
|
|
48
|
+
monthIndex: n,
|
|
48
49
|
day: i
|
|
49
50
|
});
|
|
50
51
|
return a;
|
|
51
52
|
}
|
|
52
|
-
function
|
|
53
|
-
if (typeof e != "string" || !/^\d{4}-\d{2}-\d{2}$/.test(e)) throw new r(`localDayFromYMD expects a YYYY-MM-DD date, got ${JSON.stringify(e)}`,
|
|
54
|
-
let [
|
|
55
|
-
return
|
|
53
|
+
function w(e) {
|
|
54
|
+
if (typeof e != "string" || !/^\d{4}-\d{2}-\d{2}$/.test(e)) throw new r(`localDayFromYMD expects a YYYY-MM-DD date, got ${JSON.stringify(e)}`, t.INVALID_DATE, { value: e });
|
|
55
|
+
let [n, i, a] = e.split("-").map(Number);
|
|
56
|
+
return C(n, i - 1, a);
|
|
56
57
|
}
|
|
57
|
-
function
|
|
58
|
-
return
|
|
58
|
+
function T() {
|
|
59
|
+
return S(u());
|
|
59
60
|
}
|
|
60
|
-
function
|
|
61
|
-
return o(e, "localDayYMD(day)"),
|
|
61
|
+
function te(e) {
|
|
62
|
+
return o(e, "localDayYMD(day)"), n(_(e));
|
|
62
63
|
}
|
|
63
|
-
function
|
|
64
|
+
function E(e) {
|
|
64
65
|
return o(e, "localWeekday(day)"), e.getDay();
|
|
65
66
|
}
|
|
66
|
-
function
|
|
67
|
-
return
|
|
67
|
+
function D(e, t) {
|
|
68
|
+
return C(e, t, 1), y(e, t + 1, 0).getDate();
|
|
68
69
|
}
|
|
69
|
-
function
|
|
70
|
-
return o(e, "addLocalDays(day)"),
|
|
70
|
+
function O(e, t) {
|
|
71
|
+
return o(e, "addLocalDays(day)"), x(t, "addLocalDays(n)"), y(e.getFullYear(), e.getMonth(), e.getDate() + t);
|
|
71
72
|
}
|
|
72
|
-
function
|
|
73
|
-
o(e, "addLocalMonths(day)"),
|
|
74
|
-
let n =
|
|
75
|
-
return
|
|
73
|
+
function ne(e, t) {
|
|
74
|
+
o(e, "addLocalMonths(day)"), x(t, "addLocalMonths(n)");
|
|
75
|
+
let n = y(e.getFullYear(), e.getMonth() + t, 1), r = n.getFullYear(), i = n.getMonth(), a = y(r, i + 1, 0).getDate();
|
|
76
|
+
return y(r, i, Math.min(e.getDate(), a));
|
|
76
77
|
}
|
|
77
|
-
function
|
|
78
|
-
return o(e, "startOfLocalMonth(day)"),
|
|
78
|
+
function k(e) {
|
|
79
|
+
return o(e, "startOfLocalMonth(day)"), y(e.getFullYear(), e.getMonth(), 1);
|
|
79
80
|
}
|
|
80
|
-
function
|
|
81
|
-
return o(e, "wholeDaysBetween(a)"), o(t, "wholeDaysBetween(b)"), (
|
|
81
|
+
function A(e, t) {
|
|
82
|
+
return o(e, "wholeDaysBetween(a)"), o(t, "wholeDaysBetween(b)"), (b(t) - b(e)) / 864e5;
|
|
82
83
|
}
|
|
83
84
|
function j(e, t) {
|
|
84
|
-
return o(e, "isSameLocalDay(a)"), o(t, "isSameLocalDay(b)"),
|
|
85
|
+
return o(e, "isSameLocalDay(a)"), o(t, "isSameLocalDay(b)"), b(e) === b(t);
|
|
85
86
|
}
|
|
86
87
|
function M(e, t) {
|
|
87
88
|
return a(e, t) < 0;
|
|
@@ -90,10 +91,10 @@ function N(e, t) {
|
|
|
90
91
|
return a(e, t) > 0;
|
|
91
92
|
}
|
|
92
93
|
function re(e) {
|
|
93
|
-
return M(e,
|
|
94
|
+
return M(e, T());
|
|
94
95
|
}
|
|
95
96
|
function ie(e, t, n = {}) {
|
|
96
|
-
let { weekStartsOn: r = 0, fillAdjacent: i = !0 } = n, a =
|
|
97
|
+
let { weekStartsOn: r = 0, fillAdjacent: i = !0 } = n, a = C(e, t, 1), o = D(e, t), s = T(), c = [], l = (e, t) => {
|
|
97
98
|
c.push({
|
|
98
99
|
day: e,
|
|
99
100
|
inMonth: t,
|
|
@@ -101,24 +102,24 @@ function ie(e, t, n = {}) {
|
|
|
101
102
|
});
|
|
102
103
|
};
|
|
103
104
|
if (i) {
|
|
104
|
-
let e = (
|
|
105
|
-
for (let t = e; t > 0; t--) l(
|
|
105
|
+
let e = (E(a) - r + 7) % 7;
|
|
106
|
+
for (let t = e; t > 0; t--) l(O(a, -t), !1);
|
|
106
107
|
}
|
|
107
|
-
for (let e = 0; e < o; e++) l(
|
|
108
|
+
for (let e = 0; e < o; e++) l(O(a, e), !0);
|
|
108
109
|
if (i) {
|
|
109
|
-
let e = (7 - c.length % 7) % 7, t =
|
|
110
|
-
for (let n = 1; n <= e; n++) l(
|
|
110
|
+
let e = (7 - c.length % 7) % 7, t = O(a, o - 1);
|
|
111
|
+
for (let n = 1; n <= e; n++) l(O(t, n), !1);
|
|
111
112
|
}
|
|
112
113
|
return c;
|
|
113
114
|
}
|
|
114
115
|
function ae(e, t = {}) {
|
|
115
|
-
let { weekStartsOn: n = 0 } = t, r =
|
|
116
|
-
return Array.from({ length: 7 }, (e, t) =>
|
|
116
|
+
let { weekStartsOn: n = 0 } = t, r = O(e, -((E(e) - n + 7) % 7));
|
|
117
|
+
return Array.from({ length: 7 }, (e, t) => O(r, t));
|
|
117
118
|
}
|
|
118
119
|
function oe(e, t = {}) {
|
|
119
120
|
o(e, "isLocalDayDisabled(day)");
|
|
120
121
|
let { min: n, max: r, disablePast: i = !1, allowedWeekdays: a } = t;
|
|
121
|
-
return !!(i && re(e) || n && M(e, n) || r && N(e, r) || a && !a.includes(
|
|
122
|
+
return !!(i && re(e) || n && M(e, n) || r && N(e, r) || a && !a.includes(E(e)));
|
|
122
123
|
}
|
|
123
124
|
//#endregion
|
|
124
125
|
//#region node_modules/@getmicdrop/svelte-components/dist/utils/formatters.js
|
|
@@ -154,7 +155,7 @@ function I(e) {
|
|
|
154
155
|
return Number.isFinite(t) ? (t / 100).toFixed(2) : "";
|
|
155
156
|
}
|
|
156
157
|
function L(e) {
|
|
157
|
-
return e == null ? null : e instanceof Date ? isNaN(e.getTime()) ? null : e :
|
|
158
|
+
return e == null ? null : e instanceof Date ? isNaN(e.getTime()) ? null : e : i(e);
|
|
158
159
|
}
|
|
159
160
|
function R(e, t) {
|
|
160
161
|
return new Intl.DateTimeFormat("en-US", {
|
|
@@ -163,43 +164,43 @@ function R(e, t) {
|
|
|
163
164
|
timeZone: t
|
|
164
165
|
}).format(e);
|
|
165
166
|
}
|
|
166
|
-
function z(
|
|
167
|
-
let
|
|
168
|
-
if (
|
|
169
|
-
let
|
|
170
|
-
if (!
|
|
171
|
-
let
|
|
172
|
-
if (
|
|
173
|
-
let e = Math.max(1,
|
|
174
|
-
return (e === 1 ?
|
|
167
|
+
function z(e, n = {}) {
|
|
168
|
+
let i = n.timeZone;
|
|
169
|
+
if (i !== void 0 && !ee(i)) throw new r(`Invalid timezone: ${i}`, t.INVALID_TIMEZONE, { timezone: i });
|
|
170
|
+
let a = L(e);
|
|
171
|
+
if (!a) return "";
|
|
172
|
+
let o = u(), c = a.getTime() - o.getTime(), l = Math.round(c / 6e4), d = c / 36e5, f = n.locale || "en-US";
|
|
173
|
+
if (l > 0 && l < 60) {
|
|
174
|
+
let e = Math.max(1, l);
|
|
175
|
+
return (e === 1 ? n.inNMinute || "in {n} minute" : n.inNMinutes || "in {n} minutes").replace("{n}", String(e));
|
|
175
176
|
}
|
|
176
|
-
if (
|
|
177
|
-
let e = Math.max(1, Math.round(
|
|
178
|
-
return (e === 1 ?
|
|
177
|
+
if (d > 0 && d < 24) {
|
|
178
|
+
let e = Math.max(1, Math.round(d));
|
|
179
|
+
return (e === 1 ? n.inNHour || "in {n} hour" : n.inNHours || "in {n} hours").replace("{n}", String(e));
|
|
179
180
|
}
|
|
180
|
-
let
|
|
181
|
-
if (
|
|
182
|
-
let t =
|
|
183
|
-
return t === null ? null :
|
|
184
|
-
},
|
|
185
|
-
if (
|
|
186
|
-
let e = R(
|
|
187
|
-
return (
|
|
181
|
+
let p = (e) => {
|
|
182
|
+
if (i === void 0) return S(e);
|
|
183
|
+
let t = s(e.toISOString(), i);
|
|
184
|
+
return t === null ? null : w(t);
|
|
185
|
+
}, m = p(a), h = p(o);
|
|
186
|
+
if (m && h && j(m, O(h, 1))) {
|
|
187
|
+
let e = R(a, i);
|
|
188
|
+
return (n.tomorrowAtTime || "tomorrow at {time}").replace("{time}", e);
|
|
188
189
|
}
|
|
189
|
-
let
|
|
190
|
-
if (
|
|
191
|
-
let e = new Intl.DateTimeFormat(
|
|
190
|
+
let g = c / 864e5;
|
|
191
|
+
if (g > 0 && g <= 7) {
|
|
192
|
+
let e = new Intl.DateTimeFormat(f, {
|
|
192
193
|
weekday: "long",
|
|
193
|
-
timeZone:
|
|
194
|
-
}).format(
|
|
195
|
-
return (
|
|
194
|
+
timeZone: i
|
|
195
|
+
}).format(a), t = R(a, i);
|
|
196
|
+
return (n.onDayAtTime || "on {day} at {time}").replace("{day}", e).replace("{time}", t);
|
|
196
197
|
}
|
|
197
|
-
let
|
|
198
|
+
let _ = new Intl.DateTimeFormat(f, {
|
|
198
199
|
month: "short",
|
|
199
200
|
day: "numeric",
|
|
200
|
-
timeZone:
|
|
201
|
-
}).format(
|
|
202
|
-
return (
|
|
201
|
+
timeZone: i
|
|
202
|
+
}).format(a);
|
|
203
|
+
return (n.onDate || "on {date}").replace("{date}", _);
|
|
203
204
|
}
|
|
204
205
|
function B(e, t, n = "en-US") {
|
|
205
206
|
if (e == null) return "";
|
|
@@ -245,7 +246,7 @@ function K(e) {
|
|
|
245
246
|
let t = G(e?.price);
|
|
246
247
|
return t === null ? null : t === 0 ? 0 : P(t + (G(e?.fee) ?? 0));
|
|
247
248
|
}
|
|
248
|
-
function de(e, t =
|
|
249
|
+
function de(e, t = l) {
|
|
249
250
|
return q(K(e), t);
|
|
250
251
|
}
|
|
251
252
|
function fe(e) {
|
|
@@ -254,7 +255,7 @@ function fe(e) {
|
|
|
254
255
|
maximumFractionDigits: 2
|
|
255
256
|
});
|
|
256
257
|
}
|
|
257
|
-
function q(e, t =
|
|
258
|
+
function q(e, t = l) {
|
|
258
259
|
return e == null ? "—" : e <= 0 ? t.free || "Free" : F(e);
|
|
259
260
|
}
|
|
260
261
|
function J(e) {
|
|
@@ -262,14 +263,14 @@ function J(e) {
|
|
|
262
263
|
let t = new Date(e);
|
|
263
264
|
return isNaN(t.getTime()) ? null : t;
|
|
264
265
|
}
|
|
265
|
-
function Y(
|
|
266
|
-
let
|
|
267
|
-
if (!
|
|
268
|
-
let
|
|
269
|
-
return ue(
|
|
270
|
-
...
|
|
271
|
-
timeZone:
|
|
272
|
-
}).format(
|
|
266
|
+
function Y(t, n, r, i) {
|
|
267
|
+
let a = J(t);
|
|
268
|
+
if (!a) return "";
|
|
269
|
+
let o = c(n) ? n : e;
|
|
270
|
+
return ue(i || "en-US", {
|
|
271
|
+
...r,
|
|
272
|
+
timeZone: o
|
|
273
|
+
}).format(a);
|
|
273
274
|
}
|
|
274
275
|
function pe(e, t) {
|
|
275
276
|
return Y(e, t, {
|
|
@@ -291,19 +292,19 @@ function me(e, t, n, r) {
|
|
|
291
292
|
let a = X(t, n, r);
|
|
292
293
|
return i && a ? `${i} - ${a}` : i;
|
|
293
294
|
}
|
|
294
|
-
function he(
|
|
295
|
-
if (!J(
|
|
295
|
+
function he(t, n, r) {
|
|
296
|
+
if (!J(t)) return {
|
|
296
297
|
day: "",
|
|
297
298
|
month: "",
|
|
298
299
|
date: 0,
|
|
299
300
|
year: 0
|
|
300
301
|
};
|
|
301
|
-
let
|
|
302
|
+
let i = c(n) ? n : e;
|
|
302
303
|
return {
|
|
303
|
-
day: Y(
|
|
304
|
-
month: Y(
|
|
305
|
-
date: parseInt(Y(
|
|
306
|
-
year: parseInt(Y(
|
|
304
|
+
day: Y(t, i, { weekday: "short" }, r),
|
|
305
|
+
month: Y(t, i, { month: "short" }, r),
|
|
306
|
+
date: parseInt(Y(t, i, { day: "numeric" }, "en-US"), 10),
|
|
307
|
+
year: parseInt(Y(t, i, { year: "numeric" }, "en-US"), 10)
|
|
307
308
|
};
|
|
308
309
|
}
|
|
309
310
|
function Z(e, t, n) {
|
|
@@ -351,4 +352,4 @@ function ye(e, t) {
|
|
|
351
352
|
return n <= o && e <= a ? "urgent" : n <= s ? "low" : "plenty";
|
|
352
353
|
}
|
|
353
354
|
//#endregion
|
|
354
|
-
export { ae as A,
|
|
355
|
+
export { ae as A, k as B, V as C, O as D, P as E, j as F, m as G, T as H, C as I, h as K, w as L, N as M, M as N, ne as O, oe as P, te as R, se as S, U as T, A as U, S as V, v as W, ce as _, ve as a, H as b, X as c, he as d, G as f, K as g, de as h, pe as i, D as j, ie as k, ge as l, q as m, ye as n, _e as o, fe as p, Z as r, Y as s, Q as t, me as u, I as v, z as w, F as x, B as y, E as z };
|
|
@@ -1,10 +1,27 @@
|
|
|
1
|
-
import { HostSeoControllerOptions } from './types';
|
|
1
|
+
import { EventTicketInput, HostSeoControllerOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* One show, as the listing hands it over.
|
|
4
|
+
*
|
|
5
|
+
* It used to be id/name/slug/startDateTime/image, because the ItemList it fed
|
|
6
|
+
* published nothing but a position and a URL. Everything below the image is
|
|
7
|
+
* what `buildEventJsonLd` needs to describe a show to a search engine — the
|
|
8
|
+
* end time, whether it is cancelled, what it costs, where it is. Every field
|
|
9
|
+
* is optional: an event that cannot be described falls back to a bare
|
|
10
|
+
* `ListItem` with a URL on it, exactly as before.
|
|
11
|
+
*/
|
|
2
12
|
interface ListingEvent {
|
|
3
13
|
id: number | string;
|
|
4
14
|
name: string;
|
|
5
15
|
slug?: string;
|
|
6
16
|
startDateTime?: string;
|
|
17
|
+
endDateTime?: string;
|
|
7
18
|
image?: string;
|
|
19
|
+
status?: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
eventSummary?: string;
|
|
22
|
+
availableTickets?: EventTicketInput[];
|
|
23
|
+
/** The show's own zone, when it differs from the venue's. */
|
|
24
|
+
timeZone?: string;
|
|
8
25
|
}
|
|
9
26
|
interface VenueData {
|
|
10
27
|
name: string;
|
|
@@ -30,6 +47,15 @@ export declare class HostSeoController {
|
|
|
30
47
|
private _venueAddress;
|
|
31
48
|
private _venueTimeZone;
|
|
32
49
|
private _baseUrl;
|
|
50
|
+
/**
|
|
51
|
+
* Origin of the Micdrop site that server-renders `/e/{id}-{slug}`.
|
|
52
|
+
*
|
|
53
|
+
* This is the ONLY per-show URL in existence that a search engine can index:
|
|
54
|
+
* the host page has exactly one URL however many shows the widget draws on
|
|
55
|
+
* it. Empty means "not configured" — the structured data then points back at
|
|
56
|
+
* the host page and the shows are, for indexing purposes, invisible.
|
|
57
|
+
*/
|
|
58
|
+
private _publicSiteOrigin;
|
|
33
59
|
private _originals;
|
|
34
60
|
private _originalsSaved;
|
|
35
61
|
private _events;
|
|
@@ -38,11 +64,76 @@ export declare class HostSeoController {
|
|
|
38
64
|
private _injectJsonLd;
|
|
39
65
|
private _setMeta;
|
|
40
66
|
private _setCanonical;
|
|
67
|
+
/**
|
|
68
|
+
* The canonical for the "one show open" state: the host page's own.
|
|
69
|
+
*
|
|
70
|
+
* A page that already declares a canonical keeps it untouched — the host
|
|
71
|
+
* knows its own address better than we do (params it strips, a www variant it
|
|
72
|
+
* has settled on). One that declares none gets its bare address, never a
|
|
73
|
+
* query-string variant of it: the `?e={id}-{slug}` shape this replaces was a
|
|
74
|
+
* distinct URL to a crawler that RENDERED THE LISTING while the canonical
|
|
75
|
+
* claimed it was a show, which is the worst of the available answers.
|
|
76
|
+
*/
|
|
77
|
+
private _setEntityCanonical;
|
|
41
78
|
private _removeAllInjected;
|
|
42
79
|
private _restoreOriginals;
|
|
43
80
|
private _restoreMetaProperty;
|
|
44
81
|
private _restoreMetaName;
|
|
82
|
+
/**
|
|
83
|
+
* The canonical, server-rendered Micdrop page for one show:
|
|
84
|
+
* `{publicSiteOrigin}/e/{id}-{slug}`.
|
|
85
|
+
*
|
|
86
|
+
* This is what "a real link to a show" has to mean for a script embed. A
|
|
87
|
+
* search engine indexes URLs, and the host page has ONE — a link that only
|
|
88
|
+
* changes the host page's query string or fragment adds no show to any index,
|
|
89
|
+
* whatever it renders. `/e/{id}-{slug}` is a micdrop-frontend route that
|
|
90
|
+
* server-renders the show, so it is both crawlable without JavaScript and the
|
|
91
|
+
* page a buyer can finish an order on.
|
|
92
|
+
*
|
|
93
|
+
* Falls back to the in-place deep link when no public site origin is
|
|
94
|
+
* configured — a wrong origin would publish 404s, which is worse than
|
|
95
|
+
* publishing the host page.
|
|
96
|
+
*/
|
|
97
|
+
private _showPageUrl;
|
|
98
|
+
/**
|
|
99
|
+
* The host-page URL that re-opens this entity in place: `{host page}#{id}-{slug}`.
|
|
100
|
+
*
|
|
101
|
+
* THE HASH, NOT A QUERY PARAM, AND THAT IS THE WHOLE OF THIS FUNCTION. Every
|
|
102
|
+
* URL this controller published used to be `{host page}?e={id}-{slug}` (or
|
|
103
|
+
* `?s=` / `?c=`), and the embed does not read `?e=`: `parseDeepLink` in
|
|
104
|
+
* VenueCalendar.js reads `window.location.hash`, and `WidgetUrlManager`
|
|
105
|
+
* writes it. The only place `?e=` is handled at all is the hosted SvelteKit
|
|
106
|
+
* app's `routes/+page.svelte`, which is a different origin from any venue's
|
|
107
|
+
* site. So the canonical URL, the `og:url` and every ItemList entry named a
|
|
108
|
+
* URL that opened the LISTING — never the show it claimed to be.
|
|
109
|
+
*/
|
|
110
|
+
private _entityDeepLink;
|
|
111
|
+
/**
|
|
112
|
+
* ItemList for the listing, with each show's own structured data nested in
|
|
113
|
+
* its ListItem.
|
|
114
|
+
*
|
|
115
|
+
* It used to publish a position and a URL per show and nothing else, which
|
|
116
|
+
* told a search engine that N things exist and not one fact about any of
|
|
117
|
+
* them. Each item now carries the full `Event` object — name, start, venue,
|
|
118
|
+
* postal address, offers, image — through the same builder the entity view
|
|
119
|
+
* and micdrop-frontend's own hosted site pages use, so the listing and the
|
|
120
|
+
* show page cannot describe the same show differently.
|
|
121
|
+
*
|
|
122
|
+
* An event `buildEventJsonLd` refuses (no name, no start, no venue name)
|
|
123
|
+
* degrades to the bare `ListItem` + `url` shape rather than emitting a
|
|
124
|
+
* half-built Event: an incomplete Event is a structured-data error, an
|
|
125
|
+
* unadorned ListItem is merely quiet.
|
|
126
|
+
*/
|
|
45
127
|
private _buildItemList;
|
|
128
|
+
/**
|
|
129
|
+
* The URL for the entity the visitor has open: the canonical Micdrop show
|
|
130
|
+
* page when one exists, so `og:url` and `<link rel="canonical">` name a page
|
|
131
|
+
* that actually renders this show rather than the host page's listing.
|
|
132
|
+
*
|
|
133
|
+
* Series and collections have no `/e/` page of their own, so they keep the
|
|
134
|
+
* in-place deep link — a link that reopens them where the visitor is, which
|
|
135
|
+
* is at least true.
|
|
136
|
+
*/
|
|
46
137
|
private _buildEntityUrl;
|
|
47
138
|
/**
|
|
48
139
|
* Called when events finish loading from the API.
|