@getmicdrop/venue-calendar 4.0.43 → 4.0.44

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 (30) hide show
  1. package/dist/{CarouselView.legacy-D9Aobb9p.js → CarouselView.legacy-c1FB8Gml.js} +3 -3
  2. package/dist/{CarouselView.legacy-D9Aobb9p.js.map → CarouselView.legacy-c1FB8Gml.js.map} +1 -1
  3. package/dist/{Checkout.legacy-KzuLb2aU.js → Checkout.legacy-DmbOvGux.js} +2 -2
  4. package/dist/Checkout.legacy-DmbOvGux.js.map +1 -0
  5. package/dist/{CollectionView.legacy-CLA6p98w.js → CollectionView.legacy-B_i_1aB8.js} +3 -3
  6. package/dist/CollectionView.legacy-B_i_1aB8.js.map +1 -0
  7. package/dist/{FeaturedView.legacy-Cwd5ps5s.js → FeaturedView.legacy-xD-fgFDL.js} +2 -2
  8. package/dist/{FeaturedView.legacy-Cwd5ps5s.js.map → FeaturedView.legacy-xD-fgFDL.js.map} +1 -1
  9. package/dist/{GalleryCard-YKt2Ty5i.js → GalleryCard-SdquZl-W.js} +2 -2
  10. package/dist/GalleryCard-SdquZl-W.js.map +1 -0
  11. package/dist/{GalleryView.legacy-8nz2kWR0.js → GalleryView.legacy-DPl7sCg2.js} +3 -3
  12. package/dist/{GalleryView.legacy-8nz2kWR0.js.map → GalleryView.legacy-DPl7sCg2.js.map} +1 -1
  13. package/dist/{GroupedListView.legacy-DbfCYUgx.js → GroupedListView.legacy-DF8kSCau.js} +2 -2
  14. package/dist/{GroupedListView.legacy-DbfCYUgx.js.map → GroupedListView.legacy-DF8kSCau.js.map} +1 -1
  15. package/dist/{SeriesPage.legacy-DjJxm3jK.js → SeriesPage.legacy-CgTu0LP5.js} +2 -2
  16. package/dist/{SeriesPage.legacy-DjJxm3jK.js.map → SeriesPage.legacy-CgTu0LP5.js.map} +1 -1
  17. package/dist/{Success.legacy-HT_zxfvr.js → Success.legacy-BH8RWXnX.js} +2 -2
  18. package/dist/{Success.legacy-HT_zxfvr.js.map → Success.legacy-BH8RWXnX.js.map} +1 -1
  19. package/dist/{VenueCalendar-CtRA8qFA.js → VenueCalendar-RUdrUCqm.js} +10 -10
  20. package/dist/{VenueCalendar-CtRA8qFA.js.map → VenueCalendar-RUdrUCqm.js.map} +1 -1
  21. package/dist/venue-calendar.css +1 -1
  22. package/dist/venue-calendar.es.js +2 -2
  23. package/dist/venue-calendar.iife.js +1 -1
  24. package/dist/venue-calendar.iife.js.map +1 -1
  25. package/dist/venue-calendar.umd.js +1 -1
  26. package/dist/venue-calendar.umd.js.map +1 -1
  27. package/package.json +2 -2
  28. package/dist/Checkout.legacy-KzuLb2aU.js.map +0 -1
  29. package/dist/CollectionView.legacy-CLA6p98w.js.map +0 -1
  30. package/dist/GalleryCard-YKt2Ty5i.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import "svelte/internal/disclose-version";
2
2
  import * as e from "svelte/internal/client";
3
3
  import { onMount as C, onDestroy as M } from "svelte";
4
- import { G as x } from "./GalleryCard-YKt2Ty5i.js";
5
- import { f as k } from "./VenueCalendar-CtRA8qFA.js";
4
+ import { G as x } from "./GalleryCard-SdquZl-W.js";
5
+ import { f as k } from "./VenueCalendar-RUdrUCqm.js";
6
6
  var w = e.from_html('<li class="list-none"><!></li>'), E = e.from_html('<div class="flex items-center justify-center gap-2 py-2 p-6" role="status" aria-live="polite"><span class="text-sm text-muted-foreground">Loading more events...</span></div>'), G = e.from_html('<section class="w-full" aria-label="Events gallery"><h2 class="sr-only svelte-lb0ck7">Upcoming events</h2> <ul class="grid grid-cols-1 gap-4 bg-bg-secondary p-2 sm:grid-cols-2 sm:gap-4 sm:p-3 md:grid-cols-3 md:gap-5 md:p-4 lg:grid-cols-4 lg:gap-6 lg:p-5" role="list"></ul> <!></section>');
