@getmicdrop/venue-calendar 3.5.5 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +661 -661
- package/dist/{CarouselView.legacy-C9QYS3av.js → CarouselView.legacy-DeWfW7JT.js} +2 -2
- package/dist/CarouselView.legacy-DeWfW7JT.js.map +1 -0
- package/dist/{Checkout.legacy-CyiqW4Im.js → Checkout.legacy-CJPThT4I.js} +5 -4
- package/dist/Checkout.legacy-CJPThT4I.js.map +1 -0
- package/dist/{CollectionView.legacy-CQeXXMOU.js → CollectionView.legacy-BG3g7XbI.js} +5 -4
- package/dist/CollectionView.legacy-BG3g7XbI.js.map +1 -0
- package/dist/{FeaturedView.legacy-C3td2GLq.js → FeaturedView.legacy-CALzP8EW.js} +2 -2
- package/dist/FeaturedView.legacy-CALzP8EW.js.map +1 -0
- package/dist/{GalleryView.legacy-BJwdUDNJ.js → GalleryView.legacy-DIhYvOQU.js} +2 -2
- package/dist/GalleryView.legacy-DIhYvOQU.js.map +1 -0
- package/dist/{GroupedListView.legacy-DWU0K8XY.js → GroupedListView.legacy-C9dQ_v_d.js} +2 -2
- package/dist/GroupedListView.legacy-C9dQ_v_d.js.map +1 -0
- package/dist/{SeriesPage.legacy-D-ZoVrPE.js → SeriesPage.legacy-hSI5Sm8W.js} +2 -2
- package/dist/SeriesPage.legacy-hSI5Sm8W.js.map +1 -0
- package/dist/{Success.legacy-D9zlNOn7.js → Success.legacy-DEjngxhO.js} +2 -2
- package/dist/Success.legacy-DEjngxhO.js.map +1 -0
- package/dist/{VenueCalendar-DX2HF1GE.js → VenueCalendar-DvT1UOq-.js} +11803 -11535
- package/dist/VenueCalendar-DvT1UOq-.js.map +1 -0
- package/dist/api/api.cjs +1 -1
- package/dist/api/api.cjs.map +1 -1
- package/dist/api/api.mjs +278 -266
- package/dist/api/api.mjs.map +1 -1
- package/dist/api/types.d.ts +349 -349
- package/dist/colors-BZoMuXdh.js.map +1 -1
- package/dist/seo/seo.cjs +1 -1
- package/dist/seo/seo.cjs.map +1 -1
- package/dist/seo/seo.mjs +52 -40
- package/dist/seo/seo.mjs.map +1 -1
- package/dist/seo/types.d.ts +136 -135
- package/dist/types/index.d.ts +387 -387
- package/dist/venue-calendar.css +1 -1
- package/dist/venue-calendar.es.js +2 -2
- package/dist/venue-calendar.iife.js +42 -42
- package/dist/venue-calendar.iife.js.map +1 -1
- package/dist/venue-calendar.umd.js +42 -42
- package/dist/venue-calendar.umd.js.map +1 -1
- package/package.json +121 -112
- package/src/lib/theme.js +213 -209
- package/dist/CarouselView.legacy-C9QYS3av.js.map +0 -1
- package/dist/Checkout.legacy-CyiqW4Im.js.map +0 -1
- package/dist/CollectionView.legacy-CQeXXMOU.js.map +0 -1
- package/dist/FeaturedView.legacy-C3td2GLq.js.map +0 -1
- package/dist/GalleryView.legacy-BJwdUDNJ.js.map +0 -1
- package/dist/GroupedListView.legacy-DWU0K8XY.js.map +0 -1
- package/dist/SeriesPage.legacy-D-ZoVrPE.js.map +0 -1
- package/dist/Success.legacy-D9zlNOn7.js.map +0 -1
- package/dist/VenueCalendar-DX2HF1GE.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "svelte/internal/disclose-version";
|
|
2
2
|
import * as e from "svelte/internal/client";
|
|
3
|
-
import { P as ye, x as J, y as ue, c as pe } from "./VenueCalendar-
|
|
3
|
+
import { P as ye, x as J, y as ue, c as pe } from "./VenueCalendar-DvT1UOq-.js";
|
|
4
4
|
var be = e.from_html('<span class="venue-separator svelte-4y42r2">·</span> <span class="venue-location svelte-4y42r2"> </span>', 1), xe = e.from_html('<p class="series-summary svelte-4y42r2"> </p>'), qe = e.from_html('<div class="series-description svelte-4y42r2"> </div>'), Ne = e.from_html('<div class="empty-dates svelte-4y42r2"><p class="empty-text svelte-4y42r2">No upcoming dates scheduled at this time.</p> <p class="empty-subtext svelte-4y42r2">Check back soon for new announcements.</p></div>'), ke = e.from_html('<div class="occurrence-card svelte-4y42r2"><div class="occurrence-info svelte-4y42r2"><div class="occurrence-date svelte-4y42r2"> </div> <div class="occurrence-time svelte-4y42r2"> </div></div> <div class="occurrence-action svelte-4y42r2"><button> </button></div></div>'), Ae = e.from_html('<div class="dates-list svelte-4y42r2"></div>'), Se = e.from_html('<img class="performer-image svelte-4y42r2"/>'), De = e.from_html('<div class="performer-placeholder svelte-4y42r2"><svg class="placeholder-icon svelte-4y42r2" fill="currentColor" viewBox="0 0 24 24"><path 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" class="svelte-4y42r2"></path></svg></div>'), Ie = e.from_html('<div class="performer-card svelte-4y42r2"><div class="performer-avatar svelte-4y42r2"><!></div> <h3 class="performer-name svelte-4y42r2"> </h3></div>'), Te = e.from_html('<section class="section svelte-4y42r2"><h2 class="section-heading svelte-4y42r2">Performers</h2> <div class="performers-grid svelte-4y42r2"></div></section>'), Ce = e.from_html('<div class="faq-item svelte-4y42r2"><p class="faq-question svelte-4y42r2"> </p> <p class="faq-answer svelte-4y42r2"> </p></div>'), Ee = e.from_html('<p class="svelte-4y42r2"> </p>'), Le = e.from_html('<div class="sidebar-section svelte-4y42r2"><h3 class="sidebar-heading svelte-4y42r2">FAQ</h3> <div class="faq-content svelte-4y42r2"><!></div></div>'), we = e.from_html('<div class="sidebar-section svelte-4y42r2"><h3 class="sidebar-heading svelte-4y42r2">Important Info</h3> <div class="disclaimer-text svelte-4y42r2"> </div></div>'), Oe = e.from_html('<div class="sidebar-card svelte-4y42r2"><!> <!></div>'), Pe = e.from_html('<div class="series-page svelte-4y42r2"><div class="hero svelte-4y42r2"><div></div> <img class="hero-image svelte-4y42r2"/> <div class="hero-overlay svelte-4y42r2"><div class="hero-content svelte-4y42r2"><span class="series-badge svelte-4y42r2">Recurring Event</span> <h1 class="series-title svelte-4y42r2"> </h1> <div class="series-venue svelte-4y42r2"><span class="svelte-4y42r2"> </span> <!></div></div></div></div> <div class="content-grid svelte-4y42r2"><div class="main-column svelte-4y42r2"><section class="section svelte-4y42r2"><h2 class="section-heading svelte-4y42r2">About this Series</h2> <!> <!></section> <section class="section svelte-4y42r2"><div class="dates-header svelte-4y42r2"><h2 class="section-heading svelte-4y42r2">Upcoming Dates</h2> <span class="dates-count svelte-4y42r2"> </span></div> <!></section> <!></div> <div class="sidebar svelte-4y42r2"><div class="sidebar-sticky svelte-4y42r2"><!></div></div></div></div>');
|
|
5
5
|
function Me(K, t) {
|
|
6
6
|
e.push(t, !0);
|
|
@@ -184,4 +184,4 @@ e.delegate(["click"]);
|
|
|
184
184
|
export {
|
|
185
185
|
Me as default
|
|
186
186
|
};
|
|
187
|
-
//# sourceMappingURL=SeriesPage.legacy-
|
|
187
|
+
//# sourceMappingURL=SeriesPage.legacy-hSI5Sm8W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SeriesPage.legacy-hSI5Sm8W.js","sources":["../src/components/Views/SeriesPage.legacy.svelte"],"sourcesContent":["<script>\n import { getImageUrl } from '$lib/utils/utils.js';\n import { formatEventDate, formatEventTime, formatTimeRange } from '$lib/utils/datetime.js';\n import { PLACEHOLDER_IMAGE } from '$lib/utils/constants.js';\n\n let {\n series,\n onNavigateToOccurrence,\n } = $props();\n\n let imageLoaded = $state(false);\n\n let seriesImage = $derived(\n series?.image\n ? getImageUrl(series.image)\n : PLACEHOLDER_IMAGE\n );\n\n let tz = $derived(series?.timeZone || 'America/Los_Angeles');\n\n function formatDate(iso) {\n return formatEventDate(iso, tz);\n }\n\n function formatTime(iso) {\n return formatEventTime(iso, tz);\n }\n\n function handleOccurrenceClick(occurrence) {\n if (!occurrence.ctaState?.disabled && onNavigateToOccurrence) {\n onNavigateToOccurrence(occurrence.id, occurrence.slug || '', occurrence.name || '');\n }\n }\n</script>\n\n{#if series}\n <div class=\"series-page\">\n <!-- Hero Image -->\n <div class=\"hero\">\n <div class=\"hero-skeleton\" class:hidden={imageLoaded}></div>\n <img\n src={seriesImage}\n alt={series.title}\n class=\"hero-image\"\n onload={() => (imageLoaded = true)}\n />\n <div class=\"hero-overlay\">\n <div class=\"hero-content\">\n <span class=\"series-badge\">Recurring Event</span>\n <h1 class=\"series-title\">{series.title}</h1>\n <div class=\"series-venue\">\n <span>{series.venue?.name}</span>\n {#if series.venue?.googleLocationNameCache}\n <span class=\"venue-separator\">·</span>\n <span class=\"venue-location\">{series.venue.googleLocationNameCache}</span>\n {/if}\n </div>\n </div>\n </div>\n </div>\n\n <!-- Content Grid -->\n <div class=\"content-grid\">\n <!-- Main Column -->\n <div class=\"main-column\">\n <!-- About Section -->\n <section class=\"section\">\n <h2 class=\"section-heading\">About this Series</h2>\n {#if series.eventSummary}\n <p class=\"series-summary\">{series.eventSummary}</p>\n {/if}\n {#if series.description}\n <div class=\"series-description\">{series.description}</div>\n {/if}\n </section>\n\n <!-- Upcoming Dates -->\n <section class=\"section\">\n <div class=\"dates-header\">\n <h2 class=\"section-heading\">Upcoming Dates</h2>\n <span class=\"dates-count\">{series.occurrences?.length || 0} events</span>\n </div>\n\n {#if !series.occurrences?.length}\n <div class=\"empty-dates\">\n <p class=\"empty-text\">No upcoming dates scheduled at this time.</p>\n <p class=\"empty-subtext\">Check back soon for new announcements.</p>\n </div>\n {:else}\n <div class=\"dates-list\">\n {#each series.occurrences as occurrence}\n <div class=\"occurrence-card\">\n <div class=\"occurrence-info\">\n <div class=\"occurrence-date\">{formatDate(occurrence.startDateTime)}</div>\n <div class=\"occurrence-time\">\n {formatTime(occurrence.startDateTime)} - {formatTime(occurrence.endDateTime)}\n </div>\n </div>\n <div class=\"occurrence-action\">\n <button\n class=\"cta-button\"\n class:cta-disabled={occurrence.ctaState?.disabled}\n disabled={occurrence.ctaState?.disabled}\n onclick={() => handleOccurrenceClick(occurrence)}\n >\n {occurrence.ctaState?.text || 'Get tickets'}\n </button>\n </div>\n </div>\n {/each}\n </div>\n {/if}\n </section>\n\n <!-- Performers -->\n {#if series.performers?.length}\n <section class=\"section\">\n <h2 class=\"section-heading\">Performers</h2>\n <div class=\"performers-grid\">\n {#each series.performers as performer}\n <div class=\"performer-card\">\n <div class=\"performer-avatar\">\n {#if performer.profileImage}\n <img\n src={getImageUrl(performer.profileImage)}\n alt={performer.displayName || `${performer.firstName} ${performer.lastName}`}\n class=\"performer-image\"\n />\n {:else}\n <div class=\"performer-placeholder\">\n <svg class=\"placeholder-icon\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path 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\" />\n </svg>\n </div>\n {/if}\n </div>\n <h3 class=\"performer-name\">\n {performer.displayName || `${performer.firstName} ${performer.lastName}`}\n </h3>\n </div>\n {/each}\n </div>\n </section>\n {/if}\n </div>\n\n <!-- Sidebar -->\n <div class=\"sidebar\">\n <div class=\"sidebar-sticky\">\n {#if series.venue?.faq || series.venue?.disclaimer}\n <div class=\"sidebar-card\">\n {#if series.venue.faq}\n <div class=\"sidebar-section\">\n <h3 class=\"sidebar-heading\">FAQ</h3>\n <div class=\"faq-content\">\n {#if Array.isArray(series.venue.faq)}\n {#each series.venue.faq as item}\n <div class=\"faq-item\">\n <p class=\"faq-question\">{item.question}</p>\n <p class=\"faq-answer\">{item.answer}</p>\n </div>\n {/each}\n {:else}\n <p>{series.venue.faq}</p>\n {/if}\n </div>\n </div>\n {/if}\n\n {#if series.venue.disclaimer}\n <div class=\"sidebar-section\">\n <h3 class=\"sidebar-heading\">Important Info</h3>\n <div class=\"disclaimer-text\">{series.venue.disclaimer}</div>\n </div>\n {/if}\n </div>\n {/if}\n </div>\n </div>\n </div>\n </div>\n{/if}\n\n<style>\n .series-page {\n min-height: 100vh;\n padding-bottom: 5rem;\n background: hsl(var(--surface-primary, 0 0% 100%));\n color: hsl(var(--text-primary, 0 0% 10%));\n }\n\n /* Hero */\n .hero {\n position: relative;\n width: 100%;\n overflow: hidden;\n height: 500px;\n }\n\n @media (max-width: 768px) {\n .hero {\n height: 256px;\n }\n }\n\n .hero-skeleton {\n position: absolute;\n inset: 0;\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n background: hsl(var(--surface-secondary, 0 0% 96%));\n }\n\n @keyframes pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n\n .hero-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transition: transform 0.7s ease;\n }\n\n .hero:hover .hero-image {\n transform: scale(1.05);\n }\n\n .hero-overlay {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n padding: 1.5rem;\n background: linear-gradient(to top, color-mix(in srgb, black 90%, transparent), color-mix(in srgb, black 50%, transparent), transparent);\n }\n\n @media (min-width: 768px) {\n .hero-overlay {\n padding: 3rem;\n }\n }\n\n .hero-content {\n max-width: 64rem;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n }\n\n .series-badge {\n display: inline-flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n margin-bottom: 1rem;\n font-size: 0.75rem;\n line-height: 1rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n border-radius: 9999px;\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n background: hsl(var(--brand-primary, 224 76% 48%));\n color: hsl(var(--text-on-primary, 0 0% 100%));\n }\n\n .series-title {\n font-size: 2.25rem;\n line-height: 1.1;\n font-weight: 700;\n margin-bottom: 0.75rem;\n letter-spacing: -0.025em;\n color: hsl(var(--bg-primary));\n text-shadow: 0 2px 8px color-mix(in srgb, black 30%, transparent);\n }\n\n @media (min-width: 768px) {\n .series-title {\n font-size: 3.75rem;\n line-height: 1;\n }\n }\n\n .series-venue {\n font-size: 1.125rem;\n line-height: 1.75rem;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.5rem;\n font-weight: 500;\n color: color-mix(in srgb, white 90%, transparent);\n }\n\n @media (min-width: 768px) {\n .series-venue {\n font-size: 1.25rem;\n line-height: 1.75rem;\n }\n }\n\n .venue-separator {\n display: none;\n opacity: 0.6;\n }\n\n @media (min-width: 768px) {\n .venue-separator {\n display: inline;\n }\n }\n\n .venue-location {\n opacity: 0.75;\n }\n\n /* Content Grid */\n .content-grid {\n max-width: 64rem;\n margin-left: auto;\n margin-right: auto;\n padding: 3rem 1.5rem;\n display: grid;\n grid-template-columns: 1fr;\n gap: 3rem;\n }\n\n @media (min-width: 768px) {\n .content-grid {\n padding-top: 5rem;\n padding-bottom: 5rem;\n }\n }\n\n @media (min-width: 1024px) {\n .content-grid {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n\n .main-column {\n display: flex;\n flex-direction: column;\n gap: 4rem;\n }\n\n @media (min-width: 1024px) {\n .main-column {\n grid-column: span 2 / span 2;\n }\n }\n\n .section {\n display: flex;\n flex-direction: column;\n gap: 1.5rem;\n }\n\n .section-heading {\n font-size: 1.875rem;\n line-height: 2.25rem;\n font-weight: 700;\n letter-spacing: -0.025em;\n padding-bottom: 1rem;\n color: hsl(var(--text-primary, 0 0% 10%));\n border-bottom: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\n }\n\n .series-summary {\n font-size: 1.25rem;\n line-height: 1.75rem;\n font-weight: 500;\n line-height: 1.625;\n color: hsl(var(--text-primary, 0 0% 20%));\n }\n\n .series-description {\n max-width: none;\n white-space: pre-line;\n line-height: 1.625;\n color: hsl(var(--text-secondary, 0 0% 40%));\n }\n\n /* Upcoming Dates */\n .dates-header {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n padding-bottom: 1rem;\n border-bottom: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\n }\n\n .dates-count {\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 500;\n color: hsl(var(--text-secondary, 0 0% 45%));\n }\n\n .empty-dates {\n padding: 3rem;\n border-radius: 1rem;\n text-align: center;\n background: hsl(var(--surface-secondary, 0 0% 96%));\n border: 2px dashed hsl(var(--stroke-secondary, 0 0% 85%));\n }\n\n .empty-text {\n font-size: 1.125rem;\n line-height: 1.75rem;\n font-weight: 500;\n color: hsl(var(--text-secondary, 0 0% 45%));\n }\n\n .empty-subtext {\n margin-top: 0.5rem;\n color: hsl(var(--text-secondary, 0 0% 55%));\n }\n\n .dates-list {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n }\n\n .occurrence-card {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 1.5rem;\n border-radius: 1rem;\n transition: all 0.2s;\n background: hsl(var(--surface-primary, 0 0% 100%));\n border: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\n }\n\n @media (min-width: 640px) {\n .occurrence-card {\n flex-direction: row;\n align-items: center;\n }\n }\n\n .occurrence-card:hover {\n border-color: hsl(var(--brand-primary, 224 76% 48%));\n box-shadow: 0 4px 12px color-mix(in srgb, black 8%, transparent);\n }\n\n .occurrence-info {\n margin-bottom: 1rem;\n }\n\n @media (min-width: 640px) {\n .occurrence-info {\n margin-bottom: 0;\n }\n }\n\n .occurrence-date {\n font-size: 1.25rem;\n line-height: 1.75rem;\n font-weight: 700;\n margin-bottom: 0.25rem;\n color: hsl(var(--text-primary, 0 0% 10%));\n }\n\n .occurrence-time {\n font-weight: 500;\n color: hsl(var(--text-secondary, 0 0% 45%));\n }\n\n .occurrence-action {\n padding-left: 0;\n }\n\n @media (min-width: 640px) {\n .occurrence-action {\n padding-left: 1.5rem;\n }\n }\n\n .cta-button {\n width: 100%;\n padding: 0.75rem 1.5rem;\n border-radius: 0.5rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 600;\n transition: transform 0.15s;\n background: hsl(var(--brand-primary, 224 76% 48%));\n color: hsl(var(--text-on-primary, 0 0% 100%));\n }\n\n @media (min-width: 640px) {\n .cta-button {\n width: auto;\n }\n }\n\n .cta-button:hover:not(:disabled) {\n transform: scale(1.05);\n }\n\n .cta-disabled {\n cursor: not-allowed;\n background: hsl(var(--surface-secondary, 0 0% 90%));\n color: hsl(var(--text-secondary, 0 0% 55%));\n }\n\n /* Performers */\n .performers-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 2rem;\n }\n\n @media (min-width: 640px) {\n .performers-grid {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n\n .performer-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n padding: 1rem;\n border-radius: 0.75rem;\n transition: background-color 0.15s;\n }\n\n .performer-card:hover {\n background: hsl(var(--surface-secondary, 0 0% 96%));\n }\n\n .performer-avatar {\n width: 7rem;\n height: 7rem;\n margin-bottom: 1rem;\n border-radius: 9999px;\n overflow: hidden;\n box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);\n background: hsl(var(--surface-secondary, 0 0% 92%));\n }\n\n .performer-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transition: transform 0.5s ease;\n }\n\n .performer-card:hover .performer-image {\n transform: scale(1.1);\n }\n\n .performer-placeholder {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: hsl(var(--text-secondary, 0 0% 60%));\n }\n\n .placeholder-icon {\n width: 3rem;\n height: 3rem;\n opacity: 0.5;\n }\n\n .performer-name {\n font-size: 1.125rem;\n line-height: 1.75rem;\n font-weight: 600;\n color: hsl(var(--text-primary, 0 0% 10%));\n }\n\n /* Sidebar */\n .sidebar {\n display: flex;\n flex-direction: column;\n gap: 2rem;\n }\n\n @media (min-width: 1024px) {\n .sidebar {\n grid-column: span 1 / span 1;\n }\n }\n\n .sidebar-sticky {\n position: sticky;\n top: 6rem;\n display: flex;\n flex-direction: column;\n gap: 2rem;\n }\n\n .sidebar-card {\n border-radius: 1rem;\n padding: 2rem;\n background: hsl(var(--surface-secondary, 0 0% 96%));\n border: 1px solid hsl(var(--stroke-secondary, 0 0% 92%));\n }\n\n .sidebar-section {\n margin-bottom: 2rem;\n }\n\n .sidebar-section:last-child {\n margin-bottom: 0;\n }\n\n .sidebar-heading {\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n margin-bottom: 1rem;\n color: hsl(var(--text-primary, 0 0% 10%));\n }\n\n .faq-content {\n color: hsl(var(--text-secondary, 0 0% 40%));\n }\n\n .faq-item {\n margin-bottom: 0.75rem;\n }\n\n .faq-question {\n font-weight: 700;\n color: hsl(var(--text-primary, 0 0% 20%));\n }\n\n .faq-answer {\n font-size: 0.875rem;\n line-height: 1.25rem;\n }\n\n .disclaimer-text {\n font-size: 0.875rem;\n line-height: 1.625;\n padding: 1rem;\n border-radius: 0.5rem;\n background: hsl(var(--surface-primary, 0 0% 100%));\n color: hsl(var(--text-secondary, 0 0% 40%));\n border: 1px solid hsl(var(--stroke-secondary, 0 0% 90%));\n }\n</style>\n"],"names":["imageLoaded","$","seriesImage","getImageUrl","$$props","PLACEHOLDER_IMAGE","tz","formatDate","iso","formatEventDate","formatTime","formatEventTime","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","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,7 +1,7 @@
|
|
|
1
1
|
import "svelte/internal/disclose-version";
|
|
2
2
|
import * as e from "svelte/internal/client";
|
|
3
3
|
import { onMount as ne } from "svelte";
|
|
4
|
-
import { t as ce, r as H, s as me, w as ge } from "./VenueCalendar-
|
|
4
|
+
import { t as ce, r as H, s as me, w as ge } from "./VenueCalendar-DvT1UOq-.js";
|
|
5
5
|
import { A as r } from "./colors-BZoMuXdh.js";
|
|
6
6
|
var pe = e.from_html('<div class="confetti svelte-g1e40p"></div>'), fe = e.from_html('<div class="confetti-container svelte-g1e40p" aria-hidden="true"></div>'), ue = e.from_html('<div class="detail-row svelte-g1e40p"><dt class="detail-label svelte-g1e40p">Order ID</dt> <dd class="detail-value order-id svelte-g1e40p"> </dd></div>'), _e = e.from_html('<div class="detail-row svelte-g1e40p"><dt class="detail-label svelte-g1e40p">Event</dt> <dd class="detail-value event-name svelte-g1e40p"> </dd></div>'), he = e.from_html('<div class="detail-row svelte-g1e40p"><dt class="detail-label svelte-g1e40p">When</dt> <dd class="detail-value svelte-g1e40p"><time class="svelte-g1e40p"> </time></dd></div>'), be = e.from_html('<div class="detail-row svelte-g1e40p"><dt class="detail-label svelte-g1e40p">Where</dt> <dd class="detail-value svelte-g1e40p"> </dd></div>'), ke = e.from_html('<a class="nav-link secondary svelte-g1e40p">Back to event</a>'), ye = e.from_html('<a class="nav-link primary svelte-g1e40p">Browse more events</a>'), we = e.from_html('<nav aria-label="Next steps"><!> <!></nav>'), xe = e.from_html(`<div class="success-container svelte-g1e40p" role="main" aria-labelledby="success-title"><!> <div class="content-wrapper svelte-g1e40p"><div><div class="machine-slot svelte-g1e40p"><div class="slot-inner svelte-g1e40p"></div></div> <div><div class="ticket-content svelte-g1e40p"><div class="ticket-header svelte-g1e40p"><div class="success-badge svelte-g1e40p" aria-hidden="true"><!></div> <h1 id="success-title" class="success-title svelte-g1e40p">You're all set!</h1> <p class="success-subtitle svelte-g1e40p">Your tickets have been confirmed</p></div> <div class="ticket-divider svelte-g1e40p"><div class="divider-notch left svelte-g1e40p"></div> <div class="divider-line svelte-g1e40p"></div> <div class="divider-notch right svelte-g1e40p"></div></div> <dl aria-label="Order details"><div class="detail-row svelte-g1e40p"><dt class="detail-label svelte-g1e40p">Email</dt> <dd class="detail-value svelte-g1e40p"> </dd></div> <!> <!> <!> <!></dl> <div class="ticket-footer svelte-g1e40p"><p class="footer-text svelte-g1e40p">Check your email for your tickets</p></div></div> <div class="ticket-stub svelte-g1e40p"></div></div></div> <!></div></div>`);
|
|
7
7
|
function Le(J, f) {
|
|
@@ -188,4 +188,4 @@ function Le(J, f) {
|
|
|
188
188
|
export {
|
|
189
189
|
Le as default
|
|
190
190
|
};
|
|
191
|
-
//# sourceMappingURL=Success.legacy-
|
|
191
|
+
//# sourceMappingURL=Success.legacy-DEjngxhO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Success.legacy-DEjngxhO.js","sources":["../src/components/Views/Success.legacy.svelte"],"sourcesContent":["<script>\n import { onMount } from \"svelte\";\n import { transformEvent, getOrder } from \"$lib/utils/utils.js\";\n import { formatConfirmationDateTime } from \"$lib/utils/datetime.js\";\n import { CheckmarkFilled } from \"carbon-icons-svelte\";\n import { ACCENT, DARK } from \"$lib/constants/colors.ts\";\n\n let {\n data = {},\n eventUrl = '',\n browseUrl = '/',\n } = $props();\n\n const {\n organizationID,\n orgSlug,\n slug,\n event: rawEvent,\n orderId: providedOrderId,\n customerEmail: providedCustomerEmail,\n eventName: providedEventName,\n eventDateTime: providedEventDateTime,\n eventLocation: providedEventLocation,\n } = data || {};\n\n let event = null;\n if (rawEvent) {\n try {\n event = transformEvent(rawEvent);\n } catch (e) {\n console.warn(\"transformEvent failed in Success component:\", e);\n event = rawEvent;\n }\n }\n\n let order = null;\n let error = null;\n let Email = $state(\"\");\n let id = $state(\"\");\n let name = $state(\"\");\n let time = $state(\"\");\n let Location = $state(\"\");\n let orderId = providedOrderId || data?.orderId || \"\";\n\n // Animation states\n let showConfetti = $state(false);\n let showTicket = $state(false);\n let showDetails = $state(false);\n\n function formatDateTime(dateTimeString) {\n if (!dateTimeString) return \"\";\n // Use event timezone if available, otherwise fall back to UTC\n const tz = event?.timeZone || 'UTC';\n return formatConfirmationDateTime(dateTimeString, tz);\n }\n\n // Generate confetti particles\n const confettiColors = [\n ACCENT.coral,\n ACCENT.sky.light,\n ACCENT.sky[400],\n ACCENT.mint[600],\n ACCENT.yellow[300],\n ACCENT.plum,\n ACCENT.mint[500],\n ACCENT.yellow[500]\n ];\n const confettiParticles = Array.from({ length: 50 }, (_, i) => ({\n id: i,\n color: confettiColors[Math.floor(Math.random() * confettiColors.length)],\n left: Math.random() * 100,\n delay: Math.random() * 0.5,\n duration: 2 + Math.random() * 2,\n size: 6 + Math.random() * 8,\n rotation: Math.random() * 360\n }));\n\n onMount(async () => {\n // Start animations\n setTimeout(() => {\n showConfetti = true;\n }, 100);\n\n setTimeout(() => {\n showTicket = true;\n }, 300);\n\n setTimeout(() => {\n showDetails = true;\n }, 800);\n\n try {\n let orderData = null;\n try {\n if (typeof getOrder === \"function\" && orderId) {\n orderData = await getOrder(orderId);\n }\n } catch (e) {\n console.warn(\n \"getOrder failed in Success component, falling back to provided data:\",\n e\n );\n }\n\n if (orderData) {\n order = orderData;\n Email = orderData.customerEmail || providedCustomerEmail || \"\";\n id = orderData.id || orderId;\n name = orderData.eventName || event?.name || providedEventName || \"\";\n time = formatDateTime(\n orderData.eventDateTime ||\n event?.startDateTime ||\n providedEventDateTime\n );\n Location =\n orderData.eventLocation ||\n event?.location ||\n providedEventLocation ||\n \"\";\n } else {\n Email = providedCustomerEmail || \"\";\n id = orderId;\n name = providedEventName || event?.name || \"\";\n time = formatDateTime(providedEventDateTime || event?.startDateTime);\n Location = providedEventLocation || event?.location || \"\";\n }\n } catch (err) {\n console.error(\"Error fetching order data:\", err);\n error = err.message;\n Email = providedCustomerEmail || \"your-email@example.com\";\n id = orderId;\n name = event?.name || providedEventName || \"\";\n time = formatDateTime(event?.startDateTime || providedEventDateTime);\n Location = event?.location || providedEventLocation || \"\";\n }\n });\n</script>\n\n<div class=\"success-container\" role=\"main\" aria-labelledby=\"success-title\">\n <!-- Confetti -->\n {#if showConfetti}\n <div class=\"confetti-container\" aria-hidden=\"true\">\n {#each confettiParticles as particle (particle.id)}\n <div\n class=\"confetti\"\n style=\"\n left: {particle.left}%;\n background-color: {particle.color};\n animation-delay: {particle.delay}s;\n animation-duration: {particle.duration}s;\n width: {particle.size}px;\n height: {particle.size}px;\n transform: rotate({particle.rotation}deg);\n \"\n ></div>\n {/each}\n </div>\n {/if}\n\n <div class=\"content-wrapper\">\n <!-- Ticket Machine Animation -->\n <div class=\"ticket-machine\" class:animate={showTicket}>\n <!-- Machine slot -->\n <div class=\"machine-slot\">\n <div class=\"slot-inner\"></div>\n </div>\n\n <!-- Ticket coming out -->\n <div class=\"ticket\" class:slide-out={showTicket}>\n <div class=\"ticket-content\">\n <div class=\"ticket-header\">\n <div class=\"success-badge\" aria-hidden=\"true\">\n <CheckmarkFilled class=\"check-icon\" />\n </div>\n <h1 id=\"success-title\" class=\"success-title\">You're all set!</h1>\n <p class=\"success-subtitle\">Your tickets have been confirmed</p>\n </div>\n\n <div class=\"ticket-divider\">\n <div class=\"divider-notch left\"></div>\n <div class=\"divider-line\"></div>\n <div class=\"divider-notch right\"></div>\n </div>\n\n <dl class=\"ticket-details\" class:fade-in={showDetails} aria-label=\"Order details\">\n <div class=\"detail-row\">\n <dt class=\"detail-label\">Email</dt>\n <dd class=\"detail-value\">{Email || 'Loading...'}</dd>\n </div>\n\n {#if id}\n <div class=\"detail-row\">\n <dt class=\"detail-label\">Order ID</dt>\n <dd class=\"detail-value order-id\">#{id}</dd>\n </div>\n {/if}\n\n {#if name}\n <div class=\"detail-row\">\n <dt class=\"detail-label\">Event</dt>\n <dd class=\"detail-value event-name\">{name}</dd>\n </div>\n {/if}\n\n {#if time}\n <div class=\"detail-row\">\n <dt class=\"detail-label\">When</dt>\n <dd class=\"detail-value\"><time>{time}</time></dd>\n </div>\n {/if}\n\n {#if Location}\n <div class=\"detail-row\">\n <dt class=\"detail-label\">Where</dt>\n <dd class=\"detail-value\">{Location}</dd>\n </div>\n {/if}\n </dl>\n\n <div class=\"ticket-footer\">\n <p class=\"footer-text\">Check your email for your tickets</p>\n </div>\n </div>\n\n <!-- Ticket stub pattern -->\n <div class=\"ticket-stub\"></div>\n </div>\n </div>\n\n <!-- Navigation CTAs -->\n {#if eventUrl || browseUrl}\n <nav class=\"nav-ctas\" class:fade-in={showDetails} aria-label=\"Next steps\">\n {#if eventUrl}\n <a href={eventUrl} class=\"nav-link secondary\">Back to event</a>\n {/if}\n {#if browseUrl}\n <a href={browseUrl} class=\"nav-link primary\">Browse more events</a>\n {/if}\n </nav>\n {/if}\n </div>\n</div>\n\n<style>\n .success-container {\n position: relative;\n min-height: 100vh;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 1.25rem;\n background: linear-gradient(180deg, hsl(var(--bg-primary)) 0%, hsl(var(--bg-secondary)) 100%);\n \n &:where(.dark, .dark *) {\n background: linear-gradient(180deg, hsl(var(--bg-primary)) 0%, hsl(var(--bg-primary)) 100%);\n }\n }\n\n /* Confetti */\n .confetti-container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 100%;\n pointer-events: none;\n overflow: hidden;\n }\n\n .confetti {\n position: absolute;\n top: -20px;\n border-radius: 2px;\n animation: confetti-fall linear forwards;\n }\n\n @keyframes confetti-fall {\n 0% {\n transform: translateY(0) rotate(0deg);\n opacity: 1;\n }\n 100% {\n transform: translateY(100vh) rotate(720deg);\n opacity: 0;\n }\n }\n\n /* Content wrapper */\n .content-wrapper {\n position: relative;\n z-index: 10;\n width: 100%;\n max-width: 380px;\n }\n\n /* Ticket machine */\n .ticket-machine {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n\n .machine-slot {\n width: 100%;\n height: 16px;\n background: linear-gradient(180deg, hsl(var(--muted)) 0%, hsl(var(--bg-primary)) 100%);\n border-radius: 8px 8px 0 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 4px 12px color-mix(in srgb, black 20%, transparent);\n position: relative;\n z-index: 5;\n }\n\n .slot-inner {\n width: 80%;\n height: 4px;\n background: hsl(var(--bg-primary));\n border-radius: 2px;\n }\n\n /* Ticket */\n .ticket {\n width: 100%;\n background: hsl(var(--bg-primary));\n border-radius: 0 0 16px 16px;\n box-shadow: 0 8px 32px color-mix(in srgb, black 12%, transparent);\n overflow: hidden;\n transform: translateY(-100%);\n opacity: 0;\n transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;\n }\n\n .ticket.slide-out {\n transform: translateY(0);\n opacity: 1;\n }\n\n .ticket-content {\n padding: 32px 24px 24px;\n }\n\n .ticket-header {\n text-align: center;\n margin-bottom: 24px;\n }\n\n .success-badge {\n width: 64px;\n height: 64px;\n background: linear-gradient(135deg, hsl(var(--accent-success)) 0%, hsl(var(--accent-success)) 100%);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n margin: 0 auto 16px;\n animation: badge-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s both;\n }\n\n @keyframes badge-pop {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n }\n\n .success-badge :global(.check-icon) {\n width: 32px;\n height: 32px;\n color: hsl(var(--bg-primary));\n }\n\n .success-title {\n font-size: 1.5rem;\n line-height: 2rem;\n font-weight: 600;\n color: hsl(var(--text-primary));\n margin-bottom: 0.5rem;\n }\n\n .success-subtitle {\n font-size: 0.875rem;\n line-height: 1.25rem;\n color: hsl(var(--text-secondary));\n margin: 0;\n }\n\n /* Ticket divider */\n .ticket-divider {\n position: relative;\n display: flex;\n align-items: center;\n margin: 0 -24px 24px;\n padding: 0 24px;\n }\n\n .divider-notch {\n width: 1rem;\n height: 1rem;\n border-radius: 9999px;\n position: absolute;\n background-color: hsl(var(--bg-primary));\n }\n\n .divider-notch.left {\n left: -8px;\n }\n\n .divider-notch.right {\n right: -8px;\n }\n\n .divider-line {\n flex: 1 1 0%;\n height: 0.125rem;\n background: repeating-linear-gradient(\n 90deg,\n hsl(var(--stroke-primary)) 0,\n hsl(var(--stroke-primary)) 8px,\n transparent 8px,\n transparent 16px\n );\n \n &:where(.dark, .dark *) {\n background: repeating-linear-gradient(\n 90deg,\n hsl(var(--text-secondary)) 0,\n hsl(var(--text-secondary)) 8px,\n transparent 8px,\n transparent 16px\n );\n }\n }\n\n /* Ticket details */\n .ticket-details {\n opacity: 0;\n transform: translateY(10px);\n transition: opacity 0.4s ease, transform 0.4s ease;\n }\n\n .ticket-details.fade-in {\n opacity: 1;\n transform: translateY(0);\n }\n\n .detail-row {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n border-bottom: 1px solid hsl(var(--stroke-primary) / 0.5);\n }\n\n .detail-row:last-child {\n border-bottom: 0;\n }\n\n .detail-label {\n font-size: 0.75rem;\n line-height: 1rem;\n font-weight: 600;\n color: hsl(var(--text-tertiary));\n text-transform: uppercase;\n letter-spacing: 0.025em;\n }\n\n .detail-value {\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 500;\n color: hsl(var(--text-primary));\n overflow-wrap: break-word;\n }\n\n .detail-value.order-id {\n color: hsl(var(--brand-primary));\n font-family: 'SF Mono', 'Consolas', monospace;\n }\n\n .detail-value.event-name {\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 600;\n }\n\n /* Ticket footer */\n .ticket-footer {\n margin-top: 1.5rem;\n padding: 1rem;\n border-radius: 0.5rem;\n text-align: center;\n background-color: hsl(var(--bg-secondary) / 0.5);\n }\n\n .footer-text {\n font-size: 0.875rem;\n line-height: 1.25rem;\n color: hsl(var(--text-secondary));\n margin: 0;\n }\n\n /* Ticket stub pattern */\n .ticket-stub {\n height: 1.5rem;\n background: linear-gradient(\n 90deg,\n transparent 0,\n transparent 8px,\n hsl(var(--stroke-primary) / 0.3) 8px,\n hsl(var(--stroke-primary) / 0.3) 16px\n );\n background-size: 16px 100%;\n }\n\n /* Navigation CTAs */\n .nav-ctas {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n margin-top: 1.5rem;\n opacity: 0;\n transform: translateY(10px);\n transition: opacity 0.4s ease 0.2s, transform 0.4s ease 0.2s;\n }\n\n .nav-ctas.fade-in {\n opacity: 1;\n transform: translateY(0);\n }\n\n .nav-link {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0.75rem 1rem;\n border-radius: 0.5rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 600;\n text-decoration: none;\n transition: background-color 0.15s, color 0.15s;\n }\n\n .nav-link.primary {\n background: hsl(var(--brand-primary, 220 90% 56%));\n color: hsl(var(--text-on-primary, 0 0% 100%));\n }\n\n .nav-link.primary:hover {\n filter: brightness(0.95);\n }\n\n .nav-link.secondary {\n background-color: hsl(var(--bg-tertiary));\n color: hsl(var(--text-secondary));\n }\n\n .nav-link.secondary:hover {\n background-color: hsl(var(--bg-quaternary));\n }\n\n /* Responsive */\n @media (max-width: 480px) {\n .success-container {\n padding: 16px;\n }\n\n .ticket-content {\n padding: 24px 20px 20px;\n }\n\n .success-title {\n font-size: 20px;\n }\n\n .success-badge {\n width: 56px;\n height: 56px;\n }\n\n .success-badge :global(.check-icon) {\n width: 28px;\n height: 28px;\n }\n }\n</style>\n"],"names":["data","$","$$props","eventUrl","browseUrl","organizationID","orgSlug","slug","rawEvent","providedOrderId","providedCustomerEmail","providedEventName","providedEventDateTime","providedEventLocation","event","transformEvent","e","order","Email","id","name","time","Location","orderId","showConfetti","showTicket","showDetails","formatDateTime","dateTimeString","tz","formatConfirmationDateTime","confettiColors","ACCENT","confettiParticles","_","i","onMount","orderData","getOrder","err","div","root","div_1","root_1","particle","$$anchor","div_2","root_2","$$render","consequent","div_3","node","div_4","div_5","div_6","div_7","div_8","CheckmarkFilled","node_1","dl","div_9","dd","div_10","root_3","dd_1","consequent_1","div_11","root_4","dd_2","consequent_2","div_12","root_5","dd_3","time_1","consequent_3","div_13","root_6","dd_4","consequent_4","nav","root_7","a","root_8","consequent_5","a_1","root_9","consequent_6","classes_3","consequent_7","classes","classes_1","classes_2","text"],"mappings":"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"}
|