@getmicdrop/venue-calendar 4.0.112 → 4.0.113

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 (99) hide show
  1. package/README.md +2 -0
  2. package/dist/CartView-DBV2yZaL.js +2466 -0
  3. package/dist/CartView-DBV2yZaL.js.map +1 -0
  4. package/dist/{Checkout-nyPWpzmE.js → Checkout-CukZs5WU.js} +5 -5
  5. package/dist/{Checkout-nyPWpzmE.js.map → Checkout-CukZs5WU.js.map} +1 -1
  6. package/dist/{Checkout-ns94gCrx.js → Checkout-DBXrhhKW.js} +54 -54
  7. package/dist/{Checkout-ns94gCrx.js.map → Checkout-DBXrhhKW.js.map} +1 -1
  8. package/dist/{CheckoutTimer-Bv4qR0Mn.js → CheckoutTimer-C7osBosg.js} +5 -5
  9. package/dist/{CheckoutTimer-Bv4qR0Mn.js.map → CheckoutTimer-C7osBosg.js.map} +1 -1
  10. package/dist/{ClockIcon-D2ib_bzt.js → ClockIcon-BeCxOp69.js} +2 -2
  11. package/dist/{ClockIcon-D2ib_bzt.js.map → ClockIcon-BeCxOp69.js.map} +1 -1
  12. package/dist/{CollectionView-G3OmVuiX.js → CollectionView-CMm-2iBY.js} +44 -45
  13. package/dist/CollectionView-CMm-2iBY.js.map +1 -0
  14. package/dist/{Event-B1syGqOf.js → Event-CGnKZ-pZ.js} +585 -581
  15. package/dist/Event-CGnKZ-pZ.js.map +1 -0
  16. package/dist/{EventPage-CqryTYfg.js → EventPage-DBGHmWGD.js} +10 -10
  17. package/dist/EventPage-DBGHmWGD.js.map +1 -0
  18. package/dist/{Heading-BM6t9w6d.js → Heading-NDMjqlhz.js} +5 -5
  19. package/dist/Heading-NDMjqlhz.js.map +1 -0
  20. package/dist/{ScarcityBadge-B7KnIEoD.js → ScarcityBadge-BqL0twaw.js} +28 -28
  21. package/dist/{ScarcityBadge-B7KnIEoD.js.map → ScarcityBadge-BqL0twaw.js.map} +1 -1
  22. package/dist/{SeriesPage-DYbBhYHy.js → SeriesPage-BggX59ED.js} +5 -5
  23. package/dist/{SeriesPage-DYbBhYHy.js.map → SeriesPage-BggX59ED.js.map} +1 -1
  24. package/dist/{Spinner-D2Ff-2jf.js → Spinner-C4aYrnjh.js} +2 -2
  25. package/dist/{Spinner-D2Ff-2jf.js.map → Spinner-C4aYrnjh.js.map} +1 -1
  26. package/dist/{Success-CPQuVaaV.js → Success-BtREZD7W.js} +8 -8
  27. package/dist/Success-BtREZD7W.js.map +1 -0
  28. package/dist/{Text-C-9C-Rav.js → Text-B0QR6Ape.js} +4 -4
  29. package/dist/{Text-C-9C-Rav.js.map → Text-B0QR6Ape.js.map} +1 -1
  30. package/dist/{VenueCalendar-Dkr4qm4p.js → VenueCalendar-DIAMhER4.js} +4143 -4091
  31. package/dist/VenueCalendar-DIAMhER4.js.map +1 -0
  32. package/dist/{ViewTicketsEmbed-B581Bukn.js → ViewTicketsEmbed-D4zF9Qgm.js} +388 -381
  33. package/dist/{ViewTicketsEmbed-B581Bukn.js.map → ViewTicketsEmbed-D4zF9Qgm.js.map} +1 -1
  34. package/dist/api/api/client.d.ts +17 -0
  35. package/dist/api/api/cta.d.ts +34 -0
  36. package/dist/api/api/events.d.ts +183 -0
  37. package/dist/api/api/gift-cards.d.ts +108 -0
  38. package/dist/api/api/index.d.ts +46 -0
  39. package/dist/api/api/orders.d.ts +149 -0
  40. package/dist/api/api/promo.d.ts +45 -0
  41. package/dist/api/api/result.d.ts +78 -0
  42. package/dist/api/api/route-manifest.d.ts +179 -0
  43. package/dist/api/api/transformers/address.d.ts +18 -0
  44. package/dist/api/api/transformers/cart.d.ts +19 -0
  45. package/dist/api/api/transformers/collection.d.ts +12 -0
  46. package/dist/api/api/transformers/event.d.ts +173 -0
  47. package/dist/api/api/transformers/giftCard.d.ts +11 -0
  48. package/dist/api/api/transformers/index.d.ts +27 -0
  49. package/dist/api/api/transformers/order.d.ts +44 -0
  50. package/dist/api/api/transformers/performer.d.ts +8 -0
  51. package/dist/api/api/transformers/series.d.ts +12 -0
  52. package/dist/api/api/transformers/venue.d.ts +39 -0
  53. package/dist/api/api/venues.d.ts +33 -0
  54. package/dist/api/api/waitlist.d.ts +49 -0
  55. package/dist/api/api.cjs +2 -0
  56. package/dist/api/api.cjs.map +1 -0
  57. package/dist/api/api.mjs +1302 -0
  58. package/dist/api/api.mjs.map +1 -0
  59. package/dist/api/types.d.ts +483 -0
  60. package/dist/{labels-DAFwZdnA.js → labels-CUDO5VqI.js} +3 -3
  61. package/dist/{labels-DAFwZdnA.js.map → labels-CUDO5VqI.js.map} +1 -1
  62. package/dist/{modalManager.svelte-BbA2uxS7.js → modalManager.svelte-CWfqhQHL.js} +2 -2
  63. package/dist/{modalManager.svelte-BbA2uxS7.js.map → modalManager.svelte-CWfqhQHL.js.map} +1 -1
  64. package/dist/navigation--gZASiSa.js.map +1 -1
  65. package/dist/{promo-BGoSmBd_.js → promo-4scuh00Y.js} +9 -9
  66. package/dist/{promo-BGoSmBd_.js.map → promo-4scuh00Y.js.map} +1 -1
  67. package/dist/seo/HostSeoController.d.ts +68 -0
  68. package/dist/seo/buildCollectionJsonLd.d.ts +8 -0
  69. package/dist/seo/buildEventJsonLd.d.ts +9 -0
  70. package/dist/seo/buildSeriesJsonLd.d.ts +6 -0
  71. package/dist/seo/helpers.d.ts +88 -0
  72. package/dist/seo/index.d.ts +10 -0
  73. package/dist/seo/seo.cjs +2 -0
  74. package/dist/seo/seo.cjs.map +1 -0
  75. package/dist/seo/seo.mjs +688 -0
  76. package/dist/seo/seo.mjs.map +1 -0
  77. package/dist/seo/types.d.ts +149 -0
  78. package/dist/{showcase-state-options-BWzGMPZ-.js → showcase-state-options-DG5Bn9mL.js} +2 -2
  79. package/dist/showcase-state-options-DG5Bn9mL.js.map +1 -0
  80. package/dist/{transform-CpjZiH34.js → transform-B1kRFSE7.js} +10 -10
  81. package/dist/{transform-CpjZiH34.js.map → transform-B1kRFSE7.js.map} +1 -1
  82. package/dist/{utm-D1uGUvk2.js → utm-CPOH8BYT.js} +2 -2
  83. package/dist/{utm-D1uGUvk2.js.map → utm-CPOH8BYT.js.map} +1 -1
  84. package/dist/venue-calendar.css +1 -1
  85. package/dist/venue-calendar.es.js +4 -4
  86. package/dist/venue-calendar.iife.js +37 -37
  87. package/dist/venue-calendar.iife.js.map +1 -1
  88. package/dist/venue-calendar.umd.js +32 -32
  89. package/dist/venue-calendar.umd.js.map +1 -1
  90. package/package.json +7 -3
  91. package/dist/CartView-H6PXIc8m.js +0 -2475
  92. package/dist/CartView-H6PXIc8m.js.map +0 -1
  93. package/dist/CollectionView-G3OmVuiX.js.map +0 -1
  94. package/dist/Event-B1syGqOf.js.map +0 -1
  95. package/dist/EventPage-CqryTYfg.js.map +0 -1
  96. package/dist/Heading-BM6t9w6d.js.map +0 -1
  97. package/dist/Success-CPQuVaaV.js.map +0 -1
  98. package/dist/VenueCalendar-Dkr4qm4p.js.map +0 -1
  99. package/dist/showcase-state-options-BWzGMPZ-.js.map +0 -1
