@getmicdrop/venue-calendar 4.0.9 → 4.0.11

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 (84) hide show
  1. package/README.md +700 -700
  2. package/dist/{AirbnbSplitMain-BF9Md8qq.js → AirbnbSplitMain-BwFA51F6.js} +4 -4
  3. package/dist/AirbnbSplitMain-BwFA51F6.js.map +1 -0
  4. package/dist/{CarouselView.legacy-BFGIAx7l.js → CarouselView.legacy-BHeZe5LX.js} +3 -3
  5. package/dist/CarouselView.legacy-BHeZe5LX.js.map +1 -0
  6. package/dist/CartView-BUzE0wp2.js +1682 -0
  7. package/dist/CartView-BUzE0wp2.js.map +1 -0
  8. package/dist/{Checkout-CpPb5Ifu.js → Checkout-pzohnvrX.js} +4 -4
  9. package/dist/Checkout-pzohnvrX.js.map +1 -0
  10. package/dist/{Checkout.legacy-C9yyEf3S.js → Checkout.legacy-ZKJN-dMX.js} +4 -4
  11. package/dist/Checkout.legacy-ZKJN-dMX.js.map +1 -0
  12. package/dist/CheckoutMain-5LdQDph1.js +1436 -0
  13. package/dist/CheckoutMain-5LdQDph1.js.map +1 -0
  14. package/dist/{CheckoutTimer-DJnOIPo_.js → CheckoutTimer-D6LfPX7c.js} +2 -2
  15. package/dist/CheckoutTimer-D6LfPX7c.js.map +1 -0
  16. package/dist/{CollectionView-CYrzlsQM.js → CollectionView-BwQTF9Df.js} +5 -5
  17. package/dist/CollectionView-BwQTF9Df.js.map +1 -0
  18. package/dist/{CollectionView.legacy-Dps9inGG.js → CollectionView.legacy-Cz6XX6Ly.js} +3 -3
  19. package/dist/CollectionView.legacy-Cz6XX6Ly.js.map +1 -0
  20. package/dist/{EventDetailsView-DBbu150l.js → EventDetailsView-Cp5IRJam.js} +2 -2
  21. package/dist/EventDetailsView-Cp5IRJam.js.map +1 -0
  22. package/dist/{FeaturedView.legacy-BrtaOt9e.js → FeaturedView.legacy-DKOl806x.js} +2 -2
  23. package/dist/FeaturedView.legacy-DKOl806x.js.map +1 -0
  24. package/dist/{GalleryCard-jocj0pr5.js → GalleryCard-MO80JCq7.js} +2 -2
  25. package/dist/GalleryCard-MO80JCq7.js.map +1 -0
  26. package/dist/{GalleryView.legacy-HgqtBg4h.js → GalleryView.legacy-pSihGXaa.js} +3 -3
  27. package/dist/GalleryView.legacy-pSihGXaa.js.map +1 -0
  28. package/dist/{GroupedListView.legacy-DOE0hObl.js → GroupedListView.legacy-CC1kcrgF.js} +2 -2
  29. package/dist/GroupedListView.legacy-CC1kcrgF.js.map +1 -0
  30. package/dist/OrderSummarySkeleton-dDKUH741.js.map +1 -1
  31. package/dist/{SeriesPage-CpmkUQkM.js → SeriesPage-rUuL4Pdb.js} +5 -5
  32. package/dist/SeriesPage-rUuL4Pdb.js.map +1 -0
  33. package/dist/{SeriesPage.legacy-DdBGxKik.js → SeriesPage.legacy-BxPGQaCo.js} +2 -2
  34. package/dist/SeriesPage.legacy-BxPGQaCo.js.map +1 -0
  35. package/dist/{Success-CFFLbHnY.js → Success-BAHe8E_8.js} +5 -5
  36. package/dist/Success-BAHe8E_8.js.map +1 -0
  37. package/dist/{Success.legacy-CbRz2zxG.js → Success.legacy-COO3pzj4.js} +2 -2
  38. package/dist/Success.legacy-COO3pzj4.js.map +1 -0
  39. package/dist/{VenueCalendar-DUIJZSTv.js → VenueCalendar-Djc3e2j2.js} +14 -14
  40. package/dist/{VenueCalendar-DUIJZSTv.js.map → VenueCalendar-Djc3e2j2.js.map} +1 -1
  41. package/dist/{ViewTicketsEmbed-BtskVW7X.js → ViewTicketsEmbed-CBk3cg3u.js} +2 -2
  42. package/dist/ViewTicketsEmbed-CBk3cg3u.js.map +1 -0
  43. package/dist/api/api.cjs.map +1 -1
  44. package/dist/api/api.mjs.map +1 -1
  45. package/dist/api/types.d.ts +357 -357
  46. package/dist/colors-BZoMuXdh.js.map +1 -1
  47. package/dist/{labels-yD6EDNLO.js → labels-DySnOPVE.js} +2 -2
  48. package/dist/labels-DySnOPVE.js.map +1 -0
  49. package/dist/seo/seo.cjs.map +1 -1
  50. package/dist/seo/seo.mjs.map +1 -1
  51. package/dist/seo/types.d.ts +137 -137
  52. package/dist/{transform-D00wPQAM.js → transform-DKVmquzJ.js} +2 -2
  53. package/dist/transform-DKVmquzJ.js.map +1 -0
  54. package/dist/types/index.d.ts +387 -387
  55. package/dist/venue-calendar.es.js +1 -1
  56. package/dist/venue-calendar.iife.js +37 -37
  57. package/dist/venue-calendar.iife.js.map +1 -1
  58. package/dist/venue-calendar.umd.js +37 -37
  59. package/dist/venue-calendar.umd.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/lib/theme.js +222 -222
  62. package/dist/AirbnbSplitMain-BF9Md8qq.js.map +0 -1
  63. package/dist/CarouselView.legacy-BFGIAx7l.js.map +0 -1
  64. package/dist/CartView-C_4nNeRc.js +0 -1675
  65. package/dist/CartView-C_4nNeRc.js.map +0 -1
  66. package/dist/Checkout-CpPb5Ifu.js.map +0 -1
  67. package/dist/Checkout.legacy-C9yyEf3S.js.map +0 -1
  68. package/dist/CheckoutMain-BRBejJSN.js +0 -1422
  69. package/dist/CheckoutMain-BRBejJSN.js.map +0 -1
  70. package/dist/CheckoutTimer-DJnOIPo_.js.map +0 -1
  71. package/dist/CollectionView-CYrzlsQM.js.map +0 -1
  72. package/dist/CollectionView.legacy-Dps9inGG.js.map +0 -1
  73. package/dist/EventDetailsView-DBbu150l.js.map +0 -1
  74. package/dist/FeaturedView.legacy-BrtaOt9e.js.map +0 -1
  75. package/dist/GalleryCard-jocj0pr5.js.map +0 -1
  76. package/dist/GalleryView.legacy-HgqtBg4h.js.map +0 -1
  77. package/dist/GroupedListView.legacy-DOE0hObl.js.map +0 -1
  78. package/dist/SeriesPage-CpmkUQkM.js.map +0 -1
  79. package/dist/SeriesPage.legacy-DdBGxKik.js.map +0 -1
  80. package/dist/Success-CFFLbHnY.js.map +0 -1
  81. package/dist/Success.legacy-CbRz2zxG.js.map +0 -1
  82. package/dist/ViewTicketsEmbed-BtskVW7X.js.map +0 -1
  83. package/dist/labels-yD6EDNLO.js.map +0 -1
  84. package/dist/transform-D00wPQAM.js.map +0 -1
