@getmicdrop/venue-calendar 3.5.2 → 3.5.5

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 (49) hide show
  1. package/README.md +661 -661
  2. package/dist/CarouselView.legacy-C9QYS3av.js +64 -0
  3. package/dist/CarouselView.legacy-C9QYS3av.js.map +1 -0
  4. package/dist/{Checkout.legacy-Btt0uT61.js → Checkout.legacy-CyiqW4Im.js} +177 -181
  5. package/dist/Checkout.legacy-CyiqW4Im.js.map +1 -0
  6. package/dist/{CollectionView.legacy-Bxih-dA-.js → CollectionView.legacy-CQeXXMOU.js} +125 -125
  7. package/dist/CollectionView.legacy-CQeXXMOU.js.map +1 -0
  8. package/dist/FeaturedView.legacy-C3td2GLq.js +128 -0
  9. package/dist/FeaturedView.legacy-C3td2GLq.js.map +1 -0
  10. package/dist/GalleryView.legacy-BJwdUDNJ.js +51 -0
  11. package/dist/GalleryView.legacy-BJwdUDNJ.js.map +1 -0
  12. package/dist/GroupedListView.legacy-DWU0K8XY.js +144 -0
  13. package/dist/GroupedListView.legacy-DWU0K8XY.js.map +1 -0
  14. package/dist/{SeriesPage.legacy-Ka81Mn73.js → SeriesPage.legacy-D-ZoVrPE.js} +2 -2
  15. package/dist/SeriesPage.legacy-D-ZoVrPE.js.map +1 -0
  16. package/dist/Success.legacy-D9zlNOn7.js +191 -0
  17. package/dist/Success.legacy-D9zlNOn7.js.map +1 -0
  18. package/dist/{VenueCalendar-B5Y29ZJD.js → VenueCalendar-DX2HF1GE.js} +4859 -4815
  19. package/dist/VenueCalendar-DX2HF1GE.js.map +1 -0
  20. package/dist/api/api.cjs.map +1 -1
  21. package/dist/api/api.mjs.map +1 -1
  22. package/dist/api/types.d.ts +349 -349
  23. package/dist/colors-BZoMuXdh.js.map +1 -1
  24. package/dist/seo/seo.cjs.map +1 -1
  25. package/dist/seo/seo.mjs.map +1 -1
  26. package/dist/seo/types.d.ts +135 -135
  27. package/dist/types/index.d.ts +387 -387
  28. package/dist/venue-calendar.css +1 -1
  29. package/dist/venue-calendar.es.js +2 -2
  30. package/dist/venue-calendar.iife.js +24 -24
  31. package/dist/venue-calendar.iife.js.map +1 -1
  32. package/dist/venue-calendar.umd.js +24 -24
  33. package/dist/venue-calendar.umd.js.map +1 -1
  34. package/package.json +112 -112
  35. package/src/lib/theme.js +209 -209
  36. package/dist/CarouselView.legacy-CRHakGOL.js +0 -64
  37. package/dist/CarouselView.legacy-CRHakGOL.js.map +0 -1
  38. package/dist/Checkout.legacy-Btt0uT61.js.map +0 -1
  39. package/dist/CollectionView.legacy-Bxih-dA-.js.map +0 -1
  40. package/dist/FeaturedView.legacy-CVEXHJBx.js +0 -128
  41. package/dist/FeaturedView.legacy-CVEXHJBx.js.map +0 -1
  42. package/dist/GalleryView.legacy-Ci-IHtAe.js +0 -51
  43. package/dist/GalleryView.legacy-Ci-IHtAe.js.map +0 -1
  44. package/dist/GroupedListView.legacy-qisy7BOS.js +0 -144
  45. package/dist/GroupedListView.legacy-qisy7BOS.js.map +0 -1
  46. package/dist/SeriesPage.legacy-Ka81Mn73.js.map +0 -1
  47. package/dist/Success.legacy-D72O08IB.js +0 -191
  48. package/dist/Success.legacy-D72O08IB.js.map +0 -1
  49. package/dist/VenueCalendar-B5Y29ZJD.js.map +0 -1
