@getmicdrop/venue-calendar 4.0.80 → 4.0.81

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 (117) hide show
  1. package/README.md +173 -128
  2. package/dist/{CarouselView.legacy-D2EY3K5p.js → CarouselView.legacy-Bn76lnuH.js} +3 -3
  3. package/dist/{CarouselView.legacy-D2EY3K5p.js.map → CarouselView.legacy-Bn76lnuH.js.map} +1 -1
  4. package/dist/{CartView-CXsAlVHs.js → CartView-lR1zLxmN.js} +277 -280
  5. package/dist/CartView-lR1zLxmN.js.map +1 -0
  6. package/dist/{Checkout-Bj85hSlQ.js → Checkout-D5mXj5zN.js} +69 -73
  7. package/dist/Checkout-D5mXj5zN.js.map +1 -0
  8. package/dist/Checkout-KyLZlwLk.js +1673 -0
  9. package/dist/Checkout-KyLZlwLk.js.map +1 -0
  10. package/dist/{Checkout.legacy-D4Uh3sQB.js → Checkout.legacy-Dl8Oh7y3.js} +77 -81
  11. package/dist/{Checkout.legacy-D4Uh3sQB.js.map → Checkout.legacy-Dl8Oh7y3.js.map} +1 -1
  12. package/dist/CheckoutTimer-Deo1mLnO.js +141 -0
  13. package/dist/CheckoutTimer-Deo1mLnO.js.map +1 -0
  14. package/dist/CollectionView-C1O9xfVC.js +338 -0
  15. package/dist/CollectionView-C1O9xfVC.js.map +1 -0
  16. package/dist/{CollectionView.legacy-CsBYjvZv.js → CollectionView.legacy-DK_mCA_g.js} +25 -28
  17. package/dist/{CollectionView.legacy-CsBYjvZv.js.map → CollectionView.legacy-DK_mCA_g.js.map} +1 -1
  18. package/dist/Event-B5WRygEf.js +2240 -0
  19. package/dist/Event-B5WRygEf.js.map +1 -0
  20. package/dist/EventPage-f1AOk4Jb.js +577 -0
  21. package/dist/EventPage-f1AOk4Jb.js.map +1 -0
  22. package/dist/{EventPage.legacy-DDVZNT-7.js → EventPage.legacy-Bk3PJyJs.js} +408 -411
  23. package/dist/{EventPage.legacy-DDVZNT-7.js.map → EventPage.legacy-Bk3PJyJs.js.map} +1 -1
  24. package/dist/{FeaturedView.legacy-BfOfYXRN.js → FeaturedView.legacy-BzCt1X1W.js} +19 -19
  25. package/dist/{FeaturedView.legacy-BfOfYXRN.js.map → FeaturedView.legacy-BzCt1X1W.js.map} +1 -1
  26. package/dist/{GalleryCard-CZkN5_Jb.js → GalleryCard-C1EKGErR.js} +14 -14
  27. package/dist/{GalleryCard-CZkN5_Jb.js.map → GalleryCard-C1EKGErR.js.map} +1 -1
  28. package/dist/{GalleryView.legacy-CziaM40i.js → GalleryView.legacy-BmQtZKl7.js} +3 -3
  29. package/dist/{GalleryView.legacy-CziaM40i.js.map → GalleryView.legacy-BmQtZKl7.js.map} +1 -1
  30. package/dist/{GroupedListView.legacy-CPy5md80.js → GroupedListView.legacy-D72fbNfA.js} +18 -18
  31. package/dist/{GroupedListView.legacy-CPy5md80.js.map → GroupedListView.legacy-D72fbNfA.js.map} +1 -1
  32. package/dist/Heading-Bwevh2c4.js +81 -0
  33. package/dist/Heading-Bwevh2c4.js.map +1 -0
  34. package/dist/ModalHeader-DKwE5ZYZ.js +22 -0
  35. package/dist/ModalHeader-DKwE5ZYZ.js.map +1 -0
  36. package/dist/OrderSummarySkeleton-DKWKZNLL.js +632 -0
  37. package/dist/OrderSummarySkeleton-DKWKZNLL.js.map +1 -0
  38. package/dist/{ScarcityBadge-Bungh7jy.js → ScarcityBadge-3cFxTOCh.js} +24 -28
  39. package/dist/{ScarcityBadge-Bungh7jy.js.map → ScarcityBadge-3cFxTOCh.js.map} +1 -1
  40. package/dist/{SeriesPage-BzyObY3_.js → SeriesPage-Cq4Q8Vah.js} +17 -21
  41. package/dist/{SeriesPage-BzyObY3_.js.map → SeriesPage-Cq4Q8Vah.js.map} +1 -1
  42. package/dist/{SeriesPage.legacy-BA00IzDL.js → SeriesPage.legacy-zvgW0S_y.js} +70 -74
  43. package/dist/{SeriesPage.legacy-BA00IzDL.js.map → SeriesPage.legacy-zvgW0S_y.js.map} +1 -1
  44. package/dist/{Success-NB1gahZr.js → Success-kyiEO6_Z.js} +186 -175
  45. package/dist/{Success-NB1gahZr.js.map → Success-kyiEO6_Z.js.map} +1 -1
  46. package/dist/{Success.legacy-D6cvUMzi.js → Success.legacy-BxKYmXgz.js} +58 -62
  47. package/dist/{Success.legacy-D6cvUMzi.js.map → Success.legacy-BxKYmXgz.js.map} +1 -1
  48. package/dist/Text-_bLxSPv-.js +158 -0
  49. package/dist/Text-_bLxSPv-.js.map +1 -0
  50. package/dist/{VenueCalendar-CISH7WGT.js → VenueCalendar-d8u6MKEu.js} +8138 -22881
  51. package/dist/VenueCalendar-d8u6MKEu.js.map +1 -0
  52. package/dist/ViewTicketsEmbed-DquJJVIK.js +2081 -0
  53. package/dist/ViewTicketsEmbed-DquJJVIK.js.map +1 -0
  54. package/dist/__SKIP_NAVIGATION__-CmipjatL.js +18 -0
  55. package/dist/__SKIP_NAVIGATION__-CmipjatL.js.map +1 -0
  56. package/dist/api/api.cjs +1 -1
  57. package/dist/api/api.cjs.map +1 -1
  58. package/dist/api/api.mjs +482 -374
  59. package/dist/api/api.mjs.map +1 -1
  60. package/dist/api/cta.d.ts +2 -10
  61. package/dist/api/transformers/address.d.ts +18 -0
  62. package/dist/api/transformers/cart.d.ts +19 -0
  63. package/dist/api/transformers/collection.d.ts +12 -0
  64. package/dist/api/transformers/event.d.ts +50 -1
  65. package/dist/api/transformers/giftCard.d.ts +11 -0
  66. package/dist/api/transformers/index.d.ts +10 -3
  67. package/dist/api/transformers/performer.d.ts +8 -0
  68. package/dist/api/transformers/series.d.ts +12 -0
  69. package/dist/api/types.d.ts +423 -383
  70. package/dist/api-BzICORqy.js +6 -0
  71. package/dist/{api-BV4wcElQ.js.map → api-BzICORqy.js.map} +1 -1
  72. package/dist/colors-CmP-sSZD.js.map +1 -1
  73. package/dist/{data-toggle-store.svelte-DU0VWdcf.js → data-toggle-store.svelte-BGbzblUJ.js} +6 -6
  74. package/dist/{data-toggle-store.svelte-DU0VWdcf.js.map → data-toggle-store.svelte-BGbzblUJ.js.map} +1 -1
  75. package/dist/index-BsWecoW1.js +63 -0
  76. package/dist/index-BsWecoW1.js.map +1 -0
  77. package/dist/labels-Bj_cocb1.js +966 -0
  78. package/dist/labels-Bj_cocb1.js.map +1 -0
  79. package/dist/transform-D7Oe8jUp.js +276 -0
  80. package/dist/transform-D7Oe8jUp.js.map +1 -0
  81. package/dist/types/index.d.ts +45 -0
  82. package/dist/venue-calendar.css +1 -1
  83. package/dist/venue-calendar.es.js +31 -37
  84. package/dist/venue-calendar.es.js.map +1 -1
  85. package/dist/venue-calendar.iife.js +40 -107
  86. package/dist/venue-calendar.iife.js.map +1 -1
  87. package/dist/venue-calendar.umd.js +38 -125
  88. package/dist/venue-calendar.umd.js.map +1 -1
  89. package/package.json +170 -168
  90. package/dist/CartView-CXsAlVHs.js.map +0 -1
  91. package/dist/Checkout-BPAkGlf6.js +0 -1531
  92. package/dist/Checkout-BPAkGlf6.js.map +0 -1
  93. package/dist/Checkout-Bj85hSlQ.js.map +0 -1
  94. package/dist/CheckoutTimer-CSc35x4t.js +0 -35
  95. package/dist/CheckoutTimer-CSc35x4t.js.map +0 -1
  96. package/dist/CollectionView-BitCEQzn.js +0 -148
  97. package/dist/CollectionView-BitCEQzn.js.map +0 -1
  98. package/dist/Event-BAKC5X6r.js +0 -1910
  99. package/dist/Event-BAKC5X6r.js.map +0 -1
  100. package/dist/EventPage-DxiAuBVc.js +0 -336
  101. package/dist/EventPage-DxiAuBVc.js.map +0 -1
  102. package/dist/Heading-AFd3o0xt.js +0 -44
  103. package/dist/Heading-AFd3o0xt.js.map +0 -1
  104. package/dist/OrderSummarySkeleton-dDKUH741.js +0 -16
  105. package/dist/OrderSummarySkeleton-dDKUH741.js.map +0 -1
  106. package/dist/Text-CXR2fhx6.js +0 -54
  107. package/dist/Text-CXR2fhx6.js.map +0 -1
  108. package/dist/VenueCalendar-CISH7WGT.js.map +0 -1
  109. package/dist/ViewTicketsEmbed-Bo16Y0sx.js +0 -2039
  110. package/dist/ViewTicketsEmbed-Bo16Y0sx.js.map +0 -1
  111. package/dist/__SKIP_NAVIGATION__-CJ96TTPE.js +0 -7
  112. package/dist/__SKIP_NAVIGATION__-CJ96TTPE.js.map +0 -1
  113. package/dist/api-BV4wcElQ.js +0 -12
  114. package/dist/labels-B2ebkcUD.js +0 -659
  115. package/dist/labels-B2ebkcUD.js.map +0 -1
  116. package/dist/transform-B3tJXUnG.js +0 -275
  117. package/dist/transform-B3tJXUnG.js.map +0 -1
