@getmicdrop/venue-calendar 3.8.4 → 4.0.4

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 (92) hide show
  1. package/README.md +700 -661
  2. package/dist/AirbnbSplitMain-CmX4EMJ2.js +2201 -0
  3. package/dist/AirbnbSplitMain-CmX4EMJ2.js.map +1 -0
  4. package/dist/{CarouselView.legacy-G433jD--.js → CarouselView.legacy-B4T9YnUY.js} +11 -10
  5. package/dist/CarouselView.legacy-B4T9YnUY.js.map +1 -0
  6. package/dist/CartView-C0wKcLTe.js +1667 -0
  7. package/dist/CartView-C0wKcLTe.js.map +1 -0
  8. package/dist/Checkout-DAH2LEv7.js +743 -0
  9. package/dist/Checkout-DAH2LEv7.js.map +1 -0
  10. package/dist/{Checkout.legacy-HODJd0ax.js → Checkout.legacy-CsJlr7ac.js} +374 -359
  11. package/dist/Checkout.legacy-CsJlr7ac.js.map +1 -0
  12. package/dist/CheckoutMain-CIfRFv_0.js +1403 -0
  13. package/dist/CheckoutMain-CIfRFv_0.js.map +1 -0
  14. package/dist/CheckoutTimer-DQFe_RCq.js +34 -0
  15. package/dist/CheckoutTimer-DQFe_RCq.js.map +1 -0
  16. package/dist/CollectionView-RKiSB7Gj.js +142 -0
  17. package/dist/CollectionView-RKiSB7Gj.js.map +1 -0
  18. package/dist/{CollectionView.legacy-CmNcGUzq.js → CollectionView.legacy-CHiKdISC.js} +25 -24
  19. package/dist/CollectionView.legacy-CHiKdISC.js.map +1 -0
  20. package/dist/EventDetailsView-BFXXDR_5.js +1187 -0
  21. package/dist/EventDetailsView-BFXXDR_5.js.map +1 -0
  22. package/dist/{FeaturedView.legacy-9h2qZMOt.js → FeaturedView.legacy-Bx8r9VRn.js} +15 -15
  23. package/dist/FeaturedView.legacy-Bx8r9VRn.js.map +1 -0
  24. package/dist/GalleryCard-UVhZwNEr.js +92 -0
  25. package/dist/GalleryCard-UVhZwNEr.js.map +1 -0
  26. package/dist/{GalleryView.legacy-DiA_IVST.js → GalleryView.legacy-CYYCS-Ik.js} +18 -17
  27. package/dist/GalleryView.legacy-CYYCS-Ik.js.map +1 -0
  28. package/dist/{GroupedListView.legacy-Bo-kep9X.js → GroupedListView.legacy-_lpo2UrM.js} +25 -25
  29. package/dist/GroupedListView.legacy-_lpo2UrM.js.map +1 -0
  30. package/dist/Heading-AFd3o0xt.js +44 -0
  31. package/dist/Heading-AFd3o0xt.js.map +1 -0
  32. package/dist/OrderSummarySkeleton-dDKUH741.js +16 -0
  33. package/dist/OrderSummarySkeleton-dDKUH741.js.map +1 -0
  34. package/dist/SeriesPage-CFQLBhkC.js +56 -0
  35. package/dist/SeriesPage-CFQLBhkC.js.map +1 -0
  36. package/dist/SeriesPage.legacy-C-hADRCm.js +195 -0
  37. package/dist/SeriesPage.legacy-C-hADRCm.js.map +1 -0
  38. package/dist/Success-B_q1DLLZ.js +715 -0
  39. package/dist/Success-B_q1DLLZ.js.map +1 -0
  40. package/dist/Success.legacy-DU4ReWah.js +195 -0
  41. package/dist/Success.legacy-DU4ReWah.js.map +1 -0
  42. package/dist/Text-CXR2fhx6.js +54 -0
  43. package/dist/Text-CXR2fhx6.js.map +1 -0
  44. package/dist/{VenueCalendar-DkyugLs1.js → VenueCalendar-BkiDPwSu.js} +11242 -21624
  45. package/dist/VenueCalendar-BkiDPwSu.js.map +1 -0
  46. package/dist/ViewTicketsEmbed-Lh-WqskW.js +2038 -0
  47. package/dist/ViewTicketsEmbed-Lh-WqskW.js.map +1 -0
  48. package/dist/__SKIP_NAVIGATION__-CJ96TTPE.js +7 -0
  49. package/dist/__SKIP_NAVIGATION__-CJ96TTPE.js.map +1 -0
  50. package/dist/api/api.cjs +1 -1
  51. package/dist/api/api.cjs.map +1 -1
  52. package/dist/api/api.mjs +511 -279
  53. package/dist/api/api.mjs.map +1 -1
  54. package/dist/api/client.d.ts +3 -33
  55. package/dist/api/cta.d.ts +38 -0
  56. package/dist/api/events.d.ts +3 -1
  57. package/dist/api/gift-cards.d.ts +88 -0
  58. package/dist/api/index.d.ts +6 -0
  59. package/dist/api/types.d.ts +353 -349
  60. package/dist/api/waitlist.d.ts +23 -0
  61. package/dist/colors-BZoMuXdh.js.map +1 -1
  62. package/dist/labels-BJ37eSuH.js +1351 -0
  63. package/dist/labels-BJ37eSuH.js.map +1 -0
  64. package/dist/seo/HostSeoController.d.ts +9 -1
  65. package/dist/seo/seo.cjs +1 -1
  66. package/dist/seo/seo.cjs.map +1 -1
  67. package/dist/seo/seo.mjs +53 -50
  68. package/dist/seo/seo.mjs.map +1 -1
  69. package/dist/seo/types.d.ts +137 -136
  70. package/dist/transform-C3MxXi4m.js +218 -0
  71. package/dist/transform-C3MxXi4m.js.map +1 -0
  72. package/dist/types/index.d.ts +387 -387
  73. package/dist/venue-calendar.css +1 -1
  74. package/dist/venue-calendar.es.js +36 -28
  75. package/dist/venue-calendar.es.js.map +1 -1
  76. package/dist/venue-calendar.iife.js +43 -43
  77. package/dist/venue-calendar.iife.js.map +1 -1
  78. package/dist/venue-calendar.umd.js +40 -40
  79. package/dist/venue-calendar.umd.js.map +1 -1
  80. package/package.json +44 -6
  81. package/src/lib/theme.js +13 -0
  82. package/dist/CarouselView.legacy-G433jD--.js.map +0 -1
  83. package/dist/Checkout.legacy-HODJd0ax.js.map +0 -1
  84. package/dist/CollectionView.legacy-CmNcGUzq.js.map +0 -1
  85. package/dist/FeaturedView.legacy-9h2qZMOt.js.map +0 -1
  86. package/dist/GalleryView.legacy-DiA_IVST.js.map +0 -1
  87. package/dist/GroupedListView.legacy-Bo-kep9X.js.map +0 -1
  88. package/dist/SeriesPage.legacy-BjDBPDcq.js +0 -190
  89. package/dist/SeriesPage.legacy-BjDBPDcq.js.map +0 -1
  90. package/dist/Success.legacy-D86LAPHq.js +0 -194
  91. package/dist/Success.legacy-D86LAPHq.js.map +0 -1
  92. package/dist/VenueCalendar-DkyugLs1.js.map +0 -1