@@ -0,0 +1,191 @@
1
+ import "svelte/internal/disclose-version";
2
+ import * as e from "svelte/internal/client";
3
+ import { onMount as ne } from "svelte";
4
+ import { t as ce, r as H, s as me, w as ge } from "./VenueCalendar-DX2HF1GE.js";
5
+ import { A as r } from "./colors-BZoMuXdh.js";
6
+ var pe = e.from_html('<div class="confetti svelte-g1e40p"></div>'), fe = e.from_html('<div class="confetti-container svelte-g1e40p" aria-hidden="true"></div>'), ue = e.from_html('<div class="detail-row svelte-g1e40p"><dt class="detail-label svelte-g1e40p">Order ID</dt> <dd class="detail-value order-id svelte-g1e40p"> </dd></div>'), _e = e.from_html('<div class="detail-row svelte-g1e40p"><dt class="detail-label svelte-g1e40p">Event</dt> <dd class="detail-value event-name svelte-g1e40p"> </dd></div>'), he = e.from_html('<div class="detail-row svelte-g1e40p"><dt class="detail-label svelte-g1e40p">When</dt> <dd class="detail-value svelte-g1e40p"><time class="svelte-g1e40p"> </time></dd></div>'), be = e.from_html('<div class="detail-row svelte-g1e40p"><dt class="detail-label svelte-g1e40p">Where</dt> <dd class="detail-value svelte-g1e40p"> </dd></div>'), ke = e.from_html('<a class="nav-link secondary svelte-g1e40p">Back to event</a>'), ye = e.from_html('<a class="nav-link primary svelte-g1e40p">Browse more events</a>'), we = e.from_html('<nav aria-label="Next steps"><!> <!></nav>'), xe = e.from_html(`<div class="success-container svelte-g1e40p" role="main" aria-labelledby="success-title"><!> <div class="content-wrapper svelte-g1e40p"><div><div class="machine-slot svelte-g1e40p"><div class="slot-inner svelte-g1e40p"></div></div> <div><div class="ticket-content svelte-g1e40p"><div class="ticket-header svelte-g1e40p"><div class="success-badge svelte-g1e40p" aria-hidden="true"><!></div> <h1 id="success-title" class="success-title svelte-g1e40p">You're all set!</h1> <p class="success-subtitle svelte-g1e40p">Your tickets have been confirmed</p></div> <div class="ticket-divider svelte-g1e40p"><div class="divider-notch left svelte-g1e40p"></div> <div class="divider-line svelte-g1e40p"></div> <div class="divider-notch right svelte-g1e40p"></div></div> <dl aria-label="Order details"><div class="detail-row svelte-g1e40p"><dt class="detail-label svelte-g1e40p">Email</dt> <dd class="detail-value svelte-g1e40p"> </dd></div> <!> <!> <!> <!></dl> <div class="ticket-footer svelte-g1e40p"><p class="footer-text svelte-g1e40p">Check your email for your tickets</p></div></div> <div class="ticket-stub svelte-g1e40p"></div></div></div> <!></div></div>`);
7
+ function Le(J, f) {
8
+ e.push(f, !0);
9
+ let O = e.prop(f, "data", 19, () => ({})), h = e.prop(f, "eventUrl", 3, ""), b = e.prop(f, "browseUrl", 3, "/");
10
+ const {
11
+ organizationID: Ee,
12
+ orgSlug: Te,
13
+ slug: De,
14
+ event: k,
15
+ orderId: K,
16
+ customerEmail: y,
17
+ eventName: w,
18
+ eventDateTime: x,
19
+ eventLocation: E
20
+ } = O() || {};
21
+ let i = null;
22
+ if (k)
23
+ try {
24
+ i = ce(k);
25
+ } catch (t) {
26
+ console.warn("transformEvent failed in Success component:", t), i = k;
27
+ }
28
+ let Q = null, u = e.state(""), o = e.state(""), n = e.state(""), c = e.state(""), m = e.state(""), g = K || O()?.orderId || "", U = e.state(!1), T = e.state(!1), D = e.state(!1);
29
+ function C(t) {
30
+ if (!t) return "";
31
+ const a = i?.timeZone || "UTC";
32
+ return ge(t, a);
33
+ }
34
+ const A = [
35
+ r.coral,
36
+ r.sky.light,
37
+ r.sky[400],
38
+ r.mint[600],
39
+ r.yellow[300],
40
+ r.plum,
41
+ r.mint[500],
42
+ r.yellow[500]
43
+ ], R = Array.from({ length: 50 }, (t, a) => ({
44
+ id: a,
45
+ color: A[Math.floor(Math.random() * A.length)],
46
+ left: Math.random() * 100,
47
+ delay: Math.random() * 0.5,
48
+ duration: 2 + Math.random() * 2,
49
+ size: 6 + Math.random() * 8,
50
+ rotation: Math.random() * 360
51
+ }));
52
+ ne(async () => {
53
+ setTimeout(
54
+ () => {
55
+ e.set(U, !0);
56
+ },
57
+ 100
58
+ ), setTimeout(
59
+ () => {
60
+ e.set(T, !0);
61
+ },
62
+ 300
63
+ ), setTimeout(
64
+ () => {
65
+ e.set(D, !0);
66
+ },
67
+ 800
68
+ );
69
+ try {
70
+ let t = null;
71
+ try {
72
+ typeof H == "function" && g && (t = await H(g));
73
+ } catch (a) {
74
+ console.warn("getOrder failed in Success component, falling back to provided data:", a);
75
+ }
76
+ t ? (Q = t, e.set(u, t.customerEmail || y || "", !0), e.set(o, t.id || g, !0), e.set(n, t.eventName || i?.name || w || "", !0), e.set(c, C(t.eventDateTime || i?.startDateTime || x), !0), e.set(m, t.eventLocation || i?.location || E || "", !0)) : (e.set(u, y || "", !0), e.set(o, g, !0), e.set(n, w || i?.name || "", !0), e.set(c, C(x || i?.startDateTime), !0), e.set(m, E || i?.location || "", !0));
77
+ } catch (t) {
78
+ console.error("Error fetching order data:", t), t.message, e.set(u, y || "your-email@example.com", !0), e.set(o, g, !0), e.set(n, i?.name || w || "", !0), e.set(c, C(i?.startDateTime || x), !0), e.set(m, i?.location || E || "", !0);
79
+ }
80
+ });
81
+ var M = xe(), S = e.child(M);
82
+ {
83
+ var V = (t) => {
84
+ var a = fe();
85
+ e.each(a, 21, () => R, (l) => l.id, (l, s) => {
86
+ var v = pe();
87
+ e.template_effect(() => e.set_style(v, `
88
+ left: ${e.get(s).left ?? ""}%;
89
+ background-color: ${e.get(s).color ?? ""};
90
+ animation-delay: ${e.get(s).delay ?? ""}s;
91
+ animation-duration: ${e.get(s).duration ?? ""}s;
92
+ width: ${e.get(s).size ?? ""}px;
93
+ height: ${e.get(s).size ?? ""}px;
94
+ transform: rotate(${e.get(s).rotation ?? ""}deg);
95
+ `)), e.append(l, v);
96
+ }), e.reset(a), e.append(t, a);
97
+ };
98
+ e.if(S, (t) => {
99
+ e.get(U) && t(V);
100
+ });
101
+ }
102
+ var $ = e.sibling(S, 2), _ = e.child($);
103
+ let B;
104
+ var I = e.sibling(e.child(_), 2);
105
+ let W;
106
+ var Y = e.child(I), z = e.child(Y), F = e.child(z), X = e.child(F);
107
+ me(X, { class: "check-icon" }), e.reset(F), e.next(4), e.reset(z);
108
+ var L = e.sibling(z, 4);
109
+ let P;
110
+ var N = e.child(L), Z = e.sibling(e.child(N), 2), ee = e.child(Z, !0);
111
+ e.reset(Z), e.reset(N);
112
+ var j = e.sibling(N, 2);
113
+ {
114
+ var te = (t) => {
115
+ var a = ue(), l = e.sibling(e.child(a), 2), s = e.child(l);
116
+ e.reset(l), e.reset(a), e.template_effect(() => e.set_text(s, `#${e.get(o) ?? ""}`)), e.append(t, a);
117
+ };
118
+ e.if(j, (t) => {
119
+ e.get(o) && t(te);
120
+ });
121
+ }
122
+ var q = e.sibling(j, 2);
123
+ {
124
+ var ae = (t) => {
125
+ var a = _e(), l = e.sibling(e.child(a), 2), s = e.child(l, !0);
126
+ e.reset(l), e.reset(a), e.template_effect(() => e.set_text(s, e.get(n))), e.append(t, a);
127
+ };
128
+ e.if(q, (t) => {
129
+ e.get(n) && t(ae);
130
+ });
131
+ }
132
+ var G = e.sibling(q, 2);
133
+ {
134
+ var se = (t) => {
135
+ var a = he(), l = e.sibling(e.child(a), 2), s = e.child(l), v = e.child(s, !0);
136
+ e.reset(s), e.reset(l), e.reset(a), e.template_effect(() => e.set_text(v, e.get(c))), e.append(t, a);
137
+ };
138
+ e.if(G, (t) => {
139
+ e.get(c) && t(se);
140
+ });
141
+ }
142
+ var le = e.sibling(G, 2);
143
+ {
144
+ var ie = (t) => {
145
+ var a = be(), l = e.sibling(e.child(a), 2), s = e.child(l, !0);
146
+ e.reset(l), e.reset(a), e.template_effect(() => e.set_text(s, e.get(m))), e.append(t, a);
147
+ };
148
+ e.if(le, (t) => {
149
+ e.get(m) && t(ie);
150
+ });
151
+ }
152
+ e.reset(L), e.next(2), e.reset(Y), e.next(2), e.reset(I), e.reset(_);
153
+ var re = e.sibling(_, 2);
154
+ {
155
+ var de = (t) => {
156
+ var a = we();
157
+ let l;
158
+ var s = e.child(a);
159
+ {
160
+ var v = (d) => {
161
+ var p = ke();
162
+ e.template_effect(() => e.set_attribute(p, "href", h())), e.append(d, p);
163
+ };
164
+ e.if(s, (d) => {
165
+ h() && d(v);
166
+ });
167
+ }
168
+ var ve = e.sibling(s, 2);
169
+ {
170
+ var oe = (d) => {
171
+ var p = ye();
172
+ e.template_effect(() => e.set_attribute(p, "href", b())), e.append(d, p);
173
+ };
174
+ e.if(ve, (d) => {
175
+ b() && d(oe);
176
+ });
177
+ }
178
+ e.reset(a), e.template_effect(() => l = e.set_class(a, 1, "nav-ctas svelte-g1e40p", null, l, { "fade-in": e.get(D) })), e.append(t, a);
179
+ };
180
+ e.if(re, (t) => {
181
+ (h() || b()) && t(de);
182
+ });
183
+ }
184
+ e.reset($), e.reset(M), e.template_effect(() => {
185
+ B = e.set_class(_, 1, "ticket-machine svelte-g1e40p", null, B, { animate: e.get(T) }), W = e.set_class(I, 1, "ticket svelte-g1e40p", null, W, { "slide-out": e.get(T) }), P = e.set_class(L, 1, "ticket-details svelte-g1e40p", null, P, { "fade-in": e.get(D) }), e.set_text(ee, e.get(u) || "Loading...");
186
+ }), e.append(J, M), e.pop();
187
+ }
188
+ export {
189
+ Le as default
190
+ };
191
+ //# sourceMappingURL=Success.legacy-D9zlNOn7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Success.legacy-D9zlNOn7.js","sources":["../src/components/Views/Success.legacy.svelte"],"sourcesContent":["<script>\r\n import { onMount } from \"svelte\";\r\n import { transformEvent, getOrder } from \"$lib/utils/utils.js\";\r\n import { formatConfirmationDateTime } from \"$lib/utils/datetime.js\";\r\n import { CheckmarkFilled } from \"carbon-icons-svelte\";\r\n import { ACCENT, DARK } from \"$lib/constants/colors.ts\";\r\n\r\n let {\r\n data = {},\r\n eventUrl = '',\r\n browseUrl = '/',\r\n } = $props();\r\n\r\n const {\r\n organizationID,\r\n orgSlug,\r\n slug,\r\n event: rawEvent,\r\n orderId: providedOrderId,\r\n customerEmail: providedCustomerEmail,\r\n eventName: providedEventName,\r\n eventDateTime: providedEventDateTime,\r\n eventLocation: providedEventLocation,\r\n } = data || {};\r\n\r\n let event = null;\r\n if (rawEvent) {\r\n try {\r\n event = transformEvent(rawEvent);\r\n } catch (e) {\r\n console.warn(\"transformEvent failed in Success component:\", e);\r\n event = rawEvent;\r\n }\r\n }\r\n\r\n let order = null;\r\n let error = null;\r\n let Email = $state(\"\");\r\n let id = $state(\"\");\r\n let name = $state(\"\");\r\n let time = $state(\"\");\r\n let Location = $state(\"\");\r\n let orderId = providedOrderId || data?.orderId || \"\";\r\n\r\n // Animation states\r\n let showConfetti = $state(false);\r\n let showTicket = $state(false);\r\n let showDetails = $state(false);\r\n\r\n function formatDateTime(dateTimeString) {\r\n if (!dateTimeString) return \"\";\r\n // Use event timezone if available, otherwise fall back to UTC\r\n const tz = event?.timeZone || 'UTC';\r\n return formatConfirmationDateTime(dateTimeString, tz);\r\n }\r\n\r\n // Generate confetti particles\r\n const confettiColors = [\r\n ACCENT.coral,\r\n ACCENT.sky.light,\r\n ACCENT.sky[400],\r\n ACCENT.mint[600],\r\n ACCENT.yellow[300],\r\n ACCENT.plum,\r\n ACCENT.mint[500],\r\n ACCENT.yellow[500]\r\n ];\r\n const confettiParticles = Array.from({ length: 50 }, (_, i) => ({\r\n id: i,\r\n color: confettiColors[Math.floor(Math.random() * confettiColors.length)],\r\n left: Math.random() * 100,\r\n delay: Math.random() * 0.5,\r\n duration: 2 + Math.random() * 2,\r\n size: 6 + Math.random() * 8,\r\n rotation: Math.random() * 360\r\n }));\r\n\r\n onMount(async () => {\r\n // Start animations\r\n setTimeout(() => {\r\n showConfetti = true;\r\n }, 100);\r\n\r\n setTimeout(() => {\r\n showTicket = true;\r\n }, 300);\r\n\r\n setTimeout(() => {\r\n showDetails = true;\r\n }, 800);\r\n\r\n try {\r\n let orderData = null;\r\n try {\r\n if (typeof getOrder === \"function\" && orderId) {\r\n orderData = await getOrder(orderId);\r\n }\r\n } catch (e) {\r\n console.warn(\r\n \"getOrder failed in Success component, falling back to provided data:\",\r\n e\r\n );\r\n }\r\n\r\n if (orderData) {\r\n order = orderData;\r\n Email = orderData.customerEmail || providedCustomerEmail || \"\";\r\n id = orderData.id || orderId;\r\n name = orderData.eventName || event?.name || providedEventName || \"\";\r\n time = formatDateTime(\r\n orderData.eventDateTime ||\r\n event?.startDateTime ||\r\n providedEventDateTime\r\n );\r\n Location =\r\n orderData.eventLocation ||\r\n event?.location ||\r\n providedEventLocation ||\r\n \"\";\r\n } else {\r\n Email = providedCustomerEmail || \"\";\r\n id = orderId;\r\n name = providedEventName || event?.name || \"\";\r\n time = formatDateTime(providedEventDateTime || event?.startDateTime);\r\n Location = providedEventLocation || event?.location || \"\";\r\n }\r\n } catch (err) {\r\n console.error(\"Error fetching order data:\", err);\r\n error = err.message;\r\n Email = providedCustomerEmail || \"your-email@example.com\";\r\n id = orderId;\r\n name = event?.name || providedEventName || \"\";\r\n time = formatDateTime(event?.startDateTime || providedEventDateTime);\r\n Location = event?.location || providedEventLocation || \"\";\r\n }\r\n });\r\n</script>\r\n\r\n<div class=\"success-container\" role=\"main\" aria-labelledby=\"success-title\">\r\n <!-- Confetti -->\r\n {#if showConfetti}\r\n <div class=\"confetti-container\" aria-hidden=\"true\">\r\n {#each confettiParticles as particle (particle.id)}\r\n <div\r\n class=\"confetti\"\r\n style=\"\r\n left: {particle.left}%;\r\n background-color: {particle.color};\r\n animation-delay: {particle.delay}s;\r\n animation-duration: {particle.duration}s;\r\n width: {particle.size}px;\r\n height: {particle.size}px;\r\n transform: rotate({particle.rotation}deg);\r\n \"\r\n ></div>\r\n {/each}\r\n </div>\r\n {/if}\r\n\r\n <div class=\"content-wrapper\">\r\n <!-- Ticket Machine Animation -->\r\n <div class=\"ticket-machine\" class:animate={showTicket}>\r\n <!-- Machine slot -->\r\n <div class=\"machine-slot\">\r\n <div class=\"slot-inner\"></div>\r\n </div>\r\n\r\n <!-- Ticket coming out -->\r\n <div class=\"ticket\" class:slide-out={showTicket}>\r\n <div class=\"ticket-content\">\r\n <div class=\"ticket-header\">\r\n <div class=\"success-badge\" aria-hidden=\"true\">\r\n <CheckmarkFilled class=\"check-icon\" />\r\n </div>\r\n <h1 id=\"success-title\" class=\"success-title\">You're all set!</h1>\r\n <p class=\"success-subtitle\">Your tickets have been confirmed</p>\r\n </div>\r\n\r\n <div class=\"ticket-divider\">\r\n <div class=\"divider-notch left\"></div>\r\n <div class=\"divider-line\"></div>\r\n <div class=\"divider-notch right\"></div>\r\n </div>\r\n\r\n <dl class=\"ticket-details\" class:fade-in={showDetails} aria-label=\"Order details\">\r\n <div class=\"detail-row\">\r\n <dt class=\"detail-label\">Email</dt>\r\n <dd class=\"detail-value\">{Email || 'Loading...'}</dd>\r\n </div>\r\n\r\n {#if id}\r\n <div class=\"detail-row\">\r\n <dt class=\"detail-label\">Order ID</dt>\r\n <dd class=\"detail-value order-id\">#{id}</dd>\r\n </div>\r\n {/if}\r\n\r\n {#if name}\r\n <div class=\"detail-row\">\r\n <dt class=\"detail-label\">Event</dt>\r\n <dd class=\"detail-value event-name\">{name}</dd>\r\n </div>\r\n {/if}\r\n\r\n {#if time}\r\n <div class=\"detail-row\">\r\n <dt class=\"detail-label\">When</dt>\r\n <dd class=\"detail-value\"><time>{time}</time></dd>\r\n </div>\r\n {/if}\r\n\r\n {#if Location}\r\n <div class=\"detail-row\">\r\n <dt class=\"detail-label\">Where</dt>\r\n <dd class=\"detail-value\">{Location}</dd>\r\n </div>\r\n {/if}\r\n </dl>\r\n\r\n <div class=\"ticket-footer\">\r\n <p class=\"footer-text\">Check your email for your tickets</p>\r\n </div>\r\n </div>\r\n\r\n <!-- Ticket stub pattern -->\r\n <div class=\"ticket-stub\"></div>\r\n </div>\r\n </div>\r\n\r\n <!-- Navigation CTAs -->\r\n {#if eventUrl || browseUrl}\r\n <nav class=\"nav-ctas\" class:fade-in={showDetails} aria-label=\"Next steps\">\r\n {#if eventUrl}\r\n <a href={eventUrl} class=\"nav-link secondary\">Back to event</a>\r\n {/if}\r\n {#if browseUrl}\r\n <a href={browseUrl} class=\"nav-link primary\">Browse more events</a>\r\n {/if}\r\n </nav>\r\n {/if}\r\n </div>\r\n</div>\r\n\r\n<style>\r\n .success-container {\r\n position: relative;\r\n min-height: 100vh;\r\n overflow: hidden;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 1.25rem;\r\n background: linear-gradient(180deg, hsl(var(--bg-primary)) 0%, hsl(var(--bg-secondary)) 100%);\r\n \r\n &:where(.dark, .dark *) {\r\n background: linear-gradient(180deg, hsl(var(--bg-primary)) 0%, hsl(var(--bg-primary)) 100%);\r\n }\r\n }\r\n\r\n /* Confetti */\r\n .confetti-container {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n height: 100%;\r\n pointer-events: none;\r\n overflow: hidden;\r\n }\r\n\r\n .confetti {\r\n position: absolute;\r\n top: -20px;\r\n border-radius: 2px;\r\n animation: confetti-fall linear forwards;\r\n }\r\n\r\n @keyframes confetti-fall {\r\n 0% {\r\n transform: translateY(0) rotate(0deg);\r\n opacity: 1;\r\n }\r\n 100% {\r\n transform: translateY(100vh) rotate(720deg);\r\n opacity: 0;\r\n }\r\n }\r\n\r\n /* Content wrapper */\r\n .content-wrapper {\r\n position: relative;\r\n z-index: 10;\r\n width: 100%;\r\n max-width: 380px;\r\n }\r\n\r\n /* Ticket machine */\r\n .ticket-machine {\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n\r\n .machine-slot {\r\n width: 100%;\r\n height: 16px;\r\n background: linear-gradient(180deg, hsl(var(--muted)) 0%, hsl(var(--bg-primary)) 100%);\r\n border-radius: 8px 8px 0 0;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n box-shadow: 0 4px 12px color-mix(in srgb, black 20%, transparent);\r\n position: relative;\r\n z-index: 5;\r\n }\r\n\r\n .slot-inner {\r\n width: 80%;\r\n height: 4px;\r\n background: hsl(var(--bg-primary));\r\n border-radius: 2px;\r\n }\r\n\r\n /* Ticket */\r\n .ticket {\r\n width: 100%;\r\n background: hsl(var(--bg-primary));\r\n border-radius: 0 0 16px 16px;\r\n box-shadow: 0 8px 32px color-mix(in srgb, black 12%, transparent);\r\n overflow: hidden;\r\n transform: translateY(-100%);\r\n opacity: 0;\r\n transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;\r\n }\r\n\r\n .ticket.slide-out {\r\n transform: translateY(0);\r\n opacity: 1;\r\n }\r\n\r\n .ticket-content {\r\n padding: 32px 24px 24px;\r\n }\r\n\r\n .ticket-header {\r\n text-align: center;\r\n margin-bottom: 24px;\r\n }\r\n\r\n .success-badge {\r\n width: 64px;\r\n height: 64px;\r\n background: linear-gradient(135deg, hsl(var(--accent-success)) 0%, hsl(var(--accent-success)) 100%);\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n margin: 0 auto 16px;\r\n animation: badge-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s both;\r\n }\r\n\r\n @keyframes badge-pop {\r\n 0% {\r\n transform: scale(0);\r\n }\r\n 100% {\r\n transform: scale(1);\r\n }\r\n }\r\n\r\n .success-badge :global(.check-icon) {\r\n width: 32px;\r\n height: 32px;\r\n color: hsl(var(--bg-primary));\r\n }\r\n\r\n .success-title {\r\n font-size: 1.5rem;\r\n line-height: 2rem;\r\n font-weight: 600;\r\n color: hsl(var(--text-primary));\r\n margin-bottom: 0.5rem;\r\n }\r\n\r\n .success-subtitle {\r\n font-size: 0.875rem;\r\n line-height: 1.25rem;\r\n color: hsl(var(--text-secondary));\r\n margin: 0;\r\n }\r\n\r\n /* Ticket divider */\r\n .ticket-divider {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n margin: 0 -24px 24px;\r\n padding: 0 24px;\r\n }\r\n\r\n .divider-notch {\r\n width: 1rem;\r\n height: 1rem;\r\n border-radius: 9999px;\r\n position: absolute;\r\n background-color: hsl(var(--bg-primary));\r\n }\r\n\r\n .divider-notch.left {\r\n left: -8px;\r\n }\r\n\r\n .divider-notch.right {\r\n right: -8px;\r\n }\r\n\r\n .divider-line {\r\n flex: 1 1 0%;\r\n height: 0.125rem;\r\n background: repeating-linear-gradient(\r\n 90deg,\r\n hsl(var(--stroke-primary)) 0,\r\n hsl(var(--stroke-primary)) 8px,\r\n transparent 8px,\r\n transparent 16px\r\n );\r\n \r\n &:where(.dark, .dark *) {\r\n background: repeating-linear-gradient(\r\n 90deg,\r\n hsl(var(--text-secondary)) 0,\r\n hsl(var(--text-secondary)) 8px,\r\n transparent 8px,\r\n transparent 16px\r\n );\r\n }\r\n }\r\n\r\n /* Ticket details */\r\n .ticket-details {\r\n opacity: 0;\r\n transform: translateY(10px);\r\n transition: opacity 0.4s ease, transform 0.4s ease;\r\n }\r\n\r\n .ticket-details.fade-in {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n\r\n .detail-row {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0.25rem;\r\n padding-top: 0.75rem;\r\n padding-bottom: 0.75rem;\r\n border-bottom: 1px solid hsl(var(--stroke-primary) / 0.5);\r\n }\r\n\r\n .detail-row:last-child {\r\n border-bottom: 0;\r\n }\r\n\r\n .detail-label {\r\n font-size: 0.75rem;\r\n line-height: 1rem;\r\n font-weight: 600;\r\n color: hsl(var(--text-tertiary));\r\n text-transform: uppercase;\r\n letter-spacing: 0.025em;\r\n }\r\n\r\n .detail-value {\r\n font-size: 0.875rem;\r\n line-height: 1.25rem;\r\n font-weight: 500;\r\n color: hsl(var(--text-primary));\r\n overflow-wrap: break-word;\r\n }\r\n\r\n .detail-value.order-id {\r\n color: hsl(var(--brand-primary));\r\n font-family: 'SF Mono', 'Consolas', monospace;\r\n }\r\n\r\n .detail-value.event-name {\r\n font-size: 1rem;\r\n line-height: 1.5rem;\r\n font-weight: 600;\r\n }\r\n\r\n /* Ticket footer */\r\n .ticket-footer {\r\n margin-top: 1.5rem;\r\n padding: 1rem;\r\n border-radius: 0.5rem;\r\n text-align: center;\r\n background-color: hsl(var(--bg-secondary) / 0.5);\r\n }\r\n\r\n .footer-text {\r\n font-size: 0.875rem;\r\n line-height: 1.25rem;\r\n color: hsl(var(--text-secondary));\r\n margin: 0;\r\n }\r\n\r\n /* Ticket stub pattern */\r\n .ticket-stub {\r\n height: 1.5rem;\r\n background: linear-gradient(\r\n 90deg,\r\n transparent 0,\r\n transparent 8px,\r\n hsl(var(--stroke-primary) / 0.3) 8px,\r\n hsl(var(--stroke-primary) / 0.3) 16px\r\n );\r\n background-size: 16px 100%;\r\n }\r\n\r\n /* Navigation CTAs */\r\n .nav-ctas {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 0.75rem;\r\n margin-top: 1.5rem;\r\n opacity: 0;\r\n transform: translateY(10px);\r\n transition: opacity 0.4s ease 0.2s, transform 0.4s ease 0.2s;\r\n }\r\n\r\n .nav-ctas.fade-in {\r\n opacity: 1;\r\n transform: translateY(0);\r\n }\r\n\r\n .nav-link {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 0.75rem 1rem;\r\n border-radius: 0.5rem;\r\n font-size: 0.875rem;\r\n line-height: 1.25rem;\r\n font-weight: 600;\r\n text-decoration: none;\r\n transition: background-color 0.15s, color 0.15s;\r\n }\r\n\r\n .nav-link.primary {\r\n background: hsl(var(--brand-primary, 220 90% 56%));\r\n color: hsl(var(--text-on-primary, 0 0% 100%));\r\n }\r\n\r\n .nav-link.primary:hover {\r\n filter: brightness(0.95);\r\n }\r\n\r\n .nav-link.secondary {\r\n background-color: hsl(var(--bg-tertiary));\r\n color: hsl(var(--text-secondary));\r\n }\r\n\r\n .nav-link.secondary:hover {\r\n background-color: hsl(var(--bg-quaternary));\r\n }\r\n\r\n /* Responsive */\r\n @media (max-width: 480px) {\r\n .success-container {\r\n padding: 16px;\r\n }\r\n\r\n .ticket-content {\r\n padding: 24px 20px 20px;\r\n }\r\n\r\n .success-title {\r\n font-size: 20px;\r\n }\r\n\r\n .success-badge {\r\n width: 56px;\r\n height: 56px;\r\n }\r\n\r\n .success-badge :global(.check-icon) {\r\n width: 28px;\r\n height: 28px;\r\n }\r\n }\r\n</style>\r\n"],"names":["data","$","$$props","eventUrl","browseUrl","organizationID","orgSlug","slug","rawEvent","providedOrderId","providedCustomerEmail","providedEventName","providedEventDateTime","providedEventLocation","event","transformEvent","e","order","Email","id","name","time","Location","orderId","showConfetti","showTicket","showDetails","formatDateTime","dateTimeString","tz","formatConfirmationDateTime","confettiColors","ACCENT","confettiParticles","_","i","onMount","orderData","getOrder","err","div","root","div_1","root_1","particle","$$anchor","div_2","root_2","$$render","consequent","div_3","node","div_4","div_5","div_6","div_7","div_8","CheckmarkFilled","node_1","dl","div_9","dd","div_10","root_3","dd_1","consequent_1","div_11","root_4","dd_2","consequent_2","div_12","root_5","dd_3","time_1","consequent_3","div_13","root_6","dd_4","consequent_4","nav","root_7","a","root_8","consequent_5","a_1","root_9","consequent_6","classes_3","consequent_7","classes","classes_1","classes_2","text"],"mappings":"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"}