@@ -0,0 +1,966 @@
1
+ import * as e from "svelte/internal/client";
2
+ import { aA as ee, h as ce, aH as ue, a6 as H, ai as Q, E as fe, m as q } from "./VenueCalendar-d8u6MKEu.js";
3
+ import { SvelteMap as te } from "svelte/reactivity";
4
+ import "svelte/internal/disclose-version";
5
+ import { T as k } from "./Text-_bLxSPv-.js";
6
+ const me = ce("toast.svelte"), se = 2e4, z = new te(), L = "opt-in:";
7
+ function ae(t, s, a, i) {
8
+ const n = setTimeout(
9
+ () => {
10
+ z.delete(t);
11
+ },
12
+ i
13
+ );
14
+ z.set(t, {
15
+ toastId: s,
16
+ count: 1,
17
+ total: a,
18
+ timeout: n,
19
+ lastUpdate: Date.now()
20
+ });
21
+ }
22
+ function ie(t, s) {
23
+ return t.count++, t.total += s, t.lastUpdate = Date.now(), { count: t.count, total: t.total };
24
+ }
25
+ function ne(t, s, a, i) {
26
+ e.set(
27
+ v,
28
+ e.get(v).map((n) => n.id === t.toastId ? {
29
+ ...n,
30
+ title: a.title ?? n.title,
31
+ description: a.description ?? n.description,
32
+ onClick: a.onClick ?? n.onClick,
33
+ batchCount: s.count,
34
+ batchTotal: s.total,
35
+ notification: n.notification ? {
36
+ ...n.notification,
37
+ batchCount: s.count,
38
+ batchTotal: s.total,
39
+ message: a.message ?? n.notification.message
40
+ } : n.notification,
41
+ createdAt: Date.now()
42
+ // Reset timer visual (MF parity)
43
+ } : n),
44
+ !0
45
+ ), i !== 1 / 0 && Y(t.toastId, i);
46
+ }
47
+ let F = e.state(!1), X = e.state("default");
48
+ typeof window < "u" && "Notification" in window && (e.set(X, Notification.permission, !0), e.set(F, Notification.permission === "granted"));
49
+ async function pe() {
50
+ if (typeof window > "u" || !("Notification" in window))
51
+ return !1;
52
+ const t = await Notification.requestPermission();
53
+ return e.set(X, t, !0), e.set(F, t === "granted"), e.get(F);
54
+ }
55
+ let W = null;
56
+ const ve = {
57
+ // Admin notifications
58
+ "ticket sold": { category: "admin", key: "ticketSales" },
59
+ "order completed": { category: "admin", key: "ticketSales" },
60
+ "performer confirmed": { category: "admin", key: "performerResponses" },
61
+ "performer declined": { category: "admin", key: "performerResponses" },
62
+ "event sold out": { category: "admin", key: "eventSoldOut" },
63
+ "show sold out": { category: "admin", key: "eventSoldOut" },
64
+ "section sold out": { category: "admin", key: "eventSoldOut" },
65
+ "ticket type sold out": { category: "admin", key: "eventSoldOut" },
66
+ "vip tickets sold out": { category: "admin", key: "eventSoldOut" },
67
+ "event published": { category: "admin", key: "eventPublished" },
68
+ // Performer notifications
69
+ "avails sent": { category: "performer", key: "availabilityRequests" },
70
+ "avails sent to all": { category: "performer", key: "availabilityRequests" },
71
+ "availability request": { category: "performer", key: "availabilityRequests" },
72
+ "performance invitation": { category: "performer", key: "performanceInvitations" },
73
+ "invited to perform": { category: "performer", key: "performanceInvitations" }
74
+ };
75
+ function ge(t) {
76
+ W = t;
77
+ }
78
+ function re(t) {
79
+ return t.trim().toLowerCase();
80
+ }
81
+ function he(t) {
82
+ return W ? W(t) : !0;
83
+ }
84
+ function G(t, s) {
85
+ if (e.get(F) && !(s?.status && !he(re(s.status))))
86
+ try {
87
+ new Notification(t, {
88
+ body: s?.body,
89
+ icon: s?.icon || "/favicon.png",
90
+ badge: "/favicon.png",
91
+ silent: !1
92
+ });
93
+ } catch (a) {
94
+ me.warn("Desktop notification failed:", a);
95
+ }
96
+ }
97
+ function Z(t, s, a) {
98
+ const i = s.desktopNotification;
99
+ if (!i) return;
100
+ const n = i === !0 ? {} : i;
101
+ G(n.title ?? a?.title ?? t, {
102
+ body: n.body ?? a?.description ?? s.description,
103
+ icon: n.icon,
104
+ status: n.status
105
+ });
106
+ }
107
+ const V = {
108
+ success: 4e3,
109
+ error: 1 / 0,
110
+ // persist until dismissed (was 6000ms auto-dismiss)
111
+ warning: 5e3,
112
+ info: 4e3,
113
+ loading: 1 / 0,
114
+ notification: 6e3
115
+ }, N = 5;
116
+ let v = e.state(e.proxy([]));
117
+ const C = new te();
118
+ function oe() {
119
+ return `toast-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
120
+ }
121
+ const ye = {
122
+ success: "success",
123
+ error: "error",
124
+ warning: "warning",
125
+ info: "light",
126
+ loading: null,
127
+ // No haptic for loading states
128
+ notification: "light"
129
+ }, be = {
130
+ polite: "sc-toast-live-polite",
131
+ assertive: "sc-toast-live-assertive"
132
+ };
133
+ function ke(t) {
134
+ const s = be[t];
135
+ let a = document.getElementById(s);
136
+ return a || (a = document.createElement("div"), a.id = s, a.setAttribute("role", t === "assertive" ? "alert" : "status"), a.setAttribute("aria-live", t), a.setAttribute("aria-atomic", "true"), a.className = "sr-only", Object.assign(a.style, {
137
+ position: "absolute",
138
+ width: "1px",
139
+ height: "1px",
140
+ padding: "0",
141
+ margin: "-1px",
142
+ overflow: "hidden",
143
+ clip: "rect(0, 0, 0, 0)",
144
+ whiteSpace: "nowrap",
145
+ border: "0"
146
+ }), document.body.appendChild(a), a);
147
+ }
148
+ function le(t, s) {
149
+ if (typeof document > "u" || !s) return;
150
+ const a = ke(t);
151
+ a.textContent = "", setTimeout(
152
+ () => {
153
+ a.textContent = s;
154
+ },
155
+ 100
156
+ );
157
+ }
158
+ function Te(t, s, a) {
159
+ const i = a ? `${s}. ${a}` : s;
160
+ le(t === "error" ? "assertive" : "polite", i);
161
+ }
162
+ function M(t, s, a = {}) {
163
+ const i = a.duration ?? V[t];
164
+ if (a.batch) {
165
+ const o = L + a.batch.key, f = z.get(o);
166
+ if (f) {
167
+ const b = ie(f, a.batch.amount ?? 1), P = a.batch.render?.(b) ?? {};
168
+ return ne(f, b, P, i), Z(s, a, P), f.toastId;
169
+ }
170
+ }
171
+ const n = oe(), y = t === "error" && i === 1 / 0 ? !0 : a.dismissible ?? !0, l = {
172
+ id: n,
173
+ type: t,
174
+ title: s,
175
+ description: a.description,
176
+ duration: i,
177
+ dismissible: y,
178
+ onClick: a.onClick,
179
+ action: a.action,
180
+ createdAt: Date.now(),
181
+ ...a.batch ? { batchCount: 1, batchTotal: a.batch.amount ?? 1 } : {}
182
+ };
183
+ e.set(v, [l, ...e.get(v)], !0), Te(t, s, a.description);
184
+ const x = ye[t];
185
+ if (x && ee(x), i !== 1 / 0 && Y(n, i), a.batch && ae(L + a.batch.key, n, a.batch.amount ?? 1, a.batch.window ?? se), Z(s, a), e.get(v).length > N) {
186
+ const o = e.get(v).slice(N);
187
+ for (const f of o) {
188
+ const b = C.get(f.id);
189
+ b && (clearTimeout(b), C.delete(f.id));
190
+ }
191
+ e.set(v, e.get(v).slice(0, N), !0);
192
+ }
193
+ return n;
194
+ }
195
+ function xe(t) {
196
+ const s = re(t.status || ""), a = typeof t.batch == "object" && t.batch !== null ? t.batch : void 0;
197
+ if (a) {
198
+ const x = L + a.key, o = z.get(x);
199
+ if (o) {
200
+ const f = ie(o, a.amount ?? 1), b = a.render?.(f) ?? {};
201
+ return ne(o, f, b, t.duration ?? V.notification), G(t.event, {
202
+ body: b.desktopBody ?? b.message ?? t.message ?? t.status,
203
+ icon: t.avatar,
204
+ status: s
205
+ }), o.toastId;
206
+ }
207
+ }
208
+ const i = oe(), n = t.duration ?? V.notification, g = {
209
+ id: i,
210
+ type: "notification",
211
+ notification: {
212
+ name: t.name,
213
+ displayName: t.displayName,
214
+ event: t.event,
215
+ status: t.status,
216
+ avatar: t.avatar,
217
+ message: t.message,
218
+ performerMessage: t.performerMessage,
219
+ eventId: t.eventId,
220
+ batchCount: a ? 1 : void 0,
221
+ batchTotal: a ? a.amount ?? 1 : void 0
222
+ },
223
+ duration: n,
224
+ dismissible: t.dismissible ?? !0,
225
+ onClick: t.onClick,
226
+ createdAt: Date.now(),
227
+ ...a ? { batchCount: 1, batchTotal: a.amount ?? 1 } : {}
228
+ };
229
+ e.set(v, [g, ...e.get(v)], !0), le("polite", [
230
+ t.name || t.event,
231
+ t.status,
232
+ t.message
233
+ ].filter(Boolean).join(". ")), ee("light"), n !== 1 / 0 && Y(i, n), a && ae(L + a.key, i, a.amount ?? 1, a.window ?? se);
234
+ const y = t.name || t.event, l = t.name ? `${t.status} · ${t.event}` : t.message || t.status;
235
+ if (G(y, {
236
+ body: l,
237
+ icon: t.avatar,
238
+ status: s
239
+ }), e.get(v).length > N) {
240
+ const x = e.get(v).slice(N);
241
+ for (const o of x) {
242
+ const f = C.get(o.id);
243
+ f && (clearTimeout(f), C.delete(o.id));
244
+ }
245
+ e.set(v, e.get(v).slice(0, N), !0);
246
+ }
247
+ return i;
248
+ }
249
+ function Y(t, s) {
250
+ const a = C.get(t);
251
+ a && clearTimeout(a);
252
+ const i = setTimeout(
253
+ () => {
254
+ B(t);
255
+ },
256
+ s
257
+ );
258
+ C.set(t, i);
259
+ }
260
+ function B(t) {
261
+ const s = C.get(t);
262
+ s && (clearTimeout(s), C.delete(t)), e.set(v, e.get(v).filter((a) => a.id !== t), !0);
263
+ }
264
+ function _e() {
265
+ C.forEach((t) => clearTimeout(t)), C.clear(), e.set(v, [], !0);
266
+ }
267
+ function we(t) {
268
+ const s = e.get(v).find((g) => g.id === t);
269
+ if (!s || s.duration === 1 / 0) return;
270
+ const a = C.get(t);
271
+ a && (clearTimeout(a), C.delete(t));
272
+ const i = Date.now() - s.createdAt, n = Math.max(0, s.duration - i);
273
+ e.set(
274
+ v,
275
+ e.get(v).map((g) => g.id === t ? { ...g, pausedAt: Date.now(), remainingTime: n } : g),
276
+ !0
277
+ );
278
+ }
279
+ function Se(t) {
280
+ const s = e.get(v).find((i) => i.id === t);
281
+ if (!s || !s.pausedAt || s.duration === 1 / 0) return;
282
+ const a = s.remainingTime ?? s.duration;
283
+ e.set(
284
+ v,
285
+ e.get(v).map((i) => i.id === t ? {
286
+ ...i,
287
+ pausedAt: void 0,
288
+ remainingTime: void 0,
289
+ createdAt: Date.now() - (s.duration - a)
290
+ } : i),
291
+ !0
292
+ ), a > 0 ? Y(t, a) : B(t);
293
+ }
294
+ function h(t, s) {
295
+ return M("info", t, s);
296
+ }
297
+ h.success = (t, s) => M("success", t, s);
298
+ h.error = (t, s) => M("error", t, s);
299
+ h.warning = (t, s) => M("warning", t, s);
300
+ h.info = (t, s) => M("info", t, s);
301
+ h.loading = (t, s) => M("loading", t, { ...s, duration: 1 / 0 });
302
+ h.notification = (t) => xe(t);
303
+ h.dismiss = B;
304
+ h.dismissAll = _e;
305
+ h.pause = we;
306
+ h.resume = Se;
307
+ h.requestDesktopPermission = pe;
308
+ h.getDesktopPermission = () => e.get(X);
309
+ h.isDesktopEnabled = () => e.get(F);
310
+ h.setPushPreferenceChecker = ge;
311
+ h.STATUS_TO_PREFERENCE = ve;
312
+ h.desktopNotify = (t, s) => G(t, s);
313
+ h.promise = async (t, s) => {
314
+ const a = h.loading(s.loading);
315
+ try {
316
+ const i = await t;
317
+ return B(a), h.success(s.success), i;
318
+ } catch (i) {
319
+ throw B(a), h.error(s.error), i;
320
+ }
321
+ };
322
+ function Ce(t, s, a = {}) {
323
+ const {
324
+ cancelled: i = !1,
325
+ isRegistration: n = !1,
326
+ waitlistEnabled: g = !1
327
+ } = a, y = /* @__PURE__ */ new Date();
328
+ if (i)
329
+ return { text: "Cancelled", disabled: !0, reason: "cancelled" };
330
+ const l = t.endDateTime || t.startDateTime;
331
+ if (l && new Date(l) < y)
332
+ return { text: "Sales ended", disabled: !0, reason: "event_past" };
333
+ const x = t?.hasPurchasableHiddenTickets === !0 || Array.isArray(s) && s.some(ue), o = (s || []).filter(
334
+ (d) => d.salesChannel !== 2 && !d.isHidden && !(typeof d.visibility == "number" && d.visibility >= 2)
335
+ );
336
+ if (o.length === 0)
337
+ return x ? {
338
+ text: n ? "Reserve a spot" : "Get tickets",
339
+ disabled: !1,
340
+ reason: "hidden_only"
341
+ } : {
342
+ text: "No tickets available",
343
+ disabled: !0,
344
+ reason: "no_tickets"
345
+ };
346
+ let f = !1, b = !0, P = !0, T = null;
347
+ for (const d of o) {
348
+ const E = d.salesBegin || d.salesStart || d.saleBegin || d.onSaleStart, R = d.salesEnd || d.saleEnd || d.onSaleEnd, _ = d.remainingCapacity ?? d.quantityRemaining ?? d.quantity, $ = d.soldOut || _ != null && _ <= 0, w = E ? new Date(E) > y : !1, I = R ? new Date(R) < y : !1;
349
+ if (!$ && !w && !I && (f = !0), $ || (b = !1), w || (P = !1), w && E && !$ && !I) {
350
+ const U = new Date(E);
351
+ (!T || U < T) && (T = U);
352
+ }
353
+ }
354
+ if (f)
355
+ return {
356
+ text: n ? "Reserve a spot" : "Get tickets",
357
+ disabled: !1,
358
+ reason: "available"
359
+ };
360
+ if (P && T) {
361
+ if (x)
362
+ return {
363
+ text: n ? "Reserve a spot" : "Get tickets",
364
+ disabled: !1,
365
+ reason: "hidden_only"
366
+ };
367
+ const d = T.getTime() - y.getTime(), E = d / (1e3 * 60 * 60), R = d / (1e3 * 60 * 60 * 24);
368
+ let _;
369
+ if (E < 24)
370
+ _ = H(T, { hour12: !0 }, "en-US");
371
+ else if (R <= 7)
372
+ _ = Q(
373
+ T,
374
+ { weekday: "short", hour: "numeric", minute: "2-digit", hour12: !0 },
375
+ "en-US"
376
+ );
377
+ else {
378
+ const $ = Q(
379
+ T,
380
+ { month: "short", day: "numeric" },
381
+ "en-US"
382
+ ), w = H(T, { hour12: !0 }, "en-US");
383
+ _ = `${$} ${w}`;
384
+ }
385
+ return {
386
+ text: `On sale ${_}`,
387
+ disabled: !0,
388
+ reason: "coming_soon"
389
+ };
390
+ }
391
+ return b ? x ? {
392
+ text: n ? "Reserve a spot" : "Get tickets",
393
+ disabled: !1,
394
+ reason: "hidden_only"
395
+ } : g ? {
396
+ text: "Join Waitlist",
397
+ disabled: !1,
398
+ reason: "sold_out_waitlist"
399
+ } : { text: "Sold out", disabled: !0, reason: "sold_out" } : x ? {
400
+ text: n ? "Reserve a spot" : "Get tickets",
401
+ disabled: !1,
402
+ reason: "hidden_only"
403
+ } : { text: "Sales ended", disabled: !0, reason: "sales_ended" };
404
+ }
405
+ const j = {
406
+ URGENT: 0.1,
407
+ // ≤10% remaining → urgent ("Only X left")
408
+ LOW: 0.2,
409
+ // ≤20% remaining (80%+ sold) → "Selling fast"
410
+ MAX_EXACT_COUNT: 20
411
+ // Don't show exact count above 20
412
+ };
413
+ function Me(t, s) {
414
+ if (s === 0) return "none";
415
+ if (t <= 0) return "sold_out";
416
+ const a = t / s;
417
+ return a <= j.URGENT ? "urgent" : a <= j.LOW ? "low" : "none";
418
+ }
419
+ function Ue(t, s, a, i) {
420
+ return t === "none" ? null : t === "sold_out" ? "Sold out" : t === "urgent" && a !== "browse" && s <= j.MAX_EXACT_COUNT ? `Only ${s} left` : t === "low" || t === "urgent" ? "Selling fast" : null;
421
+ }
422
+ function Fe(t) {
423
+ const s = t.tickets.map((i) => ({
424
+ salesBegin: i.salesStartDate,
425
+ salesEnd: i.salesEndDate,
426
+ remainingCapacity: i.quantityAvailable,
427
+ totalCapacity: i.quantityTotal,
428
+ soldOut: i.status === "sold_out",
429
+ salesChannel: 1,
430
+ // All our tickets are online (not "at the door only")
431
+ isHidden: i.isHidden
432
+ }));
433
+ if (t.status === "cancelled")
434
+ return {
435
+ text: "Cancelled",
436
+ disabled: !0,
437
+ reason: "This event has been cancelled"
438
+ };
439
+ if (t.status === "past")
440
+ return {
441
+ text: "Event ended",
442
+ disabled: !0,
443
+ reason: "This event has ended"
444
+ };
445
+ const a = Ce(
446
+ { startDateTime: t.startDateTime, endDateTime: t.endDateTime },
447
+ s,
448
+ {
449
+ cancelled: !1,
450
+ isRegistration: t.isRegistrationEvent,
451
+ waitlistEnabled: !1
452
+ }
453
+ );
454
+ return {
455
+ text: a.text,
456
+ disabled: a.disabled,
457
+ reason: a.disabled ? Pe(a.reason) : void 0
458
+ };
459
+ }
460
+ function Pe(t) {
461
+ if (t)
462
+ switch (t) {
463
+ case "cancelled":
464
+ return "This event has been cancelled.";
465
+ case "event_past":
466
+ return "This event has already happened.";
467
+ case "no_tickets":
468
+ return "There are no tickets configured for this event.";
469
+ case "coming_soon":
470
+ return;
471
+ // text already shows "On sale <date>"
472
+ case "sold_out":
473
+ return;
474
+ // text already shows "Sold out"
475
+ case "sold_out_waitlist":
476
+ return "All tickets are claimed. Join the waitlist to be notified.";
477
+ case "sales_ended":
478
+ return;
479
+ // text already shows "Sales ended"
480
+ default:
481
+ return;
482
+ }
483
+ }
484
+ function Be(t) {
485
+ const s = t.tickets.filter(
486
+ (l) => l.status === "on_sale" && !l.isHidden
487
+ );
488
+ if (s.length === 0) return null;
489
+ const a = s.some(
490
+ (l) => l.isDonation || l.ticketType === 2
491
+ ), i = s.filter(
492
+ (l) => !l.isDonation && l.ticketType !== 2
493
+ ), n = i.some((l) => l.price === 0), g = i.filter((l) => l.price > 0);
494
+ if (g.length === 0 && !n && a) return "Donation";
495
+ if (g.length === 0 && n) return null;
496
+ const y = Math.min(...g.map((l) => l.price));
497
+ return n ? null : a ? `From $${y}` : g.length === 1 ? `$${y}` : `From $${y}`;
498
+ }
499
+ function He(t, s) {
500
+ return fe(t * (s / 100));
501
+ }
502
+ const Ee = {
503
+ normal: 300
504
+ };
505
+ function ze(t) {
506
+ if (!t) return "";
507
+ const s = new Date(t), a = /* @__PURE__ */ new Date(), i = s.getTime() - a.getTime(), n = Math.round(i / (1e3 * 60)), g = i / (1e3 * 60 * 60);
508
+ if (n > 0 && n < 60) {
509
+ const o = Math.max(1, n);
510
+ return `in ${o} minute${o !== 1 ? "s" : ""}`;
511
+ }
512
+ if (g > 0 && g < 24) {
513
+ const o = Math.max(1, Math.round(g));
514
+ return `in ${o} hour${o !== 1 ? "s" : ""}`;
515
+ }
516
+ const y = new Date(a);
517
+ if (y.setDate(y.getDate() + 1), s.toDateString() === y.toDateString())
518
+ return `tomorrow at ${H(
519
+ s,
520
+ { hour: "numeric", minute: "2-digit" },
521
+ "en-US"
522
+ )}`;
523
+ const l = i / (1e3 * 60 * 60 * 24);
524
+ if (l > 0 && l <= 7) {
525
+ const o = new Intl.DateTimeFormat("en-US", {
526
+ weekday: "long"
527
+ }).format(s), f = H(
528
+ s,
529
+ { hour: "numeric", minute: "2-digit" },
530
+ "en-US"
531
+ );
532
+ return `on ${o} at ${f}`;
533
+ }
534
+ return `on ${new Intl.DateTimeFormat("en-US", {
535
+ month: "short",
536
+ day: "numeric"
537
+ }).format(s)}`;
538
+ }
539
+ function Le() {
540
+ return {
541
+ code: "",
542
+ isApplied: !1,
543
+ isValidating: !1,
544
+ error: "",
545
+ hint: "",
546
+ discountAmount: 0,
547
+ discountType: "",
548
+ discountTicketIds: [],
549
+ revealHiddenTickets: !1,
550
+ revealTicketIds: []
551
+ };
552
+ }
553
+ var O = e.from_html('<div class="flex justify-between"><!> <!></div>'), De = e.from_html('<div class="flex justify-between pt-1 border-t border-default"><!> <!></div>'), Ae = e.from_html('<!> <!> <!> <!> <!> <div class="flex justify-between pt-2 border-t border-default"><!> <!></div>', 1), $e = e.from_html('<div class="space-y-2"><!> <!></div>');
554
+ function Ge(t, s) {
555
+ e.push(s, !0);
556
+ let a = e.prop(s, "labels", 19, () => ({})), i = e.prop(s, "mode", 3, "full");
557
+ var n = $e(), g = e.child(n);
558
+ {
559
+ var y = (o) => {
560
+ var f = e.comment(), b = e.first_child(f);
561
+ e.each(b, 17, () => s.orderTotals.lines, (P) => P.ticketId, (P, T) => {
562
+ var d = O(), E = e.child(d);
563
+ k(E, {
564
+ size: "sm",
565
+ children: (_, $) => {
566
+ e.next();
567
+ var w = e.text();
568
+ e.template_effect(() => e.set_text(w, `${e.get(T).quantity ?? ""}x ${e.get(T).ticketName ?? ""}`)), e.append(_, w);
569
+ },
570
+ $$slots: { default: !0 }
571
+ });
572
+ var R = e.sibling(E, 2);
573
+ k(R, {
574
+ size: "sm",
575
+ children: (_, $) => {
576
+ e.next();
577
+ var w = e.text();
578
+ e.template_effect((I) => e.set_text(w, I), [() => q(e.get(T).subtotal)]), e.append(_, w);
579
+ },
580
+ $$slots: { default: !0 }
581
+ }), e.reset(d), e.append(P, d);
582
+ }), e.append(o, f);
583
+ };
584
+ e.if(g, (o) => {
585
+ i() !== "totals" && o(y);
586
+ });
587
+ }
588
+ var l = e.sibling(g, 2);
589
+ {
590
+ var x = (o) => {
591
+ var f = Ae(), b = e.first_child(f);
592
+ {
593
+ var P = (c) => {
594
+ var u = De(), m = e.child(u);
595
+ k(m, {
596
+ size: "sm",
597
+ color: "muted",
598
+ children: (p, D) => {
599
+ e.next();
600
+ var r = e.text();
601
+ e.template_effect(() => e.set_text(r, a().subtotal || "Subtotal")), e.append(p, r);
602
+ },
603
+ $$slots: { default: !0 }
604
+ });
605
+ var S = e.sibling(m, 2);
606
+ k(S, {
607
+ size: "sm",
608
+ color: "muted",
609
+ children: (p, D) => {
610
+ e.next();
611
+ var r = e.text();
612
+ e.template_effect((A) => e.set_text(r, A), [() => q(s.orderTotals.subtotal)]), e.append(p, r);
613
+ },
614
+ $$slots: { default: !0 }
615
+ }), e.reset(u), e.append(c, u);
616
+ }, T = (c) => {
617
+ var u = O(), m = e.child(u);
618
+ k(m, {
619
+ size: "sm",
620
+ color: "muted",
621
+ children: (p, D) => {
622
+ e.next();
623
+ var r = e.text();
624
+ e.template_effect(() => e.set_text(r, a().subtotal || "Subtotal")), e.append(p, r);
625
+ },
626
+ $$slots: { default: !0 }
627
+ });
628
+ var S = e.sibling(m, 2);
629
+ k(S, {
630
+ size: "sm",
631
+ color: "muted",
632
+ children: (p, D) => {
633
+ e.next();
634
+ var r = e.text();
635
+ e.template_effect((A) => e.set_text(r, A), [() => q(s.orderTotals.subtotal)]), e.append(p, r);
636
+ },
637
+ $$slots: { default: !0 }
638
+ }), e.reset(u), e.append(c, u);
639
+ };
640
+ e.if(b, (c) => {
641
+ i() === "full" && s.orderTotals.lines.length > 1 ? c(P) : s.orderTotals.lines.length > 1 && c(T, 1);
642
+ });
643
+ }
644
+ var d = e.sibling(b, 2);
645
+ {
646
+ var E = (c) => {
647
+ var u = O(), m = e.child(u);
648
+ k(m, {
649
+ size: "sm",
650
+ color: "muted",
651
+ children: (p, D) => {
652
+ e.next();
653
+ var r = e.text();
654
+ e.template_effect(() => e.set_text(r, a().serviceFees || "Service fees")), e.append(p, r);
655
+ },
656
+ $$slots: { default: !0 }
657
+ });
658
+ var S = e.sibling(m, 2);
659
+ k(S, {
660
+ size: "sm",
661
+ color: "muted",
662
+ children: (p, D) => {
663
+ e.next();
664
+ var r = e.text();
665
+ e.template_effect((A) => e.set_text(r, A), [() => q(s.orderTotals.fees)]), e.append(p, r);
666
+ },
667
+ $$slots: { default: !0 }
668
+ }), e.reset(u), e.append(c, u);
669
+ };
670
+ e.if(d, (c) => {
671
+ s.orderTotals.fees > 0 && c(E);
672
+ });
673
+ }
674
+ var R = e.sibling(d, 2);
675
+ {
676
+ var _ = (c) => {
677
+ var u = O(), m = e.child(u);
678
+ k(m, {
679
+ size: "sm",
680
+ color: "muted",
681
+ children: (p, D) => {
682
+ e.next();
683
+ var r = e.text();
684
+ e.template_effect(() => e.set_text(r, a().taxes || "Taxes")), e.append(p, r);
685
+ },
686
+ $$slots: { default: !0 }
687
+ });
688
+ var S = e.sibling(m, 2);
689
+ k(S, {
690
+ size: "sm",
691
+ color: "muted",
692
+ children: (p, D) => {
693
+ e.next();
694
+ var r = e.text();
695
+ e.template_effect((A) => e.set_text(r, A), [() => q(s.orderTotals.taxes)]), e.append(p, r);
696
+ },
697
+ $$slots: { default: !0 }
698
+ }), e.reset(u), e.append(c, u);
699
+ };
700
+ e.if(R, (c) => {
701
+ s.orderTotals.taxes > 0 && c(_);
702
+ });
703
+ }
704
+ var $ = e.sibling(R, 2);
705
+ {
706
+ var w = (c) => {
707
+ var u = O(), m = e.child(u);
708
+ k(m, {
709
+ size: "sm",
710
+ color: "success",
711
+ children: (p, D) => {
712
+ e.next();
713
+ var r = e.text();
714
+ e.template_effect(() => e.set_text(r, a().promoDiscount || "Promo discount")), e.append(p, r);
715
+ },
716
+ $$slots: { default: !0 }
717
+ });
718
+ var S = e.sibling(m, 2);
719
+ k(S, {
720
+ size: "sm",
721
+ color: "success",
722
+ children: (p, D) => {
723
+ e.next();
724
+ var r = e.text();
725
+ e.template_effect((A) => e.set_text(r, `-${A ?? ""}`), [() => q(s.orderTotals.promoDiscount)]), e.append(p, r);
726
+ },
727
+ $$slots: { default: !0 }
728
+ }), e.reset(u), e.append(c, u);
729
+ };
730
+ e.if($, (c) => {
731
+ s.orderTotals.promoDiscount > 0 && c(w);
732
+ });
733
+ }
734
+ var I = e.sibling($, 2);
735
+ {
736
+ var K = (c) => {
737
+ var u = O(), m = e.child(u);
738
+ k(m, {
739
+ size: "sm",
740
+ color: "success",
741
+ children: (p, D) => {
742
+ e.next();
743
+ var r = e.text();
744
+ e.template_effect(() => e.set_text(r, a().giftCard || "Gift card")), e.append(p, r);
745
+ },
746
+ $$slots: { default: !0 }
747
+ });
748
+ var S = e.sibling(m, 2);
749
+ k(S, {
750
+ size: "sm",
751
+ color: "success",
752
+ children: (p, D) => {
753
+ e.next();
754
+ var r = e.text();
755
+ e.template_effect((A) => e.set_text(r, `-${A ?? ""}`), [() => q(s.orderTotals.giftCardAmount)]), e.append(p, r);
756
+ },
757
+ $$slots: { default: !0 }
758
+ }), e.reset(u), e.append(c, u);
759
+ };
760
+ e.if(I, (c) => {
761
+ s.orderTotals.giftCardAmount > 0 && c(K);
762
+ });
763
+ }
764
+ var U = e.sibling(I, 2), J = e.child(U);
765
+ k(J, {
766
+ size: "base",
767
+ class: "font-semibold",
768
+ children: (c, u) => {
769
+ e.next();
770
+ var m = e.text();
771
+ e.template_effect(() => e.set_text(m, a().total || "Total")), e.append(c, m);
772
+ },
773
+ $$slots: { default: !0 }
774
+ });
775
+ var de = e.sibling(J, 2);
776
+ k(de, {
777
+ size: "base",
778
+ class: "font-semibold",
779
+ children: (c, u) => {
780
+ e.next();
781
+ var m = e.text();
782
+ e.template_effect((S) => e.set_text(m, S), [() => q(s.orderTotals.total)]), e.append(c, m);
783
+ },
784
+ $$slots: { default: !0 }
785
+ }), e.reset(U), e.append(o, f);
786
+ };
787
+ e.if(l, (o) => {
788
+ i() !== "lines" && o(x);
789
+ });
790
+ }
791
+ e.reset(n), e.template_effect(() => e.set_style(n, `transition-duration: ${Ee.normal}ms;`)), e.append(t, n), e.pop();
792
+ }
793
+ const Re = {
794
+ // ── Ticket quantity controls ──────────────────────────────────────
795
+ decrease: "Decrease",
796
+ increase: "Increase",
797
+ quantity: "quantity",
798
+ // ── Ticket states ─────────────────────────────────────────────────
799
+ soldOut: "Sold out",
800
+ free: "Free",
801
+ unavailable: "Unavailable",
802
+ eventSoldOut: "This event is sold out",
803
+ // ── Price display ─────────────────────────────────────────────────
804
+ includesFees: "Includes",
805
+ fees: "fees",
806
+ fee: "fee",
807
+ // ── Checkout CTAs ─────────────────────────────────────────────────
808
+ checkout: "Checkout",
809
+ getTickets: "Get tickets",
810
+ selectTickets: "Select tickets",
811
+ selectTicketsBelow: "Select tickets below",
812
+ selectTicketsToContinue: "Select tickets to continue",
813
+ reserveASpot: "Reserve a spot",
814
+ // ── Password modal / gate ─────────────────────────────────────────
815
+ enterPassword: "Enter Password",
816
+ enterEventPassword: "Enter event password",
817
+ passwordRequired: "Password Required",
818
+ passwordRequiredShort: "Password required",
819
+ eventRequiresPassword: "This event requires a password to purchase tickets.",
820
+ eventRequiresPasswordAccess: "This event requires a password to access tickets.",
821
+ enterEventPasswordToView: "Enter the event password to view tickets.",
822
+ enterEventPasswordToViewAvailable: "Enter the event password to view available tickets.",
823
+ eventPassword: "Event password",
824
+ password: "Password",
825
+ pleaseEnterPassword: "Please enter the event password",
826
+ pleaseEnterAPassword: "Please enter a password",
827
+ eventRequiresPasswordShort: "This event requires a password",
828
+ unlockTickets: "Unlock tickets",
829
+ cancel: "Cancel",
830
+ continue: "Continue",
831
+ submit: "Submit",
832
+ // ── Order summary ─────────────────────────────────────────────────
833
+ subtotal: "Subtotal",
834
+ serviceFees: "Service fees",
835
+ taxes: "Taxes",
836
+ tax: "Tax",
837
+ promoDiscount: "Promo discount",
838
+ giftCard: "Gift card",
839
+ total: "Total",
840
+ orderSummary: "Order summary",
841
+ yourOrder: "Your Order",
842
+ // ── Ticket counts (used in CTA buttons) ───────────────────────────
843
+ ticket: "ticket",
844
+ tickets: "tickets",
845
+ // ── Checkout form (public-calendar-flow) ───────────────────────────────
846
+ yourDetails: "Your details",
847
+ attendeeDetails: "Attendee details",
848
+ attendee: "Attendee",
849
+ sameAsPurchaser: "Same as purchaser",
850
+ payment: "Payment",
851
+ noPaymentRequired: "No payment required",
852
+ freeEventMessage: "This is a free event. Complete the form above to reserve your spot.",
853
+ firstName: "First name",
854
+ lastName: "Last name",
855
+ emailAddress: "Email address",
856
+ email: "Email",
857
+ emailPlaceholder: "you@example.com",
858
+ attendeeEmailPlaceholder: "attendee@example.com",
859
+ cardNumber: "Card number",
860
+ cardPlaceholder: "4242 4242 4242 4242",
861
+ expiryDate: "Expiry date",
862
+ expiryPlaceholder: "MM / YY",
863
+ cvc: "CVC",
864
+ cvcPlaceholder: "123",
865
+ keepMeUpdated: "Keep me updated about this event and similar events",
866
+ agreeToTerms: "I agree to the terms and conditions",
867
+ goBack: "Go back",
868
+ loadingPaymentForm: "Loading secure payment form...",
869
+ // ── Checkout form validation ──────────────────────────────────────
870
+ firstNameRequired: "First name is required",
871
+ lastNameRequired: "Last name is required",
872
+ emailRequired: "Email is required",
873
+ emailInvalid: "Enter a valid email address",
874
+ emailInvalidShort: "Enter a valid email",
875
+ cardNumberRequired: "Card number is required",
876
+ expiryRequired: "Expiry date is required",
877
+ cvcRequired: "CVC is required",
878
+ mustAgreeTerms: "You must agree to the terms",
879
+ // ── Place order CTAs ──────────────────────────────────────────────
880
+ placeOrder: "Place order",
881
+ completeOrder: "Complete order",
882
+ placingOrder: "Placing order...",
883
+ // ── Promo code ────────────────────────────────────────────────────
884
+ havePromoCode: "Have a promo code?",
885
+ promoCode: "Promo code",
886
+ enterCode: "Enter code",
887
+ apply: "Apply",
888
+ remove: "Remove",
889
+ removePromoCode: "Remove promo code",
890
+ applyPromoCode: "Apply promo code",
891
+ checkingPromoCode: "Checking promo code",
892
+ checking: "Checking...",
893
+ promoApplied: "Promo applied",
894
+ // ── Navigation tabs (app-segments) ────────────────────────────────
895
+ about: "About",
896
+ ticketsTab: "Tickets",
897
+ eventSections: "Event sections",
898
+ // ── Event details ─────────────────────────────────────────────────
899
+ eventDetails: "Event details",
900
+ performers: "Performers",
901
+ faq: "FAQ",
902
+ frequentlyAskedQuestions: "Frequently asked questions",
903
+ doors: "Doors",
904
+ doorsOpenAt: "Doors open at",
905
+ // ── Series occurrences ────────────────────────────────────────────
906
+ upcomingDates: "Upcoming Dates",
907
+ // ── Close / dismiss ───────────────────────────────────────────────
908
+ closeTicketSelection: "Close ticket selection",
909
+ closeTicketSelector: "Close ticket selector",
910
+ // ── Accessibility ─────────────────────────────────────────────────
911
+ ticketSelection: "ticket selection",
912
+ ticketsSelected: "tickets selected",
913
+ view: "View",
914
+ // ── Success page (public-calendar-flow) ────────────────────────────────
915
+ youreIn: "You're in!",
916
+ youreRegistered: "You're registered!",
917
+ confirmed: "confirmed",
918
+ viewTickets: "View tickets",
919
+ order: "Order",
920
+ confirmationSentTo: "Confirmation sent to",
921
+ addToCalendar: "Add to Calendar",
922
+ googleCalendar: "Google Calendar",
923
+ appleCalendar: "Apple Calendar (.ics)",
924
+ share: "Share",
925
+ map: "Map",
926
+ backToEvent: "Back to event",
927
+ needHelp: "Need help?",
928
+ linkCopied: "Link copied to clipboard!",
929
+ copyLink: "Copy this link:",
930
+ addToAppleWallet: "Add to Apple Wallet",
931
+ saveToGoogleWallet: "Save to Google Wallet",
932
+ // ── Session timer / expiration modals ─────────────────────────────
933
+ sessionExpiringSoon: "Session expiring soon",
934
+ sessionExpiringSoonMessage: "Your checkout session will expire in {time}. Your selected tickets will be released back to inventory.",
935
+ extensionsRemaining: "{count} extension{plural} remaining",
936
+ continueCheckout: "Continue checkout",
937
+ okIllHurry: "OK, I'll hurry",
938
+ maxExtensionsReached: "Maximum extensions reached",
939
+ wantToKeepTickets: "Want to keep your tickets?",
940
+ sessionExpiredMessage: "Your checkout session has expired and your selected tickets have been released.",
941
+ sessionExpired: "Session expired",
942
+ reservationTimedOut: "Your reservation has timed out. Please select your tickets again to continue.",
943
+ keepMyTickets: "Keep my tickets",
944
+ selectTicketsAgain: "Select tickets again",
945
+ extendingSession: "Extending...",
946
+ // ── MobileCta ─────────────────────────────────────────────────────
947
+ selectTicketsLabel: "Select Tickets"
948
+ };
949
+ function Ye(t = {}) {
950
+ return { ...Re, ...t };
951
+ }
952
+ export {
953
+ Ee as D,
954
+ Ge as O,
955
+ Ue as a,
956
+ Fe as b,
957
+ He as c,
958
+ Be as d,
959
+ Le as e,
960
+ ze as f,
961
+ Me as g,
962
+ Ce as h,
963
+ Ye as m,
964
+ h as t
965
+ };
966
+ //# sourceMappingURL=labels-Bj_cocb1.js.map