@getmicdrop/venue-calendar 4.3.122 → 4.3.124

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 (137) hide show
  1. package/dist/{AddOnCard-BkEFPzAX.js → AddOnCard-BCakRkN0.js} +18 -18
  2. package/dist/{ArrowLeftIcon-t-CY0sbi.js → ArrowLeftIcon-B6vERrBh.js} +1 -1
  3. package/dist/{BlockPlaceholder-BmEZ68_q.js → BlockPlaceholder-CInLJaAM.js} +1 -1
  4. package/dist/{Calendar-hxcQBkTF.js → Calendar-DV_SrEdT.js} +131 -150
  5. package/dist/{CalendarFoundryView-CSAKDe-F.js → CalendarFoundryView-Cx60F-de.js} +968 -966
  6. package/dist/{CalendarIcon-B5JWs0gm.js → CalendarIcon-BA9OTu6n.js} +1 -1
  7. package/dist/{CartView-CQZw_kwm.js → CartView-DXL2fN6s.js} +279 -276
  8. package/dist/{CheckIcon-BSwoGox7.js → CheckIcon-CsHdBvm7.js} +1 -1
  9. package/dist/{Checkout-Bsx9d4qD.js → Checkout-BDogQG64.js} +378 -376
  10. package/dist/Checkout-puHwDIls.js +1934 -0
  11. package/dist/{CheckoutTimer-Bpt5gPyA.js → CheckoutTimer-KkahlL47.js} +5 -5
  12. package/dist/{ChevronDownIcon-CVZ0usBx.js → ChevronDownIcon-CfmGVqjm.js} +1 -1
  13. package/dist/ChevronRightOutline-CiG8UHni.js +23 -0
  14. package/dist/{CloseIcon-DUnvWXUY.js → CloseIcon-0KKo8fB2.js} +1 -1
  15. package/dist/{CollectionView-DXkBRGeQ.js → CollectionView-COd_e_aK.js} +6 -6
  16. package/dist/{Event-CmD84Ni8.js → Event-BYhY0nEy.js} +604 -518
  17. package/dist/EventCard-am-bIial.js +175 -0
  18. package/dist/{EventPage-4ToDFEaL.js → EventPage-DOiyzTGz.js} +289 -265
  19. package/dist/{Input-BXZmvQ0p.js → Input-CUn5WW7v.js} +1 -1
  20. package/dist/{LocationIcon-E-7CQh4E.js → LocationIcon-MUNzCw0b.js} +1 -1
  21. package/dist/{PasswordInput-DzXNIwRc.js → PasswordInput-uLRaGMSt.js} +1 -1
  22. package/dist/{PhoneInput-DnmN_L03.js → PhoneInput-5l-M5ykF.js} +1 -1
  23. package/dist/{RecommendationsRail-CrBSsbBD.js → RecommendationsRail-ShRQ7JzA.js} +69 -66
  24. package/dist/{ScarcityBadge-BL4shc2w.js → ScarcityBadge-BvLoTIiM.js} +6 -6
  25. package/dist/{SeriesPage-Dt-T6mco.js → SeriesPage-DMYXn2vA.js} +2 -2
  26. package/dist/{Spinner-B2rdbspc.js → Spinner-CwCn-yPI.js} +1 -1
  27. package/dist/{Success-BTm0jRAO.js → Success-BP76tviw.js} +175 -172
  28. package/dist/{TagIcon-BY8tK_qA.js → TagIcon-CUfTUPrP.js} +1 -1
  29. package/dist/{ViewTicketsEmbed-BjqniKb9.js → ViewTicketsEmbed-DnMqRwJI.js} +17 -16
  30. package/dist/{WarningCircleIcon-C5Lc7qkF.js → WarningCircleIcon-BVUWnzFt.js} +1 -1
  31. package/dist/{WarningTriIcon-BM8qc9xx.js → WarningTriIcon-CBHdMLyJ.js} +1 -1
  32. package/dist/adapter-BaqXgSqI.js +164 -0
  33. package/dist/api-BUAptAYH.js +489 -0
  34. package/dist/checkoutState-DKdzYK3y.js +198 -0
  35. package/dist/client-BxgiVv8K.js +262 -0
  36. package/dist/{constants-C6MZgb2S.js → constants-lKAMwRvZ.js} +5 -1
  37. package/dist/{copyToClipboard-F-akSgaF.js → copyToClipboard-BaAhnhZ9.js} +1 -1
  38. package/dist/{createErrorGate.svelte-CEGaIQeI.js → createErrorGate.svelte-BCjQmoDN.js} +1 -1
  39. package/dist/cta-BE_N5pBc.js +116 -0
  40. package/dist/{datetime-BnKG6Hjm.js → datetime-BetkhP3Y.js} +47 -47
  41. package/dist/{de-BHcAXwnM.js → de-C3szl-Vf.js} +10 -4
  42. package/dist/{de-BPmqZ6ao.js → de-CX7o2WAr.js} +5 -1
  43. package/dist/{defaultLabels-BbNEEsF7.js → defaultLabels-D7c3DLP3.js} +378 -401
  44. package/dist/{defaults-CcPpWiyw.js → defaults-QFkzo2Vg.js} +6 -6
  45. package/dist/{es-BV3Sgeg-.js → es-DS1-fjU8.js} +5 -1
  46. package/dist/{es-DZ3yceh-.js → es-QnJXFKEx.js} +10 -4
  47. package/dist/{event-DfqUhl5j.js → event-DFyH3dNo.js} +1 -1
  48. package/dist/{event-transform-DJYPMj8I.js → event-transform-za8lXql7.js} +18 -18
  49. package/dist/{eventStatusStream-DXyc5Eng.js → eventStatusStream-CaDLn9GX.js} +1 -1
  50. package/dist/{fr-Dyi163Vk.js → fr-BVgQDC6c.js} +10 -4
  51. package/dist/{fr-BJ0VQGEj.js → fr-CN3PiNzU.js} +5 -1
  52. package/dist/{href-CfWGAmkP.js → href--Xjr4Dsb.js} +3 -3
  53. package/dist/i18n-Bd9CN9cj.js +497 -0
  54. package/dist/i18n-Cwq8IQ_c.js +28 -0
  55. package/dist/{id-CVXaHHqU.js → id-CPG4tPVY.js} +5 -1
  56. package/dist/{id-DvFRZVAm.js → id-DCcXxLEY.js} +10 -4
  57. package/dist/{it-C0lzsHje.js → it-CjwnCYFF.js} +5 -1
  58. package/dist/{it-Bh05tcLv.js → it-CufAwhe3.js} +10 -4
  59. package/dist/{ja-Dl2r6tQ6.js → ja-C2uiNCJX.js} +5 -1
  60. package/dist/{ja-CU4PQS4j.js → ja-CMa_nsLY.js} +10 -4
  61. package/dist/{ko-DINqFSE1.js → ko-Bh97byDf.js} +5 -1
  62. package/dist/{ko-DDk6EdWm.js → ko-BwJHUjqS.js} +10 -4
  63. package/dist/locales/{4.3.122 → 4.3.124}/flow/de.js +1 -1
  64. package/dist/locales/{4.3.122 → 4.3.124}/flow/es.js +1 -1
  65. package/dist/locales/{4.3.122 → 4.3.124}/flow/fr.js +1 -1
  66. package/dist/locales/{4.3.122 → 4.3.124}/flow/id.js +1 -1
  67. package/dist/locales/{4.3.122 → 4.3.124}/flow/it.js +1 -1
  68. package/dist/locales/{4.3.122 → 4.3.124}/flow/ja.js +1 -1
  69. package/dist/locales/{4.3.122 → 4.3.124}/flow/ko.js +1 -1
  70. package/dist/locales/{4.3.122 → 4.3.124}/flow/nl.js +1 -1
  71. package/dist/locales/{4.3.122 → 4.3.124}/flow/pl.js +1 -1
  72. package/dist/locales/{4.3.122 → 4.3.124}/flow/pt-br.js +1 -1
  73. package/dist/locales/{4.3.122 → 4.3.124}/flow/tr.js +1 -1
  74. package/dist/locales/{4.3.122 → 4.3.124}/flow/zh.js +1 -1
  75. package/dist/locales/4.3.124/main/de.js +1 -0
  76. package/dist/locales/4.3.124/main/es.js +1 -0
  77. package/dist/locales/4.3.124/main/fr.js +1 -0
  78. package/dist/locales/4.3.124/main/id.js +1 -0
  79. package/dist/locales/4.3.124/main/it.js +1 -0
  80. package/dist/locales/4.3.124/main/ja.js +1 -0
  81. package/dist/locales/4.3.124/main/ko.js +1 -0
  82. package/dist/locales/4.3.124/main/nl.js +1 -0
  83. package/dist/locales/4.3.124/main/pl.js +1 -0
  84. package/dist/locales/4.3.124/main/pt-br.js +1 -0
  85. package/dist/locales/4.3.124/main/tr.js +1 -0
  86. package/dist/locales/4.3.124/main/zh.js +1 -0
  87. package/dist/look-island.svelte-QW0yvxsq.js +1278 -0
  88. package/dist/looks/4.3.124/looks.js +242 -0
  89. package/dist/looks/4.3.124/micdrop-wordmark-BYMG6vLR.svg +1 -0
  90. package/dist/looks/4.3.124/microphone-Ccv4r-kd.webp +0 -0
  91. package/dist/looks/4.3.124/superuser-CZF6a5gO.webp +0 -0
  92. package/dist/looks/4.3.124/treasury-DUE7lZzT.webp +0 -0
  93. package/dist/looks/4.3.124/user-image-yuS4errP.svg +9 -0
  94. package/dist/navigation-BYEhsDX4.js +176 -0
  95. package/dist/{nl-DOSKYHSx.js → nl-BQALrtyB.js} +10 -4
  96. package/dist/{nl-D92n5tHa.js → nl-ve_OaXOQ.js} +5 -1
  97. package/dist/normalizers-CqGXhPZo.js +44 -0
  98. package/dist/{phoneUtils-CS66SHie.js → phoneUtils-CL8tIxoM.js} +4 -0
  99. package/dist/{pixels-CFwOgA2N.js → pixels-CV8Zw_Kn.js} +1 -1
  100. package/dist/{pl-BlZHcnlS.js → pl-BHBBOz2I.js} +5 -1
  101. package/dist/{pl-CkLEymA2.js → pl-DaPcPjBE.js} +10 -4
  102. package/dist/{pt-br-BHuCQSM-.js → pt-br-BxdP86Vr.js} +10 -4
  103. package/dist/{pt-br-BrxthY0b.js → pt-br-D30dkLzU.js} +5 -1
  104. package/dist/{serverTotals-B8SJCzxE.js → serverTotals-DGQ7a35U.js} +1 -1
  105. package/dist/{showcase-state-options-KO_TYk3I.js → showcase-state-options-DTl2gdkG.js} +3 -3
  106. package/dist/to-event-card-props-CklRkTpt.js +205 -0
  107. package/dist/{tr-BnAdi4HO.js → tr-CFVBCuqV.js} +5 -1
  108. package/dist/{tr-Bvc34ODh.js → tr-CSfagpI3.js} +10 -4
  109. package/dist/types/index.d.ts +21 -4
  110. package/dist/utils-CowZZZtC.js +219 -0
  111. package/dist/venue-calendar.css +1 -1
  112. package/dist/venue-calendar.es.js +1550 -1836
  113. package/dist/venue-calendar.iife.js +35 -35
  114. package/dist/venue-calendar.umd.js +183 -54
  115. package/dist/widget-key-context-DX9WCLIM.js +744 -0
  116. package/dist/{zh-K0hOzZ3G.js → zh-DWMcKVLH.js} +10 -4
  117. package/dist/{zh-Tg1OTvWs.js → zh-DeEOoOFR.js} +5 -1
  118. package/package.json +4 -4
  119. package/dist/Checkout-CN1o3v9L.js +0 -1933
  120. package/dist/api-0hNBT78w.js +0 -654
  121. package/dist/i18n-CIpUYDU6.js +0 -28
  122. package/dist/i18n-DyjdmQSR.js +0 -608
  123. package/dist/locales/4.3.122/main/de.js +0 -1
  124. package/dist/locales/4.3.122/main/es.js +0 -1
  125. package/dist/locales/4.3.122/main/fr.js +0 -1
  126. package/dist/locales/4.3.122/main/id.js +0 -1
  127. package/dist/locales/4.3.122/main/it.js +0 -1
  128. package/dist/locales/4.3.122/main/ja.js +0 -1
  129. package/dist/locales/4.3.122/main/ko.js +0 -1
  130. package/dist/locales/4.3.122/main/nl.js +0 -1
  131. package/dist/locales/4.3.122/main/pl.js +0 -1
  132. package/dist/locales/4.3.122/main/pt-br.js +0 -1
  133. package/dist/locales/4.3.122/main/tr.js +0 -1
  134. package/dist/locales/4.3.122/main/zh.js +0 -1
  135. package/dist/to-event-card-props-DYIfPN8e.js +0 -379
  136. package/dist/utils-BzgFQSTg.js +0 -412
  137. package/dist/widget-key-context-CmI7Qdtf.js +0 -991