@@ -0,0 +1,1436 @@
1
+ import "svelte/internal/disclose-version";
2
+ import { B as se, ak as Me, I as te, al as $e, n as Ie, z as Le, D as Be, H as Ve, J as je, f as Oe, v as Te, M as De, q as Ue, T as Ye, h as We } from "./VenueCalendar-Djc3e2j2.js";
3
+ import * as e from "svelte/internal/client";
4
+ import { H as _e } from "./Heading-AFd3o0xt.js";
5
+ import "svelte/internal/flags/legacy";
6
+ import "svelte/transition";
7
+ import "svelte/easing";
8
+ import { O as Fe, m as Ge, e as He, d as Se, b as Ke, a as Qe, c as Je } from "./labels-DySnOPVE.js";
9
+ import { onMount as Xe, onDestroy as ze } from "svelte";
10
+ import { T as ie } from "./Text-CXR2fhx6.js";
11
+ import { C as Ze } from "./CheckoutTimer-D6LfPX7c.js";
12
+ const Ce = typeof window < "u";
13
+ function et(W) {
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 x = W || '[data-theme="dark"], [data-theme="light"], .micdrop, [data-theme]', M = document.querySelectorAll(x);
20
+ for (const I of M)
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 tt(W) {
28
+ return W ? "night" : "stripe";
29
+ }
30
+ function rt(W = {}) {
31
+ const {
32
+ containerSelector: t = '[data-theme="dark"], [data-theme="light"], .micdrop, [data-theme]',
33
+ watchChanges: x = !0,
34
+ fallback: M = "stripe"
35
+ } = W;
36
+ let I = e.state(e.proxy(M)), N = null;
37
+ function a() {
38
+ e.set(I, tt(et(t)), !0);
39
+ }
40
+ return Xe(() => {
41
+ if (a(), x && typeof MutationObserver < "u") {
42
+ const j = document.querySelectorAll(t), L = document.documentElement;
43
+ N = new MutationObserver(() => {
44
+ a();
45
+ }), N.observe(L, { attributes: !0, attributeFilter: ["class", "data-theme"] }), j.forEach((F) => {
46
+ N?.observe(F, { attributes: !0, attributeFilter: ["class", "data-theme"] });
47
+ }), window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", a);
48
+ }
49
+ }), ze(() => {
50
+ N && (N.disconnect(), N = null);
51
+ }), {
52
+ get current() {
53
+ return e.get(I);
54
+ },
55
+ /** Force refresh the theme detection */
56
+ refresh: a
57
+ };
58
+ }
59
+ var at = 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>'), st = e.from_html('<section class="space-y-5"><!> <!></section>'), it = e.from_html('<div class="free-order-notice border-default bg-surface-secondary svelte-1ccgw1q"><!> <!></div>'), lt = e.from_html('<p class="text-sm text-color-muted py-2"> </p>'), nt = e.from_html("<div></div> <!>", 1), dt = e.from_html('<p class="text-sm text-color-muted py-2"> </p>'), ot = e.from_html('<p class="text-sm text-accent-danger mt-2"> </p>'), ct = e.from_html("<!> <!> <!>", 1), ut = e.from_html('<!> <!> <div class="grid grid-cols-2 gap-4"><!> <!></div>', 1), mt = e.from_html('<div class="flex items-center gap-1.5"><!> <!></div>'), gt = 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 vt(W, t) {
61
+ e.push(t, !0);
62
+ let x = e.prop(t, "stripe", 3, void 0), M = e.prop(t, "paymentIntent", 3, void 0), I = e.prop(t, "elements", 15, void 0), N = e.prop(t, "paymentError", 3, ""), a = e.prop(t, "labels", 19, () => ({}));
63
+ const j = Ce ? rt() : { current: "stripe" };
64
+ let L = e.state(null), O = null, F = e.state(!1);
65
+ function U() {
66
+ !Ce || !x() || !M() || !e.get(L) || e.get(F) || (I(x().elements({
67
+ clientSecret: M(),
68
+ appearance: { theme: j.current }
69
+ })), O = I().create("payment"), O.mount(e.get(L)), e.set(F, !0));
70
+ }
71
+ e.user_effect(() => {
72
+ x() && M() && e.get(L) && !e.get(F) && U();
73
+ }), e.user_effect(() => {
74
+ if (e.get(F) && I() && j.current)
75
+ try {
76
+ I().update({ appearance: { theme: j.current } });
77
+ } catch {
78
+ }
79
+ }), ze(() => {
80
+ O && (O.destroy(), O = null), e.set(F, !1);
81
+ });
82
+ let B = e.state(""), Y = e.state(""), o = e.state(""), $ = e.state(!1), P = e.state(!1), n = e.state(""), q = e.state(""), v = e.state(""), w = e.state(e.proxy([])), V = e.state(!1), m = e.derived(() => (() => {
83
+ if (!e.get(V)) return {};
84
+ const r = {};
85
+ if (e.get(B).trim() || (r.firstName = a().firstNameRequired || "First name is required"), e.get(Y).trim() || (r.lastName = a().lastNameRequired || "Last name is required"), e.get(o).trim() ? /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.get(o)) || (r.email = a().emailInvalid || "Enter a valid email address") : r.email = a().emailRequired || "Email is required", !t.isFreeOrder && !x() && (e.get(n).trim() || (r.cardNumber = a().cardNumberRequired || "Card number is required"), e.get(q).trim() || (r.cardExpiry = a().expiryRequired || "Expiry date is required"), e.get(v).trim() || (r.cardCvc = a().cvcRequired || "CVC is required")), e.get(P) || (r.agreeTerms = a().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`] = a().emailInvalidShort || "Enter a valid email") : r[`attendee_${l}_email`] = a().emailRequired || "Email is required");
89
+ }
90
+ return r;
91
+ })()), A = e.derived(() => Object.keys(e.get(m)).length > 0), T = 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 z = e.state(0);
108
+ e.user_effect(() => {
109
+ t.submitRequested > e.get(z) && (e.set(z, t.submitRequested, !0), le());
110
+ });
111
+ function G(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(B) : i.firstName,
118
+ lastName: l ? e.get(Y) : i.lastName,
119
+ email: l ? e.get(o) : i.email
120
+ }),
121
+ !0
122
+ );
123
+ }
124
+ function le() {
125
+ e.set(V, !0), !e.get(A) && t.onPlaceOrder({
126
+ firstName: e.get(B),
127
+ lastName: e.get(Y),
128
+ email: e.get(o),
129
+ keepMeUpdated: e.get($),
130
+ attendees: t.isRegistration ? e.get(w).map((r) => ({
131
+ firstName: r.sameAsPurchaser ? e.get(B) : r.firstName,
132
+ lastName: r.sameAsPurchaser ? e.get(Y) : r.lastName,
133
+ email: r.sameAsPurchaser ? e.get(o) : r.email,
134
+ sameAsPurchaser: r.sameAsPurchaser
135
+ })) : void 0
136
+ });
137
+ }
138
+ var Q = gt(), ue = e.child(Q), he = e.child(ue);
139
+ {
140
+ let r = e.derived(() => a().goBack || "Go back");
141
+ se(he, {
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
+ Me(l, { size: 20 });
152
+ },
153
+ $$slots: { default: !0 }
154
+ });
155
+ }
156
+ var Z = e.sibling(he, 2);
157
+ Ze(Z, {
158
+ get seconds() {
159
+ return t.timerSeconds;
160
+ },
161
+ get isUrgent() {
162
+ return e.get(T);
163
+ }
164
+ }), e.reset(ue);
165
+ var oe = e.sibling(ue, 2), re = e.child(oe);
166
+ _e(re, {
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, a().yourDetails || "Your details")), e.append(r, i);
174
+ },
175
+ $$slots: { default: !0 }
176
+ });
177
+ var me = e.sibling(re, 2), ge = e.child(me);
178
+ {
179
+ let r = e.derived(() => a().firstName || "First name"), l = e.derived(() => a().firstName || "First name"), i = e.derived(() => e.get(m).firstName ?? ""), S = e.derived(() => e.get(m).firstName ? "red" : "base");
180
+ te(ge, {
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(B);
196
+ },
197
+ set value(E) {
198
+ e.set(B, E, !0);
199
+ }
200
+ });
201
+ }
202
+ var xe = e.sibling(ge, 2);
203
+ {
204
+ let r = e.derived(() => a().lastName || "Last name"), l = e.derived(() => a().lastName || "Last name"), i = e.derived(() => e.get(m).lastName ?? ""), S = e.derived(() => e.get(m).lastName ? "red" : "base");
205
+ te(xe, {
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(Y);
221
+ },
222
+ set value(E) {
223
+ e.set(Y, E, !0);
224
+ }
225
+ });
226
+ }
227
+ e.reset(me);
228
+ var ae = e.sibling(me, 2);
229
+ {
230
+ let r = e.derived(() => a().emailAddress || "Email address"), l = e.derived(() => a().emailPlaceholder || "you@example.com"), i = e.derived(() => e.get(m).email ?? ""), S = e.derived(() => e.get(m).email ? "red" : "base");
231
+ te(ae, {
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(o);
248
+ },
249
+ set value(E) {
250
+ e.set(o, E, !0);
251
+ }
252
+ });
253
+ }
254
+ var be = e.sibling(ae, 2);
255
+ $e(be, {
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, a().keepMeUpdated || "Keep me updated about this event and similar events")), e.append(r, i);
266
+ },
267
+ $$slots: { default: !0 }
268
+ }), e.reset(oe);
269
+ var ye = e.sibling(oe, 2);
270
+ {
271
+ var ke = (r) => {
272
+ var l = st(), i = e.child(l);
273
+ _e(i, {
274
+ level: 2,
275
+ size: "lg",
276
+ weight: "semibold",
277
+ children: (E, f) => {
278
+ e.next();
279
+ var _ = e.text();
280
+ e.template_effect(() => e.set_text(_, a().attendeeDetails || "Attendee details")), e.append(E, _);
281
+ },
282
+ $$slots: { default: !0 }
283
+ });
284
+ var S = e.sibling(i, 2);
285
+ e.each(S, 17, () => e.get(w), e.index, (E, f, _) => {
286
+ var R = at(), b = e.child(R), y = e.child(b);
287
+ ie(y, {
288
+ size: "sm",
289
+ class: "font-semibold",
290
+ children: (d, g) => {
291
+ e.next();
292
+ var k = e.text();
293
+ e.template_effect(() => e.set_text(k, `${(a().attendee || "Attendee") ?? ""}
294
+ ${_ + 1}`)), e.append(d, k);
295
+ },
296
+ $$slots: { default: !0 }
297
+ });
298
+ var C = e.sibling(y, 2);
299
+ $e(C, {
300
+ get checked() {
301
+ return e.get(f).sameAsPurchaser;
302
+ },
303
+ onchange: ({ checked: d }) => G(_, d),
304
+ children: (d, g) => {
305
+ e.next();
306
+ var k = e.text();
307
+ e.template_effect(() => e.set_text(k, a().sameAsPurchaser || "Same as purchaser")), e.append(d, k);
308
+ },
309
+ $$slots: { default: !0 }
310
+ }), e.reset(b);
311
+ var H = e.sibling(b, 2), ne = e.child(H), s = e.child(ne);
312
+ {
313
+ let d = e.derived(() => a().firstName || "First name"), g = e.derived(() => a().firstName || "First name"), k = e.derived(() => e.get(f).sameAsPurchaser ? "" : e.get(m)[`attendee_${_}_firstName`] ?? ""), p = e.derived(() => !e.get(f).sameAsPurchaser && e.get(m)[`attendee_${_}_firstName`] ? "red" : "base");
314
+ te(s, {
315
+ get label() {
316
+ return e.get(d);
317
+ },
318
+ get placeholder() {
319
+ return e.get(g);
320
+ },
321
+ required: !0,
322
+ get disabled() {
323
+ return e.get(f).sameAsPurchaser;
324
+ },
325
+ get errorText() {
326
+ return e.get(k);
327
+ },
328
+ get color() {
329
+ return e.get(p);
330
+ },
331
+ get value() {
332
+ return e.get(f).firstName;
333
+ },
334
+ set value(u) {
335
+ e.get(f).firstName = u;
336
+ }
337
+ });
338
+ }
339
+ var h = e.sibling(s, 2);
340
+ {
341
+ let d = e.derived(() => a().lastName || "Last name"), g = e.derived(() => a().lastName || "Last name"), k = e.derived(() => e.get(f).sameAsPurchaser ? "" : e.get(m)[`attendee_${_}_lastName`] ?? ""), p = e.derived(() => !e.get(f).sameAsPurchaser && e.get(m)[`attendee_${_}_lastName`] ? "red" : "base");
342
+ te(h, {
343
+ get label() {
344
+ return e.get(d);
345
+ },
346
+ get placeholder() {
347
+ return e.get(g);
348
+ },
349
+ required: !0,
350
+ get disabled() {
351
+ return e.get(f).sameAsPurchaser;
352
+ },
353
+ get errorText() {
354
+ return e.get(k);
355
+ },
356
+ get color() {
357
+ return e.get(p);
358
+ },
359
+ get value() {
360
+ return e.get(f).lastName;
361
+ },
362
+ set value(u) {
363
+ e.get(f).lastName = u;
364
+ }
365
+ });
366
+ }
367
+ e.reset(ne);
368
+ var c = e.sibling(ne, 2);
369
+ {
370
+ let d = e.derived(() => a().email || "Email"), g = e.derived(() => a().attendeeEmailPlaceholder || "attendee@example.com"), k = e.derived(() => e.get(f).sameAsPurchaser ? "" : e.get(m)[`attendee_${_}_email`] ?? ""), p = e.derived(() => !e.get(f).sameAsPurchaser && e.get(m)[`attendee_${_}_email`] ? "red" : "base");
371
+ te(c, {
372
+ get label() {
373
+ return e.get(d);
374
+ },
375
+ type: "email",
376
+ get placeholder() {
377
+ return e.get(g);
378
+ },
379
+ required: !0,
380
+ get disabled() {
381
+ return e.get(f).sameAsPurchaser;
382
+ },
383
+ get errorText() {
384
+ return e.get(k);
385
+ },
386
+ get color() {
387
+ return e.get(p);
388
+ },
389
+ get value() {
390
+ return e.get(f).email;
391
+ },
392
+ set value(u) {
393
+ e.get(f).email = u;
394
+ }
395
+ });
396
+ }
397
+ e.reset(H), e.reset(R), e.append(E, R);
398
+ }), e.reset(l), e.append(r, l);
399
+ };
400
+ e.if(ye, (r) => {
401
+ t.isRegistration && e.get(w).length > 0 && r(ke);
402
+ });
403
+ }
404
+ var ve = e.sibling(ye, 2), Pe = e.child(ve);
405
+ {
406
+ var we = (r) => {
407
+ var l = it(), i = e.child(l);
408
+ ie(i, {
409
+ size: "sm",
410
+ color: "secondary",
411
+ class: "font-medium block",
412
+ children: (E, f) => {
413
+ e.next();
414
+ var _ = e.text();
415
+ e.template_effect(() => e.set_text(_, a().noPaymentRequired || "No payment required")), e.append(E, _);
416
+ },
417
+ $$slots: { default: !0 }
418
+ });
419
+ var S = e.sibling(i, 2);
420
+ ie(S, {
421
+ size: "xs",
422
+ color: "muted",
423
+ class: "block mt-1",
424
+ children: (E, f) => {
425
+ e.next();
426
+ var _ = e.text();
427
+ e.template_effect(() => e.set_text(_, a().freeEventMessage || "This is a free event. Complete the form above to reserve your spot.")), e.append(E, _);
428
+ },
429
+ $$slots: { default: !0 }
430
+ }), e.reset(l), e.append(r, l);
431
+ }, Ne = (r) => {
432
+ var l = ct(), i = e.first_child(l);
433
+ _e(i, {
434
+ level: 2,
435
+ size: "lg",
436
+ weight: "semibold",
437
+ children: (b, y) => {
438
+ e.next();
439
+ var C = e.text("Payment");
440
+ e.append(b, C);
441
+ },
442
+ $$slots: { default: !0 }
443
+ });
444
+ var S = e.sibling(i, 2);
445
+ {
446
+ var E = (b) => {
447
+ var y = nt(), C = e.first_child(y);
448
+ e.bind_this(C, (s) => e.set(L, s), () => e.get(L));
449
+ var H = e.sibling(C, 2);
450
+ {
451
+ var ne = (s) => {
452
+ var h = lt(), c = e.child(h, !0);
453
+ e.reset(h), e.template_effect(() => e.set_text(c, a().loadingPaymentForm || "Loading secure payment form...")), e.append(s, h);
454
+ };
455
+ e.if(H, (s) => {
456
+ e.get(F) || s(ne);
457
+ });
458
+ }
459
+ e.append(b, y);
460
+ }, f = (b) => {
461
+ var y = dt(), C = e.child(y, !0);
462
+ e.reset(y), e.template_effect(() => e.set_text(C, a().loadingPaymentForm || "Loading secure payment form...")), e.append(b, y);
463
+ };
464
+ e.if(S, (b) => {
465
+ Ce ? b(E) : b(f, !1);
466
+ });
467
+ }
468
+ var _ = e.sibling(S, 2);
469
+ {
470
+ var R = (b) => {
471
+ var y = ot(), C = e.child(y, !0);
472
+ e.reset(y), e.template_effect(() => e.set_text(C, N())), e.append(b, y);
473
+ };
474
+ e.if(_, (b) => {
475
+ N() && b(R);
476
+ });
477
+ }
478
+ e.append(r, l);
479
+ }, qe = (r) => {
480
+ var l = ut(), i = e.first_child(l);
481
+ _e(i, {
482
+ level: 2,
483
+ size: "lg",
484
+ weight: "semibold",
485
+ children: (R, b) => {
486
+ e.next();
487
+ var y = e.text("Payment");
488
+ e.append(R, y);
489
+ },
490
+ $$slots: { default: !0 }
491
+ });
492
+ var S = e.sibling(i, 2);
493
+ {
494
+ let R = e.derived(() => a().cardNumber || "Card number"), b = e.derived(() => a().cardPlaceholder || "4242 4242 4242 4242"), y = e.derived(() => e.get(m).cardNumber ?? ""), C = e.derived(() => e.get(m).cardNumber ? "red" : "base");
495
+ te(S, {
496
+ get label() {
497
+ return e.get(R);
498
+ },
499
+ get placeholder() {
500
+ return e.get(b);
501
+ },
502
+ type: "creditCardNumber",
503
+ required: !0,
504
+ get errorText() {
505
+ return e.get(y);
506
+ },
507
+ get color() {
508
+ return e.get(C);
509
+ },
510
+ get value() {
511
+ return e.get(n);
512
+ },
513
+ set value(H) {
514
+ e.set(n, H, !0);
515
+ }
516
+ });
517
+ }
518
+ var E = e.sibling(S, 2), f = e.child(E);
519
+ {
520
+ let R = e.derived(() => a().expiryDate || "Expiry date"), b = e.derived(() => a().expiryPlaceholder || "MM / YY"), y = e.derived(() => e.get(m).cardExpiry ?? ""), C = e.derived(() => e.get(m).cardExpiry ? "red" : "base");
521
+ te(f, {
522
+ get label() {
523
+ return e.get(R);
524
+ },
525
+ get placeholder() {
526
+ return e.get(b);
527
+ },
528
+ required: !0,
529
+ get errorText() {
530
+ return e.get(y);
531
+ },
532
+ get color() {
533
+ return e.get(C);
534
+ },
535
+ get value() {
536
+ return e.get(q);
537
+ },
538
+ set value(H) {
539
+ e.set(q, H, !0);
540
+ }
541
+ });
542
+ }
543
+ var _ = e.sibling(f, 2);
544
+ {
545
+ let R = e.derived(() => a().cvc || "CVC"), b = e.derived(() => a().cvcPlaceholder || "123"), y = e.derived(() => e.get(m).cardCvc ?? ""), C = e.derived(() => e.get(m).cardCvc ? "red" : "base");
546
+ te(_, {
547
+ get label() {
548
+ return e.get(R);
549
+ },
550
+ get placeholder() {
551
+ return e.get(b);
552
+ },
553
+ required: !0,
554
+ maxlength: 4,
555
+ get errorText() {
556
+ return e.get(y);
557
+ },
558
+ get color() {
559
+ return e.get(C);
560
+ },
561
+ get value() {
562
+ return e.get(v);
563
+ },
564
+ set value(H) {
565
+ e.set(v, H, !0);
566
+ }
567
+ });
568
+ }
569
+ e.reset(E), e.append(r, l);
570
+ };
571
+ e.if(Pe, (r) => {
572
+ t.isFreeOrder ? r(we) : x() && M() ? r(Ne, 1) : r(qe, !1);
573
+ });
574
+ }
575
+ e.reset(ve);
576
+ var ce = e.sibling(ve, 2), fe = e.child(ce);
577
+ $e(fe, {
578
+ get checked() {
579
+ return e.get(P);
580
+ },
581
+ set checked(r) {
582
+ e.set(P, r, !0);
583
+ },
584
+ children: (r, l) => {
585
+ e.next();
586
+ var i = e.text();
587
+ e.template_effect(() => e.set_text(i, a().agreeToTerms || "I agree to the terms and conditions")), e.append(r, i);
588
+ },
589
+ $$slots: { default: !0 }
590
+ });
591
+ var Ae = e.sibling(fe, 2);
592
+ {
593
+ var pe = (r) => {
594
+ var l = mt(), i = e.child(l);
595
+ Ie(i, { size: 16, class: "text-accent-danger shrink-0" });
596
+ var S = e.sibling(i, 2);
597
+ ie(S, {
598
+ size: "xs",
599
+ class: "text-accent-danger",
600
+ children: (E, f) => {
601
+ e.next();
602
+ var _ = e.text();
603
+ e.template_effect(() => e.set_text(_, e.get(m).agreeTerms)), e.append(E, _);
604
+ },
605
+ $$slots: { default: !0 }
606
+ }), e.reset(l), e.append(r, l);
607
+ };
608
+ e.if(Ae, (r) => {
609
+ e.get(m).agreeTerms && r(pe);
610
+ });
611
+ }
612
+ e.reset(ce), e.reset(Q), e.append(W, Q), e.pop();
613
+ }
614
+ var ft = e.from_html(" <!>", 1), pt = 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 _t(W, t) {
616
+ e.push(t, !0);
617
+ let x = e.prop(t, "labels", 19, () => ({}));
618
+ Le(W, {
619
+ border: !0,
620
+ padding: !1,
621
+ class: "rounded-xl shadow-lg overflow-hidden bg-surface-secondary",
622
+ children: (M, I) => {
623
+ var N = pt(), a = e.child(N), j = e.child(a), L = e.child(j);
624
+ e.reset(j);
625
+ var O = e.sibling(j, 2), F = e.child(O);
626
+ ie(F, {
627
+ size: "sm",
628
+ class: "font-semibold block leading-tight line-clamp-2",
629
+ children: (n, q) => {
630
+ e.next();
631
+ var v = e.text();
632
+ e.template_effect(() => e.set_text(v, t.event.title)), e.append(n, v);
633
+ },
634
+ $$slots: { default: !0 }
635
+ });
636
+ var U = e.sibling(F, 2), B = e.child(U);
637
+ Be(B, { size: 16, class: "shrink-0 icon-muted" });
638
+ var Y = e.sibling(B, 2);
639
+ ie(Y, {
640
+ size: "xs",
641
+ color: "muted",
642
+ children: (n, q) => {
643
+ e.next();
644
+ var v = ft(), w = e.first_child(v), V = e.sibling(w);
645
+ {
646
+ var m = (A) => {
647
+ var T = e.text();
648
+ e.template_effect((z) => e.set_text(T, `· ${z ?? ""}`), [
649
+ () => je(t.event.startDateTime, t.event.timezone)
650
+ ]), e.append(A, T);
651
+ };
652
+ e.if(V, (A) => {
653
+ t.event.displayStartTime !== !1 && A(m);
654
+ });
655
+ }
656
+ e.template_effect((A) => e.set_text(w, `${A ?? ""} `), [
657
+ () => Ve(t.event.startDateTime, t.event.timezone)
658
+ ]), e.append(n, v);
659
+ },
660
+ $$slots: { default: !0 }
661
+ }), e.reset(U);
662
+ var o = e.sibling(U, 2);
663
+ ie(o, {
664
+ size: "xs",
665
+ color: "muted",
666
+ class: "block mt-0.5",
667
+ children: (n, q) => {
668
+ e.next();
669
+ var v = e.text();
670
+ e.template_effect(() => e.set_text(v, t.event.venue.name)), e.append(n, v);
671
+ },
672
+ $$slots: { default: !0 }
673
+ }), e.reset(O), e.reset(a);
674
+ var $ = e.sibling(a, 4);
675
+ Fe($, {
676
+ get orderTotals() {
677
+ return t.orderTotals;
678
+ },
679
+ get labels() {
680
+ return x();
681
+ }
682
+ });
683
+ var P = e.sibling($, 2);
684
+ se(P, {
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: (n, q) => {
698
+ var v = e.comment(), w = e.first_child(v);
699
+ {
700
+ var V = (T) => {
701
+ var z = e.text();
702
+ e.template_effect(() => e.set_text(z, x().placingOrder || "Placing order...")), e.append(T, z);
703
+ }, m = (T) => {
704
+ var z = e.text();
705
+ e.template_effect(() => e.set_text(z, `${(x().completeOrder || "Complete order") ?? ""} · ${(x().free || "Free") ?? ""}`)), e.append(T, z);
706
+ }, A = (T) => {
707
+ var z = e.text();
708
+ e.template_effect((G) => e.set_text(z, `${(x().placeOrder || "Place order") ?? ""} · ${G ?? ""}`), [() => Oe(t.orderTotals.total)]), e.append(T, z);
709
+ };
710
+ e.if(w, (T) => {
711
+ t.processing ? T(V) : t.isFreeOrder ? T(m, 1) : T(A, !1);
712
+ });
713
+ }
714
+ e.append(n, v);
715
+ },
716
+ $$slots: { default: !0 }
717
+ }), e.reset(N), e.template_effect(() => {
718
+ e.set_attribute(L, "src", t.event.imageUrl), e.set_attribute(L, "alt", t.event.title);
719
+ }), e.append(M, N);
720
+ },
721
+ $$slots: { default: !0 }
722
+ }), e.pop();
723
+ }
724
+ var ht = 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 xt(W, t) {
726
+ e.push(t, !0);
727
+ let x = e.prop(t, "labels", 19, () => ({})), M = e.derived(() => t.orderTotals.lines.reduce((O, F) => O + F.quantity, 0));
728
+ var I = ht(), N = e.child(I), a = e.child(N), j = e.child(a);
729
+ ie(j, {
730
+ size: "sm",
731
+ class: "font-semibold tabular-nums block",
732
+ children: (O, F) => {
733
+ var U = e.comment(), B = e.first_child(U);
734
+ {
735
+ var Y = ($) => {
736
+ var P = e.text();
737
+ e.template_effect(() => e.set_text(P, `${e.get(M) ?? ""} ${(e.get(M) === 1 ? x().ticket || "ticket" : x().tickets || "tickets") ?? ""} · Free`)), e.append($, P);
738
+ }, o = ($) => {
739
+ var P = e.text();
740
+ e.template_effect((n) => e.set_text(P, n), [() => Oe(t.orderTotals.total)]), e.append($, P);
741
+ };
742
+ e.if(B, ($) => {
743
+ t.isFreeOrder ? $(Y) : $(o, !1);
744
+ });
745
+ }
746
+ e.append(O, U);
747
+ },
748
+ $$slots: { default: !0 }
749
+ }), e.reset(a);
750
+ var L = e.sibling(a, 2);
751
+ se(L, {
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, F) => {
765
+ var U = e.comment(), B = e.first_child(U);
766
+ {
767
+ var Y = (P) => {
768
+ var n = e.text();
769
+ e.template_effect(() => e.set_text(n, x().placingOrder || "Placing order...")), e.append(P, n);
770
+ }, o = (P) => {
771
+ var n = e.text();
772
+ e.template_effect(() => e.set_text(n, x().completeOrder || "Complete order")), e.append(P, n);
773
+ }, $ = (P) => {
774
+ var n = e.text();
775
+ e.template_effect(() => e.set_text(n, x().placeOrder || "Place order")), e.append(P, n);
776
+ };
777
+ e.if(B, (P) => {
778
+ t.processing ? P(Y) : t.isFreeOrder ? P(o, 1) : P($, !1);
779
+ });
780
+ }
781
+ e.append(O, U);
782
+ },
783
+ $$slots: { default: !0 }
784
+ }), e.reset(N), e.reset(I), e.append(W, I), e.pop();
785
+ }
786
+ const bt = We("CheckoutMain");
787
+ var yt = e.from_html('<button type="button"><span></span> </button>'), kt = 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>'), Pt = e.from_html('<p class="timer-modal-hint svelte-11vhi03"> </p>'), wt = 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>'), Et = e.from_html('<!> <p class="timer-modal-hint svelte-11vhi03"> </p>', 1), Tt = e.from_html('<div class="timer-modal-actions svelte-11vhi03"><!></div>'), St = 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>'), Nt = e.from_html("<!> <!>", 1), qt = e.from_html('<div class="timer-modal-actions svelte-11vhi03"><!></div>'), At = 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 $t(W, t) {
789
+ e.push(t, !0);
790
+ let x = e.state("default");
791
+ const M = [
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), N = e.prop(t, "onPlaceOrder", 3, void 0), a = e.prop(t, "onBack", 3, void 0), j = e.prop(t, "onRetryExpired", 3, void 0), L = e.prop(t, "onExtendSession", 3, void 0), O = e.prop(t, "stripe", 3, void 0), F = e.prop(t, "paymentIntent", 3, void 0), U = e.prop(t, "elements", 15, void 0), B = e.prop(t, "paymentError", 3, ""), Y = e.prop(t, "labels", 19, () => ({}));
825
+ const o = e.derived(() => Ge(Y()));
826
+ let $ = e.derived(() => !I());
827
+ function P(s) {
828
+ switch (s) {
829
+ case "free":
830
+ return {
831
+ event: Je,
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: Qe,
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: Ke,
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: Se,
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: Se,
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: Se,
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: Se,
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 n = e.derived(() => e.get($) ? P(e.get(x)) : I()), q = e.state(null), v = e.state(900), w = e.state(!1), V = e.state(!1), m = e.state(0), A = e.state(!1), T = e.state(!1), z = e.state(!1), G = e.state(!1), le = e.state(3), Q = e.state(!0);
999
+ const ue = 30;
1000
+ let he = e.derived(() => (() => {
1001
+ const s = Math.floor(e.get(v) / 60), h = e.get(v) % 60;
1002
+ return `${s.toString().padStart(2, "0")}:${h.toString().padStart(2, "0")}`;
1003
+ })()), Z = e.derived(() => (() => {
1004
+ const s = e.get(n).lines;
1005
+ if (e.get(n).serverTotals)
1006
+ return {
1007
+ lines: s,
1008
+ subtotal: e.get(n).serverTotals.subtotal,
1009
+ fees: e.get(n).serverTotals.fees,
1010
+ taxes: e.get(n).serverTotals.taxes,
1011
+ total: e.get(n).serverTotals.total,
1012
+ promoDiscount: e.get(n).serverTotals.promoDiscount,
1013
+ giftCardAmount: e.get(n).serverTotals.giftCardAmount
1014
+ };
1015
+ const h = Te(s.reduce((p, u) => p + u.subtotal, 0)), c = Te(s.reduce((p, u) => p + u.fee * u.quantity, 0)), d = e.get(n).promoApplied ? e.get(n).promoDiscount : 0, g = Te(Math.max(0, h - d)), k = He(g + c, e.get(n).event.venue.taxPercentage);
1016
+ return {
1017
+ lines: s,
1018
+ subtotal: h,
1019
+ fees: c,
1020
+ taxes: k,
1021
+ total: Te(g + c + k),
1022
+ promoDiscount: d,
1023
+ giftCardAmount: 0
1024
+ };
1025
+ })()), oe = e.derived(() => !!e.get(n).serverTotals), re = e.derived(() => e.get(Z).total === 0 && e.get(Z).subtotal === 0), me = e.derived(() => e.get(n).event.isRegistrationEvent), ge = !1;
1026
+ e.user_effect(() => {
1027
+ const s = e.get(n);
1028
+ ge || (ge = !0, e.set(q, Date.now() + s.timerStart * 1e3), e.set(v, s.timerStart, !0), e.set(w, s.forceExpired, !0)), e.set(V, !1), e.set(m, 0);
1029
+ });
1030
+ function xe() {
1031
+ return typeof document > "u" ? null : document.cookie.match(/checkout-cartid=([^;]+)/)?.[1] ?? null;
1032
+ }
1033
+ function ae() {
1034
+ return e.get(q) == null ? e.get(v) : Math.max(0, Math.floor((e.get(q) - Date.now()) / 1e3));
1035
+ }
1036
+ async function be() {
1037
+ const s = xe();
1038
+ if (s)
1039
+ try {
1040
+ const h = await Ue(s);
1041
+ if (h.notFound) {
1042
+ e.set(q, Date.now(), !0), e.set(v, 0), e.set(w, !0), e.set(A, !1), e.set(T, !0);
1043
+ return;
1044
+ }
1045
+ h.expiresAt && (e.set(q, new Date(h.expiresAt).getTime(), !0), e.set(v, ae(), !0));
1046
+ } catch {
1047
+ }
1048
+ }
1049
+ e.user_effect(() => {
1050
+ if (e.get(w) || e.get(v) <= 0) {
1051
+ e.get(v) <= 0 && !e.get(w) && (e.set(w, !0), e.set(A, !1), e.set(T, !0));
1052
+ return;
1053
+ }
1054
+ const s = () => {
1055
+ const d = ae();
1056
+ if (e.set(v, d, !0), d % 10 === 0 && e.get(q) != null && typeof localStorage < "u")
1057
+ try {
1058
+ const g = xe();
1059
+ g && localStorage.setItem(`checkout-expiry-${g}`, String(e.get(q)));
1060
+ } catch {
1061
+ }
1062
+ d <= ue && d > 0 && !e.get(z) && (e.set(A, !0), e.set(z, !0)), d <= 0 && (e.set(w, !0), e.set(A, !1), e.set(T, !0), clearInterval(h));
1063
+ }, h = setInterval(s, 1e3), c = () => {
1064
+ typeof document < "u" && document.visibilityState === "visible" && (s(), be());
1065
+ };
1066
+ return typeof document < "u" && document.addEventListener("visibilitychange", c), typeof window < "u" && window.addEventListener("pageshow", c), be(), () => {
1067
+ clearInterval(h), typeof document < "u" && document.removeEventListener("visibilitychange", c), typeof window < "u" && window.removeEventListener("pageshow", c);
1068
+ };
1069
+ });
1070
+ function ye() {
1071
+ a() ? a()() : alert("Back button pressed — would navigate to ticket selection");
1072
+ }
1073
+ function ke() {
1074
+ e.set(m, e.get(m) + 1);
1075
+ }
1076
+ function ve(s) {
1077
+ if (!e.get(V)) {
1078
+ if (e.set(V, !0), N()) {
1079
+ N()(s).catch(() => {
1080
+ }).finally(() => {
1081
+ e.set(V, !1);
1082
+ });
1083
+ return;
1084
+ }
1085
+ setTimeout(
1086
+ () => {
1087
+ e.set(V, !1);
1088
+ const h = e.get(Z).lines.reduce((c, d) => c + d.quantity, 0);
1089
+ alert(`Order placed! ${h} 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. */)}`);
1090
+ },
1091
+ 1500
1092
+ );
1093
+ }
1094
+ }
1095
+ function Pe() {
1096
+ e.set(T, !1), j() ? j()() : alert("Would navigate back to ticket selection to start over");
1097
+ }
1098
+ async function we() {
1099
+ if (!(!e.get(Q) || e.get(G))) {
1100
+ e.set(G, !0);
1101
+ try {
1102
+ if (L()) {
1103
+ const s = await L()();
1104
+ s && typeof s == "object" ? (s.newExpiryTime ? e.set(q, new Date(s.newExpiryTime).getTime(), !0) : e.set(q, Date.now() + 900 * 1e3), e.set(v, ae(), !0), s.remainingExtensions !== void 0 && (e.set(le, s.remainingExtensions, !0), e.set(Q, e.get(le) > 0))) : (e.set(q, Date.now() + 900 * 1e3), e.set(v, ae(), !0));
1105
+ } else
1106
+ e.set(q, Date.now() + 900 * 1e3), e.set(v, ae(), !0);
1107
+ e.set(w, !1), e.set(z, !1), e.set(A, !1), e.set(T, !1);
1108
+ } catch (s) {
1109
+ bt.error("Failed to extend session:", s), e.set(A, !1);
1110
+ } finally {
1111
+ e.set(G, !1);
1112
+ }
1113
+ }
1114
+ }
1115
+ function Ne() {
1116
+ e.set(A, !1);
1117
+ }
1118
+ function qe(s) {
1119
+ e.set(x, s, !0);
1120
+ }
1121
+ var ce = At(), fe = e.child(ce);
1122
+ {
1123
+ var Ae = (s) => {
1124
+ var h = kt(), c = e.sibling(e.child(h), 2);
1125
+ e.each(c, 17, () => M, e.index, (d, g) => {
1126
+ const k = e.derived(() => e.get(x) === e.get(g).value);
1127
+ var p = yt(), u = e.child(p), D = e.sibling(u);
1128
+ e.reset(p), e.template_effect(() => {
1129
+ e.set_class(
1130
+ p,
1131
+ 1,
1132
+ `toggle-btn ${e.get(k) ? "active bg-surface-secondary text-color-primary font-medium" : "text-color-tertiary hover:bg-surface-secondary hover:text-color-secondary"}`,
1133
+ "svelte-11vhi03"
1134
+ ), e.set_class(u, 1, `w-1.5 h-1.5 rounded-full ${e.get(g).color ?? ""} shrink-0`, "svelte-11vhi03"), e.set_text(D, ` ${e.get(g).label ?? ""}`);
1135
+ }), e.delegated("click", p, () => qe(e.get(g).value)), e.append(d, p);
1136
+ }), e.reset(h), e.append(s, h);
1137
+ };
1138
+ e.if(fe, (s) => {
1139
+ e.get($) && s(Ae);
1140
+ });
1141
+ }
1142
+ var pe = e.sibling(fe, 2), r = e.child(pe), l = e.child(r), i = e.child(l), S = e.child(i);
1143
+ vt(S, {
1144
+ get event() {
1145
+ return e.get(n).event;
1146
+ },
1147
+ get orderTotals() {
1148
+ return e.get(Z);
1149
+ },
1150
+ get timerSeconds() {
1151
+ return e.get(v);
1152
+ },
1153
+ get isExpired() {
1154
+ return e.get(w);
1155
+ },
1156
+ get isRegistration() {
1157
+ return e.get(me);
1158
+ },
1159
+ get isFreeOrder() {
1160
+ return e.get(re);
1161
+ },
1162
+ get promoApplied() {
1163
+ return e.get(n).promoApplied;
1164
+ },
1165
+ get promoDiscount() {
1166
+ return e.get(n).promoDiscount;
1167
+ },
1168
+ onBack: ye,
1169
+ onPlaceOrder: ve,
1170
+ get processing() {
1171
+ return e.get(V);
1172
+ },
1173
+ get submitRequested() {
1174
+ return e.get(m);
1175
+ },
1176
+ get stripe() {
1177
+ return O();
1178
+ },
1179
+ get paymentIntent() {
1180
+ return F();
1181
+ },
1182
+ get paymentError() {
1183
+ return B();
1184
+ },
1185
+ get labels() {
1186
+ return e.get(o);
1187
+ },
1188
+ get elements() {
1189
+ return U();
1190
+ },
1191
+ set elements(s) {
1192
+ U(s);
1193
+ }
1194
+ });
1195
+ var E = e.sibling(S, 2), f = e.child(E);
1196
+ _e(f, {
1197
+ level: 3,
1198
+ size: "sm",
1199
+ weight: "semibold",
1200
+ class: "mb-3",
1201
+ children: (s, h) => {
1202
+ e.next();
1203
+ var c = e.text();
1204
+ e.template_effect(() => e.set_text(c, e.get(o).orderSummary || "Order summary")), e.append(s, c);
1205
+ },
1206
+ $$slots: { default: !0 }
1207
+ });
1208
+ var _ = e.sibling(f, 2);
1209
+ Fe(_, {
1210
+ get orderTotals() {
1211
+ return e.get(Z);
1212
+ }
1213
+ }), e.reset(E), e.reset(i);
1214
+ var R = e.sibling(i, 2), b = e.child(R);
1215
+ {
1216
+ let s = e.derived(() => e.get(V) || !e.get(re) && !e.get(oe));
1217
+ _t(b, {
1218
+ get event() {
1219
+ return e.get(n).event;
1220
+ },
1221
+ get orderTotals() {
1222
+ return e.get(Z);
1223
+ },
1224
+ get isFreeOrder() {
1225
+ return e.get(re);
1226
+ },
1227
+ onPlaceOrder: ke,
1228
+ get processing() {
1229
+ return e.get(s);
1230
+ },
1231
+ get labels() {
1232
+ return e.get(o);
1233
+ }
1234
+ });
1235
+ }
1236
+ e.reset(R), e.reset(l), e.reset(r);
1237
+ var y = e.sibling(r, 2), C = e.child(y);
1238
+ {
1239
+ let s = e.derived(() => e.get(V) || !e.get(re) && !e.get(oe));
1240
+ xt(C, {
1241
+ get orderTotals() {
1242
+ return e.get(Z);
1243
+ },
1244
+ get isFreeOrder() {
1245
+ return e.get(re);
1246
+ },
1247
+ onPlaceOrder: ke,
1248
+ get processing() {
1249
+ return e.get(s);
1250
+ },
1251
+ get labels() {
1252
+ return e.get(o);
1253
+ }
1254
+ });
1255
+ }
1256
+ e.reset(y), e.reset(pe);
1257
+ var H = e.sibling(pe, 2);
1258
+ De(H, {
1259
+ size: "sm",
1260
+ role: "alertdialog",
1261
+ "aria-labelledby": "warning-modal-title",
1262
+ "aria-describedby": "warning-modal-description",
1263
+ get open() {
1264
+ return e.get(A);
1265
+ },
1266
+ set open(c) {
1267
+ e.set(A, c, !0);
1268
+ },
1269
+ body: (c) => {
1270
+ var d = wt(), g = e.child(d), k = e.child(g);
1271
+ Ie(k, { size: 32 }), e.reset(g);
1272
+ var p = e.sibling(g, 2), u = e.child(p, !0);
1273
+ e.reset(p);
1274
+ var D = e.sibling(p, 2), J = e.child(D, !0);
1275
+ e.reset(D);
1276
+ var K = e.sibling(D, 2);
1277
+ {
1278
+ var de = (ee) => {
1279
+ var X = Pt(), Ee = e.child(X, !0);
1280
+ e.reset(X), e.template_effect((Re) => e.set_text(Ee, Re), [
1281
+ () => (e.get(o).extensionsRemaining || "{count} extension{plural} remaining").replace("{count}", String(e.get(le))).replace("{plural}", e.get(le) === 1 ? "" : "s")
1282
+ ]), e.append(ee, X);
1283
+ };
1284
+ e.if(K, (ee) => {
1285
+ e.get(Q) && e.get(le) > 0 && ee(de);
1286
+ });
1287
+ }
1288
+ e.reset(d), e.template_effect(
1289
+ (ee) => {
1290
+ e.set_text(u, e.get(o).sessionExpiringSoon || "Session expiring soon"), e.set_text(J, ee);
1291
+ },
1292
+ [
1293
+ () => (e.get(o).sessionExpiringSoonMessage || "Your checkout session will expire in {time}. Your selected tickets will be released back to inventory.").replace("{time}", e.get(he))
1294
+ ]
1295
+ ), e.append(c, d);
1296
+ },
1297
+ footer: (c) => {
1298
+ var d = Tt(), g = e.child(d);
1299
+ {
1300
+ var k = (u) => {
1301
+ se(u, {
1302
+ variant: "default",
1303
+ size: "lg",
1304
+ class: "w-full",
1305
+ onclick: we,
1306
+ get disabled() {
1307
+ return e.get(G);
1308
+ },
1309
+ get loading() {
1310
+ return e.get(G);
1311
+ },
1312
+ children: (D, J) => {
1313
+ e.next();
1314
+ var K = e.text();
1315
+ e.template_effect(() => e.set_text(K, e.get(G) ? e.get(o).extendingSession || "Extending..." : e.get(o).continueCheckout || "Continue checkout")), e.append(D, K);
1316
+ },
1317
+ $$slots: { default: !0 }
1318
+ });
1319
+ }, p = (u) => {
1320
+ var D = Et(), J = e.first_child(D);
1321
+ se(J, {
1322
+ variant: "default",
1323
+ size: "lg",
1324
+ class: "w-full",
1325
+ onclick: Ne,
1326
+ children: (ee, X) => {
1327
+ e.next();
1328
+ var Ee = e.text();
1329
+ e.template_effect(() => e.set_text(Ee, e.get(o).okIllHurry || "OK, I'll hurry")), e.append(ee, Ee);
1330
+ },
1331
+ $$slots: { default: !0 }
1332
+ });
1333
+ var K = e.sibling(J, 2), de = e.child(K, !0);
1334
+ e.reset(K), e.template_effect(() => e.set_text(de, e.get(o).maxExtensionsReached || "Maximum extensions reached")), e.append(u, D);
1335
+ };
1336
+ e.if(g, (u) => {
1337
+ e.get(Q) ? u(k) : u(p, !1);
1338
+ });
1339
+ }
1340
+ e.reset(d), e.append(c, d);
1341
+ },
1342
+ $$slots: { body: !0, footer: !0 }
1343
+ });
1344
+ var ne = e.sibling(H, 2);
1345
+ De(ne, {
1346
+ size: "sm",
1347
+ role: "alertdialog",
1348
+ "aria-labelledby": "expired-modal-title",
1349
+ "aria-describedby": "expired-modal-description",
1350
+ get open() {
1351
+ return e.get(T);
1352
+ },
1353
+ set open(c) {
1354
+ e.set(T, c, !0);
1355
+ },
1356
+ body: (c) => {
1357
+ var d = St(), g = e.child(d), k = e.child(g);
1358
+ Ye(k, { size: 32 }), e.reset(g);
1359
+ var p = e.sibling(g, 2), u = e.child(p, !0);
1360
+ e.reset(p);
1361
+ var D = e.sibling(p, 2), J = e.child(D, !0);
1362
+ e.reset(D), e.reset(d), e.template_effect(() => {
1363
+ e.set_text(u, e.get(Q) ? e.get(o).wantToKeepTickets || "Want to keep your tickets?" : e.get(o).sessionExpired || "Session expired"), e.set_text(J, e.get(Q) ? e.get(o).sessionExpiredMessage || "Your checkout session has expired and your selected tickets have been released." : e.get(o).reservationTimedOut || "Your reservation has timed out. Please select your tickets again to continue.");
1364
+ }), e.append(c, d);
1365
+ },
1366
+ footer: (c) => {
1367
+ var d = qt(), g = e.child(d);
1368
+ {
1369
+ var k = (u) => {
1370
+ var D = Nt(), J = e.first_child(D);
1371
+ se(J, {
1372
+ variant: "default",
1373
+ size: "lg",
1374
+ class: "w-full",
1375
+ onclick: we,
1376
+ get disabled() {
1377
+ return e.get(G);
1378
+ },
1379
+ get loading() {
1380
+ return e.get(G);
1381
+ },
1382
+ children: (de, ee) => {
1383
+ e.next();
1384
+ var X = e.text();
1385
+ e.template_effect(() => e.set_text(X, e.get(G) ? e.get(o).extendingSession || "Extending..." : e.get(o).keepMyTickets || "Keep my tickets")), e.append(de, X);
1386
+ },
1387
+ $$slots: { default: !0 }
1388
+ });
1389
+ var K = e.sibling(J, 2);
1390
+ se(K, {
1391
+ variant: "alternative",
1392
+ size: "lg",
1393
+ class: "w-full",
1394
+ onclick: Pe,
1395
+ children: (de, ee) => {
1396
+ e.next();
1397
+ var X = e.text();
1398
+ e.template_effect(() => e.set_text(X, e.get(o).selectTicketsAgain || "Select tickets again")), e.append(de, X);
1399
+ },
1400
+ $$slots: { default: !0 }
1401
+ }), e.append(u, D);
1402
+ }, p = (u) => {
1403
+ se(u, {
1404
+ variant: "default",
1405
+ size: "lg",
1406
+ class: "w-full",
1407
+ onclick: Pe,
1408
+ children: (D, J) => {
1409
+ e.next();
1410
+ var K = e.text();
1411
+ e.template_effect(() => e.set_text(K, e.get(o).selectTicketsAgain || "Select tickets again")), e.append(D, K);
1412
+ },
1413
+ $$slots: { default: !0 }
1414
+ });
1415
+ };
1416
+ e.if(g, (u) => {
1417
+ e.get(Q) ? u(k) : u(p, !1);
1418
+ });
1419
+ }
1420
+ e.reset(d), e.append(c, d);
1421
+ },
1422
+ $$slots: { body: !0, footer: !0 }
1423
+ }), e.reset(ce), e.append(W, ce), e.pop();
1424
+ }
1425
+ e.delegate(["click"]);
1426
+ const Vt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1427
+ __proto__: null,
1428
+ default: $t
1429
+ }, Symbol.toStringTag, { value: "Module" }));
1430
+ export {
1431
+ $t as C,
1432
+ Vt as a,
1433
+ Ce as b,
1434
+ rt as u
1435
+ };
1436
+ //# sourceMappingURL=CheckoutMain-5LdQDph1.js.map