@getmicdrop/venue-calendar 3.5.3 → 3.6.0

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 (53) hide show
  1. package/README.md +661 -661
  2. package/dist/CarouselView.legacy-DeWfW7JT.js +64 -0
  3. package/dist/CarouselView.legacy-DeWfW7JT.js.map +1 -0
  4. package/dist/{Checkout.legacy-Btt0uT61.js → Checkout.legacy-CJPThT4I.js} +180 -183
  5. package/dist/Checkout.legacy-CJPThT4I.js.map +1 -0
  6. package/dist/{CollectionView.legacy-Bxih-dA-.js → CollectionView.legacy-BG3g7XbI.js} +128 -127
  7. package/dist/CollectionView.legacy-BG3g7XbI.js.map +1 -0
  8. package/dist/FeaturedView.legacy-CALzP8EW.js +128 -0
  9. package/dist/FeaturedView.legacy-CALzP8EW.js.map +1 -0
  10. package/dist/GalleryView.legacy-DIhYvOQU.js +51 -0
  11. package/dist/GalleryView.legacy-DIhYvOQU.js.map +1 -0
  12. package/dist/GroupedListView.legacy-C9dQ_v_d.js +144 -0
  13. package/dist/GroupedListView.legacy-C9dQ_v_d.js.map +1 -0
  14. package/dist/{SeriesPage.legacy-Ka81Mn73.js → SeriesPage.legacy-hSI5Sm8W.js} +2 -2
  15. package/dist/SeriesPage.legacy-hSI5Sm8W.js.map +1 -0
  16. package/dist/Success.legacy-DEjngxhO.js +191 -0
  17. package/dist/Success.legacy-DEjngxhO.js.map +1 -0
  18. package/dist/{VenueCalendar-B5Y29ZJD.js → VenueCalendar-DvT1UOq-.js} +13786 -13474
  19. package/dist/VenueCalendar-DvT1UOq-.js.map +1 -0
  20. package/dist/api/api.cjs +1 -1
  21. package/dist/api/api.cjs.map +1 -1
  22. package/dist/api/api.mjs +278 -266
  23. package/dist/api/api.mjs.map +1 -1
  24. package/dist/api/types.d.ts +349 -349
  25. package/dist/colors-BZoMuXdh.js.map +1 -1
  26. package/dist/seo/seo.cjs +1 -1
  27. package/dist/seo/seo.cjs.map +1 -1
  28. package/dist/seo/seo.mjs +52 -40
  29. package/dist/seo/seo.mjs.map +1 -1
  30. package/dist/seo/types.d.ts +136 -135
  31. package/dist/types/index.d.ts +387 -387
  32. package/dist/venue-calendar.css +1 -1
  33. package/dist/venue-calendar.es.js +2 -2
  34. package/dist/venue-calendar.iife.js +42 -42
  35. package/dist/venue-calendar.iife.js.map +1 -1
  36. package/dist/venue-calendar.umd.js +42 -42
  37. package/dist/venue-calendar.umd.js.map +1 -1
  38. package/package.json +121 -112
  39. package/src/lib/theme.js +213 -209
  40. package/dist/CarouselView.legacy-CRHakGOL.js +0 -64
  41. package/dist/CarouselView.legacy-CRHakGOL.js.map +0 -1
  42. package/dist/Checkout.legacy-Btt0uT61.js.map +0 -1
  43. package/dist/CollectionView.legacy-Bxih-dA-.js.map +0 -1
  44. package/dist/FeaturedView.legacy-CVEXHJBx.js +0 -128
  45. package/dist/FeaturedView.legacy-CVEXHJBx.js.map +0 -1
  46. package/dist/GalleryView.legacy-Ci-IHtAe.js +0 -51
  47. package/dist/GalleryView.legacy-Ci-IHtAe.js.map +0 -1
  48. package/dist/GroupedListView.legacy-qisy7BOS.js +0 -144
  49. package/dist/GroupedListView.legacy-qisy7BOS.js.map +0 -1
  50. package/dist/SeriesPage.legacy-Ka81Mn73.js.map +0 -1
  51. package/dist/Success.legacy-D72O08IB.js +0 -191
  52. package/dist/Success.legacy-D72O08IB.js.map +0 -1
  53. 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-DvT1UOq-.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-DEjngxhO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Success.legacy-DEjngxhO.js","sources":["../src/components/Views/Success.legacy.svelte"],"sourcesContent":["<script>\n import { onMount } from \"svelte\";\n import { transformEvent, getOrder } from \"$lib/utils/utils.js\";\n import { formatConfirmationDateTime } from \"$lib/utils/datetime.js\";\n import { CheckmarkFilled } from \"carbon-icons-svelte\";\n import { ACCENT, DARK } from \"$lib/constants/colors.ts\";\n\n let {\n data = {},\n eventUrl = '',\n browseUrl = '/',\n } = $props();\n\n const {\n organizationID,\n orgSlug,\n slug,\n event: rawEvent,\n orderId: providedOrderId,\n customerEmail: providedCustomerEmail,\n eventName: providedEventName,\n eventDateTime: providedEventDateTime,\n eventLocation: providedEventLocation,\n } = data || {};\n\n let event = null;\n if (rawEvent) {\n try {\n event = transformEvent(rawEvent);\n } catch (e) {\n console.warn(\"transformEvent failed in Success component:\", e);\n event = rawEvent;\n }\n }\n\n let order = null;\n let error = null;\n let Email = $state(\"\");\n let id = $state(\"\");\n let name = $state(\"\");\n let time = $state(\"\");\n let Location = $state(\"\");\n let orderId = providedOrderId || data?.orderId || \"\";\n\n // Animation states\n let showConfetti = $state(false);\n let showTicket = $state(false);\n let showDetails = $state(false);\n\n function formatDateTime(dateTimeString) {\n if (!dateTimeString) return \"\";\n // Use event timezone if available, otherwise fall back to UTC\n const tz = event?.timeZone || 'UTC';\n return formatConfirmationDateTime(dateTimeString, tz);\n }\n\n // Generate confetti particles\n const confettiColors = [\n ACCENT.coral,\n ACCENT.sky.light,\n ACCENT.sky[400],\n ACCENT.mint[600],\n ACCENT.yellow[300],\n ACCENT.plum,\n ACCENT.mint[500],\n ACCENT.yellow[500]\n ];\n const confettiParticles = Array.from({ length: 50 }, (_, i) => ({\n id: i,\n color: confettiColors[Math.floor(Math.random() * confettiColors.length)],\n left: Math.random() * 100,\n delay: Math.random() * 0.5,\n duration: 2 + Math.random() * 2,\n size: 6 + Math.random() * 8,\n rotation: Math.random() * 360\n }));\n\n onMount(async () => {\n // Start animations\n setTimeout(() => {\n showConfetti = true;\n }, 100);\n\n setTimeout(() => {\n showTicket = true;\n }, 300);\n\n setTimeout(() => {\n showDetails = true;\n }, 800);\n\n try {\n let orderData = null;\n try {\n if (typeof getOrder === \"function\" && orderId) {\n orderData = await getOrder(orderId);\n }\n } catch (e) {\n console.warn(\n \"getOrder failed in Success component, falling back to provided data:\",\n e\n );\n }\n\n if (orderData) {\n order = orderData;\n Email = orderData.customerEmail || providedCustomerEmail || \"\";\n id = orderData.id || orderId;\n name = orderData.eventName || event?.name || providedEventName || \"\";\n time = formatDateTime(\n orderData.eventDateTime ||\n event?.startDateTime ||\n providedEventDateTime\n );\n Location =\n orderData.eventLocation ||\n event?.location ||\n providedEventLocation ||\n \"\";\n } else {\n Email = providedCustomerEmail || \"\";\n id = orderId;\n name = providedEventName || event?.name || \"\";\n time = formatDateTime(providedEventDateTime || event?.startDateTime);\n Location = providedEventLocation || event?.location || \"\";\n }\n } catch (err) {\n console.error(\"Error fetching order data:\", err);\n error = err.message;\n Email = providedCustomerEmail || \"your-email@example.com\";\n id = orderId;\n name = event?.name || providedEventName || \"\";\n time = formatDateTime(event?.startDateTime || providedEventDateTime);\n Location = event?.location || providedEventLocation || \"\";\n }\n });\n</script>\n\n<div class=\"success-container\" role=\"main\" aria-labelledby=\"success-title\">\n <!-- Confetti -->\n {#if showConfetti}\n <div class=\"confetti-container\" aria-hidden=\"true\">\n {#each confettiParticles as particle (particle.id)}\n <div\n class=\"confetti\"\n style=\"\n left: {particle.left}%;\n background-color: {particle.color};\n animation-delay: {particle.delay}s;\n animation-duration: {particle.duration}s;\n width: {particle.size}px;\n height: {particle.size}px;\n transform: rotate({particle.rotation}deg);\n \"\n ></div>\n {/each}\n </div>\n {/if}\n\n <div class=\"content-wrapper\">\n <!-- Ticket Machine Animation -->\n <div class=\"ticket-machine\" class:animate={showTicket}>\n <!-- Machine slot -->\n <div class=\"machine-slot\">\n <div class=\"slot-inner\"></div>\n </div>\n\n <!-- Ticket coming out -->\n <div class=\"ticket\" class:slide-out={showTicket}>\n <div class=\"ticket-content\">\n <div class=\"ticket-header\">\n <div class=\"success-badge\" aria-hidden=\"true\">\n <CheckmarkFilled class=\"check-icon\" />\n </div>\n <h1 id=\"success-title\" class=\"success-title\">You're all set!</h1>\n <p class=\"success-subtitle\">Your tickets have been confirmed</p>\n </div>\n\n <div class=\"ticket-divider\">\n <div class=\"divider-notch left\"></div>\n <div class=\"divider-line\"></div>\n <div class=\"divider-notch right\"></div>\n </div>\n\n <dl class=\"ticket-details\" class:fade-in={showDetails} aria-label=\"Order details\">\n <div class=\"detail-row\">\n <dt class=\"detail-label\">Email</dt>\n <dd class=\"detail-value\">{Email || 'Loading...'}</dd>\n </div>\n\n {#if id}\n <div class=\"detail-row\">\n <dt class=\"detail-label\">Order ID</dt>\n <dd class=\"detail-value order-id\">#{id}</dd>\n </div>\n {/if}\n\n {#if name}\n <div class=\"detail-row\">\n <dt class=\"detail-label\">Event</dt>\n <dd class=\"detail-value event-name\">{name}</dd>\n </div>\n {/if}\n\n {#if time}\n <div class=\"detail-row\">\n <dt class=\"detail-label\">When</dt>\n <dd class=\"detail-value\"><time>{time}</time></dd>\n </div>\n {/if}\n\n {#if Location}\n <div class=\"detail-row\">\n <dt class=\"detail-label\">Where</dt>\n <dd class=\"detail-value\">{Location}</dd>\n </div>\n {/if}\n </dl>\n\n <div class=\"ticket-footer\">\n <p class=\"footer-text\">Check your email for your tickets</p>\n </div>\n </div>\n\n <!-- Ticket stub pattern -->\n <div class=\"ticket-stub\"></div>\n </div>\n </div>\n\n <!-- Navigation CTAs -->\n {#if eventUrl || browseUrl}\n <nav class=\"nav-ctas\" class:fade-in={showDetails} aria-label=\"Next steps\">\n {#if eventUrl}\n <a href={eventUrl} class=\"nav-link secondary\">Back to event</a>\n {/if}\n {#if browseUrl}\n <a href={browseUrl} class=\"nav-link primary\">Browse more events</a>\n {/if}\n </nav>\n {/if}\n </div>\n</div>\n\n<style>\n .success-container {\n position: relative;\n min-height: 100vh;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 1.25rem;\n background: linear-gradient(180deg, hsl(var(--bg-primary)) 0%, hsl(var(--bg-secondary)) 100%);\n \n &:where(.dark, .dark *) {\n background: linear-gradient(180deg, hsl(var(--bg-primary)) 0%, hsl(var(--bg-primary)) 100%);\n }\n }\n\n /* Confetti */\n .confetti-container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 100%;\n pointer-events: none;\n overflow: hidden;\n }\n\n .confetti {\n position: absolute;\n top: -20px;\n border-radius: 2px;\n animation: confetti-fall linear forwards;\n }\n\n @keyframes confetti-fall {\n 0% {\n transform: translateY(0) rotate(0deg);\n opacity: 1;\n }\n 100% {\n transform: translateY(100vh) rotate(720deg);\n opacity: 0;\n }\n }\n\n /* Content wrapper */\n .content-wrapper {\n position: relative;\n z-index: 10;\n width: 100%;\n max-width: 380px;\n }\n\n /* Ticket machine */\n .ticket-machine {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .machine-slot {\n width: 100%;\n height: 16px;\n background: linear-gradient(180deg, hsl(var(--muted)) 0%, hsl(var(--bg-primary)) 100%);\n border-radius: 8px 8px 0 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 4px 12px color-mix(in srgb, black 20%, transparent);\n position: relative;\n z-index: 5;\n }\n\n .slot-inner {\n width: 80%;\n height: 4px;\n background: hsl(var(--bg-primary));\n border-radius: 2px;\n }\n\n /* Ticket */\n .ticket {\n width: 100%;\n background: hsl(var(--bg-primary));\n border-radius: 0 0 16px 16px;\n box-shadow: 0 8px 32px color-mix(in srgb, black 12%, transparent);\n overflow: hidden;\n transform: translateY(-100%);\n opacity: 0;\n transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;\n }\n\n .ticket.slide-out {\n transform: translateY(0);\n opacity: 1;\n }\n\n .ticket-content {\n padding: 32px 24px 24px;\n }\n\n .ticket-header {\n text-align: center;\n margin-bottom: 24px;\n }\n\n .success-badge {\n width: 64px;\n height: 64px;\n background: linear-gradient(135deg, hsl(var(--accent-success)) 0%, hsl(var(--accent-success)) 100%);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 16px;\n animation: badge-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s both;\n }\n\n @keyframes badge-pop {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n }\n\n .success-badge :global(.check-icon) {\n width: 32px;\n height: 32px;\n color: hsl(var(--bg-primary));\n }\n\n .success-title {\n font-size: 1.5rem;\n line-height: 2rem;\n font-weight: 600;\n color: hsl(var(--text-primary));\n margin-bottom: 0.5rem;\n }\n\n .success-subtitle {\n font-size: 0.875rem;\n line-height: 1.25rem;\n color: hsl(var(--text-secondary));\n margin: 0;\n }\n\n /* Ticket divider */\n .ticket-divider {\n position: relative;\n display: flex;\n align-items: center;\n margin: 0 -24px 24px;\n padding: 0 24px;\n }\n\n .divider-notch {\n width: 1rem;\n height: 1rem;\n border-radius: 9999px;\n position: absolute;\n background-color: hsl(var(--bg-primary));\n }\n\n .divider-notch.left {\n left: -8px;\n }\n\n .divider-notch.right {\n right: -8px;\n }\n\n .divider-line {\n flex: 1 1 0%;\n height: 0.125rem;\n background: repeating-linear-gradient(\n 90deg,\n hsl(var(--stroke-primary)) 0,\n hsl(var(--stroke-primary)) 8px,\n transparent 8px,\n transparent 16px\n );\n \n &:where(.dark, .dark *) {\n background: repeating-linear-gradient(\n 90deg,\n hsl(var(--text-secondary)) 0,\n hsl(var(--text-secondary)) 8px,\n transparent 8px,\n transparent 16px\n );\n }\n }\n\n /* Ticket details */\n .ticket-details {\n opacity: 0;\n transform: translateY(10px);\n transition: opacity 0.4s ease, transform 0.4s ease;\n }\n\n .ticket-details.fade-in {\n opacity: 1;\n transform: translateY(0);\n }\n\n .detail-row {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n border-bottom: 1px solid hsl(var(--stroke-primary) / 0.5);\n }\n\n .detail-row:last-child {\n border-bottom: 0;\n }\n\n .detail-label {\n font-size: 0.75rem;\n line-height: 1rem;\n font-weight: 600;\n color: hsl(var(--text-tertiary));\n text-transform: uppercase;\n letter-spacing: 0.025em;\n }\n\n .detail-value {\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 500;\n color: hsl(var(--text-primary));\n overflow-wrap: break-word;\n }\n\n .detail-value.order-id {\n color: hsl(var(--brand-primary));\n font-family: 'SF Mono', 'Consolas', monospace;\n }\n\n .detail-value.event-name {\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 600;\n }\n\n /* Ticket footer */\n .ticket-footer {\n margin-top: 1.5rem;\n padding: 1rem;\n border-radius: 0.5rem;\n text-align: center;\n background-color: hsl(var(--bg-secondary) / 0.5);\n }\n\n .footer-text {\n font-size: 0.875rem;\n line-height: 1.25rem;\n color: hsl(var(--text-secondary));\n margin: 0;\n }\n\n /* Ticket stub pattern */\n .ticket-stub {\n height: 1.5rem;\n background: linear-gradient(\n 90deg,\n transparent 0,\n transparent 8px,\n hsl(var(--stroke-primary) / 0.3) 8px,\n hsl(var(--stroke-primary) / 0.3) 16px\n );\n background-size: 16px 100%;\n }\n\n /* Navigation CTAs */\n .nav-ctas {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n margin-top: 1.5rem;\n opacity: 0;\n transform: translateY(10px);\n transition: opacity 0.4s ease 0.2s, transform 0.4s ease 0.2s;\n }\n\n .nav-ctas.fade-in {\n opacity: 1;\n transform: translateY(0);\n }\n\n .nav-link {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0.75rem 1rem;\n border-radius: 0.5rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 600;\n text-decoration: none;\n transition: background-color 0.15s, color 0.15s;\n }\n\n .nav-link.primary {\n background: hsl(var(--brand-primary, 220 90% 56%));\n color: hsl(var(--text-on-primary, 0 0% 100%));\n }\n\n .nav-link.primary:hover {\n filter: brightness(0.95);\n }\n\n .nav-link.secondary {\n background-color: hsl(var(--bg-tertiary));\n color: hsl(var(--text-secondary));\n }\n\n .nav-link.secondary:hover {\n background-color: hsl(var(--bg-quaternary));\n }\n\n /* Responsive */\n @media (max-width: 480px) {\n .success-container {\n padding: 16px;\n }\n\n .ticket-content {\n padding: 24px 20px 20px;\n }\n\n .success-title {\n font-size: 20px;\n }\n\n .success-badge {\n width: 56px;\n height: 56px;\n }\n\n .success-badge :global(.check-icon) {\n width: 28px;\n height: 28px;\n }\n }\n</style>\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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"}