@@ -0,0 +1,205 @@
1
+ import { _ as e, i as t, n, s as r, t as i, v as a } from "./datetime-BetkhP3Y.js";
2
+ import { _ as o, f as s, h as c, t as l } from "./defaultLabels-D7c3DLP3.js";
3
+ import { r as u } from "./Button-VUB2WJ88.js";
4
+ //#region src/lib/browse-widgets/utils.ts
5
+ function d(e) {
6
+ let t = /* @__PURE__ */ new Map(), n = [];
7
+ for (let r of e) {
8
+ let e = r.eventSeriesId;
9
+ if (e && e > 0) {
10
+ let n = `${e}:${r.date}`, i = t.get(n) || [];
11
+ i.push(r), t.set(n, i);
12
+ } else n.push({
13
+ event: r,
14
+ instances: [r],
15
+ isSeries: !1
16
+ });
17
+ }
18
+ for (let e of t.values()) e.sort((e, t) => e.startDateTime.localeCompare(t.startDateTime)), n.push({
19
+ event: e[0],
20
+ instances: e,
21
+ isSeries: e.length > 1
22
+ });
23
+ return n.sort((e, t) => e.instances[0].startDateTime.localeCompare(t.instances[0].startDateTime)), n;
24
+ }
25
+ //#endregion
26
+ //#region src/lib/browse-widgets/defaults.ts
27
+ var f = [
28
+ "cancelled",
29
+ "postponed",
30
+ "past",
31
+ "sold_out",
32
+ "sales_ended",
33
+ "coming_soon",
34
+ "scarcity"
35
+ ];
36
+ //#endregion
37
+ //#region src/lib/browse-widgets/status.ts
38
+ function p(e) {
39
+ return e.toLowerCase().replace(/[\s_-]+/g, "");
40
+ }
41
+ function m(e) {
42
+ return p(e.status ?? "") === "onsale" ? h(e.ticketsRemaining, e.ticketsTotal) || h(e.scarcestTicket?.remaining, e.scarcestTicket?.total) : !1;
43
+ }
44
+ function h(t, n) {
45
+ if (t == null || n == null || n === 0 || t <= 0) return !1;
46
+ let r = e(t, n);
47
+ return r === "low" || r === "urgent";
48
+ }
49
+ function g(e, t) {
50
+ if (!e) return null;
51
+ let n = p(e.status ?? "");
52
+ for (let r of f) switch (r) {
53
+ case "cancelled":
54
+ if (n === "cancelled" || n === "canceled") return {
55
+ text: t?.statusCancelled || "Canceled",
56
+ type: "cancelled"
57
+ };
58
+ break;
59
+ case "postponed":
60
+ if (n === "postponed") return {
61
+ text: t?.statusPostponed || "Postponed",
62
+ type: "postponed"
63
+ };
64
+ break;
65
+ case "past":
66
+ if (e.startDateTime) {
67
+ let n = o(e.endDateTime || e.startDateTime);
68
+ if (n && s(n, u()) < 0) return {
69
+ text: t?.statusPastEvent || "Ended",
70
+ type: "past"
71
+ };
72
+ }
73
+ break;
74
+ case "sold_out":
75
+ if (n === "soldout" || e.ticketsRemaining != null && e.ticketsRemaining <= 0 && e.ticketsTotal != null && e.ticketsTotal > 0) return {
76
+ text: t?.statusSoldOut || "Sold out",
77
+ type: "sold_out"
78
+ };
79
+ break;
80
+ case "sales_ended":
81
+ if (n === "salesended") return {
82
+ text: t?.statusSalesEnded || "Sales ended",
83
+ type: "sales_ended"
84
+ };
85
+ break;
86
+ case "coming_soon":
87
+ if (n === "comingsoon") return {
88
+ text: t?.statusComingSoon || "Coming soon",
89
+ type: "coming_soon"
90
+ };
91
+ break;
92
+ case "scarcity": if (m(e)) return {
93
+ text: t?.statusSellingFast || "Selling fast",
94
+ type: "scarcity"
95
+ };
96
+ }
97
+ return null;
98
+ }
99
+ function _(e, t) {
100
+ if (e.length === 0) return null;
101
+ if (e.length === 1) return g(e[0], t);
102
+ let n = e.map((e) => g(e, t));
103
+ if (n.every((e) => e?.type === "cancelled")) return {
104
+ type: "cancelled",
105
+ text: v("cancelled", t)
106
+ };
107
+ if (n.every((e) => e?.type === "postponed")) return {
108
+ type: "postponed",
109
+ text: v("postponed", t)
110
+ };
111
+ if (n.every((e) => e?.type === "sold_out")) return {
112
+ type: "sold_out",
113
+ text: v("sold_out", t)
114
+ };
115
+ let r = n.filter((e) => e?.type !== "sold_out" && e?.type !== "cancelled" && e?.type !== "postponed");
116
+ return r.length > 0 && r.every((e) => e?.type === "scarcity") ? {
117
+ type: "scarcity",
118
+ text: v("scarcity", t)
119
+ } : null;
120
+ }
121
+ function v(e, t) {
122
+ switch (e) {
123
+ case "cancelled": return t?.statusCancelled || "Canceled";
124
+ case "postponed": return t?.statusPostponed || "Postponed";
125
+ case "past": return t?.statusPastEvent || "Ended";
126
+ case "sold_out": return t?.statusSoldOut || "Sold out";
127
+ case "sales_ended": return t?.statusSalesEnded || "Sales ended";
128
+ case "coming_soon": return t?.statusComingSoon || "Coming soon";
129
+ case "scarcity": return t?.statusSellingFast || "Selling fast";
130
+ }
131
+ }
132
+ function y(e) {
133
+ switch (e) {
134
+ case "cancelled": return "neutral";
135
+ case "postponed": return "neutral";
136
+ case "past": return "neutral";
137
+ case "sold_out": return "neutral";
138
+ case "sales_ended": return "neutral";
139
+ case "coming_soon": return "brand";
140
+ case "scarcity": return "warning";
141
+ default: return "neutral";
142
+ }
143
+ }
144
+ function b(e) {
145
+ let t = c();
146
+ return e.filter((e) => {
147
+ if (p(e.status ?? "") === "postponed") return !0;
148
+ let r = n(t, e.timeZone);
149
+ return e.date >= r;
150
+ }).sort((e, t) => e.date.localeCompare(t.date));
151
+ }
152
+ //#endregion
153
+ //#region src/lib/browse-widgets/to-event-card-props.ts
154
+ function x(t, n) {
155
+ let r = t.ticketsRemaining ?? 0, i = t.ticketsTotal ?? 0, a = e(r, i);
156
+ return a === "sold-out" ? {
157
+ text: n.statusSoldOut || "Sold out",
158
+ variant: "neutral"
159
+ } : a === "low" || a === "urgent" ? {
160
+ text: n.statusSellingFast || "Selling fast",
161
+ variant: "warning"
162
+ } : null;
163
+ }
164
+ function S(e, n, r) {
165
+ let i = [];
166
+ if (e.stageName && i.push(e.stageName), e.displayDoorsTime === !0 && e.doorsOpenTime) {
167
+ let a = t(e.doorsOpenTime, e.timeZone, r);
168
+ a && i.push((n.doorsAtTime || "Doors {time}").replace("{time}", a));
169
+ }
170
+ return e.displayAgeRestriction && i.push(e.ageRestriction && e.ageRestriction > 0 ? (n.agesPlus || "Ages {age}+").replace("{age}", String(e.ageRestriction)) : n.allAges || "All ages"), i;
171
+ }
172
+ function C(e, t = l, n, o = null, s = {}) {
173
+ let c = e.event, u = e.isSeries ? _(e.instances, t) : g(c, t), d = u && u.type !== "past" ? {
174
+ text: u.text,
175
+ variant: y(u.type)
176
+ } : null;
177
+ !d && !e.isSeries && (d = x(c, t));
178
+ let f = a(c), p = c.startDateTime && o?.date !== !1 ? i(c.startDateTime, c.timeZone, n) : "", m = e.isSeries ? e.instances : c.startDateTime ? [c] : [], h = m.map((e) => {
179
+ let i = r(e.startDateTime, e.timeZone, n), o = g(e, t)?.type === "sold_out";
180
+ return {
181
+ timeLabel: i,
182
+ href: a(e),
183
+ ariaLabel: `${c.name} at ${i}${o ? ", sold out" : ""}`
184
+ };
185
+ }), v = [c.name];
186
+ c.startDateTime && v.push(`on ${i(c.startDateTime, c.timeZone, n)}`), e.isSeries ? v.push(`${e.instances.length} showtimes available`) : c.startDateTime && v.push(`at ${r(c.startDateTime, c.timeZone, n)}`), u && v.push(u.text);
187
+ let b = S(c, t, n);
188
+ return v.push(...b), {
189
+ title: c.name,
190
+ href: f,
191
+ imageUrl: c.imageUrl ?? "",
192
+ dateLabel: p,
193
+ description: o?.description === !1 ? "" : c.description ?? "",
194
+ ariaLabel: v.join(", "),
195
+ hidePoster: o?.poster === !1,
196
+ posterFit: s.posterFit ?? "fit",
197
+ posterBackdrop: s.posterBackdrop ?? "blur",
198
+ badge: d,
199
+ pills: h,
200
+ pillEvents: m,
201
+ meta: b
202
+ };
203
+ }
204
+ //#endregion
205
+ export { _ as a, g as i, y as n, d as o, b as r, C as t };
@@ -199,9 +199,13 @@ var e = {
199
199
  queueWaitLessThanMinute: "Bir dakikadan az",
200
200
  queueWaitMinute: "{n} dakika",
201
201
  queueWaitMinutes: "{n} dakika",
202
- queueKeepPageOpen: "Bu sayfayı açık tutun — yeriniz korunuyor",
202
+ queueKeepPageOpen: "Bu sayfayı açık tutun — kapatırsanız yerinizi kaybedersiniz",
203
+ queueReleaseSpot: "Yerimi bırak",
203
204
  queueAdmittedTitle: "Sıra sizde",
204
205
  queueAdmittedBody: "Sıra sizde — biletlerinizi şimdi alabilirsiniz",
206
+ queuePassTimeLeft: "Biletlerinizi almak için {time} süreniz var",
207
+ queuePassEndingSoon: "Bir dakikadan az kaldı — biletlerinizi şimdi alın",
208
+ queuePassExpired: "Sıranızın süresi doldu — şimdi satın alırsanız yeniden sıraya girersiniz",
205
209
  recommendationsHeading: "Bu mekânda daha fazlası",
206
210
  recommendationFromTonightsLineup: "Bu geceki kadrodan",
207
211
  recommendationSimilarShow: "Benzer gösteri",
@@ -3,7 +3,6 @@ var e = {
3
3
  viewList: "Liste",
4
4
  viewGallery: "Galeri",
5
5
  viewCalendar: "Takvim",
6
- viewTonight: "Bu akşamın programı",
7
6
  searchPlaceholder: "Etkinlik ara",
8
7
  searchAriaLabel: "Etkinlikleri ara",
9
8
  listView: "Liste görünümü",
@@ -94,7 +93,6 @@ var e = {
94
93
  nextWeek: "Gelecek hafta",
95
94
  comingUp: "Yakında",
96
95
  noShowsTonight: "Bu akşam gösteri yok",
97
- nextShow: "Sıradaki gösteri",
98
96
  noUpcomingShowsScheduled: "Planlanmış yaklaşan gösteri yok",
99
97
  nothingOn: "Etkinlik yok",
100
98
  noUpcomingEventsScheduled: "Planlanmış yaklaşan etkinlik yok",
@@ -473,9 +471,13 @@ var e = {
473
471
  queueWaitLessThanMinute: "Bir dakikadan az",
474
472
  queueWaitMinute: "{n} dakika",
475
473
  queueWaitMinutes: "{n} dakika",
476
- queueKeepPageOpen: "Bu sayfayı açık tutun — yeriniz korunuyor",
474
+ queueKeepPageOpen: "Bu sayfayı açık tutun — kapatırsanız yerinizi kaybedersiniz",
475
+ queueReleaseSpot: "Yerimi bırak",
477
476
  queueAdmittedTitle: "Sıra sizde",
478
477
  queueAdmittedBody: "Sıra sizde — biletlerinizi şimdi alabilirsiniz",
478
+ queuePassTimeLeft: "Biletlerinizi almak için {time} süreniz var",
479
+ queuePassEndingSoon: "Bir dakikadan az kaldı — biletlerinizi şimdi alın",
480
+ queuePassExpired: "Sıranızın süresi doldu — şimdi satın alırsanız yeniden sıraya girersiniz",
479
481
  sessionExpiringSoonMessage: "Ödeme oturumunuz {time} içinde sona erecek. Seçtiğiniz biletler stoğa geri verilecek",
480
482
  extensionsRemaining: "Kalan uzatma hakkı: {count}",
481
483
  continueCheckout: "Ödemeye devam et",
@@ -540,7 +542,11 @@ var e = {
540
542
  giftCardPaymentDetails: "Ödeme bilgileri",
541
543
  giftCardBack: "Geri",
542
544
  giftCardPayAmount: "{amount} öde",
543
- giftCardPaymentFailed: "Ödeme başarısız oldu. Lütfen tekrar deneyin"
545
+ giftCardPaymentFailed: "Ödeme başarısız oldu. Lütfen tekrar deneyin",
546
+ fromPrice: "{price}'den başlayan",
547
+ payWhatYouWant: "İstediğin kadar öde",
548
+ onSaleOn: "{date} tarihinde satışta",
549
+ showAtTime: "Gösteri {time}"
544
550
  };
545
551
  //#endregion
546
552
  export { e as tr };
@@ -116,7 +116,16 @@ export type ViewType =
116
116
  | 'calendar'
117
117
  | 'carousel'
118
118
  | 'featured'
119
- | 'tonight';
119
+ /** Draws the Board look on today's shows; kept so saved embeds still load. */
120
+ | 'tonight'
121
+ | 'look-featured'
122
+ | 'look-ticket'
123
+ | 'look-strip'
124
+ | 'look-list'
125
+ | 'look-board'
126
+ | 'look-grid'
127
+ | 'look-posters'
128
+ | 'look-calendar';
120
129
 
121
130
  // ============================================================================
122
131
  // Component Props Interfaces
@@ -144,8 +153,9 @@ export interface BaseInitOptions {
144
153
  * Options for initializing the Venue Calendar component
145
154
  */
146
155
  export interface CalendarProps extends BaseInitOptions {
147
- /** Initial view: 'list', 'gallery', 'calendar', 'carousel', 'featured' or
148
- * 'tonight' (default: 'calendar') */
156
+ /** Initial view: 'list', 'gallery', 'calendar', 'carousel', 'featured' or a
157
+ * look-* view; 'tonight' draws the Board look on today's shows
158
+ * (default: 'calendar') */
149
159
  view?: ViewType;
150
160
  /** Array of event objects to display */
151
161
  events?: EventData[];
@@ -158,11 +168,18 @@ export interface CalendarProps extends BaseInitOptions {
158
168
  /** Gallery/List/Carousel show at most this many events; null = all, with
159
169
  * load more on Gallery (default: null) */
160
170
  maxItems?: number | null;
161
- /** Hide card parts; only `false` hides (default: every part shown) */
171
+ /** Hide card parts; only `false` hides (default: every part shown). A
172
+ * `look-*` view also reads doorsTime, showTime, performers, price and
173
+ * button, where `true` switches on a part the look leaves off. */
162
174
  eventDetails?: {
163
175
  poster?: boolean;
164
176
  date?: boolean;
165
177
  description?: boolean;
178
+ doorsTime?: boolean;
179
+ showTime?: boolean;
180
+ performers?: boolean;
181
+ price?: boolean;
182
+ button?: boolean;
166
183
  } | null;
167
184
  /** Which show the Featured view spotlights. Falls through to the next
168
185
  * upcoming show when the pick is absent or no longer in the feed — a
@@ -0,0 +1,219 @@
1
+ import { g as e } from "./sizing-B7ixYndz.js";
2
+ import { F as t, P as n } from "./widget-key-context-DX9WCLIM.js";
3
+ import { n as r, r as i, s as a } from "./client-BxgiVv8K.js";
4
+ import "./event-transform-za8lXql7.js";
5
+ import { f as o } from "./checkoutState-DKdzYK3y.js";
6
+ //#region src/lib/api/surge-queue.ts
7
+ var s = e("VC"), c = "queue_unavailable", l = {
8
+ armed: !1,
9
+ mode: "off",
10
+ waiting: 0,
11
+ etaSeconds: 0
12
+ }, u = 5e3, d = 1e3;
13
+ function f(e) {
14
+ return typeof e == "number" && Number.isFinite(e) && e > 0 ? Math.floor(e) : 0;
15
+ }
16
+ function p(e) {
17
+ return e === "off" || e === "auto" || e === "on" ? e : "off";
18
+ }
19
+ function m(e) {
20
+ return e === "open" || e === "waiting" || e === "admitted" ? e : "expired";
21
+ }
22
+ function h(e) {
23
+ return typeof e != "number" || !Number.isFinite(e) || e <= 0 ? u : Math.max(e, d);
24
+ }
25
+ function g(e) {
26
+ let t = m(e?.state), n = typeof e?.token == "string" ? e.token : "";
27
+ return !n && t !== "open" ? null : {
28
+ token: n,
29
+ state: t,
30
+ position: f(e?.position),
31
+ ahead: f(e?.ahead),
32
+ etaSeconds: f(e?.etaSeconds),
33
+ pollAfterMs: h(e?.pollAfterMs),
34
+ expiresAt: typeof e?.expiresAt == "string" ? e.expiresAt : ""
35
+ };
36
+ }
37
+ async function _(e, t) {
38
+ try {
39
+ let n = await r(`/events/${e}/queue`, { widgetKey: t?.widgetKey });
40
+ return n.success ? {
41
+ armed: n.data?.armed === !0,
42
+ mode: p(n.data?.mode),
43
+ waiting: f(n.data?.waiting),
44
+ etaSeconds: f(n.data?.etaSeconds)
45
+ } : l;
46
+ } catch (e) {
47
+ return s.error("getQueueState error:", e), l;
48
+ }
49
+ }
50
+ async function v(e, t) {
51
+ try {
52
+ let n = await i(`/events/${e}/queue/join`, {}, { widgetKey: t?.widgetKey });
53
+ if (!n.success) return {
54
+ success: !1,
55
+ errorCode: n.errorCode || "queue_unavailable",
56
+ statusCode: n.statusCode
57
+ };
58
+ let r = g(n.data);
59
+ return r ? {
60
+ success: !0,
61
+ entry: r,
62
+ statusCode: n.statusCode
63
+ } : {
64
+ success: !1,
65
+ errorCode: c,
66
+ statusCode: n.statusCode
67
+ };
68
+ } catch (e) {
69
+ return s.error("joinQueue error:", e), {
70
+ success: !1,
71
+ errorCode: c
72
+ };
73
+ }
74
+ }
75
+ async function y(e, t, n) {
76
+ if (!t) return {
77
+ success: !1,
78
+ errorCode: c
79
+ };
80
+ try {
81
+ let i = await r(`/events/${e}/queue/status?token=${encodeURIComponent(t)}`, { widgetKey: n?.widgetKey });
82
+ if (!i.success) return {
83
+ success: !1,
84
+ errorCode: i.errorCode || "queue_unavailable",
85
+ statusCode: i.statusCode
86
+ };
87
+ let a = g(i.data);
88
+ return a ? {
89
+ success: !0,
90
+ entry: a,
91
+ statusCode: i.statusCode
92
+ } : {
93
+ success: !1,
94
+ errorCode: c,
95
+ statusCode: i.statusCode
96
+ };
97
+ } catch (e) {
98
+ return s.error("getQueueStatus error:", e), {
99
+ success: !1,
100
+ errorCode: c
101
+ };
102
+ }
103
+ }
104
+ async function b(e, t, n) {
105
+ if (!t) return { released: !1 };
106
+ try {
107
+ return { released: (await i(`/events/${e}/queue/leave`, { token: t }, {
108
+ keepalive: !0,
109
+ suppressOnError: !0,
110
+ widgetKey: n?.widgetKey
111
+ })).data?.released === !0 };
112
+ } catch (e) {
113
+ return s.error("leaveQueue error:", e), { released: !1 };
114
+ }
115
+ }
116
+ //#endregion
117
+ //#region src/lib/utils/orderApi.ts
118
+ var x = e("orderApi");
119
+ function S(e) {
120
+ if (typeof e == "string") return e;
121
+ if (e && typeof e == "object") {
122
+ let t = e.message;
123
+ if (typeof t == "string" && t) return t;
124
+ let n = e.code;
125
+ if (typeof n == "string" && n) return n;
126
+ }
127
+ return "";
128
+ }
129
+ function C(e) {
130
+ if (e && typeof e == "object") {
131
+ let t = e.code;
132
+ if (typeof t == "string") return t;
133
+ }
134
+ return "";
135
+ }
136
+ async function w() {
137
+ return null;
138
+ }
139
+ async function T(e, n) {
140
+ try {
141
+ let i = await r(`/venues/${e}`, { widgetKey: n?.widgetKey });
142
+ if (!i.success) throw new t(i.error ?? `API error: ${i.statusCode}`, i.statusCode ?? 0, {
143
+ endpoint: `/venues/${e}`,
144
+ method: "GET"
145
+ });
146
+ return i.data;
147
+ } catch (e) {
148
+ throw x.error("getVenueDetails error:", e), e;
149
+ }
150
+ }
151
+ async function E(e = {}, t, n) {
152
+ try {
153
+ let r = await w(), { eventID: a, quantities: s, donationAmounts: c, ...l } = e, u = s ? Object.fromEntries(Object.entries(s).map(([e, t]) => [parseInt(e, 10), t])) : {}, d = c ? Object.fromEntries(Object.entries(c).filter(([, e]) => parseFloat(String(e)) > 0).map(([e, t]) => [parseInt(e, 10), parseFloat(String(t))])) : void 0, f = {
154
+ purchaserIP: r,
155
+ eventID: a ? parseInt(String(a), 10) : void 0,
156
+ quantities: u,
157
+ ...d && Object.keys(d).length > 0 ? { donationAmounts: d } : {},
158
+ ...l
159
+ }, p = await i("/orders/create", f, t ? {
160
+ headers: { "X-Queue-Token": t },
161
+ widgetKey: n?.widgetKey
162
+ } : { widgetKey: n?.widgetKey }), m = p.data ?? {};
163
+ if (!p.success || m.error) {
164
+ let e = S(m.error) || (typeof m.message == "string" ? m.message : "") || p.error || "Order creation failed";
165
+ if ((p.errorCode || C(m.error)) === "QUEUE_REQUIRED") return {
166
+ success: !1,
167
+ error: e,
168
+ errorType: "queue"
169
+ };
170
+ let t = e.toLowerCase();
171
+ return {
172
+ success: !1,
173
+ error: e,
174
+ errorType: t.includes("inventory") || t.includes("sold out") || t.includes("not available") || t.includes("insufficient") || p.statusCode === 409 ? "inventory" : "server"
175
+ };
176
+ }
177
+ return o(m.uuid || m.cartUUID), {
178
+ success: !0,
179
+ uuid: m.uuid || m.cartUUID,
180
+ serviceFee: m.serviceFee ?? 0,
181
+ subtotal: m.subtotal ?? 0
182
+ };
183
+ } catch (e) {
184
+ let t = e instanceof Error ? e.message : "Network error";
185
+ return x.error("Order initiation failed:", e), {
186
+ success: !1,
187
+ error: t,
188
+ errorType: "network"
189
+ };
190
+ }
191
+ }
192
+ async function D(e, n) {
193
+ try {
194
+ let i = await r(`/orders/${e}`, { widgetKey: n?.widgetKey });
195
+ if (!i.success) {
196
+ let n = i.error ?? `Failed to fetch order (${i.statusCode})`;
197
+ throw x.error("getOrder error response:", n), new t(n, i.statusCode ?? 0, {
198
+ endpoint: `/orders/${e}`,
199
+ method: "GET"
200
+ });
201
+ }
202
+ return i.data;
203
+ } catch (e) {
204
+ throw x.error("getOrder error:", e), e;
205
+ }
206
+ }
207
+ //#endregion
208
+ //#region src/lib/utils/utm.ts
209
+ var O = e("utm");
210
+ async function k(e) {
211
+ let t = new URLSearchParams(window.location.search), r = n(t.get("utm_source")) || "direct";
212
+ try {
213
+ await fetch(`${a()}/utm/${e}/${encodeURIComponent(r)}`);
214
+ } catch (e) {
215
+ O.error("UTM tracking failed:", e);
216
+ }
217
+ }
218
+ //#endregion
219
+ export { _ as a, b as c, E as i, D as n, y as o, T as r, v as s, k as t };