@@ -1,2475 +0,0 @@
1
- import "svelte/internal/disclose-version";
2
- import * as e from "svelte/internal/client";
3
- import { onMount as va, onDestroy as ya } from "svelte";
4
- import { SvelteURLSearchParams as qt } from "svelte/reactivity";
5
- import { C as ka, S as wa, A as Ta, a as Ca, g as Rt } from "./ScarcityBadge-B7KnIEoD.js";
6
- import { r as Ht } from "./__SKIP_PATHS__-BtJ0tS93.js";
7
- import { d as Vt } from "./navigation--gZASiSa.js";
8
- import { u as Ia, N as rt, a6 as Gt, a7 as Ut, t as Ie, a8 as Dt, a9 as Da, aa as Wt, A as pe, ab as Lt, ac as Sa, D as St, ad as Mt, ae as Zt, af as Aa, ag as Pa, l as Ye, I as ua, ah as Oa, ai as Nt, aj as Qt, ak as pa, al as Ea, am as Fa, j as ga, x as La, an as Ot, Q as Ma, $ as Ba, ao as ja, ap as za, Z as Na, aq as Qa, ar as qa, H as Jt, o as Ra, as as Yt, K as Ha, L as Va, at as Ga, y as Kt, z as Xt, au as Ua } from "./VenueCalendar-Dkr4qm4p.js";
9
- import { b as at, s as _t, r as it, c as Wa, l as Za, t as Ja, e as Ya, p as $t, i as ea } from "./utm-D1uGUvk2.js";
10
- import { i as Ka, r as Xa, a as $a } from "./promo-BGoSmBd_.js";
11
- import { M as Bt, C as er } from "./CheckoutTimer-Bv4qR0Mn.js";
12
- import { I as tr } from "./Text-C-9C-Rav.js";
13
- import { c as jt } from "./modalManager.svelte-BbA2uxS7.js";
14
- import { cubicOut as ta } from "svelte/easing";
15
- import { S as At } from "./Spinner-D2Ff-2jf.js";
16
- var ar = e.from_svg('<svg aria-hidden="true" fill="none" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg>');
17
- function rr(ae, t) {
18
- let N = e.prop(t, "size", 3, "24"), w = e.prop(t, "color", 3, "currentColor"), v = e.prop(t, "class", 3, "");
19
- var s = ar();
20
- e.template_effect(() => {
21
- e.set_class(s, 0, e.clsx(v())), e.set_attribute(s, "width", N()), e.set_attribute(s, "height", N()), e.set_attribute(s, "stroke", w());
22
- }), e.append(ae, s);
23
- }
24
- var ir = e.from_svg('<path d="M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm-4,48a12,12,0,1,1-12,12A12,12,0,0,1,124,72Zm12,112a16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40a8,8,0,0,1,0,16Z"></path>'), sr = e.from_svg('<circle cx="128" cy="128" r="96" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></circle><path d="M120,120a8,8,0,0,1,8,8v40a8,8,0,0,0,8,8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path><circle cx="124" cy="84" r="12"></circle>', 1), nr = e.from_svg('<svg aria-hidden="true" viewBox="0 0 256 256" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><!></svg>');
25
- function lr(ae, t) {
26
- e.push(t, !0);
27
- let N = e.prop(t, "size", 3, "24"), w = e.prop(t, "color", 3, "currentColor"), v = e.prop(t, "class", 3, "");
28
- const s = Ia();
29
- let y = e.derived(() => t.weight ?? s?.weight ?? "regular");
30
- var a = nr();
31
- let S;
32
- var W = e.child(a);
33
- {
34
- var Q = (q) => {
35
- var A = ir();
36
- e.append(q, A);
37
- }, K = (q) => {
38
- var A = sr();
39
- e.next(2), e.append(q, A);
40
- };
41
- e.if(W, (q) => {
42
- e.get(y) === "fill" ? q(Q) : q(K, -1);
43
- });
44
- }
45
- e.reset(a), e.template_effect(() => {
46
- e.set_class(a, 0, e.clsx(v())), e.set_attribute(a, "width", N()), e.set_attribute(a, "height", N()), S = e.set_style(a, "", S, { color: w() });
47
- }), e.append(ae, a), e.pop();
48
- }
49
- var or = e.from_html("<div></div>"), dr = e.from_html('<div role="status"><!> <span class="sr-only"> </span></div>');
50
- function zt(ae, t) {
51
- const N = { loadingContent: "Loading content", loading: "Loading..." };
52
- let w = e.prop(t, "rows", 3, 1), v = e.prop(t, "height", 3, "h-full"), s = e.prop(t, "rounded", 3, "lg"), y = e.prop(t, "tone", 3, "tertiary"), a = e.prop(t, "gap", 3, "space-y-2"), S = e.prop(t, "animate", 3, !0), W = e.prop(t, "class", 3, ""), Q = e.prop(t, "labels", 19, () => ({})), K = e.derived(() => ({ ...N, ...Q() }));
53
- const q = { md: "rounded-md", lg: "rounded-lg", xl: "rounded-xl" }, A = { secondary: "bg-bg-secondary", tertiary: "bg-bg-tertiary" };
54
- let re = e.derived(() => q[s()] || q.lg), $ = e.derived(() => A[y()] || A.tertiary), fe = e.derived(() => S() ? "animate-pulse" : ""), d = e.derived(() => Math.max(0, Math.floor(w()))), Z = e.derived(() => e.get(d) > 1 ? a() : "");
55
- var C = dr(), X = e.child(C);
56
- e.each(X, 17, () => Array(e.get(d)), e.index, (I, z) => {
57
- var P = or();
58
- e.template_effect(() => e.set_class(P, 1, `w-full ${v() ?? ""} ${e.get($) ?? ""} ${e.get(re) ?? ""}`)), e.append(I, P);
59
- });
60
- var _ = e.sibling(X, 2), ie = e.child(_, !0);
61
- e.reset(_), e.reset(C), e.template_effect(() => {
62
- e.set_class(C, 1, `${e.get(Z) ?? ""} ${e.get(fe) ?? ""} ${W() ?? ""}`), e.set_attribute(C, "aria-label", e.get(K).loadingContent), e.set_text(ie, e.get(K).loading);
63
- }), e.append(ae, C);
64
- }
65
- var cr = e.from_html('<div aria-hidden="true"></div>'), vr = e.from_html('<div role="status"><div aria-hidden="true"></div> <!> <span class="sr-only"> </span></div>');
66
- function ur(ae, t) {
67
- const N = { loadingPrice: "Loading price", loading: "Loading..." };
68
- let w = e.prop(t, "showSecondary", 3, !0), v = e.prop(t, "size", 3, "md"), s = e.prop(t, "animate", 3, !0), y = e.prop(t, "class", 3, ""), a = e.prop(t, "labels", 19, () => ({})), S = e.derived(() => ({ ...N, ...a() })), W = e.derived(() => s() ? "animate-pulse" : "");
69
- const Q = { sm: "h-4 w-12", md: "h-5 w-16", lg: "h-6 w-20" }, K = { sm: "h-2.5 w-8", md: "h-3 w-12", lg: "h-3.5 w-14" };
70
- let q = e.derived(() => Q[v()] || Q.md), A = e.derived(() => K[v()] || K.md);
71
- var re = vr(), $ = e.child(re), fe = e.sibling($, 2);
72
- {
73
- var d = (X) => {
74
- var _ = cr();
75
- e.template_effect(() => e.set_class(_, 1, `${e.get(A) ?? ""} bg-bg-tertiary rounded-md`)), e.append(X, _);
76
- };
77
- e.if(fe, (X) => {
78
- w() && X(d);
79
- });
80
- }
81
- var Z = e.sibling(fe, 2), C = e.child(Z, !0);
82
- e.reset(Z), e.reset(re), e.template_effect(() => {
83
- e.set_class(re, 1, `flex items-center gap-2 ${e.get(W) ?? ""} ${y() ?? ""}`), e.set_attribute(re, "aria-label", e.get(S).loadingPrice), e.set_class($, 1, `${e.get(q) ?? ""} bg-bg-tertiary rounded-md`), e.set_text(C, e.get(S).loading);
84
- }), e.append(ae, re);
85
- }
86
- var pr = e.from_html('<div class="w-10 h-10 bg-bg-tertiary rounded-md"></div>'), gr = e.from_html('<div class="flex items-center gap-2"></div>'), fr = e.from_html('<div role="status"><div class="px-3 py-2.5" aria-hidden="true"><div class="h-4 w-2/3 bg-bg-tertiary rounded mb-2"></div> <div class="h-3 w-1/2 bg-bg-tertiary rounded"></div></div> <div class="flex items-center gap-2" aria-hidden="true"><div class="w-6 h-6 -ml-3 rounded-full border border-border bg-card"></div> <div class="flex-1 border-t border-dashed border-border"></div> <div class="w-6 h-6 -mr-3 rounded-full border border-border bg-card"></div></div> <div class="flex justify-between items-center px-3 py-2.5" aria-hidden="true"><div class="space-y-1"><div class="h-4 w-16 bg-bg-tertiary rounded"></div> <div class="h-3 w-20 bg-bg-tertiary rounded"></div></div> <!></div> <span class="sr-only"> </span></div>');
87
- function mr(ae, t) {
88
- const N = {
89
- loadingTicket: "Loading ticket information",
90
- loading: "Loading..."
91
- };
92
- let w = e.prop(t, "showActions", 3, !0), v = e.prop(t, "actionCount", 3, 3), s = e.prop(t, "animate", 3, !0), y = e.prop(t, "class", 3, ""), a = e.prop(t, "labels", 19, () => ({})), S = e.derived(() => ({ ...N, ...a() })), W = e.derived(() => s() ? "animate-pulse" : ""), Q = e.derived(() => Number.isFinite(v()) ? Math.min(12, Math.max(0, Math.floor(v()))) : 0);
93
- var K = fr(), q = e.sibling(e.child(K), 4), A = e.sibling(e.child(q), 2);
94
- {
95
- var re = (d) => {
96
- var Z = gr();
97
- e.each(Z, 21, () => Array(e.get(Q)), e.index, (C, X) => {
98
- var _ = pr();
99
- e.append(C, _);
100
- }), e.reset(Z), e.append(d, Z);
101
- };
102
- e.if(A, (d) => {
103
- w() && e.get(Q) > 0 && d(re);
104
- });
105
- }
106
- e.reset(q);
107
- var $ = e.sibling(q, 2), fe = e.child($, !0);
108
- e.reset($), e.reset(K), e.template_effect(() => {
109
- e.set_class(K, 1, `rounded-lg overflow-hidden border border-border bg-card ${e.get(W) ?? ""} ${y() ?? ""}`), e.set_attribute(K, "aria-label", e.get(S).loadingTicket), e.set_text(fe, e.get(S).loading);
110
- }), e.append(ae, K);
111
- }
112
- var _r = e.from_html('<div class="py-8 text-center"><p> </p></div>'), hr = e.from_html('<div class="flex justify-between py-3 border-b border-border/50"><div><p> </p> <p><!></p></div> <div><!></div></div>'), br = e.from_html('<div class="flex justify-between tone-secondary"><span> </span><span> </span></div>'), Pt = e.from_html('<div class="flex justify-between text-accent-success"><span> </span><span> </span></div>'), aa = e.from_html('<span class="inline-flex items-center gap-1"><!> Calculating...</span>'), ra = e.from_html('<div class="flex justify-between tone-muted type-caption"><span> </span> <span> </span></div>'), ia = e.from_html('<div class="flex justify-between text-accent-success"><span> </span> <span> </span></div> <!>', 1), xr = e.from_html('<div class="flex justify-between py-4 type-subheading border-t border-border"><span> </span> <span>$0.00</span></div> <p class="type-caption tone-muted text-center -mt-2 mb-2"> </p>', 1), sa = e.from_html("<div><span> </span><span> </span></div>"), yr = e.from_html('<!> <div><!> <!> <div class="flex justify-between tone-secondary"><span> </span><span> </span></div> <div class="flex justify-between tone-secondary"><span> </span><span> </span></div> <div class="flex justify-between tone-secondary"><span> </span> <span><!></span></div> <!></div> <!>', 1), kr = e.from_html('<p> <a href="https://get-micdrop.com/tos" class="text-brand-primary underline hover:opacity-80" target="_blank" rel="noopener noreferrer"> </a></p>'), na = e.from_html('<span translate="no"> </span>'), wr = e.from_html('<div class="flex justify-between py-4 border-b border-border"><div><p> </p> <p><!></p></div> <div><!></div></div>'), Tr = e.from_html('<div class="flex justify-between"><span> </span><span> </span></div>'), Cr = e.from_html('<div class="flex justify-between py-5 border-t border-border"><span> </span> <span>$0.00</span></div> <p class="type-caption tone-muted text-center -mt-2 mb-2"> </p>', 1), Ir = e.from_html('<button type="button" class="md:hidden fixed inset-0 bg-overlay-bg border-none cursor-pointer"></button> <div class="md:hidden fixed bottom-0 left-0 w-full overflow-x-hidden overflow-y-auto max-h-[80vh] rounded-t-lg shadow-xl bg-card"><div class="flex flex-row justify-between items-center px-5 py-4 border-b border-border"><h2> </h2> <button type="button" class="transition-colors p-2 rounded-lg tone-muted hover:tone-primary hover:bg-bg-secondary"><!></button></div> <div class="px-5 pb-5"><!> <div class="flex flex-col py-4 gap-3 tone-secondary"><!> <!> <div class="flex justify-between"><span> </span><span> </span></div> <div class="flex justify-between"><span> </span><span> </span></div> <div class="flex justify-between"><span> </span> <span><!></span></div> <!></div> <!></div></div>', 1), Dr = e.from_html('<div class="md:hidden fixed bottom-0 left-0 right-0 bg-card border-t border-border shadow-xl p-4 pb-[max(16px,calc(env(safe-area-inset-bottom)+8px))] select-none touch-manipulation"><div class="flex items-stretch gap-3"><button type="button" class="flex flex-col justify-between items-start shrink-0 whitespace-nowrap bg-transparent border-none p-0 cursor-pointer touch-manipulation"><span> <!></span> <span> </span></button> <button type="button"><!></button></div></div>'), Sr = e.from_html('<div id="orderSummary" class="hidden md:block h-fit rounded-lg bg-card border border-border"><div class="px-5 py-4 border-b border-border"><h3> </h3></div> <div class="px-5 pb-5"><!> <!> <button type="button"><!></button></div></div> <!> <!>', 1);
113
- function Ar(ae, t) {
114
- e.push(t, !0);
115
- const N = {
116
- orderSummary: "Order summary",
117
- selectTickets: "Select tickets to continue",
118
- free: "Free",
119
- fullPrice: "Full Price",
120
- discount: "Discount",
121
- subtotal: "Subtotal",
122
- fees: "Fees",
123
- taxes: "Taxes",
124
- giftCardAppliedLabel: "Gift Card Applied",
125
- giftCardBalanceAfterOrder: "Gift card balance after order",
126
- amountDue: "Amount Due",
127
- fullyCoveredByGiftCard: "Fully covered by gift card",
128
- total: "Total",
129
- checkoutButtonText: "Checkout",
130
- placeOrderButtonText: "Place order",
131
- placeOrderTos: "By selecting Place order, I agree to the",
132
- termsOfService: "terms of service",
133
- checkout: "Checkout",
134
- ticketSingular: "ticket",
135
- ticketPlural: "tickets",
136
- closeOrderSummary: "Close order summary"
137
- };
138
- let w = e.prop(t, "loading", 3, !1), v = e.prop(t, "quantities", 19, () => ({})), s = e.prop(t, "donationAmounts", 19, () => ({})), y = e.prop(t, "eventTickets", 19, () => []), a = e.prop(t, "checkoutTicket", 3, null), S = e.prop(t, "isAgreed", 3, !0), W = e.prop(t, "btnText", 3, void 0), Q = e.prop(t, "showTerms", 3, !1), K = e.prop(t, "promoApplied", 3, !1), q = e.prop(t, "promoDiscount", 3, 0), A = e.prop(t, "currentPromoRule", 3, null), re = e.prop(t, "executePurchase", 3, null), $ = e.prop(t, "elements", 3, null), fe = e.prop(t, "venueServiceCharge", 19, () => ({
139
- serviceFeeCents: 0,
140
- serviceFeePercentage: 0,
141
- serviceFeeChargeType: "both",
142
- maxServiceFeeCents: 0,
143
- taxPercentage: 0
144
- })), d = e.prop(
145
- t,
146
- "giftCardApplied",
147
- 3,
148
- null
149
- // { code, giftCardAmount, giftCardBalance, stripeAmount, paymentType, requiresStripe }
150
- ), Z = e.prop(
151
- t,
152
- "taxAmount",
153
- 3,
154
- null
155
- // Server-provided tax amount in dollars (from Stripe Tax API), null means not yet loaded
156
- ), C = e.prop(
157
- t,
158
- "taxLoading",
159
- 3,
160
- !1
161
- // Whether tax is being loaded from server
162
- ), X = e.prop(t, "labels", 19, () => ({})), _ = e.derived(() => ({ ...N, ...X() }));
163
- function ie(m) {
164
- if (I(m)) {
165
- const b = s()[m.ID];
166
- return parseFloat(b) || 0;
167
- }
168
- return parseFloat(m.price) || 0;
169
- }
170
- function I(m) {
171
- const b = m.type ?? m.ticketType ?? 0;
172
- return Number(b) === 2;
173
- }
174
- function z(m) {
175
- return m == null ? !1 : Number(m) === 0;
176
- }
177
- function P(m) {
178
- return z(m?.price);
179
- }
180
- let E = e.state(!1);
181
- function h(m) {
182
- const b = Da(fe().serviceFeeChargeType || "both");
183
- let D = 0;
184
- (b === "fixed" || b === "both") && (D += (fe().serviceFeeCents || 0) / 100), (b === "percentage" || b === "both") && (D += (fe().serviceFeePercentage || 0) / 100 * m);
185
- const U = fe().maxServiceFeeCents || 0;
186
- return U > 0 && D > U / 100 && (D = U / 100), rt(D);
187
- }
188
- function f() {
189
- e.set(E, !e.get(E));
190
- }
191
- function J(m) {
192
- if (!A()?.provideDiscount) return null;
193
- const b = A().discountTicketIds || [];
194
- if (b.length > 0 && !b.includes(m.ID))
195
- return null;
196
- const D = parseFloat(m.price) || 0, U = parseFloat(A()?.amount || "0") || 0;
197
- return A().discountType === "%" ? Wt(D * (1 - U / 100)) : A().discountType === "$" ? Wt(Math.max(0, D - U)) : null;
198
- }
199
- let k = e.derived(() => Object.values(v()).reduce((m, b) => m + b, 0)), V = e.derived(() => e.get(k) > 0), ee = e.derived(() => rt(Object.keys(v()).reduce(
200
- (m, b) => {
201
- const D = y().find((ne) => ne.ID == b);
202
- if (!D) return m;
203
- const U = ie(D);
204
- return m + v()[b] * U;
205
- },
206
- 0
207
- ))), se = e.derived(() => rt(Object.keys(v()).reduce(
208
- (m, b) => {
209
- const D = y().find((xe) => xe.ID == b);
210
- if (!D) return m;
211
- if (I(D)) {
212
- const xe = ie(D);
213
- return m + v()[b] * xe;
214
- }
215
- const U = J(D), ne = U !== null ? parseFloat(U) : D.price;
216
- return m + v()[b] * ne;
217
- },
218
- 0
219
- ))), ge = e.derived(() => A()?.provideDiscount ? e.get(ee) - e.get(se) : 0), De = e.derived(() => rt(Object.keys(v()).reduce(
220
- (m, b) => {
221
- const D = y().find((xe) => xe.ID == b);
222
- if (!D || I(D)) return m;
223
- const U = J(D), ne = U !== null ? parseFloat(U) : D.price;
224
- return z(ne) ? m : m + v()[b] * h(ne);
225
- },
226
- 0
227
- ))), Be = e.derived(() => Z() !== null && Z() !== void 0 ? rt(Z()) : 0), ce = e.derived(() => d() ? Gt(Ut(d().giftCardAmount)) : null), me = e.derived(() => d() ? Gt(Ut(d().giftCardBalance - d().giftCardAmount)) : null), Se = e.derived(() => rt(Math.max(0, e.get(se) + e.get(De) + e.get(Be) - (K() && !A()?.provideDiscount ? q() : 0) - (d() ? d().giftCardAmount / 100 : 0))));
228
- e.user_effect(() => {
229
- t.onPriceUpdate?.({
230
- subtotal: e.get(se),
231
- fees: e.get(De),
232
- taxes: e.get(Be),
233
- total: e.get(Se),
234
- promoSavings: e.get(ge)
235
- });
236
- });
237
- var Fe = Sr(), R = e.first_child(Fe), we = e.child(R), Pe = e.child(we), Qe = e.child(Pe, !0);
238
- e.reset(Pe), e.reset(we);
239
- var Ke = e.sibling(we, 2), st = e.child(Ke);
240
- {
241
- var Re = (m) => {
242
- var b = _r(), D = e.child(b), U = e.child(D, !0);
243
- e.reset(D), e.reset(b), e.template_effect(() => {
244
- e.set_class(D, 1, Ie.smMuted), e.set_text(U, e.get(_).selectTickets);
245
- }), e.append(m, b);
246
- }, Xe = (m) => {
247
- var b = yr(), D = e.first_child(b);
248
- e.each(D, 16, () => Object.keys(v()), (n) => n, (n, r) => {
249
- var p = e.comment(), O = e.first_child(p);
250
- {
251
- var G = (M) => {
252
- var F = e.comment(), le = e.first_child(F);
253
- e.each(le, 17, y, e.index, (ye, B) => {
254
- var c = e.comment(), x = e.first_child(c);
255
- {
256
- var L = (te) => {
257
- const ue = e.derived(() => ie(e.get(B))), _e = e.derived(() => I(e.get(B)));
258
- var j = hr(), oe = e.child(j), ke = e.child(oe), Ce = e.child(ke, !0);
259
- e.reset(ke);
260
- var Je = e.sibling(ke, 2), gt = e.child(Je);
261
- {
262
- var kt = (Ae) => {
263
- var Le = e.text();
264
- e.template_effect(() => e.set_text(Le, `${e.get(_).free ?? ""} x ${v()[r] ?? ""}`)), e.append(Ae, Le);
265
- }, dt = e.derived(() => P(e.get(B)) && !e.get(_e)), xt = (Ae) => {
266
- var Le = e.text();
267
- e.template_effect((mt) => e.set_text(Le, `${mt ?? ""} x ${v()[r] ?? ""}`), [() => pe(e.get(ue))]), e.append(Ae, Le);
268
- }, wt = (Ae) => {
269
- var Le = e.text();
270
- e.template_effect((mt) => e.set_text(Le, `${mt ?? ""} x ${v()[r] ?? ""}`), [() => pe(e.get(B).price)]), e.append(Ae, Le);
271
- };
272
- e.if(gt, (Ae) => {
273
- e.get(dt) ? Ae(kt) : e.get(_e) ? Ae(xt, 1) : Ae(wt, -1);
274
- });
275
- }
276
- e.reset(Je), e.reset(oe);
277
- var ft = e.sibling(oe, 2), Tt = e.child(ft);
278
- {
279
- var yt = (Ae) => {
280
- var Le = e.text();
281
- e.template_effect(() => e.set_text(Le, e.get(_).free)), e.append(Ae, Le);
282
- }, Et = e.derived(() => P(e.get(B)) && !e.get(_e)), Ct = (Ae) => {
283
- var Le = e.text();
284
- e.template_effect((mt) => e.set_text(Le, mt), [
285
- () => pe(e.get(ue) * v()[r])
286
- ]), e.append(Ae, Le);
287
- };
288
- e.if(Tt, (Ae) => {
289
- e.get(Et) ? Ae(yt) : Ae(Ct, -1);
290
- });
291
- }
292
- e.reset(ft), e.reset(j), e.template_effect(() => {
293
- e.set_class(ke, 1, Ie.label), e.set_text(Ce, e.get(B).name), e.set_class(Je, 1, Ie.smMuted), e.set_class(ft, 1, Ie.label);
294
- }), e.append(te, j);
295
- };
296
- e.if(x, (te) => {
297
- e.get(B).ID == r && te(L);
298
- });
299
- }
300
- e.append(ye, c);
301
- }), e.append(M, F);
302
- };
303
- e.if(O, (M) => {
304
- v()[r] > 0 && M(G);
305
- });
306
- }
307
- e.append(n, p);
308
- });
309
- var U = e.sibling(D, 2), ne = e.child(U);
310
- {
311
- var xe = (n) => {
312
- var r = br(), p = e.child(r), O = e.child(p, !0);
313
- e.reset(p);
314
- var G = e.sibling(p), M = e.child(G, !0);
315
- e.reset(G), e.reset(r), e.template_effect(
316
- (F) => {
317
- e.set_text(O, e.get(_).fullPrice), e.set_text(M, F);
318
- },
319
- [() => pe(e.get(ee))]
320
- ), e.append(n, r);
321
- };
322
- e.if(ne, (n) => {
323
- (e.get(ge) > 0 || q() > 0 && !A()?.provideDiscount) && n(xe);
324
- });
325
- }
326
- var qe = e.sibling(ne, 2);
327
- {
328
- var Oe = (n) => {
329
- var r = Pt(), p = e.child(r), O = e.child(p, !0);
330
- e.reset(p);
331
- var G = e.sibling(p), M = e.child(G);
332
- e.reset(G), e.reset(r), e.template_effect(
333
- (F) => {
334
- e.set_text(O, e.get(_).discount), e.set_text(M, `-${F ?? ""}`);
335
- },
336
- [() => pe(e.get(ge))]
337
- ), e.append(n, r);
338
- }, l = (n) => {
339
- var r = Pt(), p = e.child(r), O = e.child(p, !0);
340
- e.reset(p);
341
- var G = e.sibling(p), M = e.child(G);
342
- e.reset(G), e.reset(r), e.template_effect(
343
- (F) => {
344
- e.set_text(O, e.get(_).discount), e.set_text(M, `-${F ?? ""}`);
345
- },
346
- [() => pe(q())]
347
- ), e.append(n, r);
348
- };
349
- e.if(qe, (n) => {
350
- e.get(ge) > 0 ? n(Oe) : q() > 0 && !A()?.provideDiscount && n(l, 1);
351
- });
352
- }
353
- var u = e.sibling(qe, 2), T = e.child(u), he = e.child(T, !0);
354
- e.reset(T);
355
- var ve = e.sibling(T), de = e.child(ve, !0);
356
- e.reset(ve), e.reset(u);
357
- var H = e.sibling(u, 2), Y = e.child(H), be = e.child(Y, !0);
358
- e.reset(Y);
359
- var Ee = e.sibling(Y), ze = e.child(Ee, !0);
360
- e.reset(Ee), e.reset(H);
361
- var Te = e.sibling(H, 2), je = e.child(Te), ut = e.child(je, !0);
362
- e.reset(je);
363
- var We = e.sibling(je, 2), pt = e.child(We);
364
- {
365
- var tt = (n) => {
366
- var r = aa(), p = e.child(r);
367
- At(p, { size: "xs" }), e.next(), e.reset(r), e.append(n, r);
368
- }, Ze = (n) => {
369
- var r = e.text();
370
- e.template_effect((p) => e.set_text(r, p), [() => pe(e.get(Be))]), e.append(n, r);
371
- };
372
- e.if(pt, (n) => {
373
- C() ? n(tt) : n(Ze, -1);
374
- });
375
- }
376
- e.reset(We), e.reset(Te);
377
- var ht = e.sibling(Te, 2);
378
- {
379
- var bt = (n) => {
380
- var r = ia(), p = e.first_child(r), O = e.child(p), G = e.child(O, !0);
381
- e.reset(O);
382
- var M = e.sibling(O, 2), F = e.child(M);
383
- e.reset(M), e.reset(p);
384
- var le = e.sibling(p, 2);
385
- {
386
- var ye = (B) => {
387
- var c = ra(), x = e.child(c), L = e.child(x, !0);
388
- e.reset(x);
389
- var te = e.sibling(x, 2), ue = e.child(te, !0);
390
- e.reset(te), e.reset(c), e.template_effect(() => {
391
- e.set_text(L, e.get(_).giftCardBalanceAfterOrder), e.set_text(ue, e.get(me));
392
- }), e.append(B, c);
393
- };
394
- e.if(le, (B) => {
395
- e.get(me) && d().giftCardBalance - d().giftCardAmount > 0 && B(ye);
396
- });
397
- }
398
- e.template_effect(() => {
399
- e.set_text(G, e.get(_).giftCardAppliedLabel), e.set_text(F, `-${e.get(ce) ?? ""}`);
400
- }), e.append(n, r);
401
- };
402
- e.if(ht, (n) => {
403
- d() && n(bt);
404
- });
405
- }
406
- e.reset(U);
407
- var o = e.sibling(U, 2);
408
- {
409
- var i = (n) => {
410
- var r = xr(), p = e.first_child(r), O = e.child(p), G = e.child(O, !0);
411
- e.reset(O);
412
- var M = e.sibling(O, 2);
413
- e.reset(p);
414
- var F = e.sibling(p, 2), le = e.child(F, !0);
415
- e.reset(F), e.template_effect(() => {
416
- e.set_class(O, 1, `${Dt.strong} tone-primary`), e.set_text(G, e.get(_).amountDue), e.set_class(M, 1, `${Dt.heavy} text-accent-success`), e.set_text(le, e.get(_).fullyCoveredByGiftCard);
417
- }), e.append(n, r);
418
- }, g = (n) => {
419
- var r = sa(), p = e.child(r), O = e.child(p, !0);
420
- e.reset(p);
421
- var G = e.sibling(p), M = e.child(G, !0);
422
- e.reset(G), e.reset(r), e.template_effect(
423
- (F) => {
424
- e.set_class(r, 1, `flex justify-between ${Ie.h3} py-4 type-subheading border-t border-border`), e.set_text(O, e.get(_).total), e.set_text(M, F);
425
- },
426
- [() => pe(e.get(Se))]
427
- ), e.append(n, r);
428
- };
429
- e.if(o, (n) => {
430
- d()?.paymentType === "gift_card_only" ? n(i) : n(g, -1);
431
- });
432
- }
433
- e.template_effect(
434
- (n, r) => {
435
- e.set_class(U, 1, `${Ie.sm} flex flex-col py-3 gap-2`), e.set_text(he, e.get(_).subtotal), e.set_text(de, n), e.set_text(be, e.get(_).fees), e.set_text(ze, r), e.set_text(ut, e.get(_).taxes);
436
- },
437
- [
438
- () => pe(e.get(se)),
439
- () => pe(e.get(De))
440
- ]
441
- ), e.append(m, b);
442
- };
443
- e.if(st, (m) => {
444
- e.get(k) === 0 ? m(Re) : m(Xe, -1);
445
- });
446
- }
447
- var He = e.sibling(st, 2);
448
- {
449
- var Ue = (m) => {
450
- var b = kr(), D = e.child(b), U = e.sibling(D), ne = e.child(U, !0);
451
- e.reset(U), e.reset(b), e.template_effect(() => {
452
- e.set_class(b, 1, `${Ie.xsMuted} text-center mb-3`), e.set_text(D, `${e.get(_).placeOrderTos ?? ""} `), e.set_text(ne, e.get(_).termsOfService);
453
- }), e.append(m, b);
454
- };
455
- e.if(He, (m) => {
456
- e.get(k) > 0 && Q() && m(Ue);
457
- });
458
- }
459
- var Ve = e.sibling(He, 2), ct = e.child(Ve);
460
- {
461
- var $e = (m) => {
462
- At(m, { size: "sm", color: "white" });
463
- }, vt = (m) => {
464
- var b = na(), D = e.child(b, !0);
465
- e.reset(b), e.template_effect(() => e.set_text(D, W() ?? (Q() ? e.get(_).placeOrderButtonText : e.get(_).checkoutButtonText))), e.append(m, b);
466
- };
467
- e.if(ct, (m) => {
468
- w() ? m($e) : m(vt, -1);
469
- });
470
- }
471
- e.reset(Ve), e.reset(Ke), e.reset(R);
472
- var et = e.sibling(R, 2);
473
- {
474
- var nt = (m) => {
475
- var b = Ir(), D = e.first_child(b);
476
- let U;
477
- var ne = e.sibling(D, 2);
478
- let xe;
479
- var qe = e.child(ne), Oe = e.child(qe), l = e.child(Oe, !0);
480
- e.reset(Oe);
481
- var u = e.sibling(Oe, 2), T = e.child(u);
482
- rr(T, { class: "w-7 h-7" }), e.reset(u), e.reset(qe);
483
- var he = e.sibling(qe, 2), ve = e.child(he);
484
- e.each(ve, 16, () => Object.keys(v()), (c) => c, (c, x) => {
485
- var L = e.comment(), te = e.first_child(L);
486
- {
487
- var ue = (_e) => {
488
- var j = e.comment(), oe = e.first_child(j);
489
- e.each(oe, 17, y, e.index, (ke, Ce) => {
490
- var Je = e.comment(), gt = e.first_child(Je);
491
- {
492
- var kt = (dt) => {
493
- const xt = e.derived(() => ie(e.get(Ce))), wt = e.derived(() => I(e.get(Ce)));
494
- var ft = wr(), Tt = e.child(ft), yt = e.child(Tt), Et = e.child(yt, !0);
495
- e.reset(yt);
496
- var Ct = e.sibling(yt, 2), Ae = e.child(Ct);
497
- {
498
- var Le = (Me) => {
499
- var Ne = e.text();
500
- e.template_effect(() => e.set_text(Ne, `${e.get(_).free ?? ""} x ${v()[x] ?? ""}`)), e.append(Me, Ne);
501
- }, mt = e.derived(() => P(e.get(Ce)) && !e.get(wt)), fa = (Me) => {
502
- var Ne = e.text();
503
- e.template_effect((It) => e.set_text(Ne, `${It ?? ""} x ${v()[x] ?? ""}`), [() => pe(e.get(xt))]), e.append(Me, Ne);
504
- }, ma = (Me) => {
505
- var Ne = e.text();
506
- e.template_effect((It) => e.set_text(Ne, `${It ?? ""} x ${v()[x] ?? ""}`), [() => pe(e.get(Ce).price)]), e.append(Me, Ne);
507
- };
508
- e.if(Ae, (Me) => {
509
- e.get(mt) ? Me(Le) : e.get(wt) ? Me(fa, 1) : Me(ma, -1);
510
- });
511
- }
512
- e.reset(Ct), e.reset(Tt);
513
- var Ft = e.sibling(Tt, 2), _a = e.child(Ft);
514
- {
515
- var ha = (Me) => {
516
- var Ne = e.text();
517
- e.template_effect(() => e.set_text(Ne, e.get(_).free)), e.append(Me, Ne);
518
- }, ba = e.derived(() => P(e.get(Ce)) && !e.get(wt)), xa = (Me) => {
519
- var Ne = e.text();
520
- e.template_effect((It) => e.set_text(Ne, It), [
521
- () => pe(e.get(xt) * v()[x])
522
- ]), e.append(Me, Ne);
523
- };
524
- e.if(_a, (Me) => {
525
- e.get(ba) ? Me(ha) : Me(xa, -1);
526
- });
527
- }
528
- e.reset(Ft), e.reset(ft), e.template_effect(() => {
529
- e.set_class(yt, 1, Ie.h5), e.set_text(Et, e.get(Ce).name), e.set_class(Ct, 1, Ie.smMuted), e.set_class(Ft, 1, Ie.h5);
530
- }), e.append(dt, ft);
531
- };
532
- e.if(gt, (dt) => {
533
- e.get(Ce).ID == x && dt(kt);
534
- });
535
- }
536
- e.append(ke, Je);
537
- }), e.append(_e, j);
538
- };
539
- e.if(te, (_e) => {
540
- v()[x] > 0 && _e(ue);
541
- });
542
- }
543
- e.append(c, L);
544
- });
545
- var de = e.sibling(ve, 2), H = e.child(de);
546
- {
547
- var Y = (c) => {
548
- var x = Tr(), L = e.child(x), te = e.child(L, !0);
549
- e.reset(L);
550
- var ue = e.sibling(L), _e = e.child(ue, !0);
551
- e.reset(ue), e.reset(x), e.template_effect(
552
- (j) => {
553
- e.set_text(te, e.get(_).fullPrice), e.set_text(_e, j);
554
- },
555
- [() => pe(e.get(ee))]
556
- ), e.append(c, x);
557
- };
558
- e.if(H, (c) => {
559
- (e.get(ge) > 0 || q() > 0 && !A()?.provideDiscount) && c(Y);
560
- });
561
- }
562
- var be = e.sibling(H, 2);
563
- {
564
- var Ee = (c) => {
565
- var x = Pt(), L = e.child(x), te = e.child(L, !0);
566
- e.reset(L);
567
- var ue = e.sibling(L), _e = e.child(ue);
568
- e.reset(ue), e.reset(x), e.template_effect(
569
- (j) => {
570
- e.set_text(te, e.get(_).discount), e.set_text(_e, `-${j ?? ""}`);
571
- },
572
- [() => pe(e.get(ge))]
573
- ), e.append(c, x);
574
- }, ze = (c) => {
575
- var x = Pt(), L = e.child(x), te = e.child(L, !0);
576
- e.reset(L);
577
- var ue = e.sibling(L), _e = e.child(ue);
578
- e.reset(ue), e.reset(x), e.template_effect(
579
- (j) => {
580
- e.set_text(te, e.get(_).discount), e.set_text(_e, `-${j ?? ""}`);
581
- },
582
- [() => pe(q())]
583
- ), e.append(c, x);
584
- };
585
- e.if(be, (c) => {
586
- e.get(ge) > 0 ? c(Ee) : q() > 0 && !A()?.provideDiscount && c(ze, 1);
587
- });
588
- }
589
- var Te = e.sibling(be, 2), je = e.child(Te), ut = e.child(je, !0);
590
- e.reset(je);
591
- var We = e.sibling(je), pt = e.child(We, !0);
592
- e.reset(We), e.reset(Te);
593
- var tt = e.sibling(Te, 2), Ze = e.child(tt), ht = e.child(Ze, !0);
594
- e.reset(Ze);
595
- var bt = e.sibling(Ze), o = e.child(bt, !0);
596
- e.reset(bt), e.reset(tt);
597
- var i = e.sibling(tt, 2), g = e.child(i), n = e.child(g, !0);
598
- e.reset(g);
599
- var r = e.sibling(g, 2), p = e.child(r);
600
- {
601
- var O = (c) => {
602
- var x = aa(), L = e.child(x);
603
- At(L, { size: "xs" }), e.next(), e.reset(x), e.append(c, x);
604
- }, G = (c) => {
605
- var x = e.text();
606
- e.template_effect((L) => e.set_text(x, L), [() => pe(e.get(Be))]), e.append(c, x);
607
- };
608
- e.if(p, (c) => {
609
- C() ? c(O) : c(G, -1);
610
- });
611
- }
612
- e.reset(r), e.reset(i);
613
- var M = e.sibling(i, 2);
614
- {
615
- var F = (c) => {
616
- var x = ia(), L = e.first_child(x), te = e.child(L), ue = e.child(te, !0);
617
- e.reset(te);
618
- var _e = e.sibling(te, 2), j = e.child(_e);
619
- e.reset(_e), e.reset(L);
620
- var oe = e.sibling(L, 2);
621
- {
622
- var ke = (Ce) => {
623
- var Je = ra(), gt = e.child(Je), kt = e.child(gt, !0);
624
- e.reset(gt);
625
- var dt = e.sibling(gt, 2), xt = e.child(dt, !0);
626
- e.reset(dt), e.reset(Je), e.template_effect(() => {
627
- e.set_text(kt, e.get(_).giftCardBalanceAfterOrder), e.set_text(xt, e.get(me));
628
- }), e.append(Ce, Je);
629
- };
630
- e.if(oe, (Ce) => {
631
- e.get(me) && d().giftCardBalance - d().giftCardAmount > 0 && Ce(ke);
632
- });
633
- }
634
- e.template_effect(() => {
635
- e.set_text(ue, e.get(_).giftCardAppliedLabel), e.set_text(j, `-${e.get(ce) ?? ""}`);
636
- }), e.append(c, x);
637
- };
638
- e.if(M, (c) => {
639
- d() && c(F);
640
- });
641
- }
642
- e.reset(de);
643
- var le = e.sibling(de, 2);
644
- {
645
- var ye = (c) => {
646
- var x = Cr(), L = e.first_child(x), te = e.child(L), ue = e.child(te, !0);
647
- e.reset(te);
648
- var _e = e.sibling(te, 2);
649
- e.reset(L);
650
- var j = e.sibling(L, 2), oe = e.child(j, !0);
651
- e.reset(j), e.template_effect(() => {
652
- e.set_class(te, 1, `${Dt.strong} tone-primary`), e.set_text(ue, e.get(_).amountDue), e.set_class(_e, 1, `${Dt.heavy} text-accent-success`), e.set_text(oe, e.get(_).fullyCoveredByGiftCard);
653
- }), e.append(c, x);
654
- }, B = (c) => {
655
- var x = sa(), L = e.child(x), te = e.child(L, !0);
656
- e.reset(L);
657
- var ue = e.sibling(L), _e = e.child(ue, !0);
658
- e.reset(ue), e.reset(x), e.template_effect(
659
- (j) => {
660
- e.set_class(x, 1, `flex justify-between ${Ie.h3} py-5 border-t border-border`), e.set_text(te, e.get(_).total), e.set_text(_e, j);
661
- },
662
- [() => pe(e.get(Se))]
663
- ), e.append(c, x);
664
- };
665
- e.if(le, (c) => {
666
- d()?.paymentType === "gift_card_only" ? c(ye) : c(B, -1);
667
- });
668
- }
669
- e.reset(he), e.reset(ne), e.template_effect(
670
- (c, x) => {
671
- e.set_attribute(D, "aria-label", e.get(_).closeOrderSummary), U = e.set_style(D, "", U, { "z-index": Lt.overlay }), xe = e.set_style(ne, "", xe, { "z-index": Lt.modal }), e.set_class(Oe, 1, `${Ie.h2} type-heading`), e.set_text(l, e.get(_).orderSummary), e.set_attribute(u, "aria-label", e.get(_).closeOrderSummary), e.set_text(ut, e.get(_).subtotal), e.set_text(pt, c), e.set_text(ht, e.get(_).fees), e.set_text(o, x), e.set_text(n, e.get(_).taxes);
672
- },
673
- [
674
- () => pe(e.get(se)),
675
- () => pe(e.get(De))
676
- ]
677
- ), e.delegated("click", D, () => e.set(E, !1)), e.transition(3, D, () => Sa, () => ({ duration: St.fast })), e.delegated("click", u, () => e.set(E, !1)), e.transition(1, ne, () => Mt, () => ({ y: 800, duration: St.normal, easing: ta })), e.transition(2, ne, () => Mt, () => ({ y: 800, duration: St.normal, easing: ta })), e.append(m, b);
678
- };
679
- e.if(et, (m) => {
680
- e.get(E) && m(nt);
681
- });
682
- }
683
- var lt = e.sibling(et, 2);
684
- {
685
- var ot = (m) => {
686
- var b = Dr();
687
- let D;
688
- var U = e.child(b), ne = e.child(U), xe = e.child(ne), qe = e.child(xe), Oe = e.sibling(qe);
689
- {
690
- let H = e.derived(() => `w-4 h-4 ${Ie.iconMuted} transition-transform duration-fast ${e.get(E) ? "rotate-180" : ""}`);
691
- ka(Oe, {
692
- get class() {
693
- return e.get(H);
694
- }
695
- });
696
- }
697
- e.reset(xe);
698
- var l = e.sibling(xe, 2), u = e.child(l, !0);
699
- e.reset(l), e.reset(ne);
700
- var T = e.sibling(ne, 2), he = e.child(T);
701
- {
702
- var ve = (H) => {
703
- At(H, { size: "sm", color: "white" });
704
- }, de = (H) => {
705
- var Y = na(), be = e.child(Y, !0);
706
- e.reset(Y), e.template_effect(() => e.set_text(be, e.get(_).checkout)), e.append(H, Y);
707
- };
708
- e.if(he, (H) => {
709
- w() ? H(ve) : H(de, -1);
710
- });
711
- }
712
- e.reset(T), e.reset(U), e.reset(b), e.template_effect(
713
- (H) => {
714
- D = e.set_style(b, "", D, { "z-index": Lt.overlay }), e.set_class(xe, 1, `${Ie.sm} flex items-center gap-1 tone-secondary`), e.set_text(qe, `${e.get(k) ?? ""} ${(e.get(k) > 1 ? e.get(_).ticketPlural : e.get(_).ticketSingular) ?? ""} `), e.set_class(l, 1, `${Ie.h2} type-heading`), e.set_text(u, H), e.set_class(T, 1, `${Ie.label} flex-1 min-w-36 h-12 rounded-lg touch-manipulation flex items-center justify-center ${e.get(k) === 0 || !S() || C() ? "bg-bg-tertiary tone-muted cursor-not-allowed" : "bg-brand-primary text-white hover:bg-brand-primary/90"}`), T.disabled = e.get(k) === 0 || !S() || C();
715
- },
716
- [() => pe(e.get(Se))]
717
- ), e.delegated("click", ne, f), e.delegated("click", T, () => {
718
- C() || (re() ? re()($()) : a() && a()());
719
- }), e.transition(3, b, () => Mt, () => ({ y: 100, duration: St.fast })), e.append(m, b);
720
- };
721
- e.if(lt, (m) => {
722
- e.get(V) && m(ot);
723
- });
724
- }
725
- e.template_effect(() => {
726
- e.set_class(Pe, 1, e.clsx(Ie.h3)), e.set_text(Qe, e.get(_).orderSummary), e.set_class(Ve, 1, `w-full h-12 ${Dt.strong} rounded-lg flex items-center justify-center transition-colors select-none touch-manipulation ${e.get(k) === 0 || !S() || C() ? "bg-bg-tertiary tone-muted cursor-not-allowed" : "bg-brand-primary text-white hover:bg-brand-primary/90"}`), Ve.disabled = e.get(k) === 0 || !S() || C();
727
- }), e.delegated("click", Ve, () => {
728
- e.get(k) === 0 || !S() || C() || (re() ? re()($()) : a() && a()());
729
- }), e.append(ae, Fe), e.pop();
730
- }
731
- e.delegate(["click"]);
732
- function Pr(ae, t) {
733
- if (!ae || typeof ae != "object") return {};
734
- if (!Array.isArray(t) || t.length === 0) {
735
- const v = {};
736
- for (const [s, y] of Object.entries(ae))
737
- typeof y == "number" && y > 0 && (v[s] = y);
738
- return v;
739
- }
740
- const N = /* @__PURE__ */ new Map();
741
- for (const v of t)
742
- v && v.ID !== void 0 && v.ID !== null && N.set(String(v.ID), v);
743
- const w = {};
744
- for (const [v, s] of Object.entries(ae)) {
745
- if (typeof s != "number" || !Number.isFinite(s) || s <= 0) continue;
746
- const y = N.get(String(v));
747
- let a = s;
748
- if (y) {
749
- const S = y.remainingCapacity;
750
- typeof S == "number" && Number.isFinite(S) && (a = Math.min(a, Math.max(0, S)));
751
- const W = y.maxQuantity;
752
- typeof W == "number" && Number.isFinite(W) && W > 0 && (a = Math.min(a, W));
753
- }
754
- a > 0 && (w[v] = a);
755
- }
756
- return w;
757
- }
758
- var Or = e.from_html('<div role="group"><!> <span class="qty-display svelte-12zmutv" aria-live="polite" aria-atomic="true" role="status"><span class="sr-only"> </span> </span> <!></div>'), Er = e.from_html('<span class="sold-out-pill type-caption whitespace-nowrap svelte-12zmutv" role="status"> </span>'), Fr = e.from_html('<span class="sales-start-badge type-caption text-secondary whitespace-nowrap svelte-12zmutv" role="status"> </span>'), Lr = e.from_html('<span class="sr-only" role="alert"> </span>'), Mr = e.from_html('<div class="donation-input-wrapper svelte-12zmutv"><!> <!></div>'), Br = e.from_html('<span class="price-fee" aria-hidden="true"> </span> <span class="sr-only"> </span>', 1), jr = e.from_html('<span class="price-lg text-primary svelte-12zmutv"> </span> <span class="price-strikethrough"><span class="sr-only"> </span> </span> <!>', 1), zr = e.from_html('<span class="price-lg text-primary svelte-12zmutv"> </span>'), Nr = e.from_html('<span class="price-lg text-primary svelte-12zmutv"> </span> <span class="price-fee" aria-hidden="true"> </span> <span class="sr-only"> </span>', 1), Qr = e.from_html('<span class="badge badge-discount"> </span>'), qr = e.from_html('<span class="badge badge-unlocked"> </span>'), Rr = e.from_html('<div class="flex-row-2 mb-2 flex-wrap" role="status" aria-live="polite"><!> <!></div>'), Hr = e.from_html('<p class="type-body text-secondary mb-3 svelte-12zmutv"> </p>'), Vr = e.from_html("<span> </span>"), Gr = e.from_html('<p class="sales-end-text type-caption svelte-12zmutv" role="status"> </p>'), Ur = e.from_html('<article><div class="p-4 pb-0"><div class="vc-flex-between-start gap-4"><div class="flex-1 min-w-0"><h3 class="type-subheading text-primary svelte-12zmutv"> </h3></div> <!></div></div> <hr class="divider-line my-3 svelte-12zmutv" aria-hidden="true"/> <div class="p-4 pt-0"><div class="flex-row-2 mb-2"><!></div> <!> <!> <div class="flex-row-2 mb-2 flex-wrap" role="status"><!> <!></div> <!></div></article>');
759
- function Wr(ae, t) {
760
- e.push(t, !0);
761
- let N = e.prop(t, "fee", 3, "0.00"), w = e.prop(t, "quantity", 3, 0), v = e.prop(t, "soldOut", 3, !1), s = e.prop(t, "status", 3, null), y = e.prop(t, "salesBegin", 3, null), a = e.prop(t, "salesEnd", 3, null), S = e.prop(t, "remainingCapacity", 3, null), W = e.prop(
762
- t,
763
- "totalCapacity",
764
- 3,
765
- null
766
- // Total ticket capacity for percentage calculation
767
- );
768
- e.prop(
769
- t,
770
- "minQuantity",
771
- 3,
772
- 1
773
- // Minimum quantity per order (default 1)
774
- );
775
- let Q = e.prop(
776
- t,
777
- "maxQuantity",
778
- 3,
779
- null
780
- // Maximum quantity per order (null = unlimited)
781
- ), K = e.prop(
782
- t,
783
- "discountedPrice",
784
- 3,
785
- null
786
- // Discounted price when promo applied
787
- ), q = e.prop(
788
- t,
789
- "isRevealed",
790
- 3,
791
- !1
792
- // Badge: Unlocked via promo
793
- ), A = e.prop(
794
- t,
795
- "isDiscounted",
796
- 3,
797
- !1
798
- // Badge: Discount applied
799
- ), re = e.prop(
800
- t,
801
- "ticketType",
802
- 3,
803
- 0
804
- // 0 = paid/standard, 1 = registration/free, 2 = donation
805
- ), $ = e.prop(
806
- t,
807
- "donationAmount",
808
- 3,
809
- ""
810
- // User-entered donation amount (string for input binding)
811
- ), fe = e.prop(t, "syncing", 3, !1), d = e.prop(t, "labels", 19, () => ({}));
812
- const Z = e.derived(() => re() === 2), C = e.derived(() => parseFloat($()) || 0), X = e.derived(() => e.get(Z) && $() !== "" && e.get(C) < 1 ? d().minimumDonation || "Minimum $1.00" : ""), _ = e.derived(() => !e.get(Z) || $() !== "" && e.get(C) >= 1), ie = e.derived(() => parseFloat(t.price) || 0), I = e.derived(() => e.get(ie) === 0 ? 0 : parseFloat(N()) || 0), z = e.derived(() => Zt(e.get(ie) + e.get(I), d())), P = e.derived(() => pe(e.get(I))), E = e.derived(() => K() ? parseFloat(K()) : null), h = e.derived(() => e.get(E) === null || e.get(E) === 0 ? 0 : parseFloat(N()) || 0), f = e.derived(() => e.get(E) !== null ? Zt(e.get(E) + e.get(h), d()) : null), J = e.derived(() => e.get(E) !== null && e.get(E) + e.get(h) <= 0), k = e.derived(() => W() ?? S() ?? 0), V = e.derived(() => {
813
- const l = S() ?? 0, u = e.get(k);
814
- if (u === 0 || s() === "scheduled" || s() === "sales_ended" || e.get(
815
- ie
816
- // no scarcity on free tickets
817
- ) === 0) return null;
818
- const T = Aa(l, u);
819
- return T === "sold-out" ? { text: "Sold out", type: "sold-out" } : T === "urgent" ? {
820
- text: `Only ${l} left`,
821
- type: "scarcity",
822
- showFlame: !0
823
- } : T === "low" ? { text: "Few tickets left", type: "scarcity", showFlame: !0 } : null;
824
- }), ee = e.derived(() => e.get(V) != null && e.get(V).type === "scarcity");
825
- function se(l) {
826
- return Pa(l, "UTC");
827
- }
828
- function ge(l) {
829
- return {
830
- text: Oa(l, d()),
831
- preposition: ""
832
- };
833
- }
834
- function De(l) {
835
- const { text: u } = ge(l);
836
- return u;
837
- }
838
- function Be(l) {
839
- return ge(l);
840
- }
841
- const ce = e.derived(() => (() => {
842
- if (!s()) return null;
843
- switch (s()) {
844
- case "scheduled":
845
- return {
846
- showAsMessage: !0,
847
- // Display as inline message instead of badge
848
- message: (d().salesStart || "Sales start {salesStart}").replace("{salesStart}", De(y()))
849
- };
850
- case "on_sale":
851
- return null;
852
- case // Don't show badge for normal on-sale status
853
- "sales_ended":
854
- return {
855
- badge: d().statusSalesEnded || "Sales ended",
856
- badgeClass: "badge-ended",
857
- label: "Ended",
858
- date: se(a())
859
- };
860
- default:
861
- return null;
862
- }
863
- })());
864
- var me = Ur();
865
- let Se;
866
- var Fe = e.child(me), R = e.child(Fe), we = e.child(R), Pe = e.child(we), Qe = e.child(Pe, !0);
867
- e.reset(Pe), e.reset(we);
868
- var Ke = e.sibling(we, 2);
869
- {
870
- var st = (l) => {
871
- var u = Or();
872
- let T;
873
- var he = e.child(u);
874
- {
875
- let Ee = e.derived(() => w() === 0 || fe()), ze = e.derived(() => (d().decreaseQuantity || "Decrease quantity for {title}").replace("{title}", t.title));
876
- Ye(he, {
877
- variant: "icon-brand",
878
- size: "icon-sm",
879
- onclick: () => t.ondecrement?.(),
880
- get disabled() {
881
- return e.get(Ee);
882
- },
883
- get "aria-label"() {
884
- return e.get(ze);
885
- },
886
- children: (Te, je) => {
887
- wa(Te, { size: "20" });
888
- },
889
- $$slots: { default: !0 }
890
- });
891
- }
892
- var ve = e.sibling(he, 2), de = e.child(ve), H = e.child(de, !0);
893
- e.reset(de);
894
- var Y = e.sibling(de);
895
- e.reset(ve);
896
- var be = e.sibling(ve, 2);
897
- {
898
- let Ee = e.derived(() => Q() !== null && w() >= Q() || S() !== null && w() >= S() || !e.get(_) || fe()), ze = e.derived(() => (d().increaseQuantity || "Increase quantity for {title}").replace("{title}", t.title));
899
- Ye(be, {
900
- variant: "icon-brand",
901
- size: "icon-sm",
902
- onclick: () => t.onincrement?.(),
903
- get disabled() {
904
- return e.get(Ee);
905
- },
906
- get "aria-label"() {
907
- return e.get(ze);
908
- },
909
- children: (Te, je) => {
910
- Ta(Te, { size: "20" });
911
- },
912
- $$slots: { default: !0 }
913
- });
914
- }
915
- e.reset(u), e.template_effect(
916
- (Ee) => {
917
- T = e.set_class(u, 1, "flex items-center quantity-selector svelte-12zmutv", null, T, { active: w() > 0 }), e.set_attribute(u, "aria-label", Ee), e.set_text(H, d().quantity || "Quantity:"), e.set_text(Y, ` ${w() ?? ""}`);
918
- },
919
- [
920
- () => (d().quantitySelector || "Quantity selector for {title}").replace("{title}", t.title)
921
- ]
922
- ), e.append(l, u);
923
- }, Re = (l) => {
924
- var u = Er(), T = e.child(u, !0);
925
- e.reset(u), e.template_effect(() => {
926
- e.set_attribute(u, "aria-label", d().statusSoldOut || "Sold out"), e.set_text(T, d().statusSoldOut || "Sold out");
927
- }), e.append(l, u);
928
- }, Xe = (l) => {
929
- var u = Fr(), T = e.child(u, !0);
930
- e.reset(u), e.template_effect(() => e.set_text(T, e.get(ce).message)), e.append(l, u);
931
- };
932
- e.if(Ke, (l) => {
933
- !v() && s() !== "scheduled" && s() !== "sales_ended" ? l(st) : v() ? l(Re, 1) : s() === "scheduled" && e.get(ce)?.message && l(Xe, 2);
934
- });
935
- }
936
- e.reset(R), e.reset(Fe);
937
- var He = e.sibling(Fe, 4), Ue = e.child(He), Ve = e.child(Ue);
938
- {
939
- var ct = (l) => {
940
- var u = Mr(), T = e.child(u);
941
- {
942
- let de = e.derived(() => d().donationAmountLabel || "Donation amount in dollars"), H = e.derived(() => v() || s() === "scheduled" || s() === "sales_ended"), Y = e.derived(() => e.get(X) ? "donation-error-" + t.title?.replace(/\s+/g, "-").toLowerCase() : void 0);
943
- ua(T, {
944
- get label() {
945
- return e.get(de);
946
- },
947
- size: "lg",
948
- type: "text",
949
- inputmode: "decimal",
950
- placeholder: "0.00",
951
- get value() {
952
- return $();
953
- },
954
- oninputchange: (be) => t.ondonationchange?.(be),
955
- get disabled() {
956
- return e.get(H);
957
- },
958
- get errorText() {
959
- return e.get(X);
960
- },
961
- get "aria-describedby"() {
962
- return e.get(Y);
963
- }
964
- });
965
- }
966
- var he = e.sibling(T, 2);
967
- {
968
- var ve = (de) => {
969
- var H = Lr(), Y = e.child(H, !0);
970
- e.reset(H), e.template_effect(
971
- (be) => {
972
- e.set_attribute(H, "id", `donation-error-${be ?? ""}`), e.set_text(Y, e.get(X));
973
- },
974
- [() => t.title?.replace(/\s+/g, "-").toLowerCase()]
975
- ), e.append(de, H);
976
- };
977
- e.if(he, (de) => {
978
- e.get(X) && de(ve);
979
- });
980
- }
981
- e.reset(u), e.append(l, u);
982
- }, $e = (l) => {
983
- var u = jr(), T = e.first_child(u), he = e.child(T, !0);
984
- e.reset(T);
985
- var ve = e.sibling(T, 2), de = e.child(ve), H = e.child(de, !0);
986
- e.reset(de);
987
- var Y = e.sibling(de, 1, !0);
988
- e.reset(ve);
989
- var be = e.sibling(ve, 2);
990
- {
991
- var Ee = (ze) => {
992
- var Te = Br(), je = e.first_child(Te), ut = e.child(je, !0);
993
- e.reset(je);
994
- var We = e.sibling(je, 2), pt = e.child(We, !0);
995
- e.reset(We), e.template_effect(
996
- (tt, Ze) => {
997
- e.set_text(ut, tt), e.set_text(pt, Ze);
998
- },
999
- [
1000
- () => (d().inclFee || "incl. {fee} fee").replace("{fee}", e.get(P)),
1001
- () => (d().includingFee || "including {fee} service fee").replace("{fee}", e.get(P))
1002
- ]
1003
- ), e.append(ze, Te);
1004
- };
1005
- e.if(be, (ze) => {
1006
- e.get(J) || ze(Ee);
1007
- });
1008
- }
1009
- e.template_effect(() => {
1010
- e.set_attribute(T, "aria-label", `Discounted price ${e.get(f) ?? ""}`), e.set_text(he, e.get(f)), e.set_attribute(ve, "aria-label", `Original price ${e.get(z) ?? ""}`), e.set_text(H, d().originalPrice || "Original price:"), e.set_text(Y, e.get(z));
1011
- }), e.append(l, u);
1012
- }, vt = (l) => {
1013
- var u = zr(), T = e.child(u, !0);
1014
- e.reset(u), e.template_effect(() => e.set_text(T, e.get(z))), e.append(l, u);
1015
- }, et = (l) => {
1016
- var u = Nr(), T = e.first_child(u), he = e.child(T, !0);
1017
- e.reset(T);
1018
- var ve = e.sibling(T, 2), de = e.child(ve, !0);
1019
- e.reset(ve);
1020
- var H = e.sibling(ve, 2), Y = e.child(H, !0);
1021
- e.reset(H), e.template_effect(
1022
- (be, Ee) => {
1023
- e.set_attribute(T, "aria-label", `Price ${e.get(z) ?? ""}`), e.set_text(he, e.get(z)), e.set_text(de, be), e.set_text(Y, Ee);
1024
- },
1025
- [
1026
- () => (d().inclFee || "incl. {fee} fee").replace("{fee}", e.get(P)),
1027
- () => (d().includingFee || "including {fee} service fee").replace("{fee}", e.get(P))
1028
- ]
1029
- ), e.append(l, u);
1030
- };
1031
- e.if(Ve, (l) => {
1032
- e.get(Z) ? l(ct) : e.get(f) !== null ? l($e, 1) : e.get(ie) === 0 ? l(vt, 2) : l(et, -1);
1033
- });
1034
- }
1035
- e.reset(Ue);
1036
- var nt = e.sibling(Ue, 2);
1037
- {
1038
- var lt = (l) => {
1039
- var u = Rr(), T = e.child(u);
1040
- {
1041
- var he = (H) => {
1042
- var Y = Qr(), be = e.child(Y, !0);
1043
- e.reset(Y), e.template_effect(() => e.set_text(be, d().discountApplied || "Discount applied")), e.append(H, Y);
1044
- };
1045
- e.if(T, (H) => {
1046
- A() && H(he);
1047
- });
1048
- }
1049
- var ve = e.sibling(T, 2);
1050
- {
1051
- var de = (H) => {
1052
- var Y = qr(), be = e.child(Y, !0);
1053
- e.reset(Y), e.template_effect(() => e.set_text(be, d().unlocked || "Unlocked")), e.append(H, Y);
1054
- };
1055
- e.if(ve, (H) => {
1056
- q() && H(de);
1057
- });
1058
- }
1059
- e.reset(u), e.append(l, u);
1060
- };
1061
- e.if(nt, (l) => {
1062
- (A() || q()) && l(lt);
1063
- });
1064
- }
1065
- var ot = e.sibling(nt, 2);
1066
- {
1067
- var m = (l) => {
1068
- var u = Hr(), T = e.child(u, !0);
1069
- e.reset(u), e.template_effect(
1070
- (he) => {
1071
- e.set_attribute(u, "id", `ticket-desc-${he ?? ""}`), e.set_text(T, t.description);
1072
- },
1073
- [
1074
- () => t.title?.replace(/\s+/g, "-").toLowerCase() || "ticket"
1075
- ]
1076
- ), e.append(l, u);
1077
- };
1078
- e.if(ot, (l) => {
1079
- t.description && l(m);
1080
- });
1081
- }
1082
- var b = e.sibling(ot, 2), D = e.child(b);
1083
- {
1084
- var U = (l) => {
1085
- var u = Vr(), T = e.child(u, !0);
1086
- e.reset(u), e.template_effect(() => {
1087
- e.set_class(u, 1, `badge ${e.get(ce).badgeClass ?? ""}`, "svelte-12zmutv"), e.set_attribute(u, "aria-label", `${(d().statusLabel || "Status:") ?? ""} ${e.get(ce).badge ?? ""}`), e.set_text(T, e.get(ce).badge);
1088
- }), e.append(l, u);
1089
- };
1090
- e.if(D, (l) => {
1091
- e.get(ce) && e.get(ce).badge && l(U);
1092
- });
1093
- }
1094
- var ne = e.sibling(D, 2);
1095
- {
1096
- var xe = (l) => {
1097
- {
1098
- let u = e.derived(() => S() ?? 0);
1099
- Ca(l, {
1100
- get remaining() {
1101
- return e.get(u);
1102
- },
1103
- get total() {
1104
- return e.get(k);
1105
- },
1106
- context: "ticket",
1107
- get labels() {
1108
- return d();
1109
- }
1110
- });
1111
- }
1112
- };
1113
- e.if(ne, (l) => {
1114
- e.get(ee) && l(xe);
1115
- });
1116
- }
1117
- e.reset(b);
1118
- var qe = e.sibling(b, 2);
1119
- {
1120
- var Oe = (l) => {
1121
- const u = e.derived(() => Be(a()));
1122
- var T = Gr(), he = e.child(T);
1123
- e.reset(T), e.template_effect(() => e.set_text(he, `${(d().salesEndPrefix || "Sales end") ?? ""}
1124
- ${e.get(u).text ?? ""}`)), e.append(l, T);
1125
- };
1126
- e.if(qe, (l) => {
1127
- a() && s() !== "sales_ended" && s() !== "scheduled" && l(Oe);
1128
- });
1129
- }
1130
- e.reset(He), e.reset(me), e.template_effect(
1131
- (l, u, T) => {
1132
- Se = e.set_class(me, 1, `ticket-block rounded-lg border transition-all ${w() > 0 ? "shadow-sm" : ""}`, "svelte-12zmutv", Se, {
1133
- selected: w() > 0,
1134
- "disabled-ticket": v() || s() === "scheduled" || s() === "sales_ended"
1135
- }), e.set_attribute(me, "aria-label", `${l ?? ""}${(v() ? d().ticketSoldOutSuffix || ", sold out" : "") ?? ""}${(s() === "scheduled" ? d().ticketSalesNotStartedSuffix || ", sales not yet started" : "") ?? ""}${(s() === "sales_ended" ? d().ticketSalesEndedSuffix || ", sales ended" : "") ?? ""}`), e.set_attribute(Pe, "id", `ticket-title-${u ?? ""}`), e.set_text(Qe, t.title), e.set_attribute(Ue, "id", `ticket-price-${T ?? ""}`);
1136
- },
1137
- [
1138
- () => (d().ticketAriaLabel || "{title} ticket").replace("{title}", t.title),
1139
- () => t.title?.replace(/\s+/g, "-").toLowerCase() || "ticket",
1140
- () => t.title?.replace(/\s+/g, "-").toLowerCase() || "ticket"
1141
- ]
1142
- ), e.append(ae, me), e.pop();
1143
- }
1144
- var Zr = e.from_html('<div class="empty-state flex flex-col items-center justify-center py-12 px-6 text-center" role="status"><div class="empty-state-icon tone-muted mb-4" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"></path><path d="M13 5v2"></path><path d="M13 17v2"></path><path d="M13 11v2"></path></svg></div> <h3> </h3> <p class="type-body tone-secondary max-w-72"> </p></div>'), Jr = e.from_html('<div class="section-header bg-bg-secondary px-5 py-3"><h2 class="type-subheading tone-primary"> </h2></div>'), Yr = e.from_html('<div role="group"><!> <div role="list"><!></div></div>'), Kr = e.from_html("<section></section>");
1145
- function Xr(ae, t) {
1146
- e.push(t, !0);
1147
- let N = e.prop(t, "venueFeesReady", 3, !1), w = e.prop(t, "tickets", 19, () => []), v = e.prop(t, "quantities", 19, () => ({})), s = e.prop(t, "donationAmounts", 19, () => ({})), y = e.prop(t, "revealHiddenTickets", 3, !1), a = e.prop(t, "revealTicketIds", 19, () => []), S = e.prop(
1148
- t,
1149
- "currentPromoRule",
1150
- 3,
1151
- null
1152
- // Current applied promo code rule
1153
- ), W = e.prop(
1154
- t,
1155
- "syncing",
1156
- 3,
1157
- !1
1158
- // True while a cart-sync network call is in flight
1159
- ), Q = e.prop(t, "labels", 19, () => ({}));
1160
- function K(I) {
1161
- const z = pa(), P = I.salesBegin || I.salesStart || I.saleBegin || I.saleStart || I.onSaleStart, E = I.salesEnd || I.saleEnd || I.onSaleEnd;
1162
- if (P) {
1163
- const h = Nt(P);
1164
- if (h && Qt(h, z) > 0)
1165
- return "scheduled";
1166
- }
1167
- if (E) {
1168
- const h = Nt(E);
1169
- if (h && Qt(h, z) < 0)
1170
- return "sales_ended";
1171
- }
1172
- return "on_sale";
1173
- }
1174
- function q(I) {
1175
- return I.salesBegin || I.salesStart || I.saleBegin || I.saleStart || I.onSaleStart || null;
1176
- }
1177
- const A = e.derived(() => w().filter((I) => I.visibility === 0 || y() ? !0 : a()?.includes(I.ID)));
1178
- function re(I) {
1179
- const z = [], P = [];
1180
- for (const E of I) {
1181
- const h = K(E), f = E.minQuantity ?? 1, J = E.remainingCapacity, k = E.soldOut || J != null && f > J;
1182
- h === "on_sale" && !k ? z.push(E) : P.push(E);
1183
- }
1184
- return [...z, ...P];
1185
- }
1186
- function $(I) {
1187
- const z = {};
1188
- for (const P of I) {
1189
- const E = P.TicketSection?.name || Q().other || "Other";
1190
- z[E] || (z[E] = []), z[E].push(P);
1191
- }
1192
- for (const P of Object.keys(z))
1193
- z[P] = re(z[P]);
1194
- return z;
1195
- }
1196
- const fe = e.derived(() => $(e.get(A))), d = e.derived(() => Q().other || "Other"), Z = e.derived(() => Object.keys(e.get(fe)).filter((I) => I !== e.get(d)).length > 0);
1197
- var C = e.comment(), X = e.first_child(C);
1198
- {
1199
- var _ = (I) => {
1200
- var z = Zr(), P = e.sibling(e.child(z), 2), E = e.child(P, !0);
1201
- e.reset(P);
1202
- var h = e.sibling(P, 2), f = e.child(h, !0);
1203
- e.reset(h), e.reset(z), e.template_effect(() => {
1204
- e.set_attribute(z, "aria-label", Q().noTicketsAvailable || "No tickets available"), e.set_class(P, 1, `mb-2 ${Ie.h3}`), e.set_text(E, Q().noTicketsAvailable || "No tickets available"), e.set_text(f, Q().noTicketsAvailableDescription || "There are currently no tickets available for this event");
1205
- }), e.append(I, z);
1206
- }, ie = (I) => {
1207
- var z = Kr();
1208
- e.each(z, 21, () => Object.entries(e.get(fe)), ([P, E]) => P, (P, E) => {
1209
- var h = e.derived(() => e.to_array(e.get(E), 2));
1210
- let f = () => e.get(h)[0], J = () => e.get(h)[1];
1211
- var k = Yr(), V = e.child(k);
1212
- {
1213
- var ee = (ce) => {
1214
- var me = Jr(), Se = e.child(me), Fe = e.child(Se, !0);
1215
- e.reset(Se), e.reset(me), e.template_effect(
1216
- (R) => {
1217
- e.set_attribute(Se, "id", `section-${R ?? ""}`), e.set_text(Fe, f());
1218
- },
1219
- [() => f().replace(/\s+/g, "-").toLowerCase()]
1220
- ), e.append(ce, me);
1221
- };
1222
- e.if(V, (ce) => {
1223
- e.get(Z) && f() !== e.get(d) && ce(ee);
1224
- });
1225
- }
1226
- var se = e.sibling(V, 2), ge = e.child(se);
1227
- {
1228
- var De = (ce) => {
1229
- var me = e.comment(), Se = e.first_child(me);
1230
- e.each(Se, 17, J, (Fe) => Fe.ID, (Fe, R) => {
1231
- const we = e.derived(() => e.get(R).visibility >= 2 && y() || a().includes(e.get(R).ID)), Pe = e.derived(() => S()?.discountTicketIds || []), Qe = e.derived(() => e.get(Pe).length === 0 || e.get(Pe).includes(e.get(R).ID)), Ke = e.derived(() => parseFloat(e.get(R).price) || 0), st = e.derived(() => Ka(S()?.discountType)), Re = e.derived(() => S()?.provideDiscount && e.get(Qe) && e.get(st) ? Xa(e.get(Ke), parseFloat(S().amount || "0") || 0, S().discountType) : 0), Xe = e.derived(() => e.get(Re) > 0), He = e.derived(() => e.get(Xe) ? Ea(Fa(e.get(Ke) - e.get(Re))) : null), Ue = e.derived(() => K(e.get(R))), Ve = e.derived(() => q(e.get(R))), ct = e.derived(() => e.get(R).minQuantity ?? 1), $e = e.derived(() => e.get(R).remainingCapacity), vt = e.derived(() => e.get(R).soldOut || e.get($e) !== null && e.get($e) !== void 0 && e.get(ct) > e.get($e)), et = e.derived(() => e.get(R).type ?? 0);
1232
- e.derived(() => e.get(et) === 2);
1233
- {
1234
- let nt = e.derived(() => v()[e.get(R).ID] ?? 0), lt = e.derived(() => e.get(R).totalCapacity ?? e.get(R).quantity ?? e.get(R).remainingCapacity), ot = e.derived(() => e.get(R).minQuantity ?? 1), m = e.derived(() => e.get(R).maxQuantity ?? null), b = e.derived(() => s()[e.get(R).ID] ?? "");
1235
- Wr(Fe, {
1236
- get labels() {
1237
- return Q();
1238
- },
1239
- get title() {
1240
- return e.get(R).name;
1241
- },
1242
- get description() {
1243
- return e.get(R).description;
1244
- },
1245
- get price() {
1246
- return e.get(R).price;
1247
- },
1248
- get discountedPrice() {
1249
- return e.get(He);
1250
- },
1251
- get quantity() {
1252
- return e.get(nt);
1253
- },
1254
- get soldOut() {
1255
- return e.get(vt);
1256
- },
1257
- get status() {
1258
- return e.get(Ue);
1259
- },
1260
- get salesBegin() {
1261
- return e.get(Ve);
1262
- },
1263
- get salesEnd() {
1264
- return e.get(R).salesEnd;
1265
- },
1266
- get remainingCapacity() {
1267
- return e.get(R).remainingCapacity;
1268
- },
1269
- get totalCapacity() {
1270
- return e.get(lt);
1271
- },
1272
- get minQuantity() {
1273
- return e.get(ot);
1274
- },
1275
- get maxQuantity() {
1276
- return e.get(m);
1277
- },
1278
- get isRevealed() {
1279
- return e.get(we);
1280
- },
1281
- get isDiscounted() {
1282
- return e.get(Xe);
1283
- },
1284
- get ticketType() {
1285
- return e.get(et);
1286
- },
1287
- get donationAmount() {
1288
- return e.get(b);
1289
- },
1290
- onincrement: () => t.handleQuantityChange(e.get(R).ID, 1),
1291
- ondecrement: () => t.handleQuantityChange(e.get(R).ID, -1),
1292
- ondonationchange: (D) => t.handleDonationChange?.(e.get(R).ID, D),
1293
- get syncing() {
1294
- return W();
1295
- }
1296
- });
1297
- }
1298
- }), e.append(ce, me);
1299
- }, Be = (ce) => {
1300
- var me = e.comment(), Se = e.first_child(me);
1301
- e.each(Se, 16, () => Array(2), e.index, (Fe, R) => {
1302
- {
1303
- let we = e.derived(() => ({
1304
- loadingTicket: Q().loadingTicketInfo || "Loading ticket information"
1305
- }));
1306
- mr(Fe, {
1307
- get labels() {
1308
- return e.get(we);
1309
- }
1310
- });
1311
- }
1312
- }), e.append(ce, me);
1313
- };
1314
- e.if(ge, (ce) => {
1315
- N() ? ce(De) : ce(Be, -1);
1316
- });
1317
- }
1318
- e.reset(se), e.reset(k), e.template_effect(
1319
- (ce, me) => {
1320
- e.set_class(k, 1, e.clsx(e.get(Z) && f() !== e.get(d) ? "ticket-section-group border border-border rounded-lg overflow-hidden" : "")), e.set_attribute(k, "aria-labelledby", ce), e.set_class(se, 1, `space-y-4 ${e.get(Z) && f() !== e.get(d) ? "p-4" : ""}`), e.set_attribute(se, "aria-label", me);
1321
- },
1322
- [
1323
- () => e.get(Z) && f() !== e.get(d) ? `section-${f().replace(/\s+/g, "-").toLowerCase()}` : void 0,
1324
- () => (Q().ticketsInSection || "Tickets in {section}").replace("{section}", f())
1325
- ]
1326
- ), e.append(P, k);
1327
- }), e.reset(z), e.template_effect(() => e.set_attribute(z, "aria-label", Q().availableTickets || "Available tickets")), e.append(I, z);
1328
- };
1329
- e.if(X, (I) => {
1330
- N() && e.get(A).length === 0 ? I(_) : I(ie, -1);
1331
- });
1332
- }
1333
- e.append(ae, C), e.pop();
1334
- }
1335
- const $r = ga("PromocodeInput");
1336
- var la = e.from_html('<div class="self-start mt-5"><!></div>'), ei = e.from_html('<p id="promo-hint" class="promo-message success mt-2 body-sm text-accent-success" role="status" aria-live="polite"> </p>'), ti = e.from_html('<p id="promo-error" class="sr-only svelte-ztoygy" role="alert"> </p>'), ai = e.from_html('<div class="promo-section p-4 md:p-5" role="group" aria-labelledby="promo-label"><span id="promo-label" class="sr-only svelte-ztoygy"> </span> <div class="promo-input-wrapper flex gap-2 items-start"><div class="flex-1"><!></div> <!></div> <!> <!></div>');
1337
- function ri(ae, t) {
1338
- e.push(t, !0);
1339
- let N = e.prop(t, "eventID", 3, ""), w = e.prop(t, "labels", 19, () => ({})), v = e.state(""), s = e.state(!1), y = e.state(""), a = e.state(""), S = e.state(!1), W = e.state(!1);
1340
- const Q = async () => {
1341
- const h = e.get(v).trim().toUpperCase();
1342
- if (e.set(y, ""), e.set(a, ""), e.set(S, !1), !h) {
1343
- e.set(y, w().pleaseEnterPromoCode || "Please enter a promo code", !0), e.set(s, !0);
1344
- return;
1345
- }
1346
- e.set(W, !0);
1347
- try {
1348
- const f = await La(N(), h);
1349
- if (f.valid) {
1350
- e.set(S, !0);
1351
- let J = 0;
1352
- const k = [];
1353
- if (f.revealHiddenTickets && k.push(w().hiddenTicketsVisible || "Hidden tickets are now visible"), f.provideDiscount) {
1354
- const ee = parseFloat(String(f.amount || "0")), se = Number.isFinite(ee) ? ee : 0;
1355
- J = se, f.discountType === "fixed" ? k.push((w().dollarDiscountAvailable || "A {amount} discount is available").replace("{amount}", pe(Ot(se)))) : f.discountType === "percentage" && k.push((w().percentDiscountAvailable || "A {amount}% discount is available").replace("{amount}", String(se)));
1356
- }
1357
- e.set(
1358
- a,
1359
- k.length > 0 ? `${(w().promoApplied || "{code} applied").replace("{code}", h)} ${k.join(" ")}` : (w().promoApplied || "{code} applied").replace("{code}", h),
1360
- !0
1361
- );
1362
- const V = { expires: 1, secure: !0, sameSite: "none", path: "/" };
1363
- _t(`checkout-promocode-${N()}`, h, V), _t(`checkout-promo-discount-${N()}`, J.toString(), V), _t(`checkout-promo-reveal-${N()}`, f.revealHiddenTickets ? "1" : "0", V), _t(`checkout-promo-reveal-ids-${N()}`, JSON.stringify(f.revealTicketIds || []), V), _t(`checkout-promo-discount-type-${N()}`, f.discountType || "", V), t.onpromoChange?.({
1364
- code: h,
1365
- error: "",
1366
- hint: e.get(a),
1367
- discount: J,
1368
- provideDiscount: f.provideDiscount || !1,
1369
- discountType: f.discountType || "",
1370
- discountTicketIds: (
1371
- /** @type {any} */
1372
- f.discountTicketIds || []
1373
- ),
1374
- // Which tickets the discount applies to
1375
- revealHiddenTickets: f.revealHiddenTickets || !1,
1376
- revealTicketIds: f.revealTicketIds || [],
1377
- isApplied: !0
1378
- });
1379
- } else
1380
- e.set(y, w().invalidOrExpiredPromoCode || "Invalid or expired promo code", !0), e.set(s, !0), t.onpromoChange?.({
1381
- code: h,
1382
- error: e.get(y),
1383
- hint: "",
1384
- discount: 0,
1385
- provideDiscount: !1,
1386
- discountType: "",
1387
- discountTicketIds: [],
1388
- revealHiddenTickets: !1,
1389
- revealTicketIds: [],
1390
- isApplied: !1
1391
- });
1392
- } catch (f) {
1393
- $r.error("Error validating promo code:", f), e.set(y, w().unableToValidatePromoCode || "Unable to validate promo code. Please try again", !0), e.set(s, !0);
1394
- } finally {
1395
- e.set(W, !1);
1396
- }
1397
- }, K = () => {
1398
- e.set(v, ""), e.set(y, ""), e.set(a, ""), e.set(S, !1), e.set(s, !1), it(`checkout-promocode-${N()}`), it(`checkout-promo-discount-${N()}`), it(`checkout-promo-reveal-${N()}`), it(`checkout-promo-reveal-ids-${N()}`), it(`checkout-promo-discount-type-${N()}`), t.onpromoChange?.({
1399
- code: "",
1400
- error: "",
1401
- hint: "",
1402
- discount: 0,
1403
- provideDiscount: !1,
1404
- discountType: "",
1405
- discountTicketIds: [],
1406
- revealHiddenTickets: !1,
1407
- revealTicketIds: [],
1408
- isApplied: !1
1409
- });
1410
- }, q = (h) => {
1411
- e.set(v, h.target.value, !0), e.get(y) && e.set(y, "");
1412
- }, A = (h) => {
1413
- h.key === "Enter" && (h.preventDefault(), Q());
1414
- };
1415
- va(() => {
1416
- const h = at(`checkout-promocode-${N()}`);
1417
- h && (e.set(v, h, !0), Q());
1418
- });
1419
- var re = ai(), $ = e.child(re), fe = e.child($, !0);
1420
- e.reset($);
1421
- var d = e.sibling($, 2), Z = e.child(d), C = e.child(Z);
1422
- {
1423
- let h = e.derived(() => w().promoCode || "Promo code"), f = e.derived(() => e.get(S) || e.get(W)), J = e.derived(() => e.get(s) ? e.get(y) : ""), k = e.derived(() => e.get(a) ? "promo-hint" : e.get(y) ? "promo-error" : void 0);
1424
- ua(C, {
1425
- get label() {
1426
- return e.get(h);
1427
- },
1428
- size: "lg",
1429
- type: "text",
1430
- oninputchange: q,
1431
- onkeydown: A,
1432
- onblur: () => e.set(s, !0),
1433
- get disabled() {
1434
- return e.get(f);
1435
- },
1436
- get errorText() {
1437
- return e.get(J);
1438
- },
1439
- get "aria-describedby"() {
1440
- return e.get(k);
1441
- },
1442
- get value() {
1443
- return e.get(v);
1444
- },
1445
- set value(V) {
1446
- e.set(v, V, !0);
1447
- }
1448
- });
1449
- }
1450
- e.reset(Z);
1451
- var X = e.sibling(Z, 2);
1452
- {
1453
- var _ = (h) => {
1454
- var f = la(), J = e.child(f);
1455
- {
1456
- let k = e.derived(() => w().removePromoCode || "Remove promo code"), V = e.derived(() => e.get(v));
1457
- Ye(J, {
1458
- variant: "outline",
1459
- onclick: K,
1460
- class: "h-10",
1461
- get "aria-label"() {
1462
- return `${e.get(k) ?? ""} ${e.get(V) ?? ""}`;
1463
- },
1464
- children: (ee, se) => {
1465
- e.next();
1466
- var ge = e.text();
1467
- e.template_effect(() => e.set_text(ge, w().remove || "Remove")), e.append(ee, ge);
1468
- },
1469
- $$slots: { default: !0 }
1470
- });
1471
- }
1472
- e.reset(f), e.append(h, f);
1473
- }, ie = (h) => {
1474
- var f = la(), J = e.child(f);
1475
- {
1476
- let k = e.derived(() => e.get(W) ? w().checkingPromoCode || "Checking promo code" : w().applyPromoCode || "Apply promo code");
1477
- Ye(J, {
1478
- onclick: Q,
1479
- get disabled() {
1480
- return e.get(W);
1481
- },
1482
- class: "h-10",
1483
- get "aria-label"() {
1484
- return e.get(k);
1485
- },
1486
- children: (V, ee) => {
1487
- e.next();
1488
- var se = e.text();
1489
- e.template_effect(() => e.set_text(se, e.get(W) ? w().checking || "Checking..." : w().apply || "Apply")), e.append(V, se);
1490
- },
1491
- $$slots: { default: !0 }
1492
- });
1493
- }
1494
- e.reset(f), e.append(h, f);
1495
- };
1496
- e.if(X, (h) => {
1497
- e.get(S) ? h(_) : h(ie, -1);
1498
- });
1499
- }
1500
- e.reset(d);
1501
- var I = e.sibling(d, 2);
1502
- {
1503
- var z = (h) => {
1504
- var f = ei(), J = e.child(f, !0);
1505
- e.reset(f), e.template_effect(() => e.set_text(J, e.get(a))), e.append(h, f);
1506
- };
1507
- e.if(I, (h) => {
1508
- e.get(a) && h(z);
1509
- });
1510
- }
1511
- var P = e.sibling(I, 2);
1512
- {
1513
- var E = (h) => {
1514
- var f = ti(), J = e.child(f, !0);
1515
- e.reset(f), e.template_effect(() => e.set_text(J, e.get(y))), e.append(h, f);
1516
- };
1517
- e.if(P, (h) => {
1518
- e.get(y) && e.get(s) && h(E);
1519
- });
1520
- }
1521
- e.reset(re), e.template_effect(() => e.set_text(fe, w().promoCodeEntry || "Promo code entry")), e.append(ae, re), e.pop();
1522
- }
1523
- var ii = e.from_html('<div class="hidden md:block h-fit rounded-lg p-5 space-y-5 bg-card border border-border" aria-busy="true"><!> <!> <div class="space-y-3 pt-4"></div> <!></div>');
1524
- function si(ae, t) {
1525
- e.push(t, !0);
1526
- let N = e.prop(t, "labels", 19, () => ({}));
1527
- var w = ii(), v = e.child(w);
1528
- {
1529
- let S = e.derived(() => ({
1530
- loadingContent: N().loadingOrderSummary || "Loading order summary"
1531
- }));
1532
- zt(v, {
1533
- height: "h-6",
1534
- rounded: "md",
1535
- class: "w-2/3",
1536
- get labels() {
1537
- return e.get(S);
1538
- }
1539
- });
1540
- }
1541
- var s = e.sibling(v, 2);
1542
- zt(s, { rows: 2, height: "h-12", rounded: "md", gap: "space-y-4" });
1543
- var y = e.sibling(s, 2);
1544
- e.each(y, 20, () => Array(3), e.index, (S, W) => {
1545
- ur(S, { size: "sm" });
1546
- }), e.reset(y);
1547
- var a = e.sibling(y, 2);
1548
- zt(a, { height: "h-10", rounded: "md", class: "mt-5" }), e.reset(w), e.append(ae, w), e.pop();
1549
- }
1550
- var ni = e.from_html('<div class="w-14 h-14 shrink-0 rounded-md overflow-hidden bg-bg-secondary" aria-hidden="true"><!></div>'), li = e.from_html("<p> </p>"), oi = e.from_html('<div class="flex-row-2 shrink-0"><span class="price-md"> </span> <button type="button" class="sc-btn-icon btn-icon-ghost w-7 h-7"><!></button></div>'), di = e.from_html('<header class="flex items-center gap-3 px-4 md:px-5 py-4 border-b border-border"><button type="button" class="p-2 -ml-2 rounded-full transition-colors shrink-0 tone-secondary hover:bg-bg-secondary"><!></button> <!> <div class="flex-1 min-w-0"><h1 class="heading-lg break-words"> </h1> <div class="body-sm tone-secondary"><p><time> </time></p> <p> </p> <!></div></div> <!></header>');
1551
- function ci(ae, t) {
1552
- e.push(t, !0);
1553
- let N = e.prop(t, "variant", 3, "tickets"), w = e.prop(t, "total", 3, 0), v = e.prop(t, "onCancel", 3, () => {
1554
- }), s = e.prop(t, "onInfoClick", 3, () => {
1555
- }), y = e.prop(t, "labels", 19, () => ({})), a = e.derived(() => t.event.timeZone || t.event.timezone || Ma()), S = e.derived(() => t.event.displayEndTime === !0), W = e.derived(() => t.event.displayDoorsTime === !0), Q = e.derived(() => N() === "checkout"), K = e.derived(() => w() > 0 ? `${pe(Ot(Number.isFinite(w()) ? w() : 0))}` : y().free || "Free");
1556
- var q = di(), A = e.child(q), re = e.child(A);
1557
- Ba(re, { size: "20" }), e.reset(A);
1558
- var $ = e.sibling(A, 2);
1559
- {
1560
- var fe = (k) => {
1561
- var V = ni(), ee = e.child(V);
1562
- tr(ee, {
1563
- get src() {
1564
- return t.event.image;
1565
- },
1566
- alt: "",
1567
- class: "w-full h-full"
1568
- }), e.reset(V), e.append(k, V);
1569
- };
1570
- e.if($, (k) => {
1571
- t.event.image && k(fe);
1572
- });
1573
- }
1574
- var d = e.sibling($, 2), Z = e.child(d), C = e.child(Z, !0);
1575
- e.reset(Z);
1576
- var X = e.sibling(Z, 2), _ = e.child(X), ie = e.child(_), I = e.child(ie, !0);
1577
- e.reset(ie), e.reset(_);
1578
- var z = e.sibling(_, 2), P = e.child(z, !0);
1579
- e.reset(z);
1580
- var E = e.sibling(z, 2);
1581
- {
1582
- var h = (k) => {
1583
- var V = li(), ee = e.child(V, !0);
1584
- e.reset(V), e.template_effect((se) => e.set_text(ee, se), [
1585
- () => (y().doorsOpen || "Doors open {time}").replace("{time}", Qa(t.event.doorsOpenTime, e.get(a)))
1586
- ]), e.append(k, V);
1587
- };
1588
- e.if(E, (k) => {
1589
- e.get(W) && t.event.doorsOpenTime && k(h);
1590
- });
1591
- }
1592
- e.reset(X), e.reset(d);
1593
- var f = e.sibling(d, 2);
1594
- {
1595
- var J = (k) => {
1596
- var V = oi(), ee = e.child(V), se = e.child(ee, !0);
1597
- e.reset(ee);
1598
- var ge = e.sibling(ee, 2), De = e.child(ge);
1599
- lr(De, { size: "20" }), e.reset(ge), e.reset(V), e.template_effect(
1600
- (Be) => {
1601
- e.set_attribute(ee, "aria-label", Be), e.set_text(se, e.get(K)), e.set_attribute(ge, "aria-label", y().viewOrderDetails || "View order details");
1602
- },
1603
- [
1604
- () => (y().ariaOrderTotal || "Order total: {total}").replace("{total}", e.get(K))
1605
- ]
1606
- ), e.delegated("click", ge, function(...Be) {
1607
- s()?.apply(this, Be);
1608
- }), e.append(k, V);
1609
- };
1610
- e.if(f, (k) => {
1611
- e.get(Q) && k(J);
1612
- });
1613
- }
1614
- e.reset(q), e.template_effect(
1615
- (k, V) => {
1616
- e.set_attribute(A, "aria-label", e.get(Q) ? y().goBackToTicketSelection || "Go back to ticket selection" : y().goBackToEventDetails || "Go back to event details"), e.set_text(C, t.event.name), e.set_attribute(X, "aria-label", y().ariaEventDateTime || "Event date and time"), e.set_attribute(ie, "datetime", t.event.startDateTime), e.set_text(I, k), e.set_text(P, V);
1617
- },
1618
- [
1619
- () => ja(t.event.startDateTime, e.get(a)),
1620
- () => e.get(S) && t.event.endDateTime ? za(t.event.startDateTime, t.event.endDateTime, e.get(a)) : Na(t.event.startDateTime, e.get(a))
1621
- ]
1622
- ), e.delegated("click", A, function(...k) {
1623
- v()?.apply(this, k);
1624
- }), e.append(ae, q), e.pop();
1625
- }
1626
- e.delegate(["click"]);
1627
- const Ge = ga("CartView");
1628
- var vi = e.from_html('<div class="flex items-center justify-center py-12" aria-live="polite"><p class="tone-secondary"> </p></div>'), ui = e.from_html('<div class="text-center py-8" role="alert"><p class="text-accent-danger mb-2"> </p> <button type="button" class="go-back-btn text-white mt-4 px-4 py-2 rounded-lg svelte-19g9ni4"> </button></div>'), pi = e.from_html('<div class="text-center py-12" role="alert"><p> </p> <p class="tone-secondary mb-6"> </p> <button type="button" class="go-back-btn text-white px-4 py-2 rounded-lg svelte-19g9ni4"> </button></div>'), oa = e.from_html('<div class="px-4 md:px-5 pt-3"><!></div>'), gi = e.from_html('<div class="hidden md:block w-80 h-[calc(100vh-40px)]"></div>'), fi = e.from_html('<div class="w-full flex md:gap-5 flex-wrap"><div class="flex-1 pb-16 md:pb-0"><div class="bg-card border-border rounded-lg md:shadow md:border py-3"><!> <!> <!> <div class="space-y-4 md:px-5"><!></div></div></div> <!> <div><!></div></div>'), mi = e.from_html('<h3 id="error-modal-title" class="heading-lg"><!></h3>'), da = e.from_html('<p class="body-sm"> </p> <p class="tone-secondary mt-2"> </p>', 1), _i = e.from_html('<div id="error-modal-description"><!></div>'), hi = e.from_html("<!> <!>", 1), bi = e.from_html('<div role="group" aria-label="Error modal actions"><!></div>'), xi = e.from_html('<h3 id="expired-modal-title" class="heading-lg"> </h3>'), yi = e.from_html('<p id="expired-modal-description" class="body-sm tone-secondary"> </p>'), ki = e.from_html('<h3 id="availability-modal-title" class="heading-lg"> </h3>'), wi = e.from_html('<li class="tone-secondary type-body"><span class="type-label"> </span> <!></li>'), ca = e.from_html('<p class="tone-secondary mt-4"> </p>'), Ti = e.from_html('<div id="availability-modal-description"><p class="tone-secondary mb-4"> </p> <ul class="space-y-2"></ul> <!></div>'), Ci = e.from_html('<div role="group" aria-label="Availability modal actions"><!> <!></div>'), Ii = e.from_html('<div class="px-5 md:px-10 py-12 bg-card"><!></div> <!> <!> <!>', 1);
1629
- function qi(ae, t) {
1630
- e.push(t, !0);
1631
- let N = e.prop(t, "organizationId", 3, ""), w = e.prop(t, "venueId", 3, ""), v = e.prop(t, "initialEventData", 3, null), s = e.prop(t, "labels", 19, () => ({})), y = e.state(!1), a = e.state(null), S = e.state(null), W = e.state(e.proxy([])), Q = e.state(!1), K = e.state(!0), q = e.state(null), A = e.state(!1), re = e.state(!1), $ = e.state(!1), fe = e.state(0), d = e.state(void 0), Z = e.state(void 0), C = e.state(e.proxy({})), X = e.state(""), _ = e.state(""), ie = e.state(0), I = e.state(""), z = e.state(!1), P = e.state(0), E = e.state(!1), h = null, f = null, J = null;
1632
- const k = jt(), V = jt();
1633
- let ee = e.state(
1634
- "cart_failed"
1635
- // 'cart_failed' | 'cart_success_network_error'
1636
- ), se = e.state(!1);
1637
- const ge = jt();
1638
- let De = e.state(e.proxy(
1639
- []
1640
- // Array of {ticketId, ticketName, requestedQty, availableQty}
1641
- )), Be = e.state(0), ce = e.state(0), me = e.derived(() => e.get(a)?.availableTickets?.filter(
1642
- /** @param {any} t */
1643
- (o) => o.visibility === 0
1644
- )?.every(
1645
- /** @param {any} t */
1646
- (o) => o.price === 0
1647
- )), Se = e.derived(() => e.get(me) ? 0 : rt(Object.entries(e.get(C)).reduce(
1648
- (o, [i, g]) => {
1649
- const n = e.get(a)?.availableTickets?.find((r) => r.id == i);
1650
- return n ? o + rt(g * n.price) : o;
1651
- },
1652
- 0
1653
- ))), Fe = 0, R = e.state(0), we = e.state(0), Pe = e.state(!1), Qe = null;
1654
- e.derived(() => rt(e.get(Se) + Fe + e.get(R)));
1655
- let Ke = e.derived(() => $a(
1656
- Object.entries(e.get(C)).map(([o, i]) => {
1657
- const g = e.get(a)?.availableTickets?.find((n) => n.id == o);
1658
- return {
1659
- unitPrice: g && parseFloat(g.price) || 0,
1660
- quantity: i
1661
- };
1662
- }),
1663
- e.get(Se),
1664
- e.get(ie),
1665
- e.get(I)
1666
- )), st = e.derived(() => e.get(ie) > 0 ? {
1667
- name: e.get(X),
1668
- provideDiscount: !0,
1669
- discountType: e.get(I),
1670
- discountTicketIds: [],
1671
- amount: e.get(ie)
1672
- } : null), Re = e.state(!1), Xe = !1, He = e.state(!1);
1673
- async function Ue(o, i) {
1674
- if (e.get(He) || e.get(Re))
1675
- return;
1676
- const g = {
1677
- ...e.get(C),
1678
- [o]: Math.max(0, (e.get(C)[o] ?? 0) + i)
1679
- }, n = Object.values(g).reduce((r, p) => r + p, 0);
1680
- if (e.set(C, g, !0), e.get(a) && $t({
1681
- eventID: e.get(a).eventID,
1682
- quantities: e.get(C),
1683
- promocode: e.get(X),
1684
- promoDiscountAmount: e.get(ie),
1685
- tickets: e.get(a).availableTickets
1686
- }), n > 0 && !e.get(E))
1687
- await Ve();
1688
- else if (e.get(E)) {
1689
- const r = typeof document < "u" ? at("checkout-cartid") ?? null : null;
1690
- if (!r) return;
1691
- e.set(He, !0);
1692
- try {
1693
- await Ga(r, e.get(C)) || Ge.warn("Cart quantity sync failed; UI may not match server");
1694
- } finally {
1695
- e.set(He, !1);
1696
- }
1697
- }
1698
- }
1699
- async function Ve() {
1700
- if (!(e.get(Re) || e.get(E))) {
1701
- e.set(Re, !0);
1702
- try {
1703
- const o = await ea({
1704
- eventID: e.get(a).eventID,
1705
- quantities: e.get(C),
1706
- promoCode: e.get(X) || void 0,
1707
- // Attribution (MISSION-TRUTH C2) rides additively on cart-create.
1708
- attribution: Kt()
1709
- });
1710
- o?.success && o.uuid && (Xe = !0, T(), Xt(e.get(a).eventID, null, e.get(a).venueID || e.get(a).venueId || null));
1711
- } catch (o) {
1712
- Ge.error("Error creating cart on ticket select:", o);
1713
- } finally {
1714
- e.set(Re, !1);
1715
- }
1716
- }
1717
- }
1718
- function ct() {
1719
- if (!e.get(a)?.availableTickets) return;
1720
- const i = e.get(a).availableTickets.filter((g) => g.visibility === 0).map((g) => {
1721
- const n = Number(g.price);
1722
- return Number.isFinite(n) ? n : 0;
1723
- });
1724
- if (i.length === 0) {
1725
- e.set(Be, e.set(ce, 0), !0);
1726
- return;
1727
- }
1728
- e.set(Be, pe(Ot(Math.min(...i))), !0), e.set(ce, pe(Ot(Math.max(...i))), !0);
1729
- }
1730
- async function $e() {
1731
- const o = [];
1732
- for (const [i, g] of Object.entries(e.get(C))) {
1733
- if (g <= 0) continue;
1734
- const n = e.get(a)?.availableTickets?.find((r) => r.ID == i);
1735
- !n || n.price === 0 || o.push({
1736
- amountCents: Math.round(n.price * 100) * g,
1737
- reference: `ticket-${i}`,
1738
- quantity: g
1739
- });
1740
- }
1741
- if (o.length === 0) {
1742
- e.set(we, 0), e.set(R, 0), e.set(Pe, !1);
1743
- return;
1744
- }
1745
- Qe && Qe.abort(), Qe = new AbortController(), e.set(Pe, !0);
1746
- try {
1747
- const i = await fetch("https://get-micdrop.com/api/v2/public/tax-preview", {
1748
- method: "POST",
1749
- headers: { "Content-Type": "application/json" },
1750
- signal: Qe.signal,
1751
- body: JSON.stringify({ venueId: Number(e.get(a).venueID), lineItems: o })
1752
- });
1753
- if (!i.ok) {
1754
- i.status === 422 ? Ge.debug("Tax preview: venue has no tax address, falling back to 0") : Ge.error("Tax preview failed:", i.status), e.set(we, 0), e.set(R, 0), e.set(Pe, !1);
1755
- return;
1756
- }
1757
- const g = await i.json();
1758
- e.set(we, (g.taxTotal ?? 0) / 100), e.set(R, e.get(we), !0);
1759
- } catch (i) {
1760
- if (i.name === "AbortError") return;
1761
- Ge.error("Tax preview error:", i), e.set(we, 0), e.set(R, 0);
1762
- } finally {
1763
- Qe?.signal?.aborted || e.set(Pe, !1);
1764
- }
1765
- }
1766
- function vt() {
1767
- if (!e.get(a)) return;
1768
- e.set(X, at(`checkout-promocode-${e.get(a).eventID}`) || "", !0);
1769
- const o = parseFloat(at(`checkout-promo-discount-${e.get(a).eventID}`) || "0");
1770
- e.set(_, e.get(X) ? `${e.get(X)} applied.` : "", !0), e.set(ie, o, !0), e.set(I, at(`checkout-promo-discount-type-${e.get(a).eventID}`) || "", !0);
1771
- }
1772
- async function et() {
1773
- try {
1774
- const o = await Ua(t.eventId), i = [];
1775
- for (const [g, n] of Object.entries(e.get(C))) {
1776
- if (n <= 0) continue;
1777
- const r = (
1778
- /** @type {any} */
1779
- o.find((O) => String(O.id) === String(g))
1780
- );
1781
- if (!r) continue;
1782
- const p = r.remainingCapacity ?? r.quantity ?? 1 / 0;
1783
- if (p < n) {
1784
- const O = e.get(a)?.availableTickets?.find((G) => String(G.id) === String(g));
1785
- i.push({
1786
- ticketId: g,
1787
- ticketName: O?.name || r?.name || "Ticket",
1788
- requestedQty: n,
1789
- availableQty: Math.max(0, p)
1790
- });
1791
- }
1792
- }
1793
- return i;
1794
- } catch (o) {
1795
- return Ge.error("Error checking ticket availability:", o), [];
1796
- }
1797
- }
1798
- async function nt() {
1799
- if (!e.get(a)) return;
1800
- e.set(Q, !0), e.set(se, !1);
1801
- const o = await et();
1802
- if (o.length > 0) {
1803
- e.set(Q, !1), e.set(De, o, !0), ge.open();
1804
- return;
1805
- }
1806
- await lt();
1807
- }
1808
- async function lt() {
1809
- if (e.set(Q, !0), $t({
1810
- eventID: e.get(a).eventID,
1811
- quantities: e.get(C),
1812
- promocode: e.get(X),
1813
- promoDiscountAmount: e.get(ie),
1814
- tickets: e.get(a).availableTickets
1815
- }), typeof document < "u" ? at("checkout-cartid") ?? null : null)
1816
- e.set(se, !0);
1817
- else
1818
- try {
1819
- const i = await ea({
1820
- eventID: e.get(a).eventID,
1821
- quantities: e.get(C),
1822
- promoCode: e.get(X) || void 0,
1823
- // Attribution (MISSION-TRUTH C2) rides additively on cart-create.
1824
- attribution: Kt()
1825
- });
1826
- if (!i) {
1827
- e.set(Q, !1), e.set(ee, "cart_failed"), V.open();
1828
- return;
1829
- }
1830
- e.set(se, !0), i.success && Xt(e.get(a).eventID, null, e.get(a).venueID || e.get(a).venueId || null);
1831
- } catch (i) {
1832
- Ge.error("Order initiation failed:", i), e.set(Q, !1), e.set(ee, "cart_failed"), V.open();
1833
- return;
1834
- }
1835
- try {
1836
- if (t.onNavigateToCheckout) {
1837
- t.onNavigateToCheckout(t.eventId, e.get(a)), e.set(Q, !1);
1838
- return;
1839
- }
1840
- const i = new qt();
1841
- N() && i.set("orgId", N()), w() && i.set("venueId", w()), i.set("event_id", t.eventId), i.set("subroute", "checkout");
1842
- const g = Ht(Vt(i), {});
1843
- Rt(g, { noScroll: !1 }), e.set(Q, !1);
1844
- } catch (i) {
1845
- Ge.error("Navigation failed after cart creation:", i), e.set(Q, !1), e.set(ee, "cart_success_network_error"), V.open();
1846
- }
1847
- }
1848
- function ot() {
1849
- for (const i of e.get(De))
1850
- i.availableQty > 0 ? e.get(C)[i.ticketId] = i.availableQty : delete e.get(C)[i.ticketId];
1851
- e.set(C, { ...e.get(
1852
- C
1853
- // Trigger reactivity
1854
- ) }, !0), ge.close(), e.set(De, [], !0), Object.values(e.get(C)).reduce((i, g) => i + g, 0) > 0 ? lt() : Oe();
1855
- }
1856
- function m() {
1857
- ge.close(), e.set(De, [], !0), Oe();
1858
- }
1859
- function b() {
1860
- V.close(), e.get(ee) === "cart_failed" && Oe();
1861
- }
1862
- function D() {
1863
- V.close(), window.location.reload();
1864
- }
1865
- function U() {
1866
- e.set(re, window.innerWidth < 767);
1867
- }
1868
- let ne = !1;
1869
- function xe() {
1870
- ne || (window.requestAnimationFrame(() => {
1871
- qe(), ne = !1;
1872
- }), ne = !0);
1873
- }
1874
- function qe() {
1875
- if (e.get(re) || !e.get(Z) || !e.get(d)) {
1876
- e.set($, !1);
1877
- return;
1878
- }
1879
- const o = e.get(Z).getBoundingClientRect();
1880
- if (e.set($, o.top <= 20), e.get($)) {
1881
- const i = e.get(d).getBoundingClientRect();
1882
- e.set(fe, i.left + i.width - 340 - 40);
1883
- }
1884
- }
1885
- function Oe() {
1886
- if (e.get(a) && Wa(e.get(a).eventID), t.onNavigateBack)
1887
- t.onNavigateBack();
1888
- else {
1889
- const o = new qt(window.location.search);
1890
- o.set("subroute", "details");
1891
- const i = Ht(Vt(o), {});
1892
- Rt(i, {});
1893
- }
1894
- }
1895
- let l = null;
1896
- async function u() {
1897
- l && localStorage.removeItem(`checkout-expiry-${l}`), it("checkout-cartid"), l = null, e.set(E, !1), e.set(P, 0), k.open();
1898
- }
1899
- async function T() {
1900
- if (e.get(E)) return;
1901
- if (h && clearInterval(h), f && clearInterval(f), e.set(E, !0), l = typeof document < "u" ? at("checkout-cartid") ?? null : null, e.set(P, 900), l) {
1902
- const i = localStorage.getItem(
1903
- // @storage-escape: cart checkout-expiry persistence (intentional raw localStorage)
1904
- `checkout-expiry-${l}`
1905
- );
1906
- if (i) {
1907
- const g = Math.max(0, Math.floor((parseInt(i, 10) - Date.now()) / 1e3));
1908
- if (g > 0)
1909
- e.set(P, g, !0);
1910
- else {
1911
- await u();
1912
- return;
1913
- }
1914
- } else if (Xe)
1915
- e.set(P, 900), localStorage.setItem(
1916
- // @storage-escape: cart checkout-expiry persistence (intentional raw localStorage)
1917
- `checkout-expiry-${l}`,
1918
- String(Date.now() + 900 * 1e3)
1919
- );
1920
- else {
1921
- await u();
1922
- return;
1923
- }
1924
- }
1925
- const o = () => {
1926
- if (!l) return;
1927
- const i = parseInt(
1928
- localStorage.getItem(`checkout-expiry-${l}`) || "0",
1929
- // @storage-escape: cart checkout-expiry persistence (intentional raw localStorage)
1930
- 10
1931
- );
1932
- i && e.set(P, Math.max(0, Math.floor((i - Date.now()) / 1e3)), !0);
1933
- };
1934
- h = setInterval(
1935
- () => {
1936
- o(), e.get(P) <= 0 && (clearInterval(h), e.set(E, !1), k.open(), l && localStorage.removeItem(`checkout-expiry-${l}`));
1937
- },
1938
- 1e3
1939
- ), J = () => {
1940
- typeof document < "u" && document.visibilityState === "visible" && o();
1941
- }, typeof document < "u" && document.addEventListener("visibilitychange", J), typeof window < "u" && window.addEventListener("pageshow", J), f = setInterval(
1942
- async () => {
1943
- if (!e.get(E) || !l) {
1944
- clearInterval(f);
1945
- return;
1946
- }
1947
- try {
1948
- const i = await Ha(l);
1949
- if (i.notFound) {
1950
- clearInterval(f);
1951
- const g = l;
1952
- e.set(E, !1), k.open(), localStorage.removeItem(`checkout-expiry-${g}`), it("checkout-cartid"), l = null;
1953
- return;
1954
- }
1955
- if (!i.error && i.expiresAt) {
1956
- const g = Va(i.expiresAt).getTime(), n = Math.max(0, Math.floor((g - Date.now()) / 1e3));
1957
- e.set(P, n, !0), localStorage.setItem(
1958
- // @storage-escape: cart checkout-expiry persistence (intentional raw localStorage)
1959
- `checkout-expiry-${l}`,
1960
- String(g)
1961
- // persist hold-expiry epoch (ms) — wall-clock timer
1962
- );
1963
- }
1964
- } catch {
1965
- }
1966
- },
1967
- 6e4
1968
- );
1969
- }
1970
- async function he(o) {
1971
- const i = o?.detail ?? o, { code: g, discount: n, discountType: r } = i;
1972
- if (e.set(X, g || "", !0), e.set(ie, n || 0, !0), e.set(I, r || "", !0), e.set(_, g ? `${g} applied.` : "", !0), i.revealHiddenTickets !== void 0 && e.get(a) && (_t(`checkout-promo-reveal-${e.get(a).eventID}`, i.revealHiddenTickets ? "1" : "0", { path: "/" }), i.revealTicketIds?.length && _t(`checkout-promo-reveal-ids-${e.get(a).eventID}`, JSON.stringify(i.revealTicketIds), { path: "/" }), g && i.revealHiddenTickets)) {
1973
- const p = ++Y, O = await Yt(t.eventId);
1974
- O.ok && p === Y && O.data.length > 0 && e.get(a) && e.set(a, { ...e.get(a), availableTickets: O.data }, !0);
1975
- }
1976
- }
1977
- let ve = e.derived(() => e.get(a) ? at(`checkout-promo-reveal-${e.get(a).eventID}`) === "1" : !1), de = e.derived(() => {
1978
- if (!e.get(a)) return [];
1979
- try {
1980
- const o = at(`checkout-promo-reveal-ids-${e.get(a).eventID}`);
1981
- return o ? JSON.parse(o) : [];
1982
- } catch {
1983
- return [];
1984
- }
1985
- }), H = e.derived(() => {
1986
- if (!e.get(a)) return !1;
1987
- const o = Nt(e.get(a).endDateTime || e.get(a).startDateTime);
1988
- return o ? Qt(o, pa()) < 0 : !1;
1989
- }), Y = 0;
1990
- async function be() {
1991
- if (!e.get(A))
1992
- return;
1993
- const o = ++Y;
1994
- if (!t.eventId) {
1995
- e.set(q, s().noEventIdProvided || "No event ID provided", !0), e.set(K, !1);
1996
- return;
1997
- }
1998
- e.set(K, !0), e.set(q, null);
1999
- try {
2000
- if (v()) {
2001
- if (e.set(S, v()), !e.get(A)) return;
2002
- e.set(a, Jt(e.get(S)), !0), e.set(W, e.get(a).availableTickets || [], !0);
2003
- } else {
2004
- try {
2005
- const r = await Ra(t.eventId);
2006
- if (!e.get(A) || o !== Y) return;
2007
- e.set(S, r, !0), e.set(a, Jt(e.get(S)), !0);
2008
- } catch (r) {
2009
- if (Ge.error("Event fetch failed:", r), !e.get(A) || o !== Y) return;
2010
- e.set(q, s().failedToLoadEvent || "Failed to load event", !0), e.set(K, !1);
2011
- return;
2012
- }
2013
- const n = await Yt(t.eventId);
2014
- if (!e.get(A) || o !== Y) return;
2015
- if (n.ok)
2016
- e.set(W, n.data, !0), e.get(a).availableTickets = e.get(W);
2017
- else if (Ge.error("Ticket loader returned a failure Result"), e.set(W, e.get(a).availableTickets || [], !0), e.get(W).length === 0) {
2018
- e.set(q, s().failedToLoadTickets || s().failedToLoadEvent || "Failed to load tickets", !0), e.set(K, !1);
2019
- return;
2020
- }
2021
- }
2022
- e.get(a).availableTickets && e.get(a).availableTickets.forEach((n) => e.get(C)[n.ID] = 0);
2023
- const i = Za(e.get(a).eventID);
2024
- if (e.set(C, Pr(i.quantities || {}, e.get(a).availableTickets), !0), e.set(X, i.promocode || "", !0), e.set(ie, i.promoDiscountAmount || 0, !0), e.get(a).eventID && (await Ja(e.get(a).eventID), !e.get(A)))
2025
- return;
2026
- e.set(y, !0), ct(), Object.values(e.get(C)).reduce((n, r) => n + r, 0) > 0 && T(), vt(), await Ya(String(e.get(a).eventID));
2027
- } catch (i) {
2028
- e.get(A) && (Ge.error("Error loading event:", i), e.set(q, i.message || s().failedToLoadEvent || "Failed to load event", !0));
2029
- } finally {
2030
- e.get(A) && e.set(K, !1);
2031
- }
2032
- }
2033
- va(async () => {
2034
- e.set(A, !0), U(), window.addEventListener("resize", U), window.addEventListener("scroll", xe), await be(), qa(t.eventId).then((o) => {
2035
- e.set(z, o, !0);
2036
- }).catch(() => {
2037
- e.set(z, !0);
2038
- });
2039
- }), ya(() => {
2040
- e.set(A, !1), window.removeEventListener("resize", U), window.removeEventListener("scroll", xe), h && clearInterval(h), f && clearInterval(f), J && (typeof document < "u" && document.removeEventListener("visibilitychange", J), typeof window < "u" && window.removeEventListener("pageshow", J), J = null), Qe && Qe.abort();
2041
- });
2042
- let Ee = null;
2043
- e.user_effect(() => {
2044
- e.get(A) && t.eventId && t.eventId !== Ee && (Ee = t.eventId, be());
2045
- }), e.user_effect(() => {
2046
- const o = Object.values(e.get(C)).reduce((i, g) => i + g, 0);
2047
- e.get(y) && e.get(a) && o > 0 ? $e() : o === 0 && (e.set(we, 0), e.set(R, 0), e.set(Pe, !1));
2048
- });
2049
- var ze = Ii(), Te = e.first_child(ze), je = e.child(Te);
2050
- {
2051
- var ut = (o) => {
2052
- var i = vi(), g = e.child(i), n = e.child(g, !0);
2053
- e.reset(g), e.reset(i), e.template_effect(() => e.set_text(n, s().loadingEvent || "Loading event...")), e.append(o, i);
2054
- }, We = (o) => {
2055
- var i = ui(), g = e.child(i), n = e.child(g);
2056
- e.reset(g);
2057
- var r = e.sibling(g, 2), p = e.child(r, !0);
2058
- e.reset(r), e.reset(i), e.template_effect(() => {
2059
- e.set_text(n, `${(s().errorPrefix || "Error:") ?? ""}
2060
- ${e.get(q) ?? ""}`), e.set_attribute(r, "aria-label", s().goBackToEventDetails || "Go back to event details"), e.set_text(p, s().goBack || "Go back");
2061
- }), e.delegated("click", r, Oe), e.append(o, i);
2062
- }, pt = (o) => {
2063
- var i = pi(), g = e.child(i), n = e.child(g, !0);
2064
- e.reset(g);
2065
- var r = e.sibling(g, 2), p = e.child(r, !0);
2066
- e.reset(r);
2067
- var O = e.sibling(r, 2), G = e.child(O, !0);
2068
- e.reset(O), e.reset(i), e.template_effect(() => {
2069
- e.set_class(g, 1, `mb-2 ${Ie.h2}`, "svelte-19g9ni4"), e.set_text(n, s().thisEventHasEnded || "This event has ended"), e.set_text(p, s().ticketsNoLongerAvailable || "Tickets are no longer available for this event"), e.set_attribute(O, "aria-label", s().goBackToEventDetails || "Go back to event details"), e.set_text(G, s().goBack || "Go back");
2070
- }), e.delegated("click", O, Oe), e.append(o, i);
2071
- }, tt = (o) => {
2072
- var i = fi(), g = e.child(i), n = e.child(g), r = e.child(n);
2073
- ci(r, {
2074
- get event() {
2075
- return e.get(a);
2076
- },
2077
- onCancel: Oe,
2078
- get labels() {
2079
- return s();
2080
- }
2081
- });
2082
- var p = e.sibling(r, 2);
2083
- {
2084
- var O = (j) => {
2085
- var oe = oa(), ke = e.child(oe);
2086
- {
2087
- let Ce = e.derived(() => e.get(P) <= 300);
2088
- er(ke, {
2089
- get seconds() {
2090
- return e.get(P);
2091
- },
2092
- get isUrgent() {
2093
- return e.get(Ce);
2094
- },
2095
- get labels() {
2096
- return s();
2097
- }
2098
- });
2099
- }
2100
- e.reset(oe), e.append(j, oe);
2101
- };
2102
- e.if(p, (j) => {
2103
- e.get(E) && e.get(P) > 0 && j(O);
2104
- });
2105
- }
2106
- var G = e.sibling(p, 2);
2107
- {
2108
- var M = (j) => {
2109
- var oe = oa(), ke = e.child(oe);
2110
- ri(ke, {
2111
- get eventID() {
2112
- return t.eventId;
2113
- },
2114
- onpromoChange: he,
2115
- get labels() {
2116
- return s();
2117
- }
2118
- }), e.reset(oe), e.append(j, oe);
2119
- };
2120
- e.if(G, (j) => {
2121
- e.get(z) && j(M);
2122
- });
2123
- }
2124
- var F = e.sibling(G, 2), le = e.child(F);
2125
- {
2126
- let j = e.derived(() => e.get(He) || e.get(Re));
2127
- Xr(le, {
2128
- get tickets() {
2129
- return e.get(a).availableTickets;
2130
- },
2131
- get quantities() {
2132
- return e.get(C);
2133
- },
2134
- handleQuantityChange: Ue,
2135
- handleDonationChange: () => {
2136
- },
2137
- get revealHiddenTickets() {
2138
- return e.get(ve);
2139
- },
2140
- get revealTicketIds() {
2141
- return e.get(de);
2142
- },
2143
- get venueFeesReady() {
2144
- return e.get(y);
2145
- },
2146
- get currentPromoRule() {
2147
- return e.get(st);
2148
- },
2149
- get syncing() {
2150
- return e.get(j);
2151
- },
2152
- get labels() {
2153
- return s();
2154
- }
2155
- });
2156
- }
2157
- e.reset(F), e.reset(n), e.reset(g);
2158
- var ye = e.sibling(g, 2);
2159
- {
2160
- var B = (j) => {
2161
- var oe = gi();
2162
- e.append(j, oe);
2163
- };
2164
- e.if(ye, (j) => {
2165
- e.get($) && !e.get(re) && j(B);
2166
- });
2167
- }
2168
- var c = e.sibling(ye, 2);
2169
- let x, L;
2170
- var te = e.child(c);
2171
- {
2172
- var ue = (j) => {
2173
- si(j, {});
2174
- }, _e = (j) => {
2175
- {
2176
- let oe = e.derived(() => s().checkout || "Checkout"), ke = e.derived(() => !!e.get(_));
2177
- Ar(j, {
2178
- get btnText() {
2179
- return e.get(oe);
2180
- },
2181
- get loading() {
2182
- return e.get(Q);
2183
- },
2184
- checkoutTicket: nt,
2185
- get quantities() {
2186
- return e.get(C);
2187
- },
2188
- get eventTickets() {
2189
- return e.get(a).availableTickets;
2190
- },
2191
- get promoApplied() {
2192
- return e.get(ke);
2193
- },
2194
- get promoDiscount() {
2195
- return e.get(Ke);
2196
- },
2197
- get taxAmount() {
2198
- return e.get(we);
2199
- },
2200
- get taxLoading() {
2201
- return e.get(Pe);
2202
- },
2203
- onPriceUpdate: () => {
2204
- }
2205
- });
2206
- }
2207
- };
2208
- e.if(te, (j) => {
2209
- e.get(y) ? e.get(a) && e.get(a).availableTickets?.length && j(_e, 1) : j(ue);
2210
- });
2211
- }
2212
- e.reset(c), e.reset(i), e.bind_this(i, (j) => e.set(Z, j), () => e.get(Z)), e.template_effect(() => {
2213
- x = e.set_class(c, 1, "w-full md:w-80 flex flex-col transition-all will-change-[left] svelte-19g9ni4", null, x, { "is-sticky": e.get($) }), L = e.set_style(c, "", L, { left: e.get($) ? `${e.get(fe)}px` : "auto" });
2214
- }), e.append(o, i);
2215
- };
2216
- e.if(je, (o) => {
2217
- e.get(K) ? o(ut) : e.get(q) ? o(We, 1) : e.get(a) && e.get(H) ? o(pt, 2) : e.get(a) && o(tt, 3);
2218
- });
2219
- }
2220
- e.reset(Te), e.bind_this(Te, (o) => e.set(d, o), () => e.get(d));
2221
- var Ze = e.sibling(Te, 2);
2222
- Bt(Ze, {
2223
- get open() {
2224
- return V.isOpen;
2225
- },
2226
- size: "sm",
2227
- oncancel: b,
2228
- "aria-labelledby": "error-modal-title",
2229
- header: (n) => {
2230
- var r = mi(), p = e.child(r);
2231
- {
2232
- var O = (M) => {
2233
- var F = e.text();
2234
- e.template_effect(() => e.set_text(F, s().unableToReserveTickets || "Unable to reserve tickets")), e.append(M, F);
2235
- }, G = (M) => {
2236
- var F = e.text();
2237
- e.template_effect(() => e.set_text(F, s().connectionIssue || "Connection issue")), e.append(M, F);
2238
- };
2239
- e.if(p, (M) => {
2240
- e.get(ee) === "cart_failed" ? M(O) : M(G, -1);
2241
- });
2242
- }
2243
- e.reset(r), e.append(n, r);
2244
- },
2245
- body: (n) => {
2246
- var r = _i(), p = e.child(r);
2247
- {
2248
- var O = (M) => {
2249
- var F = da(), le = e.first_child(F), ye = e.child(le, !0);
2250
- e.reset(le);
2251
- var B = e.sibling(le, 2), c = e.child(B, !0);
2252
- e.reset(B), e.template_effect(() => {
2253
- e.set_text(ye, s().cartFailedMessage || "We couldn't reserve your tickets. This may be due to a network issue or the tickets may no longer be available"), e.set_text(c, s().pleaseGoBackAndTryAgain || "Please go back and try again");
2254
- }), e.append(M, F);
2255
- }, G = (M) => {
2256
- var F = da(), le = e.first_child(F), ye = e.child(le, !0);
2257
- e.reset(le);
2258
- var B = e.sibling(le, 2), c = e.child(B, !0);
2259
- e.reset(B), e.template_effect(() => {
2260
- e.set_text(ye, s().cartSuccessMessage || "Your tickets are reserved and being held for you"), e.set_text(c, s().cartSuccessNetworkError || "However, we encountered a connection issue. Please refresh the page to continue to checkout");
2261
- }), e.append(M, F);
2262
- };
2263
- e.if(p, (M) => {
2264
- e.get(ee) === "cart_failed" ? M(O) : M(G, -1);
2265
- });
2266
- }
2267
- e.reset(r), e.append(n, r);
2268
- },
2269
- footer: (n) => {
2270
- var r = bi(), p = e.child(r);
2271
- {
2272
- var O = (M) => {
2273
- {
2274
- let F = e.derived(() => s().goBack || "Go back");
2275
- Ye(M, {
2276
- variant: "default",
2277
- onclick: b,
2278
- get "aria-label"() {
2279
- return e.get(F);
2280
- },
2281
- children: (le, ye) => {
2282
- e.next();
2283
- var B = e.text();
2284
- e.template_effect(() => e.set_text(B, s().goBack || "Go back")), e.append(le, B);
2285
- },
2286
- $$slots: { default: !0 }
2287
- });
2288
- }
2289
- }, G = (M) => {
2290
- var F = hi(), le = e.first_child(F);
2291
- {
2292
- let B = e.derived(() => s().cancel || "Cancel");
2293
- Ye(le, {
2294
- variant: "alternative",
2295
- onclick: b,
2296
- get "aria-label"() {
2297
- return e.get(B);
2298
- },
2299
- children: (c, x) => {
2300
- e.next();
2301
- var L = e.text();
2302
- e.template_effect(() => e.set_text(L, s().cancel || "Cancel")), e.append(c, L);
2303
- },
2304
- $$slots: { default: !0 }
2305
- });
2306
- }
2307
- var ye = e.sibling(le, 2);
2308
- {
2309
- let B = e.derived(() => s().refreshPage || "Refresh page");
2310
- Ye(ye, {
2311
- variant: "default",
2312
- onclick: D,
2313
- get "aria-label"() {
2314
- return e.get(B);
2315
- },
2316
- children: (c, x) => {
2317
- e.next();
2318
- var L = e.text();
2319
- e.template_effect(() => e.set_text(L, s().refreshPage || "Refresh page")), e.append(c, L);
2320
- },
2321
- $$slots: { default: !0 }
2322
- });
2323
- }
2324
- e.append(M, F);
2325
- };
2326
- e.if(p, (M) => {
2327
- e.get(ee) === "cart_failed" ? M(O) : M(G, -1);
2328
- });
2329
- }
2330
- e.reset(r), e.append(n, r);
2331
- },
2332
- $$slots: { header: !0, body: !0, footer: !0 }
2333
- });
2334
- var ht = e.sibling(Ze, 2);
2335
- Bt(ht, {
2336
- get open() {
2337
- return k.isOpen;
2338
- },
2339
- size: "sm",
2340
- persistent: !0,
2341
- oncancel: () => {
2342
- k.close(), it("checkout-cartid"), window.location.reload();
2343
- },
2344
- "aria-labelledby": "expired-modal-title",
2345
- header: (n) => {
2346
- var r = xi(), p = e.child(r, !0);
2347
- e.reset(r), e.template_effect(() => e.set_text(p, s().cartExpiredTitle || "Your cart has expired")), e.append(n, r);
2348
- },
2349
- body: (n) => {
2350
- var r = yi(), p = e.child(r, !0);
2351
- e.reset(r), e.template_effect(() => e.set_text(p, s().cartExpiredMessage || "Your cart has expired. Please start your purchase again")), e.append(n, r);
2352
- },
2353
- footer: (n) => {
2354
- Ye(n, {
2355
- variant: "default",
2356
- onclick: () => {
2357
- k.close(), it("checkout-cartid"), window.location.reload();
2358
- },
2359
- children: (r, p) => {
2360
- e.next();
2361
- var O = e.text();
2362
- e.template_effect(() => e.set_text(O, s().startOver || "Start over")), e.append(r, O);
2363
- },
2364
- $$slots: { default: !0 }
2365
- });
2366
- },
2367
- $$slots: { header: !0, body: !0, footer: !0 }
2368
- });
2369
- var bt = e.sibling(ht, 2);
2370
- Bt(bt, {
2371
- get open() {
2372
- return ge.isOpen;
2373
- },
2374
- size: "sm",
2375
- oncancel: m,
2376
- "aria-labelledby": "availability-modal-title",
2377
- header: (n) => {
2378
- var r = ki(), p = e.child(r, !0);
2379
- e.reset(r), e.template_effect(() => e.set_text(p, s().limitedAvailability || "Limited availability")), e.append(n, r);
2380
- },
2381
- body: (n) => {
2382
- var r = Ti(), p = e.child(r), O = e.child(p, !0);
2383
- e.reset(p);
2384
- var G = e.sibling(p, 2);
2385
- e.each(G, 21, () => e.get(De), (B) => B.ticketId, (B, c) => {
2386
- var x = wi(), L = e.child(x), te = e.child(L);
2387
- e.reset(L);
2388
- var ue = e.sibling(L, 2);
2389
- {
2390
- var _e = (oe) => {
2391
- var ke = e.text();
2392
- e.template_effect((Ce) => e.set_text(ke, Ce), [
2393
- () => (s().onlyNAvailable || "Only {available} available (you selected {requested})").replace("{available}", String(e.get(c).availableQty)).replace("{requested}", String(e.get(c).requestedQty))
2394
- ]), e.append(oe, ke);
2395
- }, j = (oe) => {
2396
- var ke = e.text();
2397
- e.template_effect((Ce) => e.set_text(ke, Ce), [
2398
- () => (s().soldOutYouSelected || "Sold out (you selected {requested})").replace("{requested}", String(e.get(c).requestedQty))
2399
- ]), e.append(oe, ke);
2400
- };
2401
- e.if(ue, (oe) => {
2402
- e.get(c).availableQty > 0 ? oe(_e) : oe(j, -1);
2403
- });
2404
- }
2405
- e.reset(x), e.template_effect(() => e.set_text(te, `${e.get(c).ticketName ?? ""}:`)), e.append(B, x);
2406
- }), e.reset(G);
2407
- var M = e.sibling(G, 2);
2408
- {
2409
- var F = (B) => {
2410
- var c = ca(), x = e.child(c, !0);
2411
- e.reset(c), e.template_effect(() => e.set_text(x, s().partialAvailabilityContinue || "Would you like to continue with the available tickets?")), e.append(B, c);
2412
- }, le = e.derived(() => e.get(De).some((B) => B.availableQty > 0)), ye = (B) => {
2413
- var c = ca(), x = e.child(c, !0);
2414
- e.reset(c), e.template_effect(() => e.set_text(x, s().allTicketsSoldOut || "Unfortunately, all the tickets you selected have sold out")), e.append(B, c);
2415
- };
2416
- e.if(M, (B) => {
2417
- e.get(le) ? B(F) : B(ye, -1);
2418
- });
2419
- }
2420
- e.reset(r), e.template_effect(() => {
2421
- e.set_text(O, s().ticketsNoLongerAvailableMessage || "Some tickets you selected are no longer available in the requested quantities:"), e.set_attribute(G, "aria-label", s().ticketAvailabilityChanges || "Ticket availability changes");
2422
- }), e.append(n, r);
2423
- },
2424
- footer: (n) => {
2425
- var r = Ci(), p = e.child(r);
2426
- {
2427
- let F = e.derived(() => s().goBack || "Go back");
2428
- Ye(p, {
2429
- variant: "alternative",
2430
- onclick: m,
2431
- get "aria-label"() {
2432
- return e.get(F);
2433
- },
2434
- children: (le, ye) => {
2435
- e.next();
2436
- var B = e.text();
2437
- e.template_effect(() => e.set_text(B, s().goBack || "Go back")), e.append(le, B);
2438
- },
2439
- $$slots: { default: !0 }
2440
- });
2441
- }
2442
- var O = e.sibling(p, 2);
2443
- {
2444
- var G = (F) => {
2445
- {
2446
- let le = e.derived(() => s().continueWithAvailable || "Continue with available");
2447
- Ye(F, {
2448
- variant: "default",
2449
- onclick: ot,
2450
- get "aria-label"() {
2451
- return e.get(le);
2452
- },
2453
- children: (ye, B) => {
2454
- e.next();
2455
- var c = e.text();
2456
- e.template_effect(() => e.set_text(c, s().continueWithAvailable || "Continue with available")), e.append(ye, c);
2457
- },
2458
- $$slots: { default: !0 }
2459
- });
2460
- }
2461
- }, M = e.derived(() => e.get(De).some((F) => F.availableQty > 0));
2462
- e.if(O, (F) => {
2463
- e.get(M) && F(G);
2464
- });
2465
- }
2466
- e.reset(r), e.append(n, r);
2467
- },
2468
- $$slots: { header: !0, body: !0, footer: !0 }
2469
- }), e.append(ae, ze), e.pop();
2470
- }
2471
- e.delegate(["click"]);
2472
- export {
2473
- qi as default
2474
- };
2475
- //# sourceMappingURL=CartView-H6PXIc8m.js.map