@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.
Files changed (125) hide show
  1. package/dist/{ArrowLeftIcon-BVz8rVy-.js → ArrowLeftIcon-DjqiKzR8.js} +1 -1
  2. package/dist/{Badge-n7TfNjln.js → Badge-BsWJrQII.js} +8 -7
  3. package/dist/{BlockPlaceholder-BMor_G7G.js → BlockPlaceholder-CgZr2Euq.js} +2 -2
  4. package/dist/Button-AZ8OLQqj.js +178 -0
  5. package/dist/{Button-klwKgfhG.js → Button-B8GiiO44.js} +588 -855
  6. package/dist/Calendar-CS_RqyU_.js +486 -0
  7. package/dist/{CalendarFoundryView-Bq547Oiz.js → CalendarFoundryView-D6cytJxm.js} +7218 -10025
  8. package/dist/{CalendarIcon-B1zQMDYt.js → CalendarIcon-D9Z9YFz6.js} +1 -1
  9. package/dist/CartView-DTXoQTOC.js +2294 -0
  10. package/dist/ChartBlock-CaxNJtrg.js +1190 -0
  11. package/dist/{Checkout-pjUaSvU6.js → Checkout-B8ZkBxF_.js} +66 -65
  12. package/dist/Checkout-QIxYrkeK.js +1832 -0
  13. package/dist/{CheckoutTimer-DjYTRwVK.js → CheckoutTimer-CyN-mQCP.js} +5 -4
  14. package/dist/{ChevronDownIcon-8-uVEhg0.js → ChevronDownIcon-D9I-5bmz.js} +1 -1
  15. package/dist/ChevronDownOutline-D7YDiKBF.js +13 -0
  16. package/dist/{ClockIcon-CubuxycE.js → ClockIcon-C7nkbmvv.js} +1 -1
  17. package/dist/{CloseIcon-pz6eBxlB.js → CloseIcon-DPdjPdoi.js} +1 -1
  18. package/dist/{CollectionView-CWwhiJHK.js → CollectionView-CkKwCXQj.js} +15 -14
  19. package/dist/{CropImage-BFtvLjTE.js → CropImage-9r61-nLv.js} +66 -64
  20. package/dist/EmptyState-DxahojFY.js +53 -0
  21. package/dist/{Event-Cj5-V360.js → Event-BfWRG4dm.js} +415 -409
  22. package/dist/EventPage-dCTHvk7P.js +1201 -0
  23. package/dist/ExclamationCircleOutline-D3XbhOwM.js +13 -0
  24. package/dist/Grid-kuP6V0GW.js +89 -0
  25. package/dist/{Heading-D6bWtGZA.js → Heading-CZMbiuFu.js} +2 -1
  26. package/dist/Input-CDw-j5fQ.js +292 -0
  27. package/dist/{MailIcon-B4iLV34K.js → MailIcon-C__hyCKr.js} +1 -1
  28. package/dist/{Modal-DZ8fudB4.js → Modal-D6NKikBr.js} +2 -2
  29. package/dist/ModalFooter-ngqovl_z.js +377 -0
  30. package/dist/{ModalHeader-DkKpWKcG.js → ModalHeader-CI7Ev4MQ.js} +2 -2
  31. package/dist/{PasswordInput-Dd_mQxbp.js → PasswordInput-D3Pwparw.js} +2 -2
  32. package/dist/PhoneInput-oGG1WJii.js +1568 -0
  33. package/dist/{RecommendationsRail-D7NWOEEf.js → RecommendationsRail-DPxl9JCm.js} +17 -15
  34. package/dist/{ScarcityBadge--Rh62z2D.js → ScarcityBadge-BXn6HM_K.js} +24 -24
  35. package/dist/{SeriesPage-Dx0PFJkE.js → SeriesPage-B7z1yoAK.js} +7 -7
  36. package/dist/{Spinner-D8dOJe6O.js → Spinner-6UtYyNcF.js} +3 -3
  37. package/dist/{Success-Fj5TXPWu.js → Success-BzuOliUV.js} +43 -42
  38. package/dist/{TagIcon-DVXKjStU.js → TagIcon-DwWcRiXS.js} +1 -1
  39. package/dist/{Textarea-D24kYZAW.js → Textarea-CyfWw1Zf.js} +6 -6
  40. package/dist/{ViewTicketsEmbed-DByaBHeq.js → ViewTicketsEmbed-BE8iTUF9.js} +31 -30
  41. package/dist/{WarningCircleIcon-CbNmDN5r.js → WarningCircleIcon-C2fJjhKf.js} +18 -28
  42. package/dist/{WarningTriIcon-CZPGuEl3.js → WarningTriIcon-OqM9Rfwq.js} +1 -1
  43. package/dist/action-test-id-DJZiaKrZ.js +145 -0
  44. package/dist/api/gift-cards.d.ts +11 -2
  45. package/dist/{api-Cbbszsig.js → api-BsBSvoNj.js} +21 -20
  46. package/dist/{copyToClipboard-DfqOeS1-.js → copyToClipboard-CL9BmJA4.js} +1 -1
  47. package/dist/createErrorGate.svelte-DwTTmYou.js +83 -0
  48. package/dist/{de-DdgY9gjK.js → de-Cx6vl1bo.js} +1 -1
  49. package/dist/{defaultLabels-C7rJdC-m.js → defaultLabels-BaVkGLw4.js} +431 -605
  50. package/dist/{defaults-DBpwynsR.js → defaults-BHXY6s4i.js} +2 -2
  51. package/dist/{event-transform-rUtOP2f0.js → event-transform-oLpmof1H.js} +5 -4
  52. package/dist/{event-B4F3zifd.js → event-xgg-eiTq.js} +1 -1
  53. package/dist/{eventStatusStream-CeFdF0pM.js → eventStatusStream-BIxriEut.js} +2 -2
  54. package/dist/floatingPosition-DXLeLxPY.js +846 -0
  55. package/dist/{href-C_CnchY7.js → href-DO3HKeJp.js} +3 -3
  56. package/dist/i18n-8EWq-WHv.js +28 -0
  57. package/dist/{i18n-CEpacwpz.js → i18n-JpkI3lvS.js} +55 -54
  58. package/dist/{id-DLwaroVD.js → id-KAEn4B4Q.js} +1 -1
  59. package/dist/{imageOptimizer-Cf0BbZJ7.js → imageOptimizer-Bb09jR0m.js} +60 -57
  60. package/dist/{it-CB7RtPbU.js → it-CQcRIzL4.js} +1 -1
  61. package/dist/{it-BzBtirlA.js → it-DmnGZl3R.js} +2 -2
  62. package/dist/{ja-Bg0GgXOg.js → ja-BrzmyaoG.js} +1 -1
  63. package/dist/keyboard-Crrnn87b.js +55 -0
  64. package/dist/{ko-CTS9jPS0.js → ko-DY6ctJAC.js} +1 -1
  65. package/dist/locales/4.3.54/flow/it.js +1 -0
  66. package/dist/locales/4.3.54/main/de.js +1 -0
  67. package/dist/locales/4.3.54/main/id.js +1 -0
  68. package/dist/locales/4.3.54/main/it.js +1 -0
  69. package/dist/locales/{4.3.52 → 4.3.54}/main/ja.js +1 -1
  70. package/dist/locales/4.3.54/main/ko.js +1 -0
  71. package/dist/locales/4.3.54/main/pt-br.js +1 -0
  72. package/dist/locales/4.3.54/main/zh.js +1 -0
  73. package/dist/{order-totals-c3zn-HDr.js → order-totals-5X0jD77w.js} +4 -4
  74. package/dist/{orders-DZbxfNI9.js → orders--luy9Lyn.js} +6 -5
  75. package/dist/{createErrorGate.svelte-Ct8gFqvn.js → phoneUtils-CS66SHie.js} +607 -686
  76. package/dist/{pixels-CoXwcqE_.js → pixels-FefBmhJt.js} +3 -3
  77. package/dist/portal-BZBgqs8B.js +98 -0
  78. package/dist/{promo-X_5x9P0A.js → promo-BNwWtZjP.js} +3 -3
  79. package/dist/{pt-br-QgRkwqJk.js → pt-br-COrMoRiG.js} +1 -1
  80. package/dist/{scarcity-Do5MrSwn.js → scarcity-CR1Pa81F.js} +105 -104
  81. package/dist/seo/HostSeoController.d.ts +92 -1
  82. package/dist/seo/seo.cjs +1 -1
  83. package/dist/seo/seo.mjs +39 -6
  84. package/dist/seo/types.d.ts +13 -0
  85. package/dist/{serverTotals-6RxxdfwU.js → serverTotals-DeOPPRj6.js} +8 -8
  86. package/dist/{showcase-state-options-nn-CiCd1.js → showcase-state-options-BGmvUaQ_.js} +1 -1
  87. package/dist/sizing-CFDo_qh_.js +216 -0
  88. package/dist/{to-event-card-props-DwRTJ3x9.js → to-event-card-props-DLOxO2oP.js} +103 -188
  89. package/dist/{utils--rXGNV9Z.js → utils-BFaSYuNA.js} +3 -3
  90. package/dist/venue-calendar.css +1 -1
  91. package/dist/venue-calendar.es.js +1205 -1154
  92. package/dist/venue-calendar.iife.js +37 -74
  93. package/dist/venue-calendar.umd.js +51 -51
  94. package/dist/{zh-CWmj934h.js → zh-Mf1aD1Qu.js} +1 -1
  95. package/package.json +220 -220
  96. package/dist/Calendar-c-VQOPhK.js +0 -1373
  97. package/dist/CartView-hWsZGkVQ.js +0 -2292
  98. package/dist/Checkout-BwxyqHY_.js +0 -1831
  99. package/dist/EventPage-Gh0QX1Wk.js +0 -1197
  100. package/dist/Input-B0S168FA.js +0 -301
  101. package/dist/ModalFooter-T1gpnywp.js +0 -470
  102. package/dist/i18n-iYGbHTiH.js +0 -28
  103. package/dist/locales/4.3.52/flow/it.js +0 -1
  104. package/dist/locales/4.3.52/main/de.js +0 -1
  105. package/dist/locales/4.3.52/main/id.js +0 -1
  106. package/dist/locales/4.3.52/main/it.js +0 -1
  107. package/dist/locales/4.3.52/main/ko.js +0 -1
  108. package/dist/locales/4.3.52/main/pt-br.js +0 -1
  109. package/dist/locales/4.3.52/main/zh.js +0 -1
  110. /package/dist/locales/{4.3.52 → 4.3.54}/flow/de.js +0 -0
  111. /package/dist/locales/{4.3.52 → 4.3.54}/flow/es.js +0 -0
  112. /package/dist/locales/{4.3.52 → 4.3.54}/flow/fr.js +0 -0
  113. /package/dist/locales/{4.3.52 → 4.3.54}/flow/id.js +0 -0
  114. /package/dist/locales/{4.3.52 → 4.3.54}/flow/ja.js +0 -0
  115. /package/dist/locales/{4.3.52 → 4.3.54}/flow/ko.js +0 -0
  116. /package/dist/locales/{4.3.52 → 4.3.54}/flow/nl.js +0 -0
  117. /package/dist/locales/{4.3.52 → 4.3.54}/flow/pl.js +0 -0
  118. /package/dist/locales/{4.3.52 → 4.3.54}/flow/pt-br.js +0 -0
  119. /package/dist/locales/{4.3.52 → 4.3.54}/flow/tr.js +0 -0
  120. /package/dist/locales/{4.3.52 → 4.3.54}/flow/zh.js +0 -0
  121. /package/dist/locales/{4.3.52 → 4.3.54}/main/es.js +0 -0
  122. /package/dist/locales/{4.3.52 → 4.3.54}/main/fr.js +0 -0
  123. /package/dist/locales/{4.3.52 → 4.3.54}/main/nl.js +0 -0
  124. /package/dist/locales/{4.3.52 → 4.3.54}/main/pl.js +0 -0
  125. /package/dist/locales/{4.3.52 → 4.3.54}/main/tr.js +0 -0