7
7
  function D(v, i) {
8
8
  e.push(i, !0);
@@ -49,4 +49,4 @@ function D(v, i) {
49
49
  export {
50
50
  D as default
51
51
  };
52
- //# sourceMappingURL=GalleryView.legacy-8nz2kWR0.js.map
52
+ //# sourceMappingURL=GalleryView.legacy-DPl7sCg2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryView.legacy-8nz2kWR0.js","sources":["../src/components/Calendar/GalleryView.legacy.svelte"],"sourcesContent":["<script>\r\n import { onMount, onDestroy } from \"svelte\";\r\n import GalleryCard from \"./GalleryCard.svelte\";\r\n import { filterTodayAndFuture } from \"$lib/utils/browse-status.js\";\r\n\r\n let { events = [], initialCount = 12, loadMoreCount = 12, oneventClick } = $props();\r\n\r\n let displayedCount = initialCount;\r\n let loadMoreTrigger;\r\n let observer;\r\n\r\n // Filter to today and future, sorted chronologically\r\n let futureEvents = $derived(filterTodayAndFuture(events));\r\n let displayedEvents = $derived(futureEvents.slice(0, displayedCount));\r\n let hasMore = $derived(displayedCount < futureEvents.length);\r\n\r\n function loadMore() {\r\n displayedCount += loadMoreCount;\r\n }\r\n\r\n onMount(() => {\r\n observer = new IntersectionObserver(\r\n (entries) => {\r\n if (entries[0].isIntersecting && hasMore) {\r\n loadMore();\r\n }\r\n },\r\n { rootMargin: '100px' }\r\n );\r\n\r\n if (loadMoreTrigger) {\r\n observer.observe(loadMoreTrigger);\r\n }\r\n });\r\n\r\n onDestroy(() => {\r\n if (observer) {\r\n observer.disconnect();\r\n }\r\n });\r\n\r\n // Re-observe when trigger element changes\r\n $effect(() => {\r\n if (observer && loadMoreTrigger) {\r\n observer.disconnect();\r\n observer.observe(loadMoreTrigger);\r\n }\r\n });\r\n</script>\r\n\r\n<section class=\"w-full\" aria-label=\"Events gallery\">\r\n <h2 class=\"sr-only\">Upcoming events</h2>\r\n <ul class=\"grid grid-cols-1 gap-4 bg-bg-secondary p-2 sm:grid-cols-2 sm:gap-4 sm:p-3 md:grid-cols-3 md:gap-5 md:p-4 lg:grid-cols-4 lg:gap-6 lg:p-5\" role=\"list\">\r\n {#each displayedEvents as event}\r\n <li class=\"list-none\">\r\n <GalleryCard {event} {oneventClick} />\r\n </li>\r\n {/each}\r\n </ul>\r\n\r\n <!-- Infinite scroll trigger -->\r\n {#if hasMore}\r\n <div bind:this={loadMoreTrigger} class=\"flex items-center justify-center gap-2 py-2 p-6\" role=\"status\" aria-live=\"polite\">\r\n <span class=\"text-sm text-muted-foreground\">Loading more events...</span>\r\n </div>\r\n {/if}\r\n</section>\r\n\r\n<style>\r\n /* Screen reader only text */\r\n .sr-only {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n padding: 0;\r\n margin: -1px;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n white-space: nowrap;\r\n border-width: 0;\r\n }\r\n</style>\r\n"],"names":["events","$","$$props","initialCount","loadMoreCount","displayedCount","loadMoreTrigger","observer","futureEvents","filterTodayAndFuture","displayedEvents","hasMore","loadMore","onMount","entries","onDestroy","section","root","ul","$$anchor","event","li","root_1","GalleryCard","node","div","root_2","$$value","$$render","consequent"],"mappings":";;;;;;iBAAA;;MAKQA,IAAMC,EAAA,KAAAC,GAAA,UAAA,IAAA,MAAA,EAAA,GAAOC,iCAAe,EAAE,GAAEC,kCAAgB,EAAE,GAEpDC,IAAiBF,EAAY,GAC7BG,GACAC,GAGAC,IAAYP,EAAA,QAAA,MAAYQ,EAAqBT,EAAM,CAAA,CAAA,GACnDU,0BAA2BF,CAAY,EAAC,MAAM,GAAGH,CAAc,CAAA,GAC/DM,IAAOV,EAAA,QAAA,MAAYI,IAAcJ,EAAA,IAAGO,CAAY,EAAC,MAAM;AAElD,WAAAI,IAAW;AAClB,IAAAP,KAAkBD,EAAa;AAAA,EACjC;AAEA,EAAAS,QAAc;AACZ,IAAAN,QAAe;AAAA,MACZ,CAAAO,MAAY;AACP,QAAAA,EAAQ,CAAC,EAAE,kBAAcb,EAAA,IAAIU,CAAO,KACtCC,EAAQ;AAAA,MAEZ;AAAA,MACE,EAAA,YAAY,QAAO;AAAA,OAGnBN,KACFC,EAAS,QAAQD,CAAe;AAAA,EAEpC,CAAC,GAEDS,QAAgB;AACV,IAAAR,KACFA,EAAS,WAAU;AAAA,EAEvB,CAAC,GAGDN,EAAA,kBAAc;IACRM,KAAYD,MACdC,EAAS,WAAU,GACnBA,EAAS,QAAQD,CAAe;AAAA,EAEpC,CAAC;MAGFU,IAAOC,EAAA,GAELC,sBAFFF,CAAO,GAAA,CAAA;SAELE,GAAE,IAAA,MAAAjB,EAAA,IACMS,CAAe,GAAAT,EAAA,OAAA,CAAAkB,GAAIC,MAAK;QAC5BC,IAAEC,EAAA,eAAFD,CAAE;AACA,IAAAE,EAAWC,GAAA;AAAA;qBAAEJ,CAAK;AAAA;;;;gBADpBC,CAAE,eAAFA,CAAE;AAAA,cAFNH,CAAE;oBAAFA,GAAE,CAAA;;;UAUAO,IAAGC,EAAA;kBAAHD,GAAG,CAAAE,MAAYrB,IAAeqB,GAAA,MAAfrB,CAAe,eAA9BmB,CAAG;AAAA;;YADDd,CAAO,KAAAiB,EAAAC,CAAA;AAAA;;UAXbb,CAAO,eAAPA,CAAO;AAFA;"}
1
+ {"version":3,"file":"GalleryView.legacy-DPl7sCg2.js","sources":["../src/components/Calendar/GalleryView.legacy.svelte"],"sourcesContent":["<script>\r\n import { onMount, onDestroy } from \"svelte\";\r\n import GalleryCard from \"./GalleryCard.svelte\";\r\n import { filterTodayAndFuture } from \"$lib/utils/browse-status.js\";\r\n\r\n let { events = [], initialCount = 12, loadMoreCount = 12, oneventClick } = $props();\r\n\r\n let displayedCount = initialCount;\r\n let loadMoreTrigger;\r\n let observer;\r\n\r\n // Filter to today and future, sorted chronologically\r\n let futureEvents = $derived(filterTodayAndFuture(events));\r\n let displayedEvents = $derived(futureEvents.slice(0, displayedCount));\r\n let hasMore = $derived(displayedCount < futureEvents.length);\r\n\r\n function loadMore() {\r\n displayedCount += loadMoreCount;\r\n }\r\n\r\n onMount(() => {\r\n observer = new IntersectionObserver(\r\n (entries) => {\r\n if (entries[0].isIntersecting && hasMore) {\r\n loadMore();\r\n }\r\n },\r\n { rootMargin: '100px' }\r\n );\r\n\r\n if (loadMoreTrigger) {\r\n observer.observe(loadMoreTrigger);\r\n }\r\n });\r\n\r\n onDestroy(() => {\r\n if (observer) {\r\n observer.disconnect();\r\n }\r\n });\r\n\r\n // Re-observe when trigger element changes\r\n $effect(() => {\r\n if (observer && loadMoreTrigger) {\r\n observer.disconnect();\r\n observer.observe(loadMoreTrigger);\r\n }\r\n });\r\n</script>\r\n\r\n<section class=\"w-full\" aria-label=\"Events gallery\">\r\n <h2 class=\"sr-only\">Upcoming events</h2>\r\n <ul class=\"grid grid-cols-1 gap-4 bg-bg-secondary p-2 sm:grid-cols-2 sm:gap-4 sm:p-3 md:grid-cols-3 md:gap-5 md:p-4 lg:grid-cols-4 lg:gap-6 lg:p-5\" role=\"list\">\r\n {#each displayedEvents as event}\r\n <li class=\"list-none\">\r\n <GalleryCard {event} {oneventClick} />\r\n </li>\r\n {/each}\r\n </ul>\r\n\r\n <!-- Infinite scroll trigger -->\r\n {#if hasMore}\r\n <div bind:this={loadMoreTrigger} class=\"flex items-center justify-center gap-2 py-2 p-6\" role=\"status\" aria-live=\"polite\">\r\n <span class=\"text-sm text-muted-foreground\">Loading more events...</span>\r\n </div>\r\n {/if}\r\n</section>\r\n\r\n<style>\r\n /* Screen reader only text */\r\n .sr-only {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n padding: 0;\r\n margin: -1px;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n white-space: nowrap;\r\n border-width: 0;\r\n }\r\n</style>\r\n"],"names":["events","$","$$props","initialCount","loadMoreCount","displayedCount","loadMoreTrigger","observer","futureEvents","filterTodayAndFuture","displayedEvents","hasMore","loadMore","onMount","entries","onDestroy","section","root","ul","$$anchor","event","li","root_1","GalleryCard","node","div","root_2","$$value","$$render","consequent"],"mappings":";;;;;;iBAAA;;MAKQA,IAAMC,EAAA,KAAAC,GAAA,UAAA,IAAA,MAAA,EAAA,GAAOC,iCAAe,EAAE,GAAEC,kCAAgB,EAAE,GAEpDC,IAAiBF,EAAY,GAC7BG,GACAC,GAGAC,IAAYP,EAAA,QAAA,MAAYQ,EAAqBT,EAAM,CAAA,CAAA,GACnDU,0BAA2BF,CAAY,EAAC,MAAM,GAAGH,CAAc,CAAA,GAC/DM,IAAOV,EAAA,QAAA,MAAYI,IAAcJ,EAAA,IAAGO,CAAY,EAAC,MAAM;AAElD,WAAAI,IAAW;AAClB,IAAAP,KAAkBD,EAAa;AAAA,EACjC;AAEA,EAAAS,QAAc;AACZ,IAAAN,QAAe;AAAA,MACZ,CAAAO,MAAY;AACP,QAAAA,EAAQ,CAAC,EAAE,kBAAcb,EAAA,IAAIU,CAAO,KACtCC,EAAQ;AAAA,MAEZ;AAAA,MACE,EAAA,YAAY,QAAO;AAAA,OAGnBN,KACFC,EAAS,QAAQD,CAAe;AAAA,EAEpC,CAAC,GAEDS,QAAgB;AACV,IAAAR,KACFA,EAAS,WAAU;AAAA,EAEvB,CAAC,GAGDN,EAAA,kBAAc;IACRM,KAAYD,MACdC,EAAS,WAAU,GACnBA,EAAS,QAAQD,CAAe;AAAA,EAEpC,CAAC;MAGFU,IAAOC,EAAA,GAELC,sBAFFF,CAAO,GAAA,CAAA;SAELE,GAAE,IAAA,MAAAjB,EAAA,IACMS,CAAe,GAAAT,EAAA,OAAA,CAAAkB,GAAIC,MAAK;QAC5BC,IAAEC,EAAA,eAAFD,CAAE;AACA,IAAAE,EAAWC,GAAA;AAAA;qBAAEJ,CAAK;AAAA;;;;gBADpBC,CAAE,eAAFA,CAAE;AAAA,cAFNH,CAAE;oBAAFA,GAAE,CAAA;;;UAUAO,IAAGC,EAAA;kBAAHD,GAAG,CAAAE,MAAYrB,IAAeqB,GAAA,MAAfrB,CAAe,eAA9BmB,CAAG;AAAA;;YADDd,CAAO,KAAAiB,EAAAC,CAAA;AAAA;;UAXbb,CAAO,eAAPA,CAAO;AAFA;"}
@@ -1,7 +1,7 @@
1
1
  import "svelte/internal/disclose-version";
2
2
  import * as e from "svelte/internal/client";
3
3
  import { onMount as te, onDestroy as ae } from "svelte";
4
- import { f as re, g as se, a as ie, i as le, P as ne, b as F, c as L, S as oe } from "./VenueCalendar-CtRA8qFA.js";
4
+ import { f as re, g as se, a as ie, i as le, P as ne, b as F, c as L, S as oe } from "./VenueCalendar-RUdrUCqm.js";
5
5
  var de = e.from_html('<div class="w-16 min-w-16 py-4 px-2.5 flex flex-col items-center justify-start bg-bg-secondary border-r border-border max-sm:w-12 max-sm:min-w-12 max-sm:py-2.5 max-sm:px-1.5" aria-hidden="true"><span class="text-xs font-semibold text-text-secondary uppercase tracking-tight"> </span> <span class="text-2xl max-sm:text-lg font-bold text-text-primary leading-tight"> </span> <span class="text-xs font-semibold text-text-secondary uppercase tracking-tight"> </span></div>'), me = e.from_html('<p class="event-description text-sm text-text-secondary mt-1.5 mb-0 line-clamp-2 max-sm:hidden svelte-r2wh13"> </p>'), ce = e.from_html("<span> </span>"), ge = e.from_html('<li class="list-none"><div tabindex="0" role="button"><div class="w-36 h-24 min-w-36 max-sm:w-20 max-sm:h-16 max-sm:min-w-20 rounded-lg overflow-hidden bg-bg-secondary flex items-center justify-center" aria-hidden="true"><img alt="" class="w-full h-full object-contain svelte-r2wh13" loading="lazy"/></div> <div class="flex-1 flex flex-col gap-1.5 min-w-0" aria-hidden="true"><h3 class="text-lg max-sm:text-sm font-semibold text-text-primary m-0 leading-snug"> </h3> <time class="text-sm max-sm:text-xs font-medium text-text-secondary"> </time> <!></div> <div class="flex items-start pt-0.5" aria-hidden="true"><!></div></div></li>'), fe = e.from_html('<div class="date-group flex border-b border-border last:border-b-0 svelte-r2wh13" role="group"><!> <ul class="events-column flex-1 flex flex-col list-none p-0 m-0 svelte-r2wh13"></ul></div>'), ve = e.from_html('<div class="flex justify-center items-center p-6 text-text-secondary" role="status" aria-live="polite"><span class="text-sm">Loading more events...</span></div>'), ue = e.from_html('<section aria-label="Event listings"><h2 class="sr-only svelte-r2wh13">Event list grouped by date</h2> <!> <!></section>');
6
6
  function he(P, m) {
7
7
  e.push(m, !0);
@@ -141,4 +141,4 @@ e.delegate(["click", "keydown"]);
141
141
  export {
142
142
  he as default
143
143
  };
144
- //# sourceMappingURL=GroupedListView.legacy-DbfCYUgx.js.map
144
+ //# sourceMappingURL=GroupedListView.legacy-DF8kSCau.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupedListView.legacy-DbfCYUgx.js","sources":["../src/components/Calendar/GroupedListView.legacy.svelte"],"sourcesContent":["<script>\r\n import { onMount, onDestroy } from \"svelte\";\r\n import { PLACEHOLDER_IMAGE } from \"$lib/utils/constants.js\";\r\n import { getDateParts, formatFullDate, formatEventTime } from \"$lib/utils/datetime.js\";\r\n import { getBrowseStatus, isEventUnavailable, filterTodayAndFuture } from \"$lib/utils/browse-status.js\";\r\n import ScarcityBadge from \"../ScarcityBadge.svelte\";\r\n\r\n let {\r\n events = [],\r\n initialCount = 10,\r\n loadMoreCount = 10,\r\n showDateColumn = true,\r\n filterFutureOnly = true,\r\n oneventClick\r\n } = $props();\r\n\r\n let displayedCount = initialCount;\r\n let loadMoreTrigger;\r\n let observer;\r\n\r\n // Filter to today and future (if enabled), then group by date\r\n let filteredEvents = $derived(filterFutureOnly ? filterTodayAndFuture(events) : events);\r\n let groupedEvents = $derived(groupEventsByDate(filteredEvents.slice(0, displayedCount)));\r\n let hasMore = $derived(displayedCount < filteredEvents.length);\r\n\r\n function loadMore() {\r\n displayedCount += loadMoreCount;\r\n }\r\n\r\n onMount(() => {\r\n observer = new IntersectionObserver(\r\n (entries) => {\r\n if (entries[0].isIntersecting && hasMore) {\r\n loadMore();\r\n }\r\n },\r\n { rootMargin: '100px' }\r\n );\r\n\r\n if (loadMoreTrigger) {\r\n observer.observe(loadMoreTrigger);\r\n }\r\n });\r\n\r\n onDestroy(() => {\r\n if (observer) {\r\n observer.disconnect();\r\n }\r\n });\r\n\r\n // Re-observe when trigger element changes\r\n $effect(() => {\r\n if (observer && loadMoreTrigger) {\r\n observer.disconnect();\r\n observer.observe(loadMoreTrigger);\r\n }\r\n });\r\n\r\n function groupEventsByDate(eventList) {\r\n const groups = {};\r\n\r\n for (const event of eventList) {\r\n const dateKey = event.date; // YYYY-MM-DD format\r\n if (!groups[dateKey]) {\r\n groups[dateKey] = [];\r\n }\r\n groups[dateKey].push(event);\r\n }\r\n\r\n // Convert to array sorted by date\r\n return Object.entries(groups)\r\n .sort(([a], [b]) => new Date(a) - new Date(b))\r\n .map(([date, events]) => ({\r\n date,\r\n events,\r\n formattedDate: formatGroupDate(events),\r\n }));\r\n }\r\n\r\n function formatGroupDate(events) {\r\n // Use the first event in the group to get timezone-aware date parts\r\n const firstEvent = events[0];\r\n if (!firstEvent?.startDateTime) return { month: '', day: '', weekday: '' };\r\n const parts = getDateParts(firstEvent.startDateTime, firstEvent.timeZone);\r\n return {\r\n month: parts.month.toUpperCase(),\r\n day: String(parts.date).padStart(2, '0'),\r\n weekday: parts.day.toUpperCase(),\r\n };\r\n }\r\n\r\n function handleEventClick(event) {\r\n oneventClick?.(event);\r\n }\r\n\r\n function handleKeydown(e, event) {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n handleEventClick(event);\r\n }\r\n }\r\n</script>\r\n\r\n<section class=\"flex flex-col gap-0\" class:no-date-column={!showDateColumn} aria-label=\"Event listings\">\r\n <h2 class=\"sr-only\">Event list grouped by date</h2>\r\n {#each groupedEvents as group}\r\n <div class=\"date-group flex border-b border-border last:border-b-0\" role=\"group\" aria-label=\"Events on {group.events[0]?.startDateTime ? formatFullDate(group.events[0].startDateTime, group.events[0].timeZone) : group.date}\">\r\n <!-- Date Column -->\r\n {#if showDateColumn}\r\n <div class=\"w-16 min-w-16 py-4 px-2.5 flex flex-col items-center justify-start bg-bg-secondary border-r border-border max-sm:w-12 max-sm:min-w-12 max-sm:py-2.5 max-sm:px-1.5\" aria-hidden=\"true\">\r\n <span class=\"text-xs font-semibold text-text-secondary uppercase tracking-tight\">{group.formattedDate.month}</span>\r\n <span class=\"text-2xl max-sm:text-lg font-bold text-text-primary leading-tight\">{group.formattedDate.day}</span>\r\n <span class=\"text-xs font-semibold text-text-secondary uppercase tracking-tight\">{group.formattedDate.weekday}</span>\r\n </div>\r\n {/if}\r\n\r\n <!-- Events Column -->\r\n <ul class=\"events-column flex-1 flex flex-col list-none p-0 m-0\">\r\n {#each group.events as event, eventIndex}\r\n {@const eventStatus = getBrowseStatus(event)}\r\n {@const isUnavailable = isEventUnavailable(eventStatus)}\r\n <li class=\"list-none\">\r\n <div\r\n class=\"event-row flex gap-4 max-sm:gap-2.5 p-5 max-sm:p-3 cursor-pointer transition-colors duration-150 bg-card border-b border-border/50 last:border-b-0 hover:bg-bg-secondary focus:outline-2 focus:outline-brand-primary focus:-outline-offset-2 focus-visible:outline-2 focus-visible:outline-brand-primary:outline-brand-primary focus-visible:-outline-offset-2\"\r\n class:row-unavailable={isUnavailable}\r\n onclick={() => handleEventClick(event)}\r\n onkeydown={(e) => handleKeydown(e, event)}\r\n tabindex=\"0\"\r\n role=\"button\"\r\n aria-label={`${event.name} on ${event.startDateTime ? formatFullDate(event.startDateTime, event.timeZone) : group.date} at ${event.startDateTime ? formatEventTime(event.startDateTime, event.timeZone) : ''}, ${eventStatus?.text || event.status || 'On Sale'}. Press Enter to view details.`}\r\n >\r\n <!-- Event Image -->\r\n <div class=\"w-36 h-24 min-w-36 max-sm:w-20 max-sm:h-16 max-sm:min-w-20 rounded-lg overflow-hidden bg-bg-secondary flex items-center justify-center\" aria-hidden=\"true\">\r\n <img\r\n src={event.image || PLACEHOLDER_IMAGE}\r\n alt=\"\"\r\n class=\"w-full h-full object-contain\"\r\n loading=\"lazy\"\r\n />\r\n </div>\r\n\r\n <!-- Event Details (visually shown but also in aria-label, so hide from SR) -->\r\n <div class=\"flex-1 flex flex-col gap-1.5 min-w-0\" aria-hidden=\"true\">\r\n <h3 class=\"text-lg max-sm:text-sm font-semibold text-text-primary m-0 leading-snug\">{event.name}</h3>\r\n <time class=\"text-sm max-sm:text-xs font-medium text-text-secondary\" datetime={event.startDateTime || group.date}>{event.startDateTime ? formatEventTime(event.startDateTime, event.timeZone) : ''}</time>\r\n {#if event.description}\r\n <p class=\"event-description text-sm text-text-secondary mt-1.5 mb-0 line-clamp-2 max-sm:hidden\">{event.description}</p>\r\n {/if}\r\n </div>\r\n\r\n <!-- Status / Scarcity Badge -->\r\n <div class=\"flex items-start pt-0.5\" aria-hidden=\"true\">\r\n {#if eventStatus}\r\n <span class=\"status-badge status-{eventStatus.type}\">{eventStatus.text}</span>\r\n {:else if event.ticketsTotal > 0 || event.ticketsRemaining === 0}\r\n <ScarcityBadge\r\n remaining={event.ticketsRemaining ?? 0}\r\n total={event.ticketsTotal ?? 0}\r\n context=\"browse\"\r\n />\r\n {/if}\r\n </div>\r\n </div>\r\n </li>\r\n {/each}\r\n </ul>\r\n </div>\r\n {/each}\r\n\r\n <!-- Infinite scroll trigger -->\r\n {#if hasMore}\r\n <div bind:this={loadMoreTrigger} class=\"flex justify-center items-center p-6 text-text-secondary\" role=\"status\" aria-live=\"polite\">\r\n <span class=\"text-sm\">Loading more events...</span>\r\n </div>\r\n {/if}\r\n</section>\r\n\r\n<style>\r\n /* When no date column, remove left border styling */\r\n .no-date-column .date-group {\r\n border-bottom: 0;\r\n }\r\n\r\n .no-date-column .events-column {\r\n border-left: 0;\r\n }\r\n\r\n .event-description {\r\n display: -webkit-box;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n }\r\n\r\n /* Unavailable row dimming */\r\n .row-unavailable {\r\n opacity: 0.6;\r\n }\r\n\r\n .row-unavailable img {\r\n filter: grayscale(0.5);\r\n }\r\n\r\n /* Status badges -- distinct visual treatments matching gallery cards */\r\n .status-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n font-size: 0.75rem;\r\n line-height: 1rem;\r\n font-weight: 700;\r\n padding: 0.25rem 0.625rem;\r\n border-radius: 0.25rem;\r\n white-space: nowrap;\r\n letter-spacing: 0.02em;\r\n }\r\n\r\n .status-cancelled {\r\n background-color: hsl(var(--accent-danger) / 10%);\r\n color: hsl(var(--accent-danger));\r\n text-decoration: line-through;\r\n text-decoration-thickness: 1.5px;\r\n\r\n \r\n }\r\n\r\n .status-past {\r\n background-color: hsl(var(--bg-tertiary));\r\n color: hsl(var(--text-tertiary));\r\n\r\n \r\n }\r\n\r\n .status-sold_out {\r\n background-color: hsl(var(--accent-danger) / 10%);\r\n color: hsl(var(--accent-danger));\r\n text-transform: uppercase;\r\n letter-spacing: 0.05em;\r\n font-size: 0.65rem;\r\n\r\n \r\n }\r\n\r\n .status-sales_ended {\r\n background-color: hsl(var(--bg-tertiary));\r\n color: hsl(var(--text-tertiary));\r\n border: 1px solid hsl(var(--stroke-primary));\r\n\r\n \r\n }\r\n\r\n .status-coming_soon {\r\n background-color: hsl(var(--brand-primary) / 15%);\r\n color: hsl(var(--brand-primary));\r\n\r\n \r\n }\r\n\r\n /* Reduced motion */\r\n @media (prefers-reduced-motion: reduce) {\r\n .event-row {\r\n transition: none;\r\n }\r\n }\r\n\r\n /* Screen reader only text */\r\n .sr-only {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n padding: 0;\r\n margin: -1px;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n white-space: nowrap;\r\n border-width: 0;\r\n }\r\n</style>\r\n"],"names":["events","$","$$props","initialCount","loadMoreCount","showDateColumn","filterFutureOnly","displayedCount","loadMoreTrigger","observer","filteredEvents","filterTodayAndFuture","groupedEvents","groupEventsByDate","hasMore","loadMore","onMount","entries","onDestroy","eventList","groups","event","dateKey","a","b","date","formatGroupDate","firstEvent","parts","getDateParts","handleEventClick","handleKeydown","e","section","root","node","group","div","root_1","div_1","root_2","span","span_1","span_2","$$render","consequent","ul","node_1","eventStatus","getBrowseStatus","isUnavailable","isEventUnavailable","li","root_3","div_2","div_3","img","div_4","h3","time","p","root_4","text_5","consequent_1","div_5","span_3","root_5","text_6","ScarcityBadge","$$anchor","consequent_2","consequent_3","classes_1","$0","PLACEHOLDER_IMAGE","text_3","formatFullDate","formatEventTime","div_6","root_7","$$value","consequent_4","classes"],"mappings":"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"}
1
+ {"version":3,"file":"GroupedListView.legacy-DF8kSCau.js","sources":["../src/components/Calendar/GroupedListView.legacy.svelte"],"sourcesContent":["<script>\r\n import { onMount, onDestroy } from \"svelte\";\r\n import { PLACEHOLDER_IMAGE } from \"$lib/utils/constants.js\";\r\n import { getDateParts, formatFullDate, formatEventTime } from \"$lib/utils/datetime.js\";\r\n import { getBrowseStatus, isEventUnavailable, filterTodayAndFuture } from \"$lib/utils/browse-status.js\";\r\n import ScarcityBadge from \"../ScarcityBadge.svelte\";\r\n\r\n let {\r\n events = [],\r\n initialCount = 10,\r\n loadMoreCount = 10,\r\n showDateColumn = true,\r\n filterFutureOnly = true,\r\n oneventClick\r\n } = $props();\r\n\r\n let displayedCount = initialCount;\r\n let loadMoreTrigger;\r\n let observer;\r\n\r\n // Filter to today and future (if enabled), then group by date\r\n let filteredEvents = $derived(filterFutureOnly ? filterTodayAndFuture(events) : events);\r\n let groupedEvents = $derived(groupEventsByDate(filteredEvents.slice(0, displayedCount)));\r\n let hasMore = $derived(displayedCount < filteredEvents.length);\r\n\r\n function loadMore() {\r\n displayedCount += loadMoreCount;\r\n }\r\n\r\n onMount(() => {\r\n observer = new IntersectionObserver(\r\n (entries) => {\r\n if (entries[0].isIntersecting && hasMore) {\r\n loadMore();\r\n }\r\n },\r\n { rootMargin: '100px' }\r\n );\r\n\r\n if (loadMoreTrigger) {\r\n observer.observe(loadMoreTrigger);\r\n }\r\n });\r\n\r\n onDestroy(() => {\r\n if (observer) {\r\n observer.disconnect();\r\n }\r\n });\r\n\r\n // Re-observe when trigger element changes\r\n $effect(() => {\r\n if (observer && loadMoreTrigger) {\r\n observer.disconnect();\r\n observer.observe(loadMoreTrigger);\r\n }\r\n });\r\n\r\n function groupEventsByDate(eventList) {\r\n const groups = {};\r\n\r\n for (const event of eventList) {\r\n const dateKey = event.date; // YYYY-MM-DD format\r\n if (!groups[dateKey]) {\r\n groups[dateKey] = [];\r\n }\r\n groups[dateKey].push(event);\r\n }\r\n\r\n // Convert to array sorted by date\r\n return Object.entries(groups)\r\n .sort(([a], [b]) => new Date(a) - new Date(b))\r\n .map(([date, events]) => ({\r\n date,\r\n events,\r\n formattedDate: formatGroupDate(events),\r\n }));\r\n }\r\n\r\n function formatGroupDate(events) {\r\n // Use the first event in the group to get timezone-aware date parts\r\n const firstEvent = events[0];\r\n if (!firstEvent?.startDateTime) return { month: '', day: '', weekday: '' };\r\n const parts = getDateParts(firstEvent.startDateTime, firstEvent.timeZone);\r\n return {\r\n month: parts.month.toUpperCase(),\r\n day: String(parts.date).padStart(2, '0'),\r\n weekday: parts.day.toUpperCase(),\r\n };\r\n }\r\n\r\n function handleEventClick(event) {\r\n oneventClick?.(event);\r\n }\r\n\r\n function handleKeydown(e, event) {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n e.preventDefault();\r\n handleEventClick(event);\r\n }\r\n }\r\n</script>\r\n\r\n<section class=\"flex flex-col gap-0\" class:no-date-column={!showDateColumn} aria-label=\"Event listings\">\r\n <h2 class=\"sr-only\">Event list grouped by date</h2>\r\n {#each groupedEvents as group}\r\n <div class=\"date-group flex border-b border-border last:border-b-0\" role=\"group\" aria-label=\"Events on {group.events[0]?.startDateTime ? formatFullDate(group.events[0].startDateTime, group.events[0].timeZone) : group.date}\">\r\n <!-- Date Column -->\r\n {#if showDateColumn}\r\n <div class=\"w-16 min-w-16 py-4 px-2.5 flex flex-col items-center justify-start bg-bg-secondary border-r border-border max-sm:w-12 max-sm:min-w-12 max-sm:py-2.5 max-sm:px-1.5\" aria-hidden=\"true\">\r\n <span class=\"text-xs font-semibold text-text-secondary uppercase tracking-tight\">{group.formattedDate.month}</span>\r\n <span class=\"text-2xl max-sm:text-lg font-bold text-text-primary leading-tight\">{group.formattedDate.day}</span>\r\n <span class=\"text-xs font-semibold text-text-secondary uppercase tracking-tight\">{group.formattedDate.weekday}</span>\r\n </div>\r\n {/if}\r\n\r\n <!-- Events Column -->\r\n <ul class=\"events-column flex-1 flex flex-col list-none p-0 m-0\">\r\n {#each group.events as event, eventIndex}\r\n {@const eventStatus = getBrowseStatus(event)}\r\n {@const isUnavailable = isEventUnavailable(eventStatus)}\r\n <li class=\"list-none\">\r\n <div\r\n class=\"event-row flex gap-4 max-sm:gap-2.5 p-5 max-sm:p-3 cursor-pointer transition-colors duration-150 bg-card border-b border-border/50 last:border-b-0 hover:bg-bg-secondary focus:outline-2 focus:outline-brand-primary focus:-outline-offset-2 focus-visible:outline-2 focus-visible:outline-brand-primary:outline-brand-primary focus-visible:-outline-offset-2\"\r\n class:row-unavailable={isUnavailable}\r\n onclick={() => handleEventClick(event)}\r\n onkeydown={(e) => handleKeydown(e, event)}\r\n tabindex=\"0\"\r\n role=\"button\"\r\n aria-label={`${event.name} on ${event.startDateTime ? formatFullDate(event.startDateTime, event.timeZone) : group.date} at ${event.startDateTime ? formatEventTime(event.startDateTime, event.timeZone) : ''}, ${eventStatus?.text || event.status || 'On Sale'}. Press Enter to view details.`}\r\n >\r\n <!-- Event Image -->\r\n <div class=\"w-36 h-24 min-w-36 max-sm:w-20 max-sm:h-16 max-sm:min-w-20 rounded-lg overflow-hidden bg-bg-secondary flex items-center justify-center\" aria-hidden=\"true\">\r\n <img\r\n src={event.image || PLACEHOLDER_IMAGE}\r\n alt=\"\"\r\n class=\"w-full h-full object-contain\"\r\n loading=\"lazy\"\r\n />\r\n </div>\r\n\r\n <!-- Event Details (visually shown but also in aria-label, so hide from SR) -->\r\n <div class=\"flex-1 flex flex-col gap-1.5 min-w-0\" aria-hidden=\"true\">\r\n <h3 class=\"text-lg max-sm:text-sm font-semibold text-text-primary m-0 leading-snug\">{event.name}</h3>\r\n <time class=\"text-sm max-sm:text-xs font-medium text-text-secondary\" datetime={event.startDateTime || group.date}>{event.startDateTime ? formatEventTime(event.startDateTime, event.timeZone) : ''}</time>\r\n {#if event.description}\r\n <p class=\"event-description text-sm text-text-secondary mt-1.5 mb-0 line-clamp-2 max-sm:hidden\">{event.description}</p>\r\n {/if}\r\n </div>\r\n\r\n <!-- Status / Scarcity Badge -->\r\n <div class=\"flex items-start pt-0.5\" aria-hidden=\"true\">\r\n {#if eventStatus}\r\n <span class=\"status-badge status-{eventStatus.type}\">{eventStatus.text}</span>\r\n {:else if event.ticketsTotal > 0 || event.ticketsRemaining === 0}\r\n <ScarcityBadge\r\n remaining={event.ticketsRemaining ?? 0}\r\n total={event.ticketsTotal ?? 0}\r\n context=\"browse\"\r\n />\r\n {/if}\r\n </div>\r\n </div>\r\n </li>\r\n {/each}\r\n </ul>\r\n </div>\r\n {/each}\r\n\r\n <!-- Infinite scroll trigger -->\r\n {#if hasMore}\r\n <div bind:this={loadMoreTrigger} class=\"flex justify-center items-center p-6 text-text-secondary\" role=\"status\" aria-live=\"polite\">\r\n <span class=\"text-sm\">Loading more events...</span>\r\n </div>\r\n {/if}\r\n</section>\r\n\r\n<style>\r\n /* When no date column, remove left border styling */\r\n .no-date-column .date-group {\r\n border-bottom: 0;\r\n }\r\n\r\n .no-date-column .events-column {\r\n border-left: 0;\r\n }\r\n\r\n .event-description {\r\n display: -webkit-box;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n }\r\n\r\n /* Unavailable row dimming */\r\n .row-unavailable {\r\n opacity: 0.6;\r\n }\r\n\r\n .row-unavailable img {\r\n filter: grayscale(0.5);\r\n }\r\n\r\n /* Status badges -- distinct visual treatments matching gallery cards */\r\n .status-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n font-size: 0.75rem;\r\n line-height: 1rem;\r\n font-weight: 700;\r\n padding: 0.25rem 0.625rem;\r\n border-radius: 0.25rem;\r\n white-space: nowrap;\r\n letter-spacing: 0.02em;\r\n }\r\n\r\n .status-cancelled {\r\n background-color: hsl(var(--accent-danger) / 10%);\r\n color: hsl(var(--accent-danger));\r\n text-decoration: line-through;\r\n text-decoration-thickness: 1.5px;\r\n\r\n \r\n }\r\n\r\n .status-past {\r\n background-color: hsl(var(--bg-tertiary));\r\n color: hsl(var(--text-tertiary));\r\n\r\n \r\n }\r\n\r\n .status-sold_out {\r\n background-color: hsl(var(--accent-danger) / 10%);\r\n color: hsl(var(--accent-danger));\r\n text-transform: uppercase;\r\n letter-spacing: 0.05em;\r\n font-size: 0.65rem;\r\n\r\n \r\n }\r\n\r\n .status-sales_ended {\r\n background-color: hsl(var(--bg-tertiary));\r\n color: hsl(var(--text-tertiary));\r\n border: 1px solid hsl(var(--stroke-primary));\r\n\r\n \r\n }\r\n\r\n .status-coming_soon {\r\n background-color: hsl(var(--brand-primary) / 15%);\r\n color: hsl(var(--brand-primary));\r\n\r\n \r\n }\r\n\r\n /* Reduced motion */\r\n @media (prefers-reduced-motion: reduce) {\r\n .event-row {\r\n transition: none;\r\n }\r\n }\r\n\r\n /* Screen reader only text */\r\n .sr-only {\r\n position: absolute;\r\n width: 1px;\r\n height: 1px;\r\n padding: 0;\r\n margin: -1px;\r\n overflow: hidden;\r\n clip: rect(0, 0, 0, 0);\r\n white-space: nowrap;\r\n border-width: 0;\r\n }\r\n</style>\r\n"],"names":["events","$","$$props","initialCount","loadMoreCount","showDateColumn","filterFutureOnly","displayedCount","loadMoreTrigger","observer","filteredEvents","filterTodayAndFuture","groupedEvents","groupEventsByDate","hasMore","loadMore","onMount","entries","onDestroy","eventList","groups","event","dateKey","a","b","date","formatGroupDate","firstEvent","parts","getDateParts","handleEventClick","handleKeydown","e","section","root","node","group","div","root_1","div_1","root_2","span","span_1","span_2","$$render","consequent","ul","node_1","eventStatus","getBrowseStatus","isUnavailable","isEventUnavailable","li","root_3","div_2","div_3","img","div_4","h3","time","p","root_4","text_5","consequent_1","div_5","span_3","root_5","text_6","ScarcityBadge","$$anchor","consequent_2","consequent_3","classes_1","$0","PLACEHOLDER_IMAGE","text_3","formatFullDate","formatEventTime","div_6","root_7","$$value","consequent_4","classes"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import "svelte/internal/disclose-version";
2
2
  import * as e from "svelte/internal/client";
3
- import { P as ue, y as J, z as pe, A as K, F as be, H as xe } from "./VenueCalendar-CtRA8qFA.js";
3
+ import { P as ue, y as J, z as pe, A as K, F as be, H as xe } from "./VenueCalendar-RUdrUCqm.js";
4
4
  import "svelte/internal/flags/legacy";
5
5
  import "svelte/transition";
6
6
  import "svelte/easing";
@@ -192,4 +192,4 @@ e.delegate(["click"]);
192
192
  export {
193
193
  Ue as default
194
194
  };
195
- //# sourceMappingURL=SeriesPage.legacy-DjJxm3jK.js.map
195
+ //# sourceMappingURL=SeriesPage.legacy-CgTu0LP5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SeriesPage.legacy-DjJxm3jK.js","sources":["../src/components/Views/SeriesPage.legacy.svelte"],"sourcesContent":["<script>\r\n import { getImageUrl } from '$lib/utils/utils.js';\r\n import { formatDate as scFormatDate,\r\n formatTime as scFormatTime, getDefaultTimezone, formatFullName } from '@getmicdrop/svelte-components';\r\n import { PLACEHOLDER_IMAGE } from '$lib/utils/constants.js';\r\n\r\n let { series, onNavigateToOccurrence } = $props();\r\n\r\n let imageLoaded = $state(false);\r\n\r\n let seriesImage = $derived(\r\n series?.image ? getImageUrl(series.image) : PLACEHOLDER_IMAGE\r\n );\r\n\r\n let tz = $derived(series?.timeZone || getDefaultTimezone());\r\n\r\n function formatDate(iso) {\r\n return scFormatDate(iso, { timeZone: tz });\r\n }\r\n\r\n function formatTime(iso) {\r\n return scFormatTime(iso, { timeZone: tz });\r\n }\r\n\r\n function handleOccurrenceClick(occurrence) {\r\n if (!occurrence.ctaState?.disabled && onNavigateToOccurrence) {\r\n onNavigateToOccurrence(\r\n occurrence.id,\r\n occurrence.slug || '',\r\n occurrence.name || ''\r\n );\r\n }\r\n }\r\n</script>\r\n\r\n{#if series}\r\n <div class=\"series-page\">\r\n <!-- Hero Image -->\r\n <div class=\"hero\">\r\n <div class=\"hero-skeleton\" class:hidden={imageLoaded}></div>\r\n <img\r\n src={seriesImage}\r\n alt={series.title}\r\n class=\"hero-image\"\r\n onload={() => (imageLoaded = true)}\r\n />\r\n <div class=\"hero-overlay\">\r\n <div class=\"hero-content\">\r\n <span class=\"series-badge\">Recurring Event</span>\r\n <h1 class=\"series-title\">{series.title}</h1>\r\n <div class=\"series-venue\">\r\n <span>{series.venue?.name}</span>\r\n {#if series.venue?.googleLocationNameCache}\r\n <span class=\"venue-separator\">&#183;</span>\r\n <span class=\"venue-location\"\r\n >{series.venue.googleLocationNameCache}</span\r\n >\r\n {/if}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Content Grid -->\r\n <div class=\"content-grid\">\r\n <!-- Main Column -->\r\n <div class=\"main-column\">\r\n <!-- About Section -->\r\n <section class=\"section\">\r\n <h2 class=\"section-heading\">About this Series</h2>\r\n {#if series.eventSummary}\r\n <p class=\"series-summary\">{series.eventSummary}</p>\r\n {/if}\r\n {#if series.description}\r\n <div class=\"series-description\">{series.description}</div>\r\n {/if}\r\n </section>\r\n\r\n <!-- Upcoming Dates -->\r\n <section class=\"section\">\r\n <div class=\"dates-header\">\r\n <h2 class=\"section-heading\">Upcoming Dates</h2>\r\n <span class=\"dates-count\"\r\n >{series.occurrences?.length || 0} events</span\r\n >\r\n </div>\r\n\r\n {#if !series.occurrences?.length}\r\n <div class=\"empty-dates\">\r\n <p class=\"empty-text\">\r\n No upcoming dates scheduled at this time.\r\n </p>\r\n <p class=\"empty-subtext\">\r\n Check back soon for new announcements.\r\n </p>\r\n </div>\r\n {:else}\r\n <div class=\"dates-list\">\r\n {#each series.occurrences as occurrence}\r\n <div class=\"occurrence-card\">\r\n <div class=\"occurrence-info\">\r\n <div class=\"occurrence-date\">\r\n {formatDate(occurrence.startDateTime)}\r\n </div>\r\n <div class=\"occurrence-time\">\r\n {formatTime(occurrence.startDateTime)} - {formatTime(\r\n occurrence.endDateTime\r\n )}\r\n </div>\r\n </div>\r\n <div class=\"occurrence-action\">\r\n <button\r\n class=\"cta-button\"\r\n class:cta-disabled={occurrence.ctaState?.disabled}\r\n disabled={occurrence.ctaState?.disabled}\r\n onclick={() => handleOccurrenceClick(occurrence)}\r\n >\r\n {occurrence.ctaState?.text || 'Get tickets'}\r\n </button>\r\n </div>\r\n </div>\r\n {/each}\r\n </div>\r\n {/if}\r\n </section>\r\n\r\n <!-- Performers -->\r\n {#if series.performers?.length}\r\n <section class=\"section\">\r\n <h2 class=\"section-heading\">Performers</h2>\r\n <div class=\"performers-grid\">\r\n {#each series.performers as performer}\r\n <div class=\"performer-card\">\r\n <div class=\"performer-avatar\">\r\n {#if performer.profileImage}\r\n <img\r\n src={getImageUrl(performer.profileImage)}\r\n alt={performer.displayName ||\r\n formatFullName(performer.firstName, performer.lastName)}\r\n class=\"performer-image\"\r\n />\r\n {:else}\r\n <div class=\"performer-placeholder\">\r\n <svg\r\n class=\"placeholder-icon\"\r\n fill=\"currentColor\"\r\n viewBox=\"0 0 24 24\"\r\n >\r\n <path\r\n d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\r\n />\r\n </svg>\r\n </div>\r\n {/if}\r\n </div>\r\n <h3 class=\"performer-name\">\r\n {performer.displayName ||\r\n formatFullName(performer.firstName, performer.lastName)}\r\n </h3>\r\n </div>\r\n {/each}\r\n </div>\r\n </section>\r\n {/if}\r\n </div>\r\n\r\n <!-- Sidebar -->\r\n <div class=\"sidebar\">\r\n <div class=\"sidebar-sticky\">\r\n {#if series.venue?.faq || series.venue?.disclaimer}\r\n <div class=\"sidebar-card\">\r\n {#if series.venue.faq}\r\n <div class=\"sidebar-section\">\r\n <h3 class=\"sidebar-heading\">FAQ</h3>\r\n <div class=\"faq-content\">\r\n {#if Array.isArray(series.venue.faq)}\r\n {#each series.venue.faq as item}\r\n <div class=\"faq-item\">\r\n <p class=\"faq-question\">{item.question}</p>\r\n <p class=\"faq-answer\">{item.answer}</p>\r\n </div>\r\n {/each}\r\n {:else}\r\n <p>{series.venue.faq}</p>\r\n {/if}\r\n </div>\r\n </div>\r\n {/if}\r\n\r\n {#if series.venue.disclaimer}\r\n <div class=\"sidebar-section\">\r\n <h3 class=\"sidebar-heading\">Important Info</h3>\r\n <div class=\"disclaimer-text\">{series.venue.disclaimer}</div>\r\n </div>\r\n {/if}\r\n </div>\r\n {/if}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n{/if}\r\n\r\n<style>\r\n .series-page {\r\n min-height: 100vh;\r\n padding-bottom: 5rem;\r\n background: hsl(var(--surface-primary, 0 0% 100%));\r\n color: hsl(var(--text-primary, 0 0% 10%));\r\n }\r\n\r\n /* Hero */\r\n .hero {\r\n position: relative;\r\n width: 100%;\r\n overflow: hidden;\r\n height: 500px;\r\n }\r\n\r\n @media (width <= 768px) {\r\n .hero {\r\n height: 256px;\r\n }\r\n }\r\n\r\n .hero-skeleton {\r\n position: absolute;\r\n inset: 0;\r\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\r\n background: hsl(var(--surface-secondary, 0 0% 96%));\r\n }\r\n\r\n @keyframes pulse {\r\n 0%,\r\n 100% {\r\n opacity: 1;\r\n }\r\n\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n .hero-image {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n transition: transform 0.7s ease;\r\n }\r\n\r\n .hero:hover .hero-image {\r\n transform: scale(1.05);\r\n }\r\n\r\n .hero-overlay {\r\n position: absolute;\r\n inset: 0;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-end;\r\n padding: 1.5rem;\r\n background: linear-gradient(\r\n to top,\r\n color-mix(in srgb, black 90%, transparent),\r\n color-mix(in srgb, black 50%, transparent),\r\n transparent\r\n );\r\n }\r\n\r\n @media (width >= 768px) {\r\n .hero-overlay {\r\n padding: 3rem;\r\n }\r\n }\r\n\r\n .hero-content {\r\n max-width: 64rem;\r\n margin-left: auto;\r\n margin-right: auto;\r\n width: 100%;\r\n }\r\n\r\n .series-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n padding: 0.25rem 0.75rem;\r\n margin-bottom: 1rem;\r\n font-size: 0.75rem;\r\n line-height: 1rem;\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n letter-spacing: 0.05em;\r\n border-radius: 9999px;\r\n box-shadow:\r\n 0 10px 15px -3px rgb(0 0 0 / 10%),\r\n 0 4px 6px -4px rgb(0 0 0 / 10%);\r\n background: hsl(var(--brand-primary, 224 76% 48%));\r\n color: hsl(var(--text-on-primary, 0 0% 100%));\r\n }\r\n\r\n .series-title {\r\n font-size: 2.25rem;\r\n line-height: 1.1;\r\n font-weight: 700;\r\n margin-bottom: 0.75rem;\r\n letter-spacing: -0.025em;\r\n color: hsl(var(--bg-primary));\r\n text-shadow: 0 2px 8px color-mix(in srgb, black 30%, transparent);\r\n }\r\n\r\n @media (width >= 768px) {\r\n .series-title {\r\n font-size: 3.75rem;\r\n line-height: 1;\r\n }\r\n }\r\n\r\n .series-venue {\r\n font-size: 1.125rem;\r\n line-height: 1.75rem;\r\n display: flex;\r\n flex-wrap: wrap;\r\n align-items: center;\r\n gap: 0.5rem;\r\n font-weight: 500;\r\n color: color-mix(in srgb, white 90%, transparent);\r\n }\r\n\r\n @media (width >= 768px) {\r\n .series-venue {\r\n font-size: 1.25rem;\r\n line-height: 1.75rem;\r\n }\r\n }\r\n\r\n .venue-separator {\r\n display: none;\r\n opacity: 0.6;\r\n }\r\n\r\n @media (width >= 768px) {\r\n .venue-separator {\r\n display: inline;\r\n }\r\n }\r\n\r\n .venue-location {\r\n opacity: 0.75;\r\n }\r\n\r\n /* Content Grid */\r\n .content-grid {\r\n max-width: 64rem;\r\n margin-left: auto;\r\n margin-right: auto;\r\n padding: 3rem 1.5rem;\r\n display: grid;\r\n grid-template-columns: 1fr;\r\n gap: 3rem;\r\n }\r\n\r\n @media (width >= 768px) {\r\n .content-grid {\r\n padding-top: 5rem;\r\n padding-bottom: 5rem;\r\n }\r\n }\r\n\r\n @media (width >= 1024px) {\r\n .content-grid {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n }\r\n\r\n .main-column {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 4rem;\r\n }\r\n\r\n @media (width >= 1024px) {\r\n .main-column {\r\n grid-column: span 2 / span 2;\r\n }\r\n }\r\n\r\n .section {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 1.5rem;\r\n }\r\n\r\n .section-heading {\r\n font-size: 1.875rem;\r\n line-height: 2.25rem;\r\n font-weight: 700;\r\n letter-spacing: -0.025em;\r\n padding-bottom: 1rem;\r\n color: hsl(var(--text-primary, 0 0% 10%));\r\n border-bottom: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\r\n }\r\n\r\n .series-summary {\r\n font-size: 1.25rem;\r\n font-weight: 500;\r\n line-height: 1.625;\r\n color: hsl(var(--text-primary, 0 0% 20%));\r\n }\r\n\r\n .series-description {\r\n max-width: none;\r\n white-space: pre-line;\r\n line-height: 1.625;\r\n color: hsl(var(--text-secondary, 0 0% 40%));\r\n }\r\n\r\n /* Upcoming Dates */\r\n .dates-header {\r\n display: flex;\r\n align-items: baseline;\r\n justify-content: space-between;\r\n padding-bottom: 1rem;\r\n border-bottom: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\r\n }\r\n\r\n .dates-count {\r\n font-size: 0.875rem;\r\n line-height: 1.25rem;\r\n font-weight: 500;\r\n color: hsl(var(--text-secondary, 0 0% 45%));\r\n }\r\n\r\n .empty-dates {\r\n padding: 3rem;\r\n border-radius: 1rem;\r\n text-align: center;\r\n background: hsl(var(--surface-secondary, 0 0% 96%));\r\n border: 2px dashed hsl(var(--stroke-secondary, 0 0% 85%));\r\n }\r\n\r\n .empty-text {\r\n font-size: 1.125rem;\r\n line-height: 1.75rem;\r\n font-weight: 500;\r\n color: hsl(var(--text-secondary, 0 0% 45%));\r\n }\r\n\r\n .empty-subtext {\r\n margin-top: 0.5rem;\r\n color: hsl(var(--text-secondary, 0 0% 55%));\r\n }\r\n\r\n .dates-list {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 1rem;\r\n }\r\n\r\n .occurrence-card {\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n padding: 1.5rem;\r\n border-radius: 1rem;\r\n transition: all 0.2s;\r\n background: hsl(var(--surface-primary, 0 0% 100%));\r\n border: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\r\n }\r\n\r\n @media (width >= 640px) {\r\n .occurrence-card {\r\n flex-direction: row;\r\n align-items: center;\r\n }\r\n }\r\n\r\n .occurrence-card:hover {\r\n border-color: hsl(var(--brand-primary, 224 76% 48%));\r\n box-shadow: 0 4px 12px color-mix(in srgb, black 8%, transparent);\r\n }\r\n\r\n .occurrence-info {\r\n margin-bottom: 1rem;\r\n }\r\n\r\n @media (width >= 640px) {\r\n .occurrence-info {\r\n margin-bottom: 0;\r\n }\r\n }\r\n\r\n .occurrence-date {\r\n font-size: 1.25rem;\r\n line-height: 1.75rem;\r\n font-weight: 700;\r\n margin-bottom: 0.25rem;\r\n color: hsl(var(--text-primary, 0 0% 10%));\r\n }\r\n\r\n .occurrence-time {\r\n font-weight: 500;\r\n color: hsl(var(--text-secondary, 0 0% 45%));\r\n }\r\n\r\n .occurrence-action {\r\n padding-left: 0;\r\n }\r\n\r\n @media (width >= 640px) {\r\n .occurrence-action {\r\n padding-left: 1.5rem;\r\n }\r\n }\r\n\r\n .cta-button {\r\n width: 100%;\r\n padding: 0.75rem 1.5rem;\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 transition: transform 0.15s;\r\n background: hsl(var(--brand-primary, 224 76% 48%));\r\n color: hsl(var(--text-on-primary, 0 0% 100%));\r\n }\r\n\r\n @media (width >= 640px) {\r\n .cta-button {\r\n width: auto;\r\n }\r\n }\r\n\r\n .cta-button:hover:not(:disabled) {\r\n transform: scale(1.05);\r\n }\r\n\r\n .cta-disabled {\r\n cursor: not-allowed;\r\n background: hsl(var(--surface-secondary, 0 0% 90%));\r\n color: hsl(var(--text-secondary, 0 0% 55%));\r\n }\r\n\r\n /* Performers */\r\n .performers-grid {\r\n display: grid;\r\n grid-template-columns: repeat(2, 1fr);\r\n gap: 2rem;\r\n }\r\n\r\n @media (width >= 640px) {\r\n .performers-grid {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n }\r\n\r\n .performer-card {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n text-align: center;\r\n padding: 1rem;\r\n border-radius: 0.75rem;\r\n transition: background-color 0.15s;\r\n }\r\n\r\n .performer-card:hover {\r\n background: hsl(var(--surface-secondary, 0 0% 96%));\r\n }\r\n\r\n .performer-avatar {\r\n width: 7rem;\r\n height: 7rem;\r\n margin-bottom: 1rem;\r\n border-radius: 9999px;\r\n overflow: hidden;\r\n box-shadow:\r\n 0 4px 6px -1px rgb(0 0 0 / 10%),\r\n 0 2px 4px -2px rgb(0 0 0 / 10%);\r\n background: hsl(var(--surface-secondary, 0 0% 92%));\r\n }\r\n\r\n .performer-image {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n transition: transform 0.5s ease;\r\n }\r\n\r\n .performer-card:hover .performer-image {\r\n transform: scale(1.1);\r\n }\r\n\r\n .performer-placeholder {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: hsl(var(--text-secondary, 0 0% 60%));\r\n }\r\n\r\n .placeholder-icon {\r\n width: 3rem;\r\n height: 3rem;\r\n opacity: 0.5;\r\n }\r\n\r\n .performer-name {\r\n font-size: 1.125rem;\r\n line-height: 1.75rem;\r\n font-weight: 600;\r\n color: hsl(var(--text-primary, 0 0% 10%));\r\n }\r\n\r\n /* Sidebar */\r\n .sidebar {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2rem;\r\n }\r\n\r\n @media (width >= 1024px) {\r\n .sidebar {\r\n grid-column: span 1 / span 1;\r\n }\r\n }\r\n\r\n .sidebar-sticky {\r\n position: sticky;\r\n top: 6rem;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2rem;\r\n }\r\n\r\n .sidebar-card {\r\n border-radius: 1rem;\r\n padding: 2rem;\r\n background: hsl(var(--surface-secondary, 0 0% 96%));\r\n border: 1px solid hsl(var(--stroke-secondary, 0 0% 92%));\r\n }\r\n\r\n .sidebar-section {\r\n margin-bottom: 2rem;\r\n }\r\n\r\n .sidebar-section:last-child {\r\n margin-bottom: 0;\r\n }\r\n\r\n .sidebar-heading {\r\n font-size: 0.875rem;\r\n line-height: 1.25rem;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n letter-spacing: 0.1em;\r\n margin-bottom: 1rem;\r\n color: hsl(var(--text-primary, 0 0% 10%));\r\n }\r\n\r\n .faq-content {\r\n color: hsl(var(--text-secondary, 0 0% 40%));\r\n }\r\n\r\n .faq-item {\r\n margin-bottom: 0.75rem;\r\n }\r\n\r\n .faq-question {\r\n font-weight: 700;\r\n color: hsl(var(--text-primary, 0 0% 20%));\r\n }\r\n\r\n .faq-answer {\r\n font-size: 0.875rem;\r\n line-height: 1.25rem;\r\n }\r\n\r\n .disclaimer-text {\r\n font-size: 0.875rem;\r\n line-height: 1.625;\r\n padding: 1rem;\r\n border-radius: 0.5rem;\r\n background: hsl(var(--surface-primary, 0 0% 100%));\r\n color: hsl(var(--text-secondary, 0 0% 40%));\r\n border: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\r\n }\r\n</style>\r\n"],"names":["imageLoaded","$","seriesImage","getImageUrl","$$props","PLACEHOLDER_IMAGE","tz","getDefaultTimezone","formatDate","iso","scFormatDate","formatTime","scFormatTime","handleOccurrenceClick","occurrence","div","root_1","div_1","div_2","img","div_3","div_4","h1","div_5","span","span_1","fragment_1","text_2","$$render","consequent","div_6","div_7","section","p","root_3","consequent_1","div_8","root_4","consequent_2","section_1","div_9","span_2","div_10","root_5","div_11","root_6","$$anchor","div_12","root_7","div_13","div_14","div_15","div_16","button","classes_1","text_8","alternate","consequent_3","section_2","root_8","div_17","performer","div_18","root_9","div_19","img_1","root_10","$0","$1","formatFullName","div_20","root_11","consequent_4","alternate_1","h3","consequent_5","div_21","div_22","div_23","root_12","div_24","root_13","div_25","item","div_26","root_15","p_1","p_2","text_10","text_11","d","p_3","root_16","text_12","consequent_7","div_27","root_17","div_28","text_13","consequent_8","consequent_9","classes","text_1"],"mappings":"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"}
1
+ {"version":3,"file":"SeriesPage.legacy-CgTu0LP5.js","sources":["../src/components/Views/SeriesPage.legacy.svelte"],"sourcesContent":["<script>\r\n import { getImageUrl } from '$lib/utils/utils.js';\r\n import { formatDate as scFormatDate,\r\n formatTime as scFormatTime, getDefaultTimezone, formatFullName } from '@getmicdrop/svelte-components';\r\n import { PLACEHOLDER_IMAGE } from '$lib/utils/constants.js';\r\n\r\n let { series, onNavigateToOccurrence } = $props();\r\n\r\n let imageLoaded = $state(false);\r\n\r\n let seriesImage = $derived(\r\n series?.image ? getImageUrl(series.image) : PLACEHOLDER_IMAGE\r\n );\r\n\r\n let tz = $derived(series?.timeZone || getDefaultTimezone());\r\n\r\n function formatDate(iso) {\r\n return scFormatDate(iso, { timeZone: tz });\r\n }\r\n\r\n function formatTime(iso) {\r\n return scFormatTime(iso, { timeZone: tz });\r\n }\r\n\r\n function handleOccurrenceClick(occurrence) {\r\n if (!occurrence.ctaState?.disabled && onNavigateToOccurrence) {\r\n onNavigateToOccurrence(\r\n occurrence.id,\r\n occurrence.slug || '',\r\n occurrence.name || ''\r\n );\r\n }\r\n }\r\n</script>\r\n\r\n{#if series}\r\n <div class=\"series-page\">\r\n <!-- Hero Image -->\r\n <div class=\"hero\">\r\n <div class=\"hero-skeleton\" class:hidden={imageLoaded}></div>\r\n <img\r\n src={seriesImage}\r\n alt={series.title}\r\n class=\"hero-image\"\r\n onload={() => (imageLoaded = true)}\r\n />\r\n <div class=\"hero-overlay\">\r\n <div class=\"hero-content\">\r\n <span class=\"series-badge\">Recurring Event</span>\r\n <h1 class=\"series-title\">{series.title}</h1>\r\n <div class=\"series-venue\">\r\n <span>{series.venue?.name}</span>\r\n {#if series.venue?.googleLocationNameCache}\r\n <span class=\"venue-separator\">&#183;</span>\r\n <span class=\"venue-location\"\r\n >{series.venue.googleLocationNameCache}</span\r\n >\r\n {/if}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Content Grid -->\r\n <div class=\"content-grid\">\r\n <!-- Main Column -->\r\n <div class=\"main-column\">\r\n <!-- About Section -->\r\n <section class=\"section\">\r\n <h2 class=\"section-heading\">About this Series</h2>\r\n {#if series.eventSummary}\r\n <p class=\"series-summary\">{series.eventSummary}</p>\r\n {/if}\r\n {#if series.description}\r\n <div class=\"series-description\">{series.description}</div>\r\n {/if}\r\n </section>\r\n\r\n <!-- Upcoming Dates -->\r\n <section class=\"section\">\r\n <div class=\"dates-header\">\r\n <h2 class=\"section-heading\">Upcoming Dates</h2>\r\n <span class=\"dates-count\"\r\n >{series.occurrences?.length || 0} events</span\r\n >\r\n </div>\r\n\r\n {#if !series.occurrences?.length}\r\n <div class=\"empty-dates\">\r\n <p class=\"empty-text\">\r\n No upcoming dates scheduled at this time.\r\n </p>\r\n <p class=\"empty-subtext\">\r\n Check back soon for new announcements.\r\n </p>\r\n </div>\r\n {:else}\r\n <div class=\"dates-list\">\r\n {#each series.occurrences as occurrence}\r\n <div class=\"occurrence-card\">\r\n <div class=\"occurrence-info\">\r\n <div class=\"occurrence-date\">\r\n {formatDate(occurrence.startDateTime)}\r\n </div>\r\n <div class=\"occurrence-time\">\r\n {formatTime(occurrence.startDateTime)} - {formatTime(\r\n occurrence.endDateTime\r\n )}\r\n </div>\r\n </div>\r\n <div class=\"occurrence-action\">\r\n <button\r\n class=\"cta-button\"\r\n class:cta-disabled={occurrence.ctaState?.disabled}\r\n disabled={occurrence.ctaState?.disabled}\r\n onclick={() => handleOccurrenceClick(occurrence)}\r\n >\r\n {occurrence.ctaState?.text || 'Get tickets'}\r\n </button>\r\n </div>\r\n </div>\r\n {/each}\r\n </div>\r\n {/if}\r\n </section>\r\n\r\n <!-- Performers -->\r\n {#if series.performers?.length}\r\n <section class=\"section\">\r\n <h2 class=\"section-heading\">Performers</h2>\r\n <div class=\"performers-grid\">\r\n {#each series.performers as performer}\r\n <div class=\"performer-card\">\r\n <div class=\"performer-avatar\">\r\n {#if performer.profileImage}\r\n <img\r\n src={getImageUrl(performer.profileImage)}\r\n alt={performer.displayName ||\r\n formatFullName(performer.firstName, performer.lastName)}\r\n class=\"performer-image\"\r\n />\r\n {:else}\r\n <div class=\"performer-placeholder\">\r\n <svg\r\n class=\"placeholder-icon\"\r\n fill=\"currentColor\"\r\n viewBox=\"0 0 24 24\"\r\n >\r\n <path\r\n d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\r\n />\r\n </svg>\r\n </div>\r\n {/if}\r\n </div>\r\n <h3 class=\"performer-name\">\r\n {performer.displayName ||\r\n formatFullName(performer.firstName, performer.lastName)}\r\n </h3>\r\n </div>\r\n {/each}\r\n </div>\r\n </section>\r\n {/if}\r\n </div>\r\n\r\n <!-- Sidebar -->\r\n <div class=\"sidebar\">\r\n <div class=\"sidebar-sticky\">\r\n {#if series.venue?.faq || series.venue?.disclaimer}\r\n <div class=\"sidebar-card\">\r\n {#if series.venue.faq}\r\n <div class=\"sidebar-section\">\r\n <h3 class=\"sidebar-heading\">FAQ</h3>\r\n <div class=\"faq-content\">\r\n {#if Array.isArray(series.venue.faq)}\r\n {#each series.venue.faq as item}\r\n <div class=\"faq-item\">\r\n <p class=\"faq-question\">{item.question}</p>\r\n <p class=\"faq-answer\">{item.answer}</p>\r\n </div>\r\n {/each}\r\n {:else}\r\n <p>{series.venue.faq}</p>\r\n {/if}\r\n </div>\r\n </div>\r\n {/if}\r\n\r\n {#if series.venue.disclaimer}\r\n <div class=\"sidebar-section\">\r\n <h3 class=\"sidebar-heading\">Important Info</h3>\r\n <div class=\"disclaimer-text\">{series.venue.disclaimer}</div>\r\n </div>\r\n {/if}\r\n </div>\r\n {/if}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n{/if}\r\n\r\n<style>\r\n .series-page {\r\n min-height: 100vh;\r\n padding-bottom: 5rem;\r\n background: hsl(var(--surface-primary, 0 0% 100%));\r\n color: hsl(var(--text-primary, 0 0% 10%));\r\n }\r\n\r\n /* Hero */\r\n .hero {\r\n position: relative;\r\n width: 100%;\r\n overflow: hidden;\r\n height: 500px;\r\n }\r\n\r\n @media (width <= 768px) {\r\n .hero {\r\n height: 256px;\r\n }\r\n }\r\n\r\n .hero-skeleton {\r\n position: absolute;\r\n inset: 0;\r\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\r\n background: hsl(var(--surface-secondary, 0 0% 96%));\r\n }\r\n\r\n @keyframes pulse {\r\n 0%,\r\n 100% {\r\n opacity: 1;\r\n }\r\n\r\n 50% {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n .hero-image {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n transition: transform 0.7s ease;\r\n }\r\n\r\n .hero:hover .hero-image {\r\n transform: scale(1.05);\r\n }\r\n\r\n .hero-overlay {\r\n position: absolute;\r\n inset: 0;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-end;\r\n padding: 1.5rem;\r\n background: linear-gradient(\r\n to top,\r\n color-mix(in srgb, black 90%, transparent),\r\n color-mix(in srgb, black 50%, transparent),\r\n transparent\r\n );\r\n }\r\n\r\n @media (width >= 768px) {\r\n .hero-overlay {\r\n padding: 3rem;\r\n }\r\n }\r\n\r\n .hero-content {\r\n max-width: 64rem;\r\n margin-left: auto;\r\n margin-right: auto;\r\n width: 100%;\r\n }\r\n\r\n .series-badge {\r\n display: inline-flex;\r\n align-items: center;\r\n padding: 0.25rem 0.75rem;\r\n margin-bottom: 1rem;\r\n font-size: 0.75rem;\r\n line-height: 1rem;\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n letter-spacing: 0.05em;\r\n border-radius: 9999px;\r\n box-shadow:\r\n 0 10px 15px -3px rgb(0 0 0 / 10%),\r\n 0 4px 6px -4px rgb(0 0 0 / 10%);\r\n background: hsl(var(--brand-primary, 224 76% 48%));\r\n color: hsl(var(--text-on-primary, 0 0% 100%));\r\n }\r\n\r\n .series-title {\r\n font-size: 2.25rem;\r\n line-height: 1.1;\r\n font-weight: 700;\r\n margin-bottom: 0.75rem;\r\n letter-spacing: -0.025em;\r\n color: hsl(var(--bg-primary));\r\n text-shadow: 0 2px 8px color-mix(in srgb, black 30%, transparent);\r\n }\r\n\r\n @media (width >= 768px) {\r\n .series-title {\r\n font-size: 3.75rem;\r\n line-height: 1;\r\n }\r\n }\r\n\r\n .series-venue {\r\n font-size: 1.125rem;\r\n line-height: 1.75rem;\r\n display: flex;\r\n flex-wrap: wrap;\r\n align-items: center;\r\n gap: 0.5rem;\r\n font-weight: 500;\r\n color: color-mix(in srgb, white 90%, transparent);\r\n }\r\n\r\n @media (width >= 768px) {\r\n .series-venue {\r\n font-size: 1.25rem;\r\n line-height: 1.75rem;\r\n }\r\n }\r\n\r\n .venue-separator {\r\n display: none;\r\n opacity: 0.6;\r\n }\r\n\r\n @media (width >= 768px) {\r\n .venue-separator {\r\n display: inline;\r\n }\r\n }\r\n\r\n .venue-location {\r\n opacity: 0.75;\r\n }\r\n\r\n /* Content Grid */\r\n .content-grid {\r\n max-width: 64rem;\r\n margin-left: auto;\r\n margin-right: auto;\r\n padding: 3rem 1.5rem;\r\n display: grid;\r\n grid-template-columns: 1fr;\r\n gap: 3rem;\r\n }\r\n\r\n @media (width >= 768px) {\r\n .content-grid {\r\n padding-top: 5rem;\r\n padding-bottom: 5rem;\r\n }\r\n }\r\n\r\n @media (width >= 1024px) {\r\n .content-grid {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n }\r\n\r\n .main-column {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 4rem;\r\n }\r\n\r\n @media (width >= 1024px) {\r\n .main-column {\r\n grid-column: span 2 / span 2;\r\n }\r\n }\r\n\r\n .section {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 1.5rem;\r\n }\r\n\r\n .section-heading {\r\n font-size: 1.875rem;\r\n line-height: 2.25rem;\r\n font-weight: 700;\r\n letter-spacing: -0.025em;\r\n padding-bottom: 1rem;\r\n color: hsl(var(--text-primary, 0 0% 10%));\r\n border-bottom: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\r\n }\r\n\r\n .series-summary {\r\n font-size: 1.25rem;\r\n font-weight: 500;\r\n line-height: 1.625;\r\n color: hsl(var(--text-primary, 0 0% 20%));\r\n }\r\n\r\n .series-description {\r\n max-width: none;\r\n white-space: pre-line;\r\n line-height: 1.625;\r\n color: hsl(var(--text-secondary, 0 0% 40%));\r\n }\r\n\r\n /* Upcoming Dates */\r\n .dates-header {\r\n display: flex;\r\n align-items: baseline;\r\n justify-content: space-between;\r\n padding-bottom: 1rem;\r\n border-bottom: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\r\n }\r\n\r\n .dates-count {\r\n font-size: 0.875rem;\r\n line-height: 1.25rem;\r\n font-weight: 500;\r\n color: hsl(var(--text-secondary, 0 0% 45%));\r\n }\r\n\r\n .empty-dates {\r\n padding: 3rem;\r\n border-radius: 1rem;\r\n text-align: center;\r\n background: hsl(var(--surface-secondary, 0 0% 96%));\r\n border: 2px dashed hsl(var(--stroke-secondary, 0 0% 85%));\r\n }\r\n\r\n .empty-text {\r\n font-size: 1.125rem;\r\n line-height: 1.75rem;\r\n font-weight: 500;\r\n color: hsl(var(--text-secondary, 0 0% 45%));\r\n }\r\n\r\n .empty-subtext {\r\n margin-top: 0.5rem;\r\n color: hsl(var(--text-secondary, 0 0% 55%));\r\n }\r\n\r\n .dates-list {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 1rem;\r\n }\r\n\r\n .occurrence-card {\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n padding: 1.5rem;\r\n border-radius: 1rem;\r\n transition: all 0.2s;\r\n background: hsl(var(--surface-primary, 0 0% 100%));\r\n border: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\r\n }\r\n\r\n @media (width >= 640px) {\r\n .occurrence-card {\r\n flex-direction: row;\r\n align-items: center;\r\n }\r\n }\r\n\r\n .occurrence-card:hover {\r\n border-color: hsl(var(--brand-primary, 224 76% 48%));\r\n box-shadow: 0 4px 12px color-mix(in srgb, black 8%, transparent);\r\n }\r\n\r\n .occurrence-info {\r\n margin-bottom: 1rem;\r\n }\r\n\r\n @media (width >= 640px) {\r\n .occurrence-info {\r\n margin-bottom: 0;\r\n }\r\n }\r\n\r\n .occurrence-date {\r\n font-size: 1.25rem;\r\n line-height: 1.75rem;\r\n font-weight: 700;\r\n margin-bottom: 0.25rem;\r\n color: hsl(var(--text-primary, 0 0% 10%));\r\n }\r\n\r\n .occurrence-time {\r\n font-weight: 500;\r\n color: hsl(var(--text-secondary, 0 0% 45%));\r\n }\r\n\r\n .occurrence-action {\r\n padding-left: 0;\r\n }\r\n\r\n @media (width >= 640px) {\r\n .occurrence-action {\r\n padding-left: 1.5rem;\r\n }\r\n }\r\n\r\n .cta-button {\r\n width: 100%;\r\n padding: 0.75rem 1.5rem;\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 transition: transform 0.15s;\r\n background: hsl(var(--brand-primary, 224 76% 48%));\r\n color: hsl(var(--text-on-primary, 0 0% 100%));\r\n }\r\n\r\n @media (width >= 640px) {\r\n .cta-button {\r\n width: auto;\r\n }\r\n }\r\n\r\n .cta-button:hover:not(:disabled) {\r\n transform: scale(1.05);\r\n }\r\n\r\n .cta-disabled {\r\n cursor: not-allowed;\r\n background: hsl(var(--surface-secondary, 0 0% 90%));\r\n color: hsl(var(--text-secondary, 0 0% 55%));\r\n }\r\n\r\n /* Performers */\r\n .performers-grid {\r\n display: grid;\r\n grid-template-columns: repeat(2, 1fr);\r\n gap: 2rem;\r\n }\r\n\r\n @media (width >= 640px) {\r\n .performers-grid {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n }\r\n\r\n .performer-card {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n text-align: center;\r\n padding: 1rem;\r\n border-radius: 0.75rem;\r\n transition: background-color 0.15s;\r\n }\r\n\r\n .performer-card:hover {\r\n background: hsl(var(--surface-secondary, 0 0% 96%));\r\n }\r\n\r\n .performer-avatar {\r\n width: 7rem;\r\n height: 7rem;\r\n margin-bottom: 1rem;\r\n border-radius: 9999px;\r\n overflow: hidden;\r\n box-shadow:\r\n 0 4px 6px -1px rgb(0 0 0 / 10%),\r\n 0 2px 4px -2px rgb(0 0 0 / 10%);\r\n background: hsl(var(--surface-secondary, 0 0% 92%));\r\n }\r\n\r\n .performer-image {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n transition: transform 0.5s ease;\r\n }\r\n\r\n .performer-card:hover .performer-image {\r\n transform: scale(1.1);\r\n }\r\n\r\n .performer-placeholder {\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: hsl(var(--text-secondary, 0 0% 60%));\r\n }\r\n\r\n .placeholder-icon {\r\n width: 3rem;\r\n height: 3rem;\r\n opacity: 0.5;\r\n }\r\n\r\n .performer-name {\r\n font-size: 1.125rem;\r\n line-height: 1.75rem;\r\n font-weight: 600;\r\n color: hsl(var(--text-primary, 0 0% 10%));\r\n }\r\n\r\n /* Sidebar */\r\n .sidebar {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2rem;\r\n }\r\n\r\n @media (width >= 1024px) {\r\n .sidebar {\r\n grid-column: span 1 / span 1;\r\n }\r\n }\r\n\r\n .sidebar-sticky {\r\n position: sticky;\r\n top: 6rem;\r\n display: flex;\r\n flex-direction: column;\r\n gap: 2rem;\r\n }\r\n\r\n .sidebar-card {\r\n border-radius: 1rem;\r\n padding: 2rem;\r\n background: hsl(var(--surface-secondary, 0 0% 96%));\r\n border: 1px solid hsl(var(--stroke-secondary, 0 0% 92%));\r\n }\r\n\r\n .sidebar-section {\r\n margin-bottom: 2rem;\r\n }\r\n\r\n .sidebar-section:last-child {\r\n margin-bottom: 0;\r\n }\r\n\r\n .sidebar-heading {\r\n font-size: 0.875rem;\r\n line-height: 1.25rem;\r\n font-weight: 600;\r\n text-transform: uppercase;\r\n letter-spacing: 0.1em;\r\n margin-bottom: 1rem;\r\n color: hsl(var(--text-primary, 0 0% 10%));\r\n }\r\n\r\n .faq-content {\r\n color: hsl(var(--text-secondary, 0 0% 40%));\r\n }\r\n\r\n .faq-item {\r\n margin-bottom: 0.75rem;\r\n }\r\n\r\n .faq-question {\r\n font-weight: 700;\r\n color: hsl(var(--text-primary, 0 0% 20%));\r\n }\r\n\r\n .faq-answer {\r\n font-size: 0.875rem;\r\n line-height: 1.25rem;\r\n }\r\n\r\n .disclaimer-text {\r\n font-size: 0.875rem;\r\n line-height: 1.625;\r\n padding: 1rem;\r\n border-radius: 0.5rem;\r\n background: hsl(var(--surface-primary, 0 0% 100%));\r\n color: hsl(var(--text-secondary, 0 0% 40%));\r\n border: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\r\n }\r\n</style>\r\n"],"names":["imageLoaded","$","seriesImage","getImageUrl","$$props","PLACEHOLDER_IMAGE","tz","getDefaultTimezone","formatDate","iso","scFormatDate","formatTime","scFormatTime","handleOccurrenceClick","occurrence","div","root_1","div_1","div_2","img","div_3","div_4","h1","div_5","span","span_1","fragment_1","text_2","$$render","consequent","div_6","div_7","section","p","root_3","consequent_1","div_8","root_4","consequent_2","section_1","div_9","span_2","div_10","root_5","div_11","root_6","$$anchor","div_12","root_7","div_13","div_14","div_15","div_16","button","classes_1","text_8","alternate","consequent_3","section_2","root_8","div_17","performer","div_18","root_9","div_19","img_1","root_10","$0","$1","formatFullName","div_20","root_11","consequent_4","alternate_1","h3","consequent_5","div_21","div_22","div_23","root_12","div_24","root_13","div_25","item","div_26","root_15","p_1","p_2","text_10","text_11","d","p_3","root_16","text_12","consequent_7","div_27","root_17","div_28","text_13","consequent_8","consequent_9","classes","text_1"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import "svelte/internal/disclose-version";
2
- import { t as ce, r as J, w as me, x as ge, d as pe } from "./VenueCalendar-CtRA8qFA.js";
2
+ import { t as ce, r as J, w as me, x as ge, d as pe } from "./VenueCalendar-RUdrUCqm.js";
3
3
  import * as e from "svelte/internal/client";
4
4
  import "svelte/internal/flags/legacy";
5
5
  import "svelte/transition";
@@ -192,4 +192,4 @@ function Ae(K, f) {
192
192
  export {
193
193
  Ae as default
194
194
  };
195
- //# sourceMappingURL=Success.legacy-HT_zxfvr.js.map
195
+ //# sourceMappingURL=Success.legacy-BH8RWXnX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Success.legacy-HT_zxfvr.js","sources":["../src/components/Views/Success.legacy.svelte"],"sourcesContent":["<script module>\r\n\timport { createLogger } from '@getmicdrop/svelte-components';\r\n\tconst logger = createLogger('Success.legacy');\r\n</script>\r\n\r\n<script>\r\n import { onMount } from 'svelte';\r\n import { transformEvent, getOrder } from '$lib/utils/utils.js';\r\n import { formatDateTime } from '@getmicdrop/svelte-components';\r\n import { CheckmarkFilled } from 'carbon-icons-svelte';\r\n // @constant-color-escape: confetti colors (coral, sky, mint, yellow, plum) are custom\r\n // brand-palette values with no SC token equivalent; they feed inline background-color\r\n // on absolutely-positioned confetti particles that are not SC-themeable by design.\r\n import { ACCENT } from '$lib/constants/colors.ts';\r\n\r\n let { data = {}, eventUrl = '', browseUrl = '/' } = $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 logger.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 formatEventDateTime(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 formatDateTime(dateTimeString, {\r\n weekday: 'short',\r\n hour12: true,\r\n timeZone: tz,\r\n });\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 logger.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 = formatEventDateTime(\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 = formatEventDateTime(\r\n providedEventDateTime || event?.startDateTime\r\n );\r\n Location = providedEventLocation || event?.location || '';\r\n }\r\n } catch (err) {\r\n logger.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 = formatEventDateTime(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\r\n class=\"ticket-details\"\r\n class:fade-in={showDetails}\r\n aria-label=\"Order details\"\r\n >\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(\r\n 180deg,\r\n hsl(var(--bg-primary)) 0%,\r\n hsl(var(--bg-secondary)) 100%\r\n );\r\n\r\n &:is([data-theme=\"dark\"], [data-theme=\"dark\"] *) {\r\n background: linear-gradient(\r\n 180deg,\r\n hsl(var(--bg-primary)) 0%,\r\n hsl(var(--bg-primary)) 100%\r\n );\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\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: var(--z-sticky);\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(\r\n 180deg,\r\n hsl(var(--muted)) 0%,\r\n hsl(var(--bg-primary)) 100%\r\n );\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: var(--z-base);\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:\r\n transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),\r\n 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(\r\n 135deg,\r\n hsl(var(--accent-success)) 0%,\r\n hsl(var(--accent-success)) 100%\r\n );\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\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 &:is([data-theme=\"dark\"], [data-theme=\"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:\r\n opacity 0.4s ease,\r\n 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) / 50%);\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) / 50%);\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) / 30%) 8px,\r\n hsl(var(--stroke-primary) / 30%) 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:\r\n opacity 0.4s ease 0.2s,\r\n 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:\r\n background-color 0.15s,\r\n 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 (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":["logger","createLogger","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","formatEventDateTime","dateTimeString","tz","formatDateTime","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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"}
1
+ {"version":3,"file":"Success.legacy-BH8RWXnX.js","sources":["../src/components/Views/Success.legacy.svelte"],"sourcesContent":["<script module>\r\n\timport { createLogger } from '@getmicdrop/svelte-components';\r\n\tconst logger = createLogger('Success.legacy');\r\n</script>\r\n\r\n<script>\r\n import { onMount } from 'svelte';\r\n import { transformEvent, getOrder } from '$lib/utils/utils.js';\r\n import { formatDateTime } from '@getmicdrop/svelte-components';\r\n import { CheckmarkFilled } from 'carbon-icons-svelte';\r\n // @constant-color-escape: confetti colors (coral, sky, mint, yellow, plum) are custom\r\n // brand-palette values with no SC token equivalent; they feed inline background-color\r\n // on absolutely-positioned confetti particles that are not SC-themeable by design.\r\n import { ACCENT } from '$lib/constants/colors.ts';\r\n\r\n let { data = {}, eventUrl = '', browseUrl = '/' } = $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 logger.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 formatEventDateTime(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 formatDateTime(dateTimeString, {\r\n weekday: 'short',\r\n hour12: true,\r\n timeZone: tz,\r\n });\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 logger.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 = formatEventDateTime(\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 = formatEventDateTime(\r\n providedEventDateTime || event?.startDateTime\r\n );\r\n Location = providedEventLocation || event?.location || '';\r\n }\r\n } catch (err) {\r\n logger.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 = formatEventDateTime(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\r\n class=\"ticket-details\"\r\n class:fade-in={showDetails}\r\n aria-label=\"Order details\"\r\n >\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(\r\n 180deg,\r\n hsl(var(--bg-primary)) 0%,\r\n hsl(var(--bg-secondary)) 100%\r\n );\r\n\r\n &:is([data-theme=\"dark\"], [data-theme=\"dark\"] *) {\r\n background: linear-gradient(\r\n 180deg,\r\n hsl(var(--bg-primary)) 0%,\r\n hsl(var(--bg-primary)) 100%\r\n );\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\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: var(--z-sticky);\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(\r\n 180deg,\r\n hsl(var(--muted)) 0%,\r\n hsl(var(--bg-primary)) 100%\r\n );\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: var(--z-base);\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:\r\n transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),\r\n 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(\r\n 135deg,\r\n hsl(var(--accent-success)) 0%,\r\n hsl(var(--accent-success)) 100%\r\n );\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\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 &:is([data-theme=\"dark\"], [data-theme=\"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:\r\n opacity 0.4s ease,\r\n 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) / 50%);\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) / 50%);\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) / 30%) 8px,\r\n hsl(var(--stroke-primary) / 30%) 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:\r\n opacity 0.4s ease 0.2s,\r\n 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:\r\n background-color 0.15s,\r\n 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 (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":["logger","createLogger","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","formatEventDateTime","dateTimeString","tz","formatDateTime","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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"}
@@ -30119,13 +30119,13 @@ function ls(a, e) {
30119
30119
  }), t.user_effect(() => {
30120
30120
  t.get(F) && (o1 && clearTimeout(o1), t.set(W, !1));
30121
30121
  }), t.user_effect(() => {
30122
- t.get(z) && (R6.warn("[VC] DEPRECATED: ?legacy=1 fallback for CalendarContainer views retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md."), import("./GalleryView.legacy-8nz2kWR0.js").then((_1) => {
30122
+ t.get(z) && (R6.warn("[VC] DEPRECATED: ?legacy=1 fallback for CalendarContainer views retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md."), import("./GalleryView.legacy-DPl7sCg2.js").then((_1) => {
30123
30123
  t.set(_, _1.default, !0);
30124
- }), import("./GroupedListView.legacy-DbfCYUgx.js").then((_1) => {
30124
+ }), import("./GroupedListView.legacy-DF8kSCau.js").then((_1) => {
30125
30125
  t.set(b, _1.default, !0);
30126
- }), import("./CarouselView.legacy-D9Aobb9p.js").then((_1) => {
30126
+ }), import("./CarouselView.legacy-c1FB8Gml.js").then((_1) => {
30127
30127
  t.set(H, _1.default, !0);
30128
- }), import("./FeaturedView.legacy-Cwd5ps5s.js").then((_1) => {
30128
+ }), import("./FeaturedView.legacy-xD-fgFDL.js").then((_1) => {
30129
30129
  t.set(A, _1.default, !0);
30130
30130
  }));
30131
30131
  }), p0(() => {
@@ -35269,7 +35269,7 @@ function kn(a, e) {
35269
35269
  t.push(e, !0);
35270
35270
  let r = t.state(!1), s = t.state(null);
35271
35271
  typeof window < "u" && new URLSearchParams(window.location.search).get("legacy") === "1" && t.set(r, !0), t.user_effect(() => {
35272
- t.get(r) && !t.get(s) && (it.warn("[VC] DEPRECATED: ?legacy=1 fallback for Checkout retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md."), import("./Checkout.legacy-KzuLb2aU.js").then((W) => {
35272
+ t.get(r) && !t.get(s) && (it.warn("[VC] DEPRECATED: ?legacy=1 fallback for Checkout retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md."), import("./Checkout.legacy-DmbOvGux.js").then((W) => {
35273
35273
  t.set(s, W.default, !0);
35274
35274
  }).catch(() => {
35275
35275
  t.set(r, !1);
@@ -36533,7 +36533,7 @@ function Dn(a, e) {
36533
36533
  t.push(e, !0);
36534
36534
  let r = t.state(!1), s = t.state(null);
36535
36535
  typeof window < "u" && new URLSearchParams(window.location.search).get("legacy") === "1" && t.set(r, !0), t.user_effect(() => {
36536
- t.get(r) && !t.get(s) && (d5.warn("[VC] DEPRECATED: ?legacy=1 fallback for Success retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md."), import("./Success.legacy-HT_zxfvr.js").then((m) => {
36536
+ t.get(r) && !t.get(s) && (d5.warn("[VC] DEPRECATED: ?legacy=1 fallback for Success retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md."), import("./Success.legacy-BH8RWXnX.js").then((m) => {
36537
36537
  t.set(s, m.default, !0);
36538
36538
  }).catch(() => {
36539
36539
  t.set(r, !1);
@@ -42478,7 +42478,7 @@ function qn(a, e) {
42478
42478
  const r = L2("SeriesPage");
42479
42479
  let s = t.state(!1), i = t.state(null);
42480
42480
  typeof window < "u" && new URLSearchParams(window.location.search).get("legacy") === "1" && t.set(s, !0), t.user_effect(() => {
42481
- t.get(s) && !t.get(i) && (r.warn("[VC] DEPRECATED: ?legacy=1 fallback for SeriesPage retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md."), import("./SeriesPage.legacy-DjJxm3jK.js").then((p) => {
42481
+ t.get(s) && !t.get(i) && (r.warn("[VC] DEPRECATED: ?legacy=1 fallback for SeriesPage retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md."), import("./SeriesPage.legacy-CgTu0LP5.js").then((p) => {
42482
42482
  t.set(i, p.default, !0);
42483
42483
  }).catch(() => {
42484
42484
  t.set(s, !1);
@@ -42526,7 +42526,7 @@ function Gn(a, e) {
42526
42526
  const r = L2("CollectionView");
42527
42527
  let s = t.state(!1), i = t.state(null);
42528
42528
  typeof window < "u" && new URLSearchParams(window.location.search).get("legacy") === "1" && t.set(s, !0), t.user_effect(() => {
42529
- t.get(s) && !t.get(i) && (r.warn("[VC] DEPRECATED: ?legacy=1 fallback for CollectionView retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md."), import("./CollectionView.legacy-CLA6p98w.js").then((w) => {
42529
+ t.get(s) && !t.get(i) && (r.warn("[VC] DEPRECATED: ?legacy=1 fallback for CollectionView retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md."), import("./CollectionView.legacy-B_i_1aB8.js").then((w) => {
42530
42530
  t.set(i, w.default, !0);
42531
42531
  }).catch(() => {
42532
42532
  t.set(s, !1);
@@ -42705,7 +42705,7 @@ if (typeof window < "u" && typeof HTMLElement < "u") {
42705
42705
  }
42706
42706
  }, customElements.get("micdrop-calendar") || customElements.define("micdrop-calendar", b9);
42707
42707
  }
42708
- const DS = "4.0.43", Ze = L2("VenueCalendar");
42708
+ const DS = "4.0.44", Ze = L2("VenueCalendar");
42709
42709
  let gr = null;
42710
42710
  function jn(a = {}) {
42711
42711
  typeof a.onError == "function" && (gr = a.onError, ba({
@@ -43148,4 +43148,4 @@ export {
43148
43148
  q4 as y,
43149
43149
  R0 as z
43150
43150
  };
43151
- //# sourceMappingURL=VenueCalendar-CtRA8qFA.js.map
43151
+ //# sourceMappingURL=VenueCalendar-RUdrUCqm.js.map