@getmicdrop/venue-calendar 4.0.11 → 4.0.12

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 (82) hide show
  1. package/README.md +700 -700
  2. package/dist/{AirbnbSplitMain-BwFA51F6.js → AirbnbSplitMain-Bc7BNgQO.js} +4 -4
  3. package/dist/AirbnbSplitMain-Bc7BNgQO.js.map +1 -0
  4. package/dist/{CarouselView.legacy-BHeZe5LX.js → CarouselView.legacy-DxSutEgv.js} +3 -3
  5. package/dist/CarouselView.legacy-DxSutEgv.js.map +1 -0
  6. package/dist/{CartView-BUzE0wp2.js → CartView-Bwt3-afZ.js} +3 -3
  7. package/dist/CartView-Bwt3-afZ.js.map +1 -0
  8. package/dist/{Checkout-pzohnvrX.js → Checkout-B0kN0rtV.js} +4 -4
  9. package/dist/Checkout-B0kN0rtV.js.map +1 -0
  10. package/dist/{Checkout.legacy-ZKJN-dMX.js → Checkout.legacy-C2d681A8.js} +4 -4
  11. package/dist/Checkout.legacy-C2d681A8.js.map +1 -0
  12. package/dist/{CheckoutMain-5LdQDph1.js → CheckoutMain-DZM38nxH.js} +4 -4
  13. package/dist/CheckoutMain-DZM38nxH.js.map +1 -0
  14. package/dist/{CheckoutTimer-D6LfPX7c.js → CheckoutTimer-A_VjweSD.js} +2 -2
  15. package/dist/CheckoutTimer-A_VjweSD.js.map +1 -0
  16. package/dist/{CollectionView-BwQTF9Df.js → CollectionView-Bdea7CFP.js} +5 -5
  17. package/dist/CollectionView-Bdea7CFP.js.map +1 -0
  18. package/dist/{CollectionView.legacy-Cz6XX6Ly.js → CollectionView.legacy-DwmC3CJE.js} +3 -3
  19. package/dist/CollectionView.legacy-DwmC3CJE.js.map +1 -0
  20. package/dist/{EventDetailsView-Cp5IRJam.js → EventDetailsView-BZGCaONg.js} +2 -2
  21. package/dist/EventDetailsView-BZGCaONg.js.map +1 -0
  22. package/dist/{FeaturedView.legacy-DKOl806x.js → FeaturedView.legacy-B50Iobw-.js} +2 -2
  23. package/dist/FeaturedView.legacy-B50Iobw-.js.map +1 -0
  24. package/dist/{GalleryCard-MO80JCq7.js → GalleryCard-DWxe4V-1.js} +2 -2
  25. package/dist/GalleryCard-DWxe4V-1.js.map +1 -0
  26. package/dist/{GalleryView.legacy-pSihGXaa.js → GalleryView.legacy-029BCNHf.js} +3 -3
  27. package/dist/GalleryView.legacy-029BCNHf.js.map +1 -0
  28. package/dist/{GroupedListView.legacy-CC1kcrgF.js → GroupedListView.legacy-C2VTzS45.js} +2 -2
  29. package/dist/GroupedListView.legacy-C2VTzS45.js.map +1 -0
  30. package/dist/OrderSummarySkeleton-dDKUH741.js.map +1 -1
  31. package/dist/{SeriesPage-rUuL4Pdb.js → SeriesPage-_nG9iN27.js} +5 -5
  32. package/dist/SeriesPage-_nG9iN27.js.map +1 -0
  33. package/dist/{SeriesPage.legacy-BxPGQaCo.js → SeriesPage.legacy-DcOpUPf0.js} +2 -2
  34. package/dist/SeriesPage.legacy-DcOpUPf0.js.map +1 -0
  35. package/dist/{Success-BAHe8E_8.js → Success-BLZ9LhSr.js} +297 -277
  36. package/dist/Success-BLZ9LhSr.js.map +1 -0
  37. package/dist/{Success.legacy-COO3pzj4.js → Success.legacy-2YrL3tSx.js} +2 -2
  38. package/dist/Success.legacy-2YrL3tSx.js.map +1 -0
  39. package/dist/{VenueCalendar-Djc3e2j2.js → VenueCalendar-BU6tx6cI.js} +14 -14
  40. package/dist/{VenueCalendar-Djc3e2j2.js.map → VenueCalendar-BU6tx6cI.js.map} +1 -1
  41. package/dist/{ViewTicketsEmbed-CBk3cg3u.js → ViewTicketsEmbed-Ux9JO5rr.js} +2 -2
  42. package/dist/ViewTicketsEmbed-Ux9JO5rr.js.map +1 -0
  43. package/dist/api/api.cjs.map +1 -1
  44. package/dist/api/api.mjs.map +1 -1
  45. package/dist/api/types.d.ts +357 -357
  46. package/dist/colors-BZoMuXdh.js.map +1 -1
  47. package/dist/{labels-DySnOPVE.js → labels-B3SwmEcB.js} +2 -2
  48. package/dist/labels-B3SwmEcB.js.map +1 -0
  49. package/dist/seo/seo.cjs.map +1 -1
  50. package/dist/seo/seo.mjs.map +1 -1
  51. package/dist/seo/types.d.ts +137 -137
  52. package/dist/{transform-DKVmquzJ.js → transform-D99tnqVe.js} +2 -2
  53. package/dist/transform-D99tnqVe.js.map +1 -0
  54. package/dist/types/index.d.ts +387 -387
  55. package/dist/venue-calendar.es.js +1 -1
  56. package/dist/venue-calendar.iife.js +25 -25
  57. package/dist/venue-calendar.iife.js.map +1 -1
  58. package/dist/venue-calendar.umd.js +25 -25
  59. package/dist/venue-calendar.umd.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/lib/theme.js +222 -222
  62. package/dist/AirbnbSplitMain-BwFA51F6.js.map +0 -1
  63. package/dist/CarouselView.legacy-BHeZe5LX.js.map +0 -1
  64. package/dist/CartView-BUzE0wp2.js.map +0 -1
  65. package/dist/Checkout-pzohnvrX.js.map +0 -1
  66. package/dist/Checkout.legacy-ZKJN-dMX.js.map +0 -1
  67. package/dist/CheckoutMain-5LdQDph1.js.map +0 -1
  68. package/dist/CheckoutTimer-D6LfPX7c.js.map +0 -1
  69. package/dist/CollectionView-BwQTF9Df.js.map +0 -1
  70. package/dist/CollectionView.legacy-Cz6XX6Ly.js.map +0 -1
  71. package/dist/EventDetailsView-Cp5IRJam.js.map +0 -1
  72. package/dist/FeaturedView.legacy-DKOl806x.js.map +0 -1
  73. package/dist/GalleryCard-MO80JCq7.js.map +0 -1
  74. package/dist/GalleryView.legacy-pSihGXaa.js.map +0 -1
  75. package/dist/GroupedListView.legacy-CC1kcrgF.js.map +0 -1
  76. package/dist/SeriesPage-rUuL4Pdb.js.map +0 -1
  77. package/dist/SeriesPage.legacy-BxPGQaCo.js.map +0 -1
  78. package/dist/Success-BAHe8E_8.js.map +0 -1
  79. package/dist/Success.legacy-COO3pzj4.js.map +0 -1
  80. package/dist/ViewTicketsEmbed-CBk3cg3u.js.map +0 -1
  81. package/dist/labels-DySnOPVE.js.map +0 -1
  82. package/dist/transform-DKVmquzJ.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SeriesPage-_nG9iN27.js","sources":["../src/components/Views/SeriesPage.svelte"],"sourcesContent":["<script lang=\"ts\">\r\n\timport { goto } from '$app/navigation';\r\n\timport { createLogger } from '@getmicdrop/svelte-components';\r\n\timport AirbnbSplitMain from '$lib/premium-ticket-experience/variants/v3-airbnb-split/AirbnbSplitMain.svelte';\r\n\timport { transformSeriesPageData } from '$lib/premium-ticket-experience/transform';\r\n\r\n\tconst logger = createLogger('SeriesPage');\r\n\r\n\t// --- Legacy fallback ---\r\n\t// RETIREMENT: 2026-08-13 — see docs/LEGACY_RETIREMENT.md.\r\n\tlet useLegacy = $state(false);\r\n\tlet LegacyComponent: any = $state(null);\r\n\r\n\tif (typeof window !== 'undefined') {\r\n\t\tconst params = new URLSearchParams(window.location.search);\r\n\t\tif (params.get('legacy') === '1') {\r\n\t\t\tuseLegacy = true;\r\n\t\t}\r\n\t}\r\n\r\n\t$effect(() => {\r\n\t\tif (useLegacy && !LegacyComponent) {\r\n\t\t\tlogger.warn(\r\n\t\t\t\t'[VC] DEPRECATED: ?legacy=1 fallback for SeriesPage retires on 2026-08-13. See docs/LEGACY_RETIREMENT.md.'\r\n\t\t\t);\r\n\t\t\timport('./SeriesPage.legacy.svelte').then((m) => {\r\n\t\t\t\tLegacyComponent = m.default;\r\n\t\t\t}).catch(() => {\r\n\t\t\t\tuseLegacy = false;\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\t// --- Props (matches old SeriesPage external interface) ---\r\n\tinterface Props {\r\n\t\tseries: any;\r\n\t\tonNavigateToOccurrence?: (id: number, slug: string, name?: string) => void;\r\n\t}\r\n\r\n\tlet {\r\n\t\tseries,\r\n\t\tonNavigateToOccurrence = undefined,\r\n\t}: Props = $props();\r\n\r\n\t// Transform series data to EventData for AirbnbSplitMain\r\n\tlet eventData = $derived(series ? transformSeriesPageData(series) : null);\r\n\r\n\t// Handle occurrence click — delegate to callback or navigate directly\r\n\tfunction handleShowtimeClick(occurrence: { id: number; slug: string }): void {\r\n\t\tif (onNavigateToOccurrence) {\r\n\t\t\tonNavigateToOccurrence(occurrence.id, occurrence.slug);\r\n\t\t} else {\r\n\t\t\tgoto(`/${occurrence.id}/${occurrence.slug}`);\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n{#if useLegacy && LegacyComponent}\r\n\t<svelte:component this={LegacyComponent}\r\n\t\t{series}\r\n\t\t{onNavigateToOccurrence}\r\n\t/>\r\n{:else if eventData}\r\n\t<AirbnbSplitMain\r\n\t\tevent={eventData}\r\n\t\tonShowtimeClick={handleShowtimeClick}\r\n\t/>\r\n{/if}\r\n\r\n"],"names":["logger","createLogger","useLegacy","$","LegacyComponent","m","onNavigateToOccurrence","eventData","$$props","transformSeriesPageData","handleShowtimeClick","occurrence","goto","$$anchor","$$component","AirbnbSplitMain","$$render","consequent","consequent_1"],"mappings":";;;;;;;;;iBAAA;;QAMOA,IAASC,EAAa,YAAY;MAIpCC,IAAYC,EAAA,MAAO,EAAK,GACxBC,IAAuBD,EAAA,MAAO,IAAI;SAE3B,SAAW,WACF,gBAAgB,OAAO,SAAS,MAAM,EAC9C,IAAI,QAAQ,MAAM,OAC5BA,EAAA,IAAAD,GAAY,EAAI,GAIlBC,EAAA,kBAAc;UACTD,CAAS,KAAA,CAAAC,EAAA,IAAKC,CAAe,MAChCJ,EAAO,KACN,0GAA0G,GAEpG,OAAA,iCAA4B,EAAE,KAAI,CAAEK,MAAM;YAChDD,GAAkBC,EAAE,SAAO,EAAA;AAAA,IAC5B,CAAC,EAAE,MAAK,MAAO;AACd,MAAAF,EAAA,IAAAD,GAAY,EAAK;AAAA,IAClB,CAAC;AAAA,EAEH,CAAC;AAUA,MAAAI,2CAAyB,MAAS,GAI/BC,IAASJ,EAAA,QAAA,MAAAK,EAAA,SAAqBC,EAAuBD,EAAA,MAAA,IAAW,IAAI;WAG/DE,EAAoBC,GAAgD;AACxE,IAAAL,EAAsB,IACzBA,EAAsB,EAACK,EAAW,IAAIA,EAAW,IAAI,IAErDC,MAASD,EAAW,EAAE,IAAIA,EAAW,IAAI,EAAA;AAAA,EAE3C;;;;;iCAIwBP,CAAe,GAAA,CAAAS,GAAAC,MAAA;;;;;;mBAErCR,EAAsB;AAAA;;;;AAGvB,MAAAS,EAAeF,GAAA;AAAA;uBACRN,CAAS;AAAA;yBACCG;AAAA;;;YARdR,CAAS,KAAAC,EAAA,IAAIC,CAAe,IAAAY,EAAAC,CAAA,IAAAd,EAAA,IAKvBI,CAAS,KAAAS,EAAAE,GAAA,CAAA;AAAA;;;AAPX;"}
@@ -1,6 +1,6 @@
1
1
  import "svelte/internal/disclose-version";
2
2
  import * as e from "svelte/internal/client";
3
- import { aB as ue, e as J, u as pe, aH as K, aI as be, $ as xe } from "./VenueCalendar-Djc3e2j2.js";
3
+ import { aB as ue, e as J, u as pe, aH as K, aI as be, $ as xe } from "./VenueCalendar-BU6tx6cI.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
  Re as default
194
194
  };
195
- //# sourceMappingURL=SeriesPage.legacy-BxPGQaCo.js.map
195
+ //# sourceMappingURL=SeriesPage.legacy-DcOpUPf0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SeriesPage.legacy-DcOpUPf0.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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"}