@@ -0,0 +1,1403 @@
1
+ import "svelte/internal/disclose-version";
2
+ import { B as Z, ak as Oe, I as X, al as Ne, n as qe, z as ze, D as Re, H as Fe, J as De, f as Ae, v as ye, M as Te, T as Me, h as Le } from "./VenueCalendar-BkiDPwSu.js";
3
+ import * as e from "svelte/internal/client";
4
+ import { H as ve } from "./Heading-AFd3o0xt.js";
5
+ import "svelte/internal/flags/legacy";
6
+ import "svelte/transition";
7
+ import "svelte/easing";
8
+ import { O as $e, m as Be, e as je, d as ke, b as Ue, a as Ve, c as Ye } from "./labels-BJ37eSuH.js";
9
+ import { onMount as We, onDestroy as Ce } from "svelte";
10
+ import { T as ee } from "./Text-CXR2fhx6.js";
11
+ import { C as Ge } from "./CheckoutTimer-DQFe_RCq.js";
12
+ const Se = typeof window < "u";
13
+ function He(Y) {
14
+ if (typeof window > "u") return !1;
15
+ try {
16
+ const t = localStorage.getItem("theme");
17
+ if (t === "dark") return !0;
18
+ if (t === "light") return !1;
19
+ const h = Y || '[data-theme="dark"], [data-theme="light"], .micdrop, [data-theme]', F = document.querySelectorAll(h);
20
+ for (const I of F)
21
+ if (I.getAttribute("data-theme") === "dark") return !0;
22
+ return document.documentElement.getAttribute("data-theme") === "dark" ? !0 : window.matchMedia?.("(prefers-color-scheme: dark)")?.matches ?? !1;
23
+ } catch {
24
+ return !1;
25
+ }
26
+ }
27
+ function Ke(Y) {
28
+ return Y ? "night" : "stripe";
29
+ }
30
+ function Qe(Y = {}) {
31
+ const {
32
+ containerSelector: t = '[data-theme="dark"], [data-theme="light"], .micdrop, [data-theme]',
33
+ watchChanges: h = !0,
34
+ fallback: F = "stripe"
35
+ } = Y;
36
+ let I = e.state(e.proxy(F)), q = null;
37
+ function s() {
38
+ e.set(I, Ke(He(t)), !0);
39
+ }
40
+ return We(() => {
41
+ if (s(), h && typeof MutationObserver < "u") {
42
+ const j = document.querySelectorAll(t), D = document.documentElement;
43
+ q = new MutationObserver(() => {
44
+ s();
45
+ }), q.observe(D, { attributes: !0, attributeFilter: ["class", "data-theme"] }), j.forEach((z) => {
46
+ q?.observe(z, { attributes: !0, attributeFilter: ["class", "data-theme"] });
47
+ }), window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", s);
48
+ }
49
+ }), Ce(() => {
50
+ q && (q.disconnect(), q = null);
51
+ }), {
52
+ get current() {
53
+ return e.get(I);
54
+ },
55
+ /** Force refresh the theme detection */
56
+ refresh: s
57
+ };
58
+ }
59
+ var Je = e.from_html('<div class="attendee-card border-default bg-surface-secondary svelte-1ccgw1q"><div class="flex items-center justify-between mb-3"><!> <!></div> <div class="space-y-3"><div class="grid grid-cols-1 sm:grid-cols-2 gap-3"><!> <!></div> <!></div></div>'), Xe = e.from_html('<section class="space-y-5"><!> <!></section>'), Ze = e.from_html('<div class="free-order-notice border-default bg-surface-secondary svelte-1ccgw1q"><!> <!></div>'), et = e.from_html('<p class="text-sm text-color-muted py-2"> </p>'), tt = e.from_html("<div></div> <!>", 1), rt = e.from_html('<p class="text-sm text-color-muted py-2"> </p>'), at = e.from_html('<p class="text-sm text-accent-danger mt-2"> </p>'), st = e.from_html("<!> <!> <!>", 1), it = e.from_html('<!> <!> <div class="grid grid-cols-2 gap-4"><!> <!></div>', 1), lt = e.from_html('<div class="flex items-center gap-1.5"><!> <!></div>'), nt = e.from_html('<div class="space-y-6"><div class="timer-header border-default bg-surface-secondary svelte-1ccgw1q"><!> <!></div> <section class="space-y-4"><!> <div class="grid grid-cols-1 sm:grid-cols-2 gap-4"><!> <!></div> <!> <!></section> <!> <section class="space-y-4"><!></section> <section class="space-y-2"><!> <!></section></div>');
60
+ function dt(Y, t) {
61
+ e.push(t, !0);
62
+ let h = e.prop(t, "stripe", 3, void 0), F = e.prop(t, "paymentIntent", 3, void 0), I = e.prop(t, "elements", 15, void 0), q = e.prop(t, "paymentError", 3, ""), s = e.prop(t, "labels", 19, () => ({}));
63
+ const j = Se ? Qe() : { current: "stripe" };
64
+ let D = e.state(null), O = null, z = e.state(!1);
65
+ function U() {
66
+ !Se || !h() || !F() || !e.get(D) || e.get(z) || (I(h().elements({
67
+ clientSecret: F(),
68
+ appearance: { theme: j.current }
69
+ })), O = I().create("payment"), O.mount(e.get(D)), e.set(z, !0));
70
+ }
71
+ e.user_effect(() => {
72
+ h() && F() && e.get(D) && !e.get(z) && U();
73
+ }), e.user_effect(() => {
74
+ if (e.get(z) && I() && j.current)
75
+ try {
76
+ I().update({ appearance: { theme: j.current } });
77
+ } catch {
78
+ }
79
+ }), Ce(() => {
80
+ O && (O.destroy(), O = null), e.set(z, !1);
81
+ });
82
+ let M = e.state(""), V = e.state(""), u = e.state(""), $ = e.state(!1), k = e.state(!1), m = e.state(""), x = e.state(""), P = e.state(""), w = e.state(e.proxy([])), G = e.state(!1), c = e.derived(() => (() => {
83
+ if (!e.get(G)) return {};
84
+ const r = {};
85
+ if (e.get(M).trim() || (r.firstName = s().firstNameRequired || "First name is required"), e.get(V).trim() || (r.lastName = s().lastNameRequired || "Last name is required"), e.get(u).trim() ? /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.get(u)) || (r.email = s().emailInvalid || "Enter a valid email address") : r.email = s().emailRequired || "Email is required", !t.isFreeOrder && !h() && (e.get(m).trim() || (r.cardNumber = s().cardNumberRequired || "Card number is required"), e.get(x).trim() || (r.cardExpiry = s().expiryRequired || "Expiry date is required"), e.get(P).trim() || (r.cardCvc = s().cvcRequired || "CVC is required")), e.get(k) || (r.agreeTerms = s().mustAgreeTerms || "You must agree to the terms"), t.isRegistration)
86
+ for (let l = 0; l < e.get(w).length; l++) {
87
+ const i = e.get(w)[l];
88
+ i.sameAsPurchaser || (i.firstName.trim() || (r[`attendee_${l}_firstName`] = "First name is required"), i.lastName.trim() || (r[`attendee_${l}_lastName`] = "Last name is required"), i.email.trim() ? /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i.email) || (r[`attendee_${l}_email`] = s().emailInvalidShort || "Enter a valid email") : r[`attendee_${l}_email`] = s().emailRequired || "Email is required");
89
+ }
90
+ return r;
91
+ })()), R = e.derived(() => Object.keys(e.get(c)).length > 0), C = e.derived(() => t.timerSeconds > 0 && t.timerSeconds <= 120);
92
+ e.user_effect(() => {
93
+ if (t.isRegistration) {
94
+ const r = t.orderTotals.lines.reduce((l, i) => l + i.quantity, 0);
95
+ e.get(w).length !== r && e.set(
96
+ w,
97
+ Array.from({ length: r }, (l, i) => ({
98
+ firstName: "",
99
+ lastName: "",
100
+ email: "",
101
+ sameAsPurchaser: i === 0
102
+ })),
103
+ !0
104
+ );
105
+ }
106
+ });
107
+ let E = e.state(0);
108
+ e.user_effect(() => {
109
+ t.submitRequested > e.get(E) && (e.set(E, t.submitRequested, !0), J());
110
+ });
111
+ function Q(r, l) {
112
+ e.set(
113
+ w,
114
+ e.get(w).map((i, S) => S !== r ? i : {
115
+ ...i,
116
+ sameAsPurchaser: l,
117
+ firstName: l ? e.get(M) : i.firstName,
118
+ lastName: l ? e.get(V) : i.lastName,
119
+ email: l ? e.get(u) : i.email
120
+ }),
121
+ !0
122
+ );
123
+ }
124
+ function J() {
125
+ e.set(G, !0), !e.get(R) && t.onPlaceOrder({
126
+ firstName: e.get(M),
127
+ lastName: e.get(V),
128
+ email: e.get(u),
129
+ keepMeUpdated: e.get($),
130
+ attendees: t.isRegistration ? e.get(w).map((r) => ({
131
+ firstName: r.sameAsPurchaser ? e.get(M) : r.firstName,
132
+ lastName: r.sameAsPurchaser ? e.get(V) : r.lastName,
133
+ email: r.sameAsPurchaser ? e.get(u) : r.email,
134
+ sameAsPurchaser: r.sameAsPurchaser
135
+ })) : void 0
136
+ });
137
+ }
138
+ var ae = nt(), se = e.child(ae), H = e.child(se);
139
+ {
140
+ let r = e.derived(() => s().goBack || "Go back");
141
+ Z(H, {
142
+ variant: "icon",
143
+ size: "icon-sm",
144
+ get onclick() {
145
+ return t.onBack;
146
+ },
147
+ get "aria-label"() {
148
+ return e.get(r);
149
+ },
150
+ children: (l, i) => {
151
+ Oe(l, { size: 20 });
152
+ },
153
+ $$slots: { default: !0 }
154
+ });
155
+ }
156
+ var ie = e.sibling(H, 2);
157
+ Ge(ie, {
158
+ get seconds() {
159
+ return t.timerSeconds;
160
+ },
161
+ get isUrgent() {
162
+ return e.get(C);
163
+ }
164
+ }), e.reset(se);
165
+ var le = e.sibling(se, 2), ne = e.child(le);
166
+ ve(ne, {
167
+ level: 2,
168
+ size: "lg",
169
+ weight: "semibold",
170
+ children: (r, l) => {
171
+ e.next();
172
+ var i = e.text();
173
+ e.template_effect(() => e.set_text(i, s().yourDetails || "Your details")), e.append(r, i);
174
+ },
175
+ $$slots: { default: !0 }
176
+ });
177
+ var de = e.sibling(ne, 2), oe = e.child(de);
178
+ {
179
+ let r = e.derived(() => s().firstName || "First name"), l = e.derived(() => s().firstName || "First name"), i = e.derived(() => e.get(c).firstName ?? ""), S = e.derived(() => e.get(c).firstName ? "red" : "base");
180
+ X(oe, {
181
+ get label() {
182
+ return e.get(r);
183
+ },
184
+ get placeholder() {
185
+ return e.get(l);
186
+ },
187
+ required: !0,
188
+ get errorText() {
189
+ return e.get(i);
190
+ },
191
+ get color() {
192
+ return e.get(S);
193
+ },
194
+ get value() {
195
+ return e.get(M);
196
+ },
197
+ set value(N) {
198
+ e.set(M, N, !0);
199
+ }
200
+ });
201
+ }
202
+ var Pe = e.sibling(oe, 2);
203
+ {
204
+ let r = e.derived(() => s().lastName || "Last name"), l = e.derived(() => s().lastName || "Last name"), i = e.derived(() => e.get(c).lastName ?? ""), S = e.derived(() => e.get(c).lastName ? "red" : "base");
205
+ X(Pe, {
206
+ get label() {
207
+ return e.get(r);
208
+ },
209
+ get placeholder() {
210
+ return e.get(l);
211
+ },
212
+ required: !0,
213
+ get errorText() {
214
+ return e.get(i);
215
+ },
216
+ get color() {
217
+ return e.get(S);
218
+ },
219
+ get value() {
220
+ return e.get(V);
221
+ },
222
+ set value(N) {
223
+ e.set(V, N, !0);
224
+ }
225
+ });
226
+ }
227
+ e.reset(de);
228
+ var ce = e.sibling(de, 2);
229
+ {
230
+ let r = e.derived(() => s().emailAddress || "Email address"), l = e.derived(() => s().emailPlaceholder || "you@example.com"), i = e.derived(() => e.get(c).email ?? ""), S = e.derived(() => e.get(c).email ? "red" : "base");
231
+ X(ce, {
232
+ get label() {
233
+ return e.get(r);
234
+ },
235
+ type: "email",
236
+ get placeholder() {
237
+ return e.get(l);
238
+ },
239
+ required: !0,
240
+ get errorText() {
241
+ return e.get(i);
242
+ },
243
+ get color() {
244
+ return e.get(S);
245
+ },
246
+ get value() {
247
+ return e.get(u);
248
+ },
249
+ set value(N) {
250
+ e.set(u, N, !0);
251
+ }
252
+ });
253
+ }
254
+ var fe = e.sibling(ce, 2);
255
+ Ne(fe, {
256
+ get checked() {
257
+ return e.get($);
258
+ },
259
+ set checked(r) {
260
+ e.set($, r, !0);
261
+ },
262
+ children: (r, l) => {
263
+ e.next();
264
+ var i = e.text();
265
+ e.template_effect(() => e.set_text(i, s().keepMeUpdated || "Keep me updated about this event and similar events")), e.append(r, i);
266
+ },
267
+ $$slots: { default: !0 }
268
+ }), e.reset(le);
269
+ var pe = e.sibling(le, 2);
270
+ {
271
+ var we = (r) => {
272
+ var l = Xe(), i = e.child(l);
273
+ ve(i, {
274
+ level: 2,
275
+ size: "lg",
276
+ weight: "semibold",
277
+ children: (N, f) => {
278
+ e.next();
279
+ var p = e.text();
280
+ e.template_effect(() => e.set_text(p, s().attendeeDetails || "Attendee details")), e.append(N, p);
281
+ },
282
+ $$slots: { default: !0 }
283
+ });
284
+ var S = e.sibling(i, 2);
285
+ e.each(S, 17, () => e.get(w), e.index, (N, f, p) => {
286
+ var L = Je(), a = e.child(L), n = e.child(a);
287
+ ee(n, {
288
+ size: "sm",
289
+ class: "font-semibold",
290
+ children: (g, A) => {
291
+ e.next();
292
+ var y = e.text();
293
+ e.template_effect(() => e.set_text(y, `${(s().attendee || "Attendee") ?? ""}
294
+ ${p + 1}`)), e.append(g, y);
295
+ },
296
+ $$slots: { default: !0 }
297
+ });
298
+ var d = e.sibling(n, 2);
299
+ Ne(d, {
300
+ get checked() {
301
+ return e.get(f).sameAsPurchaser;
302
+ },
303
+ onchange: ({ checked: g }) => Q(p, g),
304
+ children: (g, A) => {
305
+ e.next();
306
+ var y = e.text();
307
+ e.template_effect(() => e.set_text(y, s().sameAsPurchaser || "Same as purchaser")), e.append(g, y);
308
+ },
309
+ $$slots: { default: !0 }
310
+ }), e.reset(a);
311
+ var o = e.sibling(a, 2), b = e.child(o), T = e.child(b);
312
+ {
313
+ let g = e.derived(() => s().firstName || "First name"), A = e.derived(() => s().firstName || "First name"), y = e.derived(() => e.get(f).sameAsPurchaser ? "" : e.get(c)[`attendee_${p}_firstName`] ?? ""), W = e.derived(() => !e.get(f).sameAsPurchaser && e.get(c)[`attendee_${p}_firstName`] ? "red" : "base");
314
+ X(T, {
315
+ get label() {
316
+ return e.get(g);
317
+ },
318
+ get placeholder() {
319
+ return e.get(A);
320
+ },
321
+ required: !0,
322
+ get disabled() {
323
+ return e.get(f).sameAsPurchaser;
324
+ },
325
+ get errorText() {
326
+ return e.get(y);
327
+ },
328
+ get color() {
329
+ return e.get(W);
330
+ },
331
+ get value() {
332
+ return e.get(f).firstName;
333
+ },
334
+ set value(B) {
335
+ e.get(f).firstName = B;
336
+ }
337
+ });
338
+ }
339
+ var _ = e.sibling(T, 2);
340
+ {
341
+ let g = e.derived(() => s().lastName || "Last name"), A = e.derived(() => s().lastName || "Last name"), y = e.derived(() => e.get(f).sameAsPurchaser ? "" : e.get(c)[`attendee_${p}_lastName`] ?? ""), W = e.derived(() => !e.get(f).sameAsPurchaser && e.get(c)[`attendee_${p}_lastName`] ? "red" : "base");
342
+ X(_, {
343
+ get label() {
344
+ return e.get(g);
345
+ },
346
+ get placeholder() {
347
+ return e.get(A);
348
+ },
349
+ required: !0,
350
+ get disabled() {
351
+ return e.get(f).sameAsPurchaser;
352
+ },
353
+ get errorText() {
354
+ return e.get(y);
355
+ },
356
+ get color() {
357
+ return e.get(W);
358
+ },
359
+ get value() {
360
+ return e.get(f).lastName;
361
+ },
362
+ set value(B) {
363
+ e.get(f).lastName = B;
364
+ }
365
+ });
366
+ }
367
+ e.reset(b);
368
+ var v = e.sibling(b, 2);
369
+ {
370
+ let g = e.derived(() => s().email || "Email"), A = e.derived(() => s().attendeeEmailPlaceholder || "attendee@example.com"), y = e.derived(() => e.get(f).sameAsPurchaser ? "" : e.get(c)[`attendee_${p}_email`] ?? ""), W = e.derived(() => !e.get(f).sameAsPurchaser && e.get(c)[`attendee_${p}_email`] ? "red" : "base");
371
+ X(v, {
372
+ get label() {
373
+ return e.get(g);
374
+ },
375
+ type: "email",
376
+ get placeholder() {
377
+ return e.get(A);
378
+ },
379
+ required: !0,
380
+ get disabled() {
381
+ return e.get(f).sameAsPurchaser;
382
+ },
383
+ get errorText() {
384
+ return e.get(y);
385
+ },
386
+ get color() {
387
+ return e.get(W);
388
+ },
389
+ get value() {
390
+ return e.get(f).email;
391
+ },
392
+ set value(B) {
393
+ e.get(f).email = B;
394
+ }
395
+ });
396
+ }
397
+ e.reset(o), e.reset(L), e.append(N, L);
398
+ }), e.reset(l), e.append(r, l);
399
+ };
400
+ e.if(pe, (r) => {
401
+ t.isRegistration && e.get(w).length > 0 && r(we);
402
+ });
403
+ }
404
+ var te = e.sibling(pe, 2), _e = e.child(te);
405
+ {
406
+ var Ee = (r) => {
407
+ var l = Ze(), i = e.child(l);
408
+ ee(i, {
409
+ size: "sm",
410
+ color: "secondary",
411
+ class: "font-medium block",
412
+ children: (N, f) => {
413
+ e.next();
414
+ var p = e.text();
415
+ e.template_effect(() => e.set_text(p, s().noPaymentRequired || "No payment required")), e.append(N, p);
416
+ },
417
+ $$slots: { default: !0 }
418
+ });
419
+ var S = e.sibling(i, 2);
420
+ ee(S, {
421
+ size: "xs",
422
+ color: "muted",
423
+ class: "block mt-1",
424
+ children: (N, f) => {
425
+ e.next();
426
+ var p = e.text();
427
+ e.template_effect(() => e.set_text(p, s().freeEventMessage || "This is a free event. Complete the form above to reserve your spot.")), e.append(N, p);
428
+ },
429
+ $$slots: { default: !0 }
430
+ }), e.reset(l), e.append(r, l);
431
+ }, ue = (r) => {
432
+ var l = st(), i = e.first_child(l);
433
+ ve(i, {
434
+ level: 2,
435
+ size: "lg",
436
+ weight: "semibold",
437
+ children: (a, n) => {
438
+ e.next();
439
+ var d = e.text("Payment");
440
+ e.append(a, d);
441
+ },
442
+ $$slots: { default: !0 }
443
+ });
444
+ var S = e.sibling(i, 2);
445
+ {
446
+ var N = (a) => {
447
+ var n = tt(), d = e.first_child(n);
448
+ e.bind_this(d, (T) => e.set(D, T), () => e.get(D));
449
+ var o = e.sibling(d, 2);
450
+ {
451
+ var b = (T) => {
452
+ var _ = et(), v = e.child(_, !0);
453
+ e.reset(_), e.template_effect(() => e.set_text(v, s().loadingPaymentForm || "Loading secure payment form...")), e.append(T, _);
454
+ };
455
+ e.if(o, (T) => {
456
+ e.get(z) || T(b);
457
+ });
458
+ }
459
+ e.append(a, n);
460
+ }, f = (a) => {
461
+ var n = rt(), d = e.child(n, !0);
462
+ e.reset(n), e.template_effect(() => e.set_text(d, s().loadingPaymentForm || "Loading secure payment form...")), e.append(a, n);
463
+ };
464
+ e.if(S, (a) => {
465
+ Se ? a(N) : a(f, !1);
466
+ });
467
+ }
468
+ var p = e.sibling(S, 2);
469
+ {
470
+ var L = (a) => {
471
+ var n = at(), d = e.child(n, !0);
472
+ e.reset(n), e.template_effect(() => e.set_text(d, q())), e.append(a, n);
473
+ };
474
+ e.if(p, (a) => {
475
+ q() && a(L);
476
+ });
477
+ }
478
+ e.append(r, l);
479
+ }, me = (r) => {
480
+ var l = it(), i = e.first_child(l);
481
+ ve(i, {
482
+ level: 2,
483
+ size: "lg",
484
+ weight: "semibold",
485
+ children: (L, a) => {
486
+ e.next();
487
+ var n = e.text("Payment");
488
+ e.append(L, n);
489
+ },
490
+ $$slots: { default: !0 }
491
+ });
492
+ var S = e.sibling(i, 2);
493
+ {
494
+ let L = e.derived(() => s().cardNumber || "Card number"), a = e.derived(() => s().cardPlaceholder || "4242 4242 4242 4242"), n = e.derived(() => e.get(c).cardNumber ?? ""), d = e.derived(() => e.get(c).cardNumber ? "red" : "base");
495
+ X(S, {
496
+ get label() {
497
+ return e.get(L);
498
+ },
499
+ get placeholder() {
500
+ return e.get(a);
501
+ },
502
+ type: "creditCardNumber",
503
+ required: !0,
504
+ get errorText() {
505
+ return e.get(n);
506
+ },
507
+ get color() {
508
+ return e.get(d);
509
+ },
510
+ get value() {
511
+ return e.get(m);
512
+ },
513
+ set value(o) {
514
+ e.set(m, o, !0);
515
+ }
516
+ });
517
+ }
518
+ var N = e.sibling(S, 2), f = e.child(N);
519
+ {
520
+ let L = e.derived(() => s().expiryDate || "Expiry date"), a = e.derived(() => s().expiryPlaceholder || "MM / YY"), n = e.derived(() => e.get(c).cardExpiry ?? ""), d = e.derived(() => e.get(c).cardExpiry ? "red" : "base");
521
+ X(f, {
522
+ get label() {
523
+ return e.get(L);
524
+ },
525
+ get placeholder() {
526
+ return e.get(a);
527
+ },
528
+ required: !0,
529
+ get errorText() {
530
+ return e.get(n);
531
+ },
532
+ get color() {
533
+ return e.get(d);
534
+ },
535
+ get value() {
536
+ return e.get(x);
537
+ },
538
+ set value(o) {
539
+ e.set(x, o, !0);
540
+ }
541
+ });
542
+ }
543
+ var p = e.sibling(f, 2);
544
+ {
545
+ let L = e.derived(() => s().cvc || "CVC"), a = e.derived(() => s().cvcPlaceholder || "123"), n = e.derived(() => e.get(c).cardCvc ?? ""), d = e.derived(() => e.get(c).cardCvc ? "red" : "base");
546
+ X(p, {
547
+ get label() {
548
+ return e.get(L);
549
+ },
550
+ get placeholder() {
551
+ return e.get(a);
552
+ },
553
+ required: !0,
554
+ maxlength: 4,
555
+ get errorText() {
556
+ return e.get(n);
557
+ },
558
+ get color() {
559
+ return e.get(d);
560
+ },
561
+ get value() {
562
+ return e.get(P);
563
+ },
564
+ set value(o) {
565
+ e.set(P, o, !0);
566
+ }
567
+ });
568
+ }
569
+ e.reset(N), e.append(r, l);
570
+ };
571
+ e.if(_e, (r) => {
572
+ t.isFreeOrder ? r(Ee) : h() && F() ? r(ue, 1) : r(me, !1);
573
+ });
574
+ }
575
+ e.reset(te);
576
+ var ge = e.sibling(te, 2), re = e.child(ge);
577
+ Ne(re, {
578
+ get checked() {
579
+ return e.get(k);
580
+ },
581
+ set checked(r) {
582
+ e.set(k, r, !0);
583
+ },
584
+ children: (r, l) => {
585
+ e.next();
586
+ var i = e.text();
587
+ e.template_effect(() => e.set_text(i, s().agreeToTerms || "I agree to the terms and conditions")), e.append(r, i);
588
+ },
589
+ $$slots: { default: !0 }
590
+ });
591
+ var he = e.sibling(re, 2);
592
+ {
593
+ var xe = (r) => {
594
+ var l = lt(), i = e.child(l);
595
+ qe(i, { size: 16, class: "text-accent-danger shrink-0" });
596
+ var S = e.sibling(i, 2);
597
+ ee(S, {
598
+ size: "xs",
599
+ class: "text-accent-danger",
600
+ children: (N, f) => {
601
+ e.next();
602
+ var p = e.text();
603
+ e.template_effect(() => e.set_text(p, e.get(c).agreeTerms)), e.append(N, p);
604
+ },
605
+ $$slots: { default: !0 }
606
+ }), e.reset(l), e.append(r, l);
607
+ };
608
+ e.if(he, (r) => {
609
+ e.get(c).agreeTerms && r(xe);
610
+ });
611
+ }
612
+ e.reset(ge), e.reset(ae), e.append(Y, ae), e.pop();
613
+ }
614
+ var ot = e.from_html(" <!>", 1), ct = e.from_html('<div class="p-5 space-y-4"><div class="flex gap-3"><div class="shrink-0 w-20 h-14 rounded-lg overflow-hidden bg-surface-tertiary"><img class="w-full h-full object-contain"/></div> <div class="flex-1 min-w-0"><!> <div class="flex items-center gap-1.5 mt-1"><!> <!></div> <!></div></div> <div class="divider"></div> <!> <!></div>');
615
+ function ut(Y, t) {
616
+ e.push(t, !0);
617
+ let h = e.prop(t, "labels", 19, () => ({}));
618
+ ze(Y, {
619
+ border: !0,
620
+ padding: !1,
621
+ class: "rounded-xl shadow-lg overflow-hidden bg-surface-secondary",
622
+ children: (F, I) => {
623
+ var q = ct(), s = e.child(q), j = e.child(s), D = e.child(j);
624
+ e.reset(j);
625
+ var O = e.sibling(j, 2), z = e.child(O);
626
+ ee(z, {
627
+ size: "sm",
628
+ class: "font-semibold block leading-tight line-clamp-2",
629
+ children: (m, x) => {
630
+ e.next();
631
+ var P = e.text();
632
+ e.template_effect(() => e.set_text(P, t.event.title)), e.append(m, P);
633
+ },
634
+ $$slots: { default: !0 }
635
+ });
636
+ var U = e.sibling(z, 2), M = e.child(U);
637
+ Re(M, { size: 16, class: "shrink-0 icon-muted" });
638
+ var V = e.sibling(M, 2);
639
+ ee(V, {
640
+ size: "xs",
641
+ color: "muted",
642
+ children: (m, x) => {
643
+ e.next();
644
+ var P = ot(), w = e.first_child(P), G = e.sibling(w);
645
+ {
646
+ var c = (R) => {
647
+ var C = e.text();
648
+ e.template_effect((E) => e.set_text(C, `· ${E ?? ""}`), [
649
+ () => De(t.event.startDateTime, t.event.timezone)
650
+ ]), e.append(R, C);
651
+ };
652
+ e.if(G, (R) => {
653
+ t.event.displayStartTime !== !1 && R(c);
654
+ });
655
+ }
656
+ e.template_effect((R) => e.set_text(w, `${R ?? ""} `), [
657
+ () => Fe(t.event.startDateTime, t.event.timezone)
658
+ ]), e.append(m, P);
659
+ },
660
+ $$slots: { default: !0 }
661
+ }), e.reset(U);
662
+ var u = e.sibling(U, 2);
663
+ ee(u, {
664
+ size: "xs",
665
+ color: "muted",
666
+ class: "block mt-0.5",
667
+ children: (m, x) => {
668
+ e.next();
669
+ var P = e.text();
670
+ e.template_effect(() => e.set_text(P, t.event.venue.name)), e.append(m, P);
671
+ },
672
+ $$slots: { default: !0 }
673
+ }), e.reset(O), e.reset(s);
674
+ var $ = e.sibling(s, 4);
675
+ $e($, {
676
+ get orderTotals() {
677
+ return t.orderTotals;
678
+ },
679
+ get labels() {
680
+ return h();
681
+ }
682
+ });
683
+ var k = e.sibling($, 2);
684
+ Z(k, {
685
+ variant: "default",
686
+ size: "lg",
687
+ class: "w-full",
688
+ get disabled() {
689
+ return t.processing;
690
+ },
691
+ get loading() {
692
+ return t.processing;
693
+ },
694
+ get onclick() {
695
+ return t.onPlaceOrder;
696
+ },
697
+ children: (m, x) => {
698
+ var P = e.comment(), w = e.first_child(P);
699
+ {
700
+ var G = (C) => {
701
+ var E = e.text();
702
+ e.template_effect(() => e.set_text(E, h().placingOrder || "Placing order...")), e.append(C, E);
703
+ }, c = (C) => {
704
+ var E = e.text();
705
+ e.template_effect(() => e.set_text(E, `${(h().completeOrder || "Complete order") ?? ""} · ${(h().free || "Free") ?? ""}`)), e.append(C, E);
706
+ }, R = (C) => {
707
+ var E = e.text();
708
+ e.template_effect((Q) => e.set_text(E, `${(h().placeOrder || "Place order") ?? ""} · ${Q ?? ""}`), [() => Ae(t.orderTotals.total)]), e.append(C, E);
709
+ };
710
+ e.if(w, (C) => {
711
+ t.processing ? C(G) : t.isFreeOrder ? C(c, 1) : C(R, !1);
712
+ });
713
+ }
714
+ e.append(m, P);
715
+ },
716
+ $$slots: { default: !0 }
717
+ }), e.reset(q), e.template_effect(() => {
718
+ e.set_attribute(D, "src", t.event.imageUrl), e.set_attribute(D, "alt", t.event.title);
719
+ }), e.append(F, q);
720
+ },
721
+ $$slots: { default: !0 }
722
+ }), e.pop();
723
+ }
724
+ var mt = e.from_html('<div class="fixed bottom-0 left-0 right-0 z-40 md:hidden bg-surface-primary border-t border-default shadow-lg" style="padding-bottom: env(safe-area-inset-bottom, 0);"><div class="flex items-center justify-between gap-3 px-4 py-3"><div class="flex-1 min-w-0"><!></div> <!></div></div>');
725
+ function gt(Y, t) {
726
+ e.push(t, !0);
727
+ let h = e.prop(t, "labels", 19, () => ({})), F = e.derived(() => t.orderTotals.lines.reduce((O, z) => O + z.quantity, 0));
728
+ var I = mt(), q = e.child(I), s = e.child(q), j = e.child(s);
729
+ ee(j, {
730
+ size: "sm",
731
+ class: "font-semibold tabular-nums block",
732
+ children: (O, z) => {
733
+ var U = e.comment(), M = e.first_child(U);
734
+ {
735
+ var V = ($) => {
736
+ var k = e.text();
737
+ e.template_effect(() => e.set_text(k, `${e.get(F) ?? ""} ${(e.get(F) === 1 ? h().ticket || "ticket" : h().tickets || "tickets") ?? ""} · Free`)), e.append($, k);
738
+ }, u = ($) => {
739
+ var k = e.text();
740
+ e.template_effect((m) => e.set_text(k, m), [() => Ae(t.orderTotals.total)]), e.append($, k);
741
+ };
742
+ e.if(M, ($) => {
743
+ t.isFreeOrder ? $(V) : $(u, !1);
744
+ });
745
+ }
746
+ e.append(O, U);
747
+ },
748
+ $$slots: { default: !0 }
749
+ }), e.reset(s);
750
+ var D = e.sibling(s, 2);
751
+ Z(D, {
752
+ variant: "default",
753
+ size: "lg",
754
+ get disabled() {
755
+ return t.processing;
756
+ },
757
+ get loading() {
758
+ return t.processing;
759
+ },
760
+ get onclick() {
761
+ return t.onPlaceOrder;
762
+ },
763
+ class: "shrink-0 min-w-36",
764
+ children: (O, z) => {
765
+ var U = e.comment(), M = e.first_child(U);
766
+ {
767
+ var V = (k) => {
768
+ var m = e.text();
769
+ e.template_effect(() => e.set_text(m, h().placingOrder || "Placing order...")), e.append(k, m);
770
+ }, u = (k) => {
771
+ var m = e.text();
772
+ e.template_effect(() => e.set_text(m, h().completeOrder || "Complete order")), e.append(k, m);
773
+ }, $ = (k) => {
774
+ var m = e.text();
775
+ e.template_effect(() => e.set_text(m, h().placeOrder || "Place order")), e.append(k, m);
776
+ };
777
+ e.if(M, (k) => {
778
+ t.processing ? k(V) : t.isFreeOrder ? k(u, 1) : k($, !1);
779
+ });
780
+ }
781
+ e.append(O, U);
782
+ },
783
+ $$slots: { default: !0 }
784
+ }), e.reset(q), e.reset(I), e.append(Y, I), e.pop();
785
+ }
786
+ const vt = Le("CheckoutMain");
787
+ var ft = e.from_html('<button type="button"><span></span> </button>'), pt = e.from_html('<div class="toggle-bar bg-surface-primary border-default svelte-11vhi03"><span class="toggle-label text-color-muted svelte-11vhi03">Checkout</span> <!></div>'), _t = e.from_html('<p class="timer-modal-hint svelte-11vhi03"> </p>'), ht = e.from_html('<div class="timer-modal svelte-11vhi03" id="warning-modal-description"><div class="timer-modal-icon warning svelte-11vhi03"><!></div> <h3 id="warning-modal-title" class="timer-modal-title svelte-11vhi03"> </h3> <p class="timer-modal-text svelte-11vhi03"> </p> <!></div>'), xt = e.from_html('<!> <p class="timer-modal-hint svelte-11vhi03"> </p>', 1), bt = e.from_html('<div class="timer-modal-actions svelte-11vhi03"><!></div>'), yt = e.from_html('<div class="timer-modal svelte-11vhi03" id="expired-modal-description"><div class="timer-modal-icon expired svelte-11vhi03"><!></div> <h3 id="expired-modal-title" class="timer-modal-title svelte-11vhi03"> </h3> <p class="timer-modal-text svelte-11vhi03"> </p></div>'), kt = e.from_html("<!> <!>", 1), Pt = e.from_html('<div class="timer-modal-actions svelte-11vhi03"><!></div>'), wt = e.from_html('<div class="w-full min-h-screen bg-surface-primary text-color-primary"><!> <div class="max-w-6xl mx-auto px-4 py-6 md:px-6 md:py-8"><div class="max-w-6xl"><div class="md:grid gap-8 items-start" style="grid-template-columns: 1fr 360px;"><div class="pb-24 md:pb-0"><!> <section class="md:hidden mobile-order-summary border-default bg-surface-secondary mt-6 svelte-11vhi03"><!> <!></section></div> <div class="hidden md:block sticky top-6"><!></div></div></div> <div class="md:hidden"><!></div></div> <!> <!></div>');
788
+ function Et(Y, t) {
789
+ e.push(t, !0);
790
+ let h = e.state("default");
791
+ const F = [
792
+ {
793
+ value: "default",
794
+ label: "Standard",
795
+ color: "bg-accent-success"
796
+ },
797
+ { value: "free", label: "Free", color: "bg-sky-500" },
798
+ {
799
+ value: "donation",
800
+ label: "Donation",
801
+ color: "bg-accent-danger"
802
+ },
803
+ {
804
+ value: "registration",
805
+ label: "Registration",
806
+ color: "bg-brand-primary"
807
+ },
808
+ {
809
+ value: "timer_warning",
810
+ label: "Timer warning",
811
+ color: "bg-status-warning-bg0"
812
+ },
813
+ {
814
+ value: "expired",
815
+ label: "Expired",
816
+ color: "bg-accent-danger"
817
+ },
818
+ {
819
+ value: "promo",
820
+ label: "Promo discount",
821
+ color: "bg-accent-success"
822
+ }
823
+ ];
824
+ let I = e.prop(t, "config", 3, void 0), q = e.prop(t, "onPlaceOrder", 3, void 0), s = e.prop(t, "onBack", 3, void 0), j = e.prop(t, "onRetryExpired", 3, void 0), D = e.prop(t, "onExtendSession", 3, void 0), O = e.prop(t, "stripe", 3, void 0), z = e.prop(t, "paymentIntent", 3, void 0), U = e.prop(t, "elements", 15, void 0), M = e.prop(t, "paymentError", 3, ""), V = e.prop(t, "labels", 19, () => ({}));
825
+ const u = e.derived(() => Be(V()));
826
+ let $ = e.derived(() => !I());
827
+ function k(a) {
828
+ switch (a) {
829
+ case "free":
830
+ return {
831
+ event: Ye,
832
+ lines: [
833
+ {
834
+ ticketId: 201,
835
+ ticketName: "Free Entry",
836
+ quantity: 2,
837
+ unitPrice: 0,
838
+ fee: 0,
839
+ subtotal: 0
840
+ }
841
+ ],
842
+ timerStart: 900,
843
+ promoApplied: !1,
844
+ promoDiscount: 0,
845
+ forceExpired: !1
846
+ };
847
+ case "donation":
848
+ return {
849
+ event: Ve,
850
+ lines: [
851
+ {
852
+ ticketId: 401,
853
+ ticketName: "Donation",
854
+ quantity: 1,
855
+ unitPrice: 25,
856
+ fee: 0,
857
+ subtotal: 25
858
+ },
859
+ {
860
+ ticketId: 402,
861
+ ticketName: "Standard Admission",
862
+ quantity: 1,
863
+ unitPrice: 30,
864
+ fee: 3,
865
+ subtotal: 30
866
+ }
867
+ ],
868
+ timerStart: 900,
869
+ promoApplied: !1,
870
+ promoDiscount: 0,
871
+ forceExpired: !1
872
+ };
873
+ case "registration":
874
+ return {
875
+ event: Ue,
876
+ lines: [
877
+ {
878
+ ticketId: 301,
879
+ ticketName: "Workshop Seat",
880
+ quantity: 1,
881
+ unitPrice: 75,
882
+ fee: 7.5,
883
+ subtotal: 75
884
+ }
885
+ ],
886
+ timerStart: 900,
887
+ promoApplied: !1,
888
+ promoDiscount: 0,
889
+ forceExpired: !1
890
+ };
891
+ case "timer_warning":
892
+ return {
893
+ event: ke,
894
+ lines: [
895
+ {
896
+ ticketId: 101,
897
+ ticketName: "General Admission",
898
+ quantity: 2,
899
+ unitPrice: 25,
900
+ fee: 2.5,
901
+ subtotal: 50
902
+ },
903
+ {
904
+ ticketId: 102,
905
+ ticketName: "VIP Front Row",
906
+ quantity: 1,
907
+ unitPrice: 55,
908
+ fee: 5.5,
909
+ subtotal: 55
910
+ }
911
+ ],
912
+ timerStart: 33,
913
+ // Just over 30s — warning modal triggers at 30s
914
+ promoApplied: !1,
915
+ promoDiscount: 0,
916
+ forceExpired: !1
917
+ };
918
+ case "expired":
919
+ return {
920
+ event: ke,
921
+ lines: [
922
+ {
923
+ ticketId: 101,
924
+ ticketName: "General Admission",
925
+ quantity: 2,
926
+ unitPrice: 25,
927
+ fee: 2.5,
928
+ subtotal: 50
929
+ },
930
+ {
931
+ ticketId: 102,
932
+ ticketName: "VIP Front Row",
933
+ quantity: 1,
934
+ unitPrice: 55,
935
+ fee: 5.5,
936
+ subtotal: 55
937
+ }
938
+ ],
939
+ timerStart: 0,
940
+ promoApplied: !1,
941
+ promoDiscount: 0,
942
+ forceExpired: !0
943
+ };
944
+ case "promo":
945
+ return {
946
+ event: ke,
947
+ lines: [
948
+ {
949
+ ticketId: 101,
950
+ ticketName: "General Admission",
951
+ quantity: 2,
952
+ unitPrice: 25,
953
+ fee: 2.5,
954
+ subtotal: 50
955
+ },
956
+ {
957
+ ticketId: 102,
958
+ ticketName: "VIP Front Row",
959
+ quantity: 1,
960
+ unitPrice: 55,
961
+ fee: 5.5,
962
+ subtotal: 55
963
+ }
964
+ ],
965
+ timerStart: 900,
966
+ promoApplied: !0,
967
+ promoDiscount: 10,
968
+ forceExpired: !1
969
+ };
970
+ default:
971
+ return {
972
+ event: ke,
973
+ lines: [
974
+ {
975
+ ticketId: 101,
976
+ ticketName: "General Admission",
977
+ quantity: 2,
978
+ unitPrice: 25,
979
+ fee: 2.5,
980
+ subtotal: 50
981
+ },
982
+ {
983
+ ticketId: 102,
984
+ ticketName: "VIP Front Row",
985
+ quantity: 1,
986
+ unitPrice: 55,
987
+ fee: 5.5,
988
+ subtotal: 55
989
+ }
990
+ ],
991
+ timerStart: 900,
992
+ promoApplied: !1,
993
+ promoDiscount: 0,
994
+ forceExpired: !1
995
+ };
996
+ }
997
+ }
998
+ let m = e.derived(() => e.get($) ? k(e.get(h)) : I()), x = e.state(900), P = e.state(!1), w = e.state(!1), G = e.state(0), c = e.state(!1), R = e.state(!1), C = e.state(!1), E = e.state(!1), Q = e.state(3), J = e.state(!0);
999
+ const ae = 30;
1000
+ let se = e.derived(() => (() => {
1001
+ const a = Math.floor(e.get(x) / 60), n = e.get(x) % 60;
1002
+ return `${a.toString().padStart(2, "0")}:${n.toString().padStart(2, "0")}`;
1003
+ })()), H = e.derived(() => (() => {
1004
+ const a = e.get(m).lines, n = ye(a.reduce((_, v) => _ + v.subtotal, 0)), d = ye(a.reduce((_, v) => _ + v.fee * v.quantity, 0)), o = e.get(m).promoApplied ? e.get(m).promoDiscount : 0, b = ye(Math.max(0, n - o)), T = je(b + d, e.get(m).event.venue.taxPercentage);
1005
+ return {
1006
+ lines: a,
1007
+ subtotal: n,
1008
+ fees: d,
1009
+ taxes: T,
1010
+ total: ye(b + d + T),
1011
+ promoDiscount: o,
1012
+ giftCardAmount: 0
1013
+ };
1014
+ })()), ie = e.derived(() => e.get(H).total === 0 && e.get(H).subtotal === 0), le = e.derived(() => e.get(m).event.isRegistrationEvent), ne = !1;
1015
+ e.user_effect(() => {
1016
+ const a = e.get(m);
1017
+ ne || (ne = !0, e.set(x, a.timerStart, !0), e.set(P, a.forceExpired, !0)), e.set(w, !1), e.set(G, 0);
1018
+ }), e.user_effect(() => {
1019
+ if (e.get(P) || e.get(x) <= 0) {
1020
+ e.get(x) <= 0 && !e.get(P) && (e.set(P, !0), e.set(c, !1), e.set(R, !0));
1021
+ return;
1022
+ }
1023
+ const a = setInterval(
1024
+ () => {
1025
+ if (e.set(x, e.get(x) - 1), e.get(x) % 10 === 0 && typeof localStorage < "u")
1026
+ try {
1027
+ const n = typeof document < "u" ? document.cookie.match(/checkout-cartid=([^;]+)/)?.[1] : null;
1028
+ n && localStorage.setItem(`checkout-expiry-${n}`, String(Date.now() + e.get(x) * 1e3));
1029
+ } catch {
1030
+ }
1031
+ e.get(x) === ae && !e.get(C) && (e.set(c, !0), e.set(C, !0)), e.get(x) <= 0 && (e.set(x, 0), e.set(P, !0), e.set(c, !1), e.set(R, !0), clearInterval(a));
1032
+ },
1033
+ 1e3
1034
+ );
1035
+ return () => clearInterval(a);
1036
+ });
1037
+ function de() {
1038
+ s() ? s()() : alert("Back button pressed — would navigate to ticket selection");
1039
+ }
1040
+ function oe() {
1041
+ e.set(G, e.get(G) + 1);
1042
+ }
1043
+ function Pe(a) {
1044
+ if (!e.get(w)) {
1045
+ if (e.set(w, !0), q()) {
1046
+ q()(a).catch(() => {
1047
+ }).finally(() => {
1048
+ e.set(w, !1);
1049
+ });
1050
+ return;
1051
+ }
1052
+ setTimeout(
1053
+ () => {
1054
+ e.set(w, !1);
1055
+ const n = e.get(H).lines.reduce((d, o) => d + o.quantity, 0);
1056
+ alert(`Order placed! ${n} ticket(s) for {formatCurrency(orderTotals.total as USD /* FIXME(canonical-cleanup:toFixed): this cast bypasses the brand boundary; replace with toCents/toUSD at the API-response-transform layer. */)}`);
1057
+ },
1058
+ 1500
1059
+ );
1060
+ }
1061
+ }
1062
+ function ce() {
1063
+ e.set(R, !1), j() ? j()() : alert("Would navigate back to ticket selection to start over");
1064
+ }
1065
+ async function fe() {
1066
+ if (!(!e.get(J) || e.get(E))) {
1067
+ e.set(E, !0);
1068
+ try {
1069
+ if (D()) {
1070
+ const a = await D()();
1071
+ if (a && typeof a == "object") {
1072
+ if (a.newExpiryTime) {
1073
+ const n = new Date(a.newExpiryTime), d = /* @__PURE__ */ new Date(), o = Math.max(0, Math.floor((n.getTime() - d.getTime()) / 1e3));
1074
+ e.set(x, o, !0);
1075
+ } else
1076
+ e.set(x, 900);
1077
+ a.remainingExtensions !== void 0 && (e.set(Q, a.remainingExtensions, !0), e.set(J, e.get(Q) > 0));
1078
+ } else
1079
+ e.set(x, 900);
1080
+ } else
1081
+ e.set(x, 900);
1082
+ e.set(P, !1), e.set(C, !1), e.set(c, !1), e.set(R, !1);
1083
+ } catch (a) {
1084
+ vt.error("Failed to extend session:", a), e.set(c, !1);
1085
+ } finally {
1086
+ e.set(E, !1);
1087
+ }
1088
+ }
1089
+ }
1090
+ function pe() {
1091
+ e.set(c, !1);
1092
+ }
1093
+ function we(a) {
1094
+ e.set(h, a, !0);
1095
+ }
1096
+ var te = wt(), _e = e.child(te);
1097
+ {
1098
+ var Ee = (a) => {
1099
+ var n = pt(), d = e.sibling(e.child(n), 2);
1100
+ e.each(d, 17, () => F, e.index, (o, b) => {
1101
+ const T = e.derived(() => e.get(h) === e.get(b).value);
1102
+ var _ = ft(), v = e.child(_), g = e.sibling(v);
1103
+ e.reset(_), e.template_effect(() => {
1104
+ e.set_class(
1105
+ _,
1106
+ 1,
1107
+ `toggle-btn ${e.get(T) ? "active bg-surface-secondary text-color-primary font-medium" : "text-color-tertiary hover:bg-surface-secondary hover:text-color-secondary"}`,
1108
+ "svelte-11vhi03"
1109
+ ), e.set_class(v, 1, `w-1.5 h-1.5 rounded-full ${e.get(b).color ?? ""} shrink-0`, "svelte-11vhi03"), e.set_text(g, ` ${e.get(b).label ?? ""}`);
1110
+ }), e.delegated("click", _, () => we(e.get(b).value)), e.append(o, _);
1111
+ }), e.reset(n), e.append(a, n);
1112
+ };
1113
+ e.if(_e, (a) => {
1114
+ e.get($) && a(Ee);
1115
+ });
1116
+ }
1117
+ var ue = e.sibling(_e, 2), me = e.child(ue), ge = e.child(me), re = e.child(ge), he = e.child(re);
1118
+ dt(he, {
1119
+ get event() {
1120
+ return e.get(m).event;
1121
+ },
1122
+ get orderTotals() {
1123
+ return e.get(H);
1124
+ },
1125
+ get timerSeconds() {
1126
+ return e.get(x);
1127
+ },
1128
+ get isExpired() {
1129
+ return e.get(P);
1130
+ },
1131
+ get isRegistration() {
1132
+ return e.get(le);
1133
+ },
1134
+ get isFreeOrder() {
1135
+ return e.get(ie);
1136
+ },
1137
+ get promoApplied() {
1138
+ return e.get(m).promoApplied;
1139
+ },
1140
+ get promoDiscount() {
1141
+ return e.get(m).promoDiscount;
1142
+ },
1143
+ onBack: de,
1144
+ onPlaceOrder: Pe,
1145
+ get processing() {
1146
+ return e.get(w);
1147
+ },
1148
+ get submitRequested() {
1149
+ return e.get(G);
1150
+ },
1151
+ get stripe() {
1152
+ return O();
1153
+ },
1154
+ get paymentIntent() {
1155
+ return z();
1156
+ },
1157
+ get paymentError() {
1158
+ return M();
1159
+ },
1160
+ get labels() {
1161
+ return e.get(u);
1162
+ },
1163
+ get elements() {
1164
+ return U();
1165
+ },
1166
+ set elements(a) {
1167
+ U(a);
1168
+ }
1169
+ });
1170
+ var xe = e.sibling(he, 2), r = e.child(xe);
1171
+ ve(r, {
1172
+ level: 3,
1173
+ size: "sm",
1174
+ weight: "semibold",
1175
+ class: "mb-3",
1176
+ children: (a, n) => {
1177
+ e.next();
1178
+ var d = e.text();
1179
+ e.template_effect(() => e.set_text(d, e.get(u).orderSummary || "Order summary")), e.append(a, d);
1180
+ },
1181
+ $$slots: { default: !0 }
1182
+ });
1183
+ var l = e.sibling(r, 2);
1184
+ $e(l, {
1185
+ get orderTotals() {
1186
+ return e.get(H);
1187
+ }
1188
+ }), e.reset(xe), e.reset(re);
1189
+ var i = e.sibling(re, 2), S = e.child(i);
1190
+ ut(S, {
1191
+ get event() {
1192
+ return e.get(m).event;
1193
+ },
1194
+ get orderTotals() {
1195
+ return e.get(H);
1196
+ },
1197
+ get isFreeOrder() {
1198
+ return e.get(ie);
1199
+ },
1200
+ onPlaceOrder: oe,
1201
+ get processing() {
1202
+ return e.get(w);
1203
+ },
1204
+ get labels() {
1205
+ return e.get(u);
1206
+ }
1207
+ }), e.reset(i), e.reset(ge), e.reset(me);
1208
+ var N = e.sibling(me, 2), f = e.child(N);
1209
+ gt(f, {
1210
+ get orderTotals() {
1211
+ return e.get(H);
1212
+ },
1213
+ get isFreeOrder() {
1214
+ return e.get(ie);
1215
+ },
1216
+ onPlaceOrder: oe,
1217
+ get processing() {
1218
+ return e.get(w);
1219
+ },
1220
+ get labels() {
1221
+ return e.get(u);
1222
+ }
1223
+ }), e.reset(N), e.reset(ue);
1224
+ var p = e.sibling(ue, 2);
1225
+ Te(p, {
1226
+ size: "sm",
1227
+ role: "alertdialog",
1228
+ "aria-labelledby": "warning-modal-title",
1229
+ "aria-describedby": "warning-modal-description",
1230
+ get open() {
1231
+ return e.get(c);
1232
+ },
1233
+ set open(d) {
1234
+ e.set(c, d, !0);
1235
+ },
1236
+ body: (d) => {
1237
+ var o = ht(), b = e.child(o), T = e.child(b);
1238
+ qe(T, { size: 32 }), e.reset(b);
1239
+ var _ = e.sibling(b, 2), v = e.child(_, !0);
1240
+ e.reset(_);
1241
+ var g = e.sibling(_, 2), A = e.child(g, !0);
1242
+ e.reset(g);
1243
+ var y = e.sibling(g, 2);
1244
+ {
1245
+ var W = (B) => {
1246
+ var K = _t(), be = e.child(K, !0);
1247
+ e.reset(K), e.template_effect((Ie) => e.set_text(be, Ie), [
1248
+ () => (e.get(u).extensionsRemaining || "{count} extension{plural} remaining").replace("{count}", String(e.get(Q))).replace("{plural}", e.get(Q) === 1 ? "" : "s")
1249
+ ]), e.append(B, K);
1250
+ };
1251
+ e.if(y, (B) => {
1252
+ e.get(J) && e.get(Q) > 0 && B(W);
1253
+ });
1254
+ }
1255
+ e.reset(o), e.template_effect(
1256
+ (B) => {
1257
+ e.set_text(v, e.get(u).sessionExpiringSoon || "Session expiring soon"), e.set_text(A, B);
1258
+ },
1259
+ [
1260
+ () => (e.get(u).sessionExpiringSoonMessage || "Your checkout session will expire in {time}. Your selected tickets will be released back to inventory.").replace("{time}", e.get(se))
1261
+ ]
1262
+ ), e.append(d, o);
1263
+ },
1264
+ footer: (d) => {
1265
+ var o = bt(), b = e.child(o);
1266
+ {
1267
+ var T = (v) => {
1268
+ Z(v, {
1269
+ variant: "default",
1270
+ size: "lg",
1271
+ class: "w-full",
1272
+ onclick: fe,
1273
+ get disabled() {
1274
+ return e.get(E);
1275
+ },
1276
+ get loading() {
1277
+ return e.get(E);
1278
+ },
1279
+ children: (g, A) => {
1280
+ e.next();
1281
+ var y = e.text();
1282
+ e.template_effect(() => e.set_text(y, e.get(E) ? e.get(u).extendingSession || "Extending..." : e.get(u).continueCheckout || "Continue checkout")), e.append(g, y);
1283
+ },
1284
+ $$slots: { default: !0 }
1285
+ });
1286
+ }, _ = (v) => {
1287
+ var g = xt(), A = e.first_child(g);
1288
+ Z(A, {
1289
+ variant: "default",
1290
+ size: "lg",
1291
+ class: "w-full",
1292
+ onclick: pe,
1293
+ children: (B, K) => {
1294
+ e.next();
1295
+ var be = e.text();
1296
+ e.template_effect(() => e.set_text(be, e.get(u).okIllHurry || "OK, I'll hurry")), e.append(B, be);
1297
+ },
1298
+ $$slots: { default: !0 }
1299
+ });
1300
+ var y = e.sibling(A, 2), W = e.child(y, !0);
1301
+ e.reset(y), e.template_effect(() => e.set_text(W, e.get(u).maxExtensionsReached || "Maximum extensions reached")), e.append(v, g);
1302
+ };
1303
+ e.if(b, (v) => {
1304
+ e.get(J) ? v(T) : v(_, !1);
1305
+ });
1306
+ }
1307
+ e.reset(o), e.append(d, o);
1308
+ },
1309
+ $$slots: { body: !0, footer: !0 }
1310
+ });
1311
+ var L = e.sibling(p, 2);
1312
+ Te(L, {
1313
+ size: "sm",
1314
+ role: "alertdialog",
1315
+ "aria-labelledby": "expired-modal-title",
1316
+ "aria-describedby": "expired-modal-description",
1317
+ get open() {
1318
+ return e.get(R);
1319
+ },
1320
+ set open(d) {
1321
+ e.set(R, d, !0);
1322
+ },
1323
+ body: (d) => {
1324
+ var o = yt(), b = e.child(o), T = e.child(b);
1325
+ Me(T, { size: 32 }), e.reset(b);
1326
+ var _ = e.sibling(b, 2), v = e.child(_, !0);
1327
+ e.reset(_);
1328
+ var g = e.sibling(_, 2), A = e.child(g, !0);
1329
+ e.reset(g), e.reset(o), e.template_effect(() => {
1330
+ e.set_text(v, e.get(J) ? e.get(u).wantToKeepTickets || "Want to keep your tickets?" : e.get(u).sessionExpired || "Session expired"), e.set_text(A, e.get(J) ? e.get(u).sessionExpiredMessage || "Your checkout session has expired and your selected tickets have been released." : e.get(u).reservationTimedOut || "Your reservation has timed out. Please select your tickets again to continue.");
1331
+ }), e.append(d, o);
1332
+ },
1333
+ footer: (d) => {
1334
+ var o = Pt(), b = e.child(o);
1335
+ {
1336
+ var T = (v) => {
1337
+ var g = kt(), A = e.first_child(g);
1338
+ Z(A, {
1339
+ variant: "default",
1340
+ size: "lg",
1341
+ class: "w-full",
1342
+ onclick: fe,
1343
+ get disabled() {
1344
+ return e.get(E);
1345
+ },
1346
+ get loading() {
1347
+ return e.get(E);
1348
+ },
1349
+ children: (W, B) => {
1350
+ e.next();
1351
+ var K = e.text();
1352
+ e.template_effect(() => e.set_text(K, e.get(E) ? e.get(u).extendingSession || "Extending..." : e.get(u).keepMyTickets || "Keep my tickets")), e.append(W, K);
1353
+ },
1354
+ $$slots: { default: !0 }
1355
+ });
1356
+ var y = e.sibling(A, 2);
1357
+ Z(y, {
1358
+ variant: "alternative",
1359
+ size: "lg",
1360
+ class: "w-full",
1361
+ onclick: ce,
1362
+ children: (W, B) => {
1363
+ e.next();
1364
+ var K = e.text();
1365
+ e.template_effect(() => e.set_text(K, e.get(u).selectTicketsAgain || "Select tickets again")), e.append(W, K);
1366
+ },
1367
+ $$slots: { default: !0 }
1368
+ }), e.append(v, g);
1369
+ }, _ = (v) => {
1370
+ Z(v, {
1371
+ variant: "default",
1372
+ size: "lg",
1373
+ class: "w-full",
1374
+ onclick: ce,
1375
+ children: (g, A) => {
1376
+ e.next();
1377
+ var y = e.text();
1378
+ e.template_effect(() => e.set_text(y, e.get(u).selectTicketsAgain || "Select tickets again")), e.append(g, y);
1379
+ },
1380
+ $$slots: { default: !0 }
1381
+ });
1382
+ };
1383
+ e.if(b, (v) => {
1384
+ e.get(J) ? v(T) : v(_, !1);
1385
+ });
1386
+ }
1387
+ e.reset(o), e.append(d, o);
1388
+ },
1389
+ $$slots: { body: !0, footer: !0 }
1390
+ }), e.reset(te), e.append(Y, te), e.pop();
1391
+ }
1392
+ e.delegate(["click"]);
1393
+ const Rt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1394
+ __proto__: null,
1395
+ default: Et
1396
+ }, Symbol.toStringTag, { value: "Module" }));
1397
+ export {
1398
+ Et as C,
1399
+ Rt as a,
1400
+ Se as b,
1401
+ Qe as u
1402
+ };
1403
+ //# sourceMappingURL=CheckoutMain-CIfRFv_0.js.map