@@ -1,6 +1,6 @@
1
- import { E as e } from "./Button-klwKgfhG.js";
2
- import { A as t } from "./defaultLabels-C7rJdC-m.js";
3
- import { C as n, D as r, S as i } from "./orders-DZbxfNI9.js";
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 { F as e, M as t, N as n, R as r } from "./defaultLabels-C7rJdC-m.js";
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(n(l(t, c, u)), r));
34
- return t(r(d));
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: "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 { A as e, B as t, D as n, E as r, T as i, g as a, h as o, k as s, m as c, r as l, t as u, x as d } from "./defaultLabels-C7rJdC-m.js";
2
- import { getContext as f, setContext as p } from "svelte";
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 m = Symbol("mds-icon-weight");
5
- function h(e) {
6
- p(m, { get weight() {
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 g() {
11
- return f(m);
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 _(e) {
16
+ function g(e) {
16
17
  return e < 10 ? `0${e}` : String(e);
17
18
  }
18
- function v(e) {
19
- return `${e.getFullYear()}-${_(e.getMonth() + 1)}-${_(e.getDate())}`;
19
+ function _(e) {
20
+ return `${e.getFullYear()}-${g(e.getMonth() + 1)}-${g(e.getDate())}`;
20
21
  }
21
- function y(e, t, n = "en-US") {
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 b(e, t, n) {
27
+ function y(e, t, n) {
27
28
  return new Date(e, t, n);
28
29
  }
29
- function x(e) {
30
+ function b(e) {
30
31
  return Date.UTC(e.getFullYear(), e.getMonth(), e.getDate());
31
32
  }
32
- function S(e, t) {
33
- if (typeof e != "number" || !Number.isInteger(e)) throw new r(`${t} must be an integer, got ${JSON.stringify(e)}`, n.INVALID_DATE, { value: e });
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 C(e) {
36
- return o(e, "toLocalDay(date)"), b(e.getFullYear(), e.getMonth(), e.getDate());
36
+ function S(e) {
37
+ return o(e, "toLocalDay(date)"), y(e.getFullYear(), e.getMonth(), e.getDate());
37
38
  }
38
- function w(e, t, i) {
39
- if (S(e, "localDayFromParts(year)"), S(t, "localDayFromParts(monthIndex)"), S(i, "localDayFromParts(day)"), t < 0 || t > 11) throw new r(`localDayFromParts(monthIndex) must be 0-11 (0 = January), got ${t}`, n.INVALID_DATE, {
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: t,
42
+ monthIndex: n,
42
43
  day: i
43
44
  });
44
- let a = b(e, t, i);
45
- if (a.getFullYear() !== e || a.getMonth() !== t || a.getDate() !== i || Number.isNaN(a.getTime())) throw new r(`localDayFromParts: ${e}-${t + 1}-${i} is not a real calendar date`, n.INVALID_DATE, {
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: t,
48
+ monthIndex: n,
48
49
  day: i
49
50
  });
50
51
  return a;
51
52
  }
52
- function T(e) {
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)}`, n.INVALID_DATE, { value: e });
54
- let [t, i, a] = e.split("-").map(Number);
55
- return w(t, i - 1, a);
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 E() {
58
- return C(e());
58
+ function T() {
59
+ return S(u());
59
60
  }
60
- function D(e) {
61
- return o(e, "localDayYMD(day)"), t(v(e));
61
+ function te(e) {
62
+ return o(e, "localDayYMD(day)"), n(_(e));
62
63
  }
63
- function O(e) {
64
+ function E(e) {
64
65
  return o(e, "localWeekday(day)"), e.getDay();
65
66
  }
66
- function k(e, t) {
67
- return w(e, t, 1), b(e, t + 1, 0).getDate();
67
+ function D(e, t) {
68
+ return C(e, t, 1), y(e, t + 1, 0).getDate();
68
69
  }
69
- function A(e, t) {
70
- return o(e, "addLocalDays(day)"), S(t, "addLocalDays(n)"), b(e.getFullYear(), e.getMonth(), e.getDate() + t);
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 ee(e, t) {
73
- o(e, "addLocalMonths(day)"), S(t, "addLocalMonths(n)");
74
- let n = b(e.getFullYear(), e.getMonth() + t, 1), r = n.getFullYear(), i = n.getMonth(), a = b(r, i + 1, 0).getDate();
75
- return b(r, i, Math.min(e.getDate(), a));
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 te(e) {
78
- return o(e, "startOfLocalMonth(day)"), b(e.getFullYear(), e.getMonth(), 1);
78
+ function k(e) {
79
+ return o(e, "startOfLocalMonth(day)"), y(e.getFullYear(), e.getMonth(), 1);
79
80
  }
80
- function ne(e, t) {
81
- return o(e, "wholeDaysBetween(a)"), o(t, "wholeDaysBetween(b)"), (x(t) - x(e)) / 864e5;
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)"), x(e) === x(t);
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, 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 = w(e, t, 1), o = k(e, t), s = E(), c = [], l = (e, t) => {
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 = (O(a) - r + 7) % 7;
105
- for (let t = e; t > 0; t--) l(A(a, -t), !1);
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(A(a, e), !0);
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 = A(a, o - 1);
110
- for (let n = 1; n <= e; n++) l(A(t, n), !1);
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 = A(e, -((O(e) - n + 7) % 7));
116
- return Array.from({ length: 7 }, (e, t) => A(r, 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(O(e)));
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 : d(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(t, a = {}) {
167
- let o = a.timeZone;
168
- if (o !== void 0 && !i(o)) throw new r(`Invalid timezone: ${o}`, n.INVALID_TIMEZONE, { timezone: o });
169
- let s = L(t);
170
- if (!s) return "";
171
- let l = e(), u = s.getTime() - l.getTime(), d = Math.round(u / 6e4), f = u / 36e5, p = a.locale || "en-US";
172
- if (d > 0 && d < 60) {
173
- let e = Math.max(1, d);
174
- return (e === 1 ? a.inNMinute || "in {n} minute" : a.inNMinutes || "in {n} minutes").replace("{n}", String(e));
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 (f > 0 && f < 24) {
177
- let e = Math.max(1, Math.round(f));
178
- return (e === 1 ? a.inNHour || "in {n} hour" : a.inNHours || "in {n} hours").replace("{n}", String(e));
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 m = (e) => {
181
- if (o === void 0) return C(e);
182
- let t = c(e.toISOString(), o);
183
- return t === null ? null : T(t);
184
- }, h = m(s), g = m(l);
185
- if (h && g && j(h, A(g, 1))) {
186
- let e = R(s, o);
187
- return (a.tomorrowAtTime || "tomorrow at {time}").replace("{time}", e);
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 _ = u / 864e5;
190
- if (_ > 0 && _ <= 7) {
191
- let e = new Intl.DateTimeFormat(p, {
190
+ let g = c / 864e5;
191
+ if (g > 0 && g <= 7) {
192
+ let e = new Intl.DateTimeFormat(f, {
192
193
  weekday: "long",
193
- timeZone: o
194
- }).format(s), t = R(s, o);
195
- return (a.onDayAtTime || "on {day} at {time}").replace("{day}", e).replace("{time}", t);
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 v = new Intl.DateTimeFormat(p, {
198
+ let _ = new Intl.DateTimeFormat(f, {
198
199
  month: "short",
199
200
  day: "numeric",
200
- timeZone: o
201
- }).format(s);
202
- return (a.onDate || "on {date}").replace("{date}", v);
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 = u) {
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 = u) {
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(e, t, n, r) {
266
- let i = J(e);
267
- if (!i) return "";
268
- let a = l(t) ? t : s;
269
- return ue(r || "en-US", {
270
- ...n,
271
- timeZone: a
272
- }).format(i);
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(e, t, n) {
295
- if (!J(e)) return {
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 r = l(t) ? t : s;
302
+ let i = c(n) ? n : e;
302
303
  return {
303
- day: Y(e, r, { weekday: "short" }, n),
304
- month: Y(e, r, { month: "short" }, n),
305
- date: parseInt(Y(e, r, { day: "numeric" }, "en-US"), 10),
306
- year: parseInt(Y(e, r, { year: "numeric" }, "en-US"), 10)
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, te as B, V as C, A as D, P as E, j as F, h as G, E as H, w as I, g as K, T as L, N as M, M as N, ee as O, oe as P, D as R, se as S, U as T, ne as U, C as V, y 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, k 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, O as z };
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.