@getmicdrop/venue-calendar 4.0.93 → 4.0.94

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 (80) hide show
  1. package/README.md +740 -740
  2. package/dist/CartView-hnrXbE_O.js +2385 -0
  3. package/dist/CartView-hnrXbE_O.js.map +1 -0
  4. package/dist/{Checkout-avoTg_Zw.js → Checkout-Bvre3lYs.js} +591 -588
  5. package/dist/Checkout-Bvre3lYs.js.map +1 -0
  6. package/dist/{Checkout-BUwdMMjA.js → Checkout-C4Kr5pVp.js} +268 -268
  7. package/dist/Checkout-C4Kr5pVp.js.map +1 -0
  8. package/dist/{CheckoutTimer-C_ax1Uo2.js → CheckoutTimer-D2HnWYm7.js} +5 -5
  9. package/dist/CheckoutTimer-D2HnWYm7.js.map +1 -0
  10. package/dist/{ClockIcon-C5muTIYL.js → ClockIcon-DA4wXK5Q.js} +2 -2
  11. package/dist/ClockIcon-DA4wXK5Q.js.map +1 -0
  12. package/dist/{CollectionView-3MHrh5Zm.js → CollectionView-DU1lTGU_.js} +5 -5
  13. package/dist/CollectionView-DU1lTGU_.js.map +1 -0
  14. package/dist/{Event-vR1aE543.js → Event-BuOnGjPB.js} +1046 -1052
  15. package/dist/Event-BuOnGjPB.js.map +1 -0
  16. package/dist/{EventPage-Bhg-8-5x.js → EventPage-vBSbuSaG.js} +6 -6
  17. package/dist/EventPage-vBSbuSaG.js.map +1 -0
  18. package/dist/{Heading-ZcvybCi8.js → Heading-D4iOOm-C.js} +8 -8
  19. package/dist/Heading-D4iOOm-C.js.map +1 -0
  20. package/dist/{ScarcityBadge-CjTFAhat.js → ScarcityBadge-D37JY-BJ.js} +8 -8
  21. package/dist/ScarcityBadge-D37JY-BJ.js.map +1 -0
  22. package/dist/{SeriesPage-DTEY83yR.js → SeriesPage-CZdi_-a4.js} +5 -5
  23. package/dist/SeriesPage-CZdi_-a4.js.map +1 -0
  24. package/dist/{Spinner--YBVljiP.js → Spinner-BZYln43S.js} +2 -2
  25. package/dist/Spinner-BZYln43S.js.map +1 -0
  26. package/dist/Success-CQYI5SZO.js +866 -0
  27. package/dist/Success-CQYI5SZO.js.map +1 -0
  28. package/dist/{Text-SlV9H-GU.js → Text-C-6sDfH2.js} +2 -2
  29. package/dist/Text-C-6sDfH2.js.map +1 -0
  30. package/dist/{VenueCalendar-Bth_j-Wp.js → VenueCalendar-Um0PQCVy.js} +1806 -1818
  31. package/dist/VenueCalendar-Um0PQCVy.js.map +1 -0
  32. package/dist/{ViewTicketsEmbed-D7g7RYZI.js → ViewTicketsEmbed-D2jQ8AMb.js} +148 -160
  33. package/dist/ViewTicketsEmbed-D2jQ8AMb.js.map +1 -0
  34. package/dist/api/api.cjs +1 -1
  35. package/dist/api/api.cjs.map +1 -1
  36. package/dist/api/api.mjs +192 -195
  37. package/dist/api/api.mjs.map +1 -1
  38. package/dist/api/types.d.ts +447 -447
  39. package/dist/{data-toggle-store.svelte-CFAVM8I0.js → data-toggle-store.svelte-CyXPU9Oq.js} +2 -2
  40. package/dist/data-toggle-store.svelte-CyXPU9Oq.js.map +1 -0
  41. package/dist/{labels-CnpAWtkz.js → labels-BNiV89mT.js} +124 -128
  42. package/dist/labels-BNiV89mT.js.map +1 -0
  43. package/dist/{modalManager.svelte-T2RGHhZH.js → modalManager.svelte-D_9E6W5P.js} +2 -2
  44. package/dist/modalManager.svelte-D_9E6W5P.js.map +1 -0
  45. package/dist/seo/seo.cjs.map +1 -1
  46. package/dist/seo/seo.mjs.map +1 -1
  47. package/dist/transform-HKz55B2D.js +360 -0
  48. package/dist/transform-HKz55B2D.js.map +1 -0
  49. package/dist/types/index.d.ts +454 -454
  50. package/dist/venue-calendar.css +1 -1
  51. package/dist/venue-calendar.es.js +11 -11
  52. package/dist/venue-calendar.iife.js +44 -44
  53. package/dist/venue-calendar.iife.js.map +1 -1
  54. package/dist/venue-calendar.umd.js +40 -40
  55. package/dist/venue-calendar.umd.js.map +1 -1
  56. package/package.json +2 -2
  57. package/src/lib/theme.js +222 -222
  58. package/dist/CartView-R5Z2q4Hy.js +0 -2380
  59. package/dist/CartView-R5Z2q4Hy.js.map +0 -1
  60. package/dist/Checkout-BUwdMMjA.js.map +0 -1
  61. package/dist/Checkout-avoTg_Zw.js.map +0 -1
  62. package/dist/CheckoutTimer-C_ax1Uo2.js.map +0 -1
  63. package/dist/ClockIcon-C5muTIYL.js.map +0 -1
  64. package/dist/CollectionView-3MHrh5Zm.js.map +0 -1
  65. package/dist/Event-vR1aE543.js.map +0 -1
  66. package/dist/EventPage-Bhg-8-5x.js.map +0 -1
  67. package/dist/Heading-ZcvybCi8.js.map +0 -1
  68. package/dist/ScarcityBadge-CjTFAhat.js.map +0 -1
  69. package/dist/SeriesPage-DTEY83yR.js.map +0 -1
  70. package/dist/Spinner--YBVljiP.js.map +0 -1
  71. package/dist/Success-ClCvTxTH.js +0 -848
  72. package/dist/Success-ClCvTxTH.js.map +0 -1
  73. package/dist/Text-SlV9H-GU.js.map +0 -1
  74. package/dist/VenueCalendar-Bth_j-Wp.js.map +0 -1
  75. package/dist/ViewTicketsEmbed-D7g7RYZI.js.map +0 -1
  76. package/dist/data-toggle-store.svelte-CFAVM8I0.js.map +0 -1
  77. package/dist/labels-CnpAWtkz.js.map +0 -1
  78. package/dist/modalManager.svelte-T2RGHhZH.js.map +0 -1
  79. package/dist/transform-C3TwZSH6.js +0 -349
  80. package/dist/transform-C3TwZSH6.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { I as w } from "./VenueCalendar-Bth_j-Wp.js";
1
+ import { I as w } from "./VenueCalendar-Um0PQCVy.js";
2
2
  import * as a from "svelte/internal/client";
3
3
  function e(s, i, p = 0) {
4
4
  const r = /* @__PURE__ */ new Date(), h = (5 - r.getUTCDay() + 7) % 7 || 7, n = new Date(
@@ -417,4 +417,4 @@ export {
417
417
  A as d,
418
418
  _ as m
419
419
  };
420
- //# sourceMappingURL=data-toggle-store.svelte-CFAVM8I0.js.map
420
+ //# sourceMappingURL=data-toggle-store.svelte-CyXPU9Oq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-toggle-store.svelte-CyXPU9Oq.js","sources":["../src/lib/public-calendar-flow/mock-data.ts","../src/lib/public-calendar-flow/data-toggle-store.svelte.ts"],"sourcesContent":["import { getDefaultTimezone } from '@getmicdrop/svelte-components/utils/timezones';\n// Premium Ticket Experience — Mock Data\n// Realistic event data for all design variants. DO NOT MODIFY per-variant.\n\nimport type {\n EventData,\n PerformerData,\n FAQItem,\n VenueData,\n TicketTypeData,\n} from './types';\n\n// All dates here are anchored to \"the upcoming Friday at 8pm\" so the showcase\n// stays in the future regardless of when it's loaded. Hardcoded calendar dates\n// rot every few months and cause `event_past` CTAs even when status === 'on_sale'.\nfunction showcaseDate(\n daysFromFriday: number,\n hour: number,\n minute = 0\n): string {\n const now = new Date();\n const day = now.getUTCDay(); // 0=Sun..6=Sat\n const daysToFriday = (5 - day + 7) % 7 || 7; // always the NEXT Friday (never today)\n const base = new Date(\n Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate())\n );\n base.setUTCDate(base.getUTCDate() + daysToFriday + daysFromFriday);\n const y = base.getUTCFullYear();\n const m = String(base.getUTCMonth() + 1).padStart(2, '0');\n const d = String(base.getUTCDate()).padStart(2, '0');\n const hh = String(hour).padStart(2, '0');\n const mm = String(minute).padStart(2, '0');\n return `${y}-${m}-${d}T${hh}:${mm}:00-08:00`;\n}\n\nfunction showcaseDateOnly(daysFromFriday: number): string {\n return showcaseDate(daysFromFriday, 0).slice(0, 10);\n}\n\n// --- Venue ---\nexport const mockVenue: VenueData = {\n id: 101,\n name: 'The Laugh Factory',\n address: '8001 Sunset Blvd, Los Angeles, CA 90046',\n timezone: getDefaultTimezone(),\n serviceFeePercentage: 10,\n serviceFeeCents: 0,\n taxPercentage: 9.5,\n contactEmail: 'help@thelaughfactory.com',\n};\n\n// --- Performers ---\nexport const mockPerformers: PerformerData[] = [\n {\n id: 1,\n displayName: 'Dave Martinez',\n profileImage:\n 'https://images.unsplash.com/photo-1506794778202-cad84cf45f1d?w=200&h=200&fit=crop',\n },\n {\n id: 2,\n displayName: 'Sarah Chen',\n profileImage:\n 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=200&h=200&fit=crop',\n },\n {\n id: 3,\n displayName: 'Mike Thompson',\n profileImage:\n 'https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=200&h=200&fit=crop',\n },\n];\n\n// --- FAQs ---\nexport const mockFaqs: FAQItem[] = [\n {\n question: 'What time do doors open?',\n answer:\n 'Doors open at 7:00 PM, one hour before showtime. We recommend arriving early to get the best seats.',\n },\n {\n question: 'Is there a drink minimum?',\n answer:\n 'Yes, there is a 2-drink minimum per person. Both alcoholic and non-alcoholic beverages count toward the minimum.',\n },\n {\n question: 'Can I get a refund?',\n answer:\n 'Tickets are non-refundable but can be transferred to another person up to 24 hours before the show. Contact us for transfers.',\n },\n {\n question: 'Is the venue accessible?',\n answer:\n 'Yes, the venue is fully wheelchair accessible with ADA-compliant seating available. Please contact us to reserve accessible seating.',\n },\n];\n\n// --- Ticket Types ---\nexport const mockTickets: TicketTypeData[] = [\n\t{\n\t\tid: 101,\n\t\tname: 'General Admission',\n\t\tdescription: 'Standard seating in the main room',\n\t\tprice: 25,\n\t\tfee: 2.5,\n\t\tquantityAvailable: 12,\n\t\tquantityTotal: 150,\n\t\tminPerOrder: 1,\n\t\tmaxPerOrder: 8,\n\t\tstatus: 'on_sale',\n\t\tsalesEndDate: '2026-02-20T20:00:00-08:00',\n\t\tisDonation: false,\n\t\tisHidden: false\n\t},\n\t{\n\t\tid: 102,\n\t\tname: 'VIP Front Row',\n\t\tdescription: 'Premium seats in the first two rows with a complimentary drink',\n\t\tprice: 55,\n\t\tfee: 5.5,\n\t\tquantityAvailable: 3,\n\t\tquantityTotal: 20,\n\t\tminPerOrder: 1,\n\t\tmaxPerOrder: 4,\n\t\tstatus: 'on_sale',\n\t\tsalesEndDate: '2026-02-20T20:00:00-08:00',\n\t\tisDonation: false,\n\t\tisHidden: false\n\t},\n\t{\n\t\tid: 103,\n\t\tname: 'Table for 4',\n\t\tdescription: 'Reserved table for four guests with bottle service',\n\t\tprice: 180,\n\t\tfee: 18,\n\t\tquantityAvailable: 8,\n\t\tquantityTotal: 15,\n\t\tminPerOrder: 1,\n\t\tmaxPerOrder: 3,\n\t\tstatus: 'on_sale',\n\t\tisDonation: false,\n\t\tisHidden: false\n\t},\n\t{\n\t\tid: 104,\n\t\tname: 'Student Discount',\n\t\tdescription: 'Valid student ID required at the door',\n\t\tprice: 15,\n\t\tfee: 1.5,\n\t\tquantityAvailable: 45,\n\t\tquantityTotal: 50,\n\t\tminPerOrder: 1,\n\t\tmaxPerOrder: 2,\n\t\tstatus: 'on_sale',\n\t\tisDonation: false,\n\t\tisHidden: false\n\t},\n\t{\n\t\tid: 105,\n\t\tname: 'Early Bird Special',\n\t\tdescription: 'Limited early bird pricing — first come, first served',\n\t\tprice: 20,\n\t\tfee: 2,\n\t\tquantityAvailable: 15,\n\t\tquantityTotal: 30,\n\t\tminPerOrder: 1,\n\t\tmaxPerOrder: 4,\n\t\tstatus: 'on_sale',\n\t\tisDonation: false,\n\t\tisHidden: false\n\t},\n\t{\n\t\tid: 106,\n\t\tname: 'Senior (65+)',\n\t\tdescription: 'Senior discount with valid ID at the door',\n\t\tprice: 18,\n\t\tfee: 1.8,\n\t\tquantityAvailable: 30,\n\t\tquantityTotal: 40,\n\t\tminPerOrder: 1,\n\t\tmaxPerOrder: 4,\n\t\tstatus: 'on_sale',\n\t\tisDonation: false,\n\t\tisHidden: false\n\t},\n\t{\n\t\tid: 107,\n\t\tname: 'Industry Comp',\n\t\tdescription: 'Discount for industry professionals — credentials required',\n\t\tprice: 12,\n\t\tfee: 1.2,\n\t\tquantityAvailable: 25,\n\t\tquantityTotal: 30,\n\t\tminPerOrder: 1,\n\t\tmaxPerOrder: 2,\n\t\tstatus: 'on_sale',\n\t\tisDonation: false,\n\t\tisHidden: false\n\t},\n\t{\n\t\tid: 108,\n\t\tname: 'Group of 6',\n\t\tdescription: 'Reserved booth for six guests with priority seating',\n\t\tprice: 240,\n\t\tfee: 24,\n\t\tquantityAvailable: 5,\n\t\tquantityTotal: 8,\n\t\tminPerOrder: 1,\n\t\tmaxPerOrder: 2,\n\t\tstatus: 'on_sale',\n\t\tisDonation: false,\n\t\tisHidden: false\n\t},\n\t{\n\t\tid: 109,\n\t\tname: 'Standing Room',\n\t\tdescription: 'Standing room only at the back of the venue',\n\t\tprice: 12,\n\t\tfee: 1.2,\n\t\tquantityAvailable: 50,\n\t\tquantityTotal: 60,\n\t\tminPerOrder: 1,\n\t\tmaxPerOrder: 6,\n\t\tstatus: 'on_sale',\n\t\tisDonation: false,\n\t\tisHidden: false\n\t},\n\t{\n\t\tid: 110,\n\t\tname: 'Day-of Door',\n\t\tdescription: 'Day-of pricing for walk-ins — limited availability',\n\t\tprice: 35,\n\t\tfee: 3.5,\n\t\tquantityAvailable: 20,\n\t\tquantityTotal: 25,\n\t\tminPerOrder: 1,\n\t\tmaxPerOrder: 4,\n\t\tstatus: 'on_sale',\n\t\tisDonation: false,\n\t\tisHidden: false\n\t}\n];\n\n// --- Main Event (on sale, multiple ticket types, scarcity on VIP) ---\n// Computed relative to today (showcase use): always lands ~21 days in the\n// future so the BookingWidget renders the on-sale state, not \"Sales ended\".\n// Memory: [[user_mastermind_date_awareness]] — never hardcode showcase dates.\nconst _now = new Date();\nconst _evDate = new Date(_now.getFullYear(), _now.getMonth(), _now.getDate() + 21);\nconst _ymd = `${_evDate.getFullYear()}-${String(_evDate.getMonth() + 1).padStart(2, '0')}-${String(_evDate.getDate()).padStart(2, '0')}`;\n\nexport const mockEvent: EventData = {\n id: 2405,\n title: 'Friday Night Comedy Throwdown',\n slug: 'friday-night-comedy-throwdown',\n description: `Get ready for the funniest night of the week! The Friday Night Comedy Throwdown brings together three of LA's hottest stand-up comics for two hours of non-stop laughs.\n\nHeadliner Dave Martinez (as seen on Netflix's \"Comedy Knockout\") brings his signature high-energy style, while Sarah Chen delivers her razor-sharp observational humor that's earned her a devoted following. Host Mike Thompson keeps the energy up between sets with crowd work that'll have you crying laughing.\n\nWhether you're a comedy regular or a first-timer, this show delivers. Grab your crew, grab some drinks, and prepare to laugh until your abs hurt.`,\n\tdate: _ymd,\n\tstartDateTime: `${_ymd}T20:00:00-08:00`,\n\tendDateTime: `${_ymd}T22:00:00-08:00`,\n\tdoorsOpenTime: `${_ymd}T19:00:00-08:00`,\n\ttimezone: 'America/Los_Angeles',\n\timageUrl: '/posters/Friday Night Showdown.jpg', // wide landscape 800×400\n\tvenue: mockVenue,\n\tperformers: mockPerformers,\n\ttickets: mockTickets,\n\tfaqs: mockFaqs,\n\tdisclaimer: '',\n\tstatus: 'on_sale',\n\tisPasswordProtected: false,\n\tisRegistrationEvent: false,\n\ttotalTicketsRemaining: 68,\n\ttotalTicketsCapacity: 265,\n\tdisplayStartTime: true,\n\tdisplayEndTime: true,\n\tdisplayDoorsTime: true\n};\n\n// --- Sold Out Event (no end time shown) ---\nexport const mockSoldOutEvent: EventData = {\n ...mockEvent,\n id: 2406,\n title: 'Saturday Night Special',\n slug: 'saturday-night-special',\n imageUrl: '/posters/the-duel-square.webp', // square 3000×3000\n date: showcaseDateOnly(1),\n startDateTime: showcaseDate(1, 21),\n endDateTime: showcaseDate(1, 23),\n displayEndTime: false,\n status: 'sold_out',\n totalTicketsRemaining: 0,\n tickets: mockTickets.map(t => ({\n ...t,\n quantityAvailable: 0,\n status: 'sold_out' as const,\n })),\n};\n\n// --- Free Event (no doors time shown) ---\nexport const mockFreeEvent: EventData = {\n ...mockEvent,\n id: 2407,\n title: 'Open Mic Night',\n slug: 'open-mic-night',\n imageUrl: '/posters/OpenMic-Twitter.jpg', // wide landscape 2127×1075\n date: showcaseDateOnly(-2),\n startDateTime: showcaseDate(-2, 19),\n endDateTime: showcaseDate(-2, 21),\n displayDoorsTime: false,\n description:\n 'Free open mic night! Sign up at the door. All skill levels welcome.',\n status: 'on_sale',\n tickets: [\n {\n id: 201,\n name: 'Free Entry',\n description: 'Sign up at the door for a 5-minute set',\n price: 0,\n fee: 0,\n quantityAvailable: 40,\n quantityTotal: 50,\n minPerOrder: 1,\n maxPerOrder: 2,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n },\n ],\n totalTicketsRemaining: 40,\n totalTicketsCapacity: 50,\n};\n\n// --- Series Event (with occurrences) ---\nexport const mockSeriesEvent: EventData = {\n ...mockEvent,\n id: 2410,\n title: 'Improv Throwdown',\n slug: 'improv-throwdown',\n imageUrl: '/posters/laughlab-tall.webp', // tall portrait 2550×3300\n eventSeriesId: 42,\n description:\n 'Weekly improv comedy show featuring rotating guest performers and audience participation games.',\n seriesOccurrences: [\n // Same-day shows (Fri Feb 20 — 7pm, 8pm, 9:30pm)\n {\n id: 2410,\n slug: 'improv-throwdown-feb-20-7pm',\n startDateTime: showcaseDate(0, 19),\n endDateTime: showcaseDate(0, 20, 30),\n status: 'sold_out',\n ctaText: 'Sold out',\n ctaDisabled: true,\n },\n {\n id: 2414,\n slug: 'improv-throwdown-feb-20-8pm',\n startDateTime: showcaseDate(0, 20),\n endDateTime: showcaseDate(0, 21, 30),\n status: 'on_sale',\n ctaText: 'Get tickets',\n ctaDisabled: false,\n },\n {\n id: 2415,\n slug: 'improv-throwdown-feb-20-930pm',\n startDateTime: showcaseDate(0, 21, 30),\n endDateTime: showcaseDate(0, 23),\n status: 'on_sale',\n ctaText: 'Get tickets',\n ctaDisabled: false,\n },\n // Single show days\n {\n id: 2411,\n slug: 'improv-throwdown-feb-27',\n startDateTime: showcaseDate(7, 20),\n endDateTime: showcaseDate(7, 22),\n status: 'sold_out',\n ctaText: 'Sold out',\n ctaDisabled: true,\n },\n {\n id: 2412,\n slug: 'improv-throwdown-mar-06',\n startDateTime: showcaseDate(14, 20),\n endDateTime: showcaseDate(14, 22),\n status: 'on_sale',\n ctaText: 'Get tickets',\n ctaDisabled: false,\n },\n {\n id: 2413,\n slug: 'improv-throwdown-mar-13',\n startDateTime: showcaseDate(21, 20),\n endDateTime: showcaseDate(21, 22),\n status: 'coming_soon',\n ctaText: 'Coming soon',\n ctaDisabled: true,\n },\n ],\n};\n\n// --- Series Instance (one specific occurrence of the series — regular event page with series link) ---\nexport const mockSeriesInstanceEvent: EventData = {\n ...mockEvent,\n id: 2414,\n title: 'Improv Throwdown',\n slug: 'improv-throwdown-feb-20-8pm',\n imageUrl: '/posters/laughlab-tall.webp',\n eventSeriesId: 42,\n startDateTime: showcaseDate(0, 20),\n endDateTime: showcaseDate(0, 21, 30),\n description:\n 'Weekly improv comedy show featuring rotating guest performers and audience participation games.',\n // No seriesOccurrences — this is a single instance, not the series home\n};\n\n// --- Collection Home (loose grouping of different events with widgets) ---\nexport const mockCollectionEvent: EventData = {\n ...mockEvent,\n id: 3000,\n title: 'February Comedy Festival',\n slug: 'february-comedy-festival',\n imageUrl: '/posters/Friday Night Showdown.jpg',\n description:\n \"A curated collection of the best comedy shows this February. From improv to stand-up, sketch to open mic — there's something for every comedy fan.\",\n collectionId: 7,\n collectionEvents: [\n {\n id: 2401,\n name: 'Friday Night Comedy Throwdown',\n slug: 'friday-night-comedy-throwdown',\n image: '/posters/Friday Night Showdown.jpg',\n startDateTime: showcaseDate(0, 20),\n status: 'on_sale',\n ticketsRemaining: 42,\n ticketsTotal: 200,\n },\n {\n id: 2402,\n name: 'Saturday Night Special',\n slug: 'saturday-night-special',\n image: '/posters/the-duel-square.webp',\n startDateTime: showcaseDate(1, 21),\n status: 'on_sale',\n ticketsRemaining: 8,\n ticketsTotal: 150,\n },\n {\n id: 2403,\n name: 'Stand-Up Comedy Workshop',\n slug: 'standup-comedy-workshop',\n image: '/posters/stand up 101.png',\n startDateTime: showcaseDate(2, 14),\n status: 'on_sale',\n ticketsRemaining: 15,\n ticketsTotal: 30,\n },\n {\n id: 2410,\n name: 'Improv Throwdown',\n slug: 'improv-throwdown',\n image: '/posters/laughlab-tall.webp',\n startDateTime: showcaseDate(7, 20),\n status: 'on_sale',\n ticketsRemaining: 65,\n ticketsTotal: 200,\n },\n {\n id: 2404,\n name: 'Open Mic Night',\n slug: 'open-mic-night',\n image: '/posters/OpenMic-Twitter.jpg',\n startDateTime: showcaseDate(8, 19),\n status: 'on_sale',\n ticketsRemaining: 100,\n ticketsTotal: 100,\n },\n {\n id: 2405,\n name: 'Late Night Comedy Underground',\n slug: 'late-night-comedy-underground',\n image: '/posters/standup-portrait.webp',\n startDateTime: showcaseDate(8, 22),\n status: 'sold_out',\n ticketsRemaining: 0,\n ticketsTotal: 80,\n },\n ],\n};\n\n// --- Registration Event (workshop — no time shown, just date + doors) ---\nexport const mockRegistrationEvent: EventData = {\n ...mockEvent,\n id: 2408,\n title: 'Stand-Up Comedy Workshop',\n slug: 'standup-comedy-workshop',\n imageUrl: '/posters/stand up 101.png', // 16:9 landscape 1920×1080\n description:\n 'Learn the fundamentals of stand-up comedy in this 3-hour intensive workshop. Write, refine, and perform your first 5-minute set.',\n isRegistrationEvent: true,\n displayStartTime: false,\n displayEndTime: false,\n status: 'on_sale',\n tickets: [\n {\n id: 301,\n name: 'Workshop Seat',\n description: 'Includes materials and performance slot',\n price: 75,\n fee: 7.5,\n quantityAvailable: 8,\n quantityTotal: 12,\n minPerOrder: 1,\n maxPerOrder: 1,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n },\n ],\n totalTicketsRemaining: 8,\n totalTicketsCapacity: 12,\n};\n\n// --- Donation Event ---\nexport const mockDonationEvent: EventData = {\n ...mockEvent,\n id: 2414,\n title: 'Charity Comedy Benefit',\n slug: 'charity-comedy-benefit',\n imageUrl: '/posters/Friday Night Showdown.jpg',\n description:\n 'All proceeds go to the LA Comedy Relief Fund. Choose your own donation amount or grab a standard ticket.',\n status: 'on_sale',\n tickets: [\n {\n id: 401,\n name: 'Donation',\n description: 'Support the cause — choose your amount',\n price: 0,\n fee: 0,\n quantityAvailable: 200,\n quantityTotal: 200,\n minPerOrder: 1,\n maxPerOrder: 10,\n status: 'on_sale',\n isDonation: true,\n isHidden: false,\n ticketType: 2,\n },\n {\n id: 402,\n name: 'Standard Admission',\n description: 'Includes one drink ticket',\n price: 30,\n fee: 3,\n quantityAvailable: 80,\n quantityTotal: 100,\n minPerOrder: 1,\n maxPerOrder: 6,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n },\n ],\n totalTicketsRemaining: 280,\n totalTicketsCapacity: 300,\n};\n\n// --- Mixed Event (ALL ticket states in one event) ---\nexport const mockMixedEvent: EventData = {\n ...mockEvent,\n id: 2415,\n title: 'The Everything Show',\n slug: 'the-everything-show',\n imageUrl: '/posters/the-duel-square.webp',\n description:\n 'A showcase event with every ticket state possible — for testing all edge cases.',\n status: 'on_sale',\n tickets: [\n {\n id: 501,\n name: 'General Admission',\n description: 'Standard seating in the main room',\n price: 25,\n fee: 2.5,\n quantityAvailable: 45,\n quantityTotal: 150,\n minPerOrder: 1,\n maxPerOrder: 8,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n },\n {\n id: 502,\n name: 'Basic Entry',\n price: 15,\n fee: 1.5,\n quantityAvailable: 60,\n quantityTotal: 80,\n minPerOrder: 1,\n maxPerOrder: 4,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n },\n {\n id: 503,\n name: 'VIP Front Row',\n description: 'Premium seats with complimentary drink',\n price: 75,\n fee: 7.5,\n quantityAvailable: 2,\n quantityTotal: 20,\n minPerOrder: 1,\n maxPerOrder: 4,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n },\n {\n id: 504,\n name: 'Early Bird',\n description: 'Limited early bird pricing',\n price: 20,\n fee: 2,\n quantityAvailable: 0,\n quantityTotal: 30,\n minPerOrder: 1,\n maxPerOrder: 4,\n status: 'sold_out',\n isDonation: false,\n isHidden: false,\n },\n {\n id: 505,\n name: 'Late Night Add-On',\n description: 'Access to the after-party at midnight',\n price: 40,\n fee: 4,\n quantityAvailable: 50,\n quantityTotal: 50,\n minPerOrder: 1,\n maxPerOrder: 2,\n status: 'coming_soon',\n salesStartDate: showcaseDate(9, 10),\n isDonation: false,\n isHidden: false,\n },\n {\n id: 506,\n name: 'Weekend Bundle',\n description: 'Includes Saturday + Sunday shows',\n price: 45,\n fee: 4.5,\n quantityAvailable: 0,\n quantityTotal: 25,\n minPerOrder: 1,\n maxPerOrder: 4,\n status: 'sales_ended',\n salesEndDate: showcaseDate(-10, 23, 59),\n isDonation: false,\n isHidden: false,\n },\n {\n id: 507,\n name: 'Donation',\n description: 'Support the performers directly',\n price: 0,\n fee: 0,\n quantityAvailable: 100,\n quantityTotal: 100,\n minPerOrder: 1,\n maxPerOrder: 5,\n status: 'on_sale',\n isDonation: true,\n isHidden: false,\n ticketType: 2,\n },\n {\n id: 508,\n name: 'Secret VIP Lounge',\n description: 'Backstage access with meet & greet',\n price: 150,\n fee: 15,\n quantityAvailable: 10,\n quantityTotal: 10,\n minPerOrder: 1,\n maxPerOrder: 2,\n status: 'on_sale',\n isDonation: false,\n isHidden: true,\n },\n {\n id: 509,\n name: 'Industry Comp',\n description: 'Complimentary ticket for industry professionals',\n price: 0,\n fee: 0,\n quantityAvailable: 20,\n quantityTotal: 20,\n minPerOrder: 1,\n maxPerOrder: 1,\n status: 'on_sale',\n isDonation: false,\n isHidden: true,\n },\n ],\n totalTicketsRemaining: 287,\n totalTicketsCapacity: 485,\n};\n\n// --- Sectioned Event (tickets grouped by section) ---\nexport const mockSectionedEvent: EventData = {\n ...mockEvent,\n id: 2416,\n title: 'Multi-Stage Festival',\n slug: 'multi-stage-festival',\n imageUrl: '/posters/OpenMic-Twitter.jpg',\n description:\n 'Three stages, one incredible night. Choose your zone and enjoy performances across the venue.',\n status: 'on_sale',\n tickets: [\n {\n id: 601,\n name: 'Floor Standing',\n description: 'Standing room on the main floor',\n price: 35,\n fee: 3.5,\n quantityAvailable: 100,\n quantityTotal: 200,\n minPerOrder: 1,\n maxPerOrder: 8,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n sectionName: 'Floor',\n },\n {\n id: 602,\n name: 'Floor Reserved',\n description: 'Reserved seat on the main floor',\n price: 50,\n fee: 5,\n quantityAvailable: 30,\n quantityTotal: 80,\n minPerOrder: 1,\n maxPerOrder: 6,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n sectionName: 'Floor',\n },\n {\n id: 603,\n name: 'Balcony Standard',\n description: 'Standard balcony seating with great views',\n price: 40,\n fee: 4,\n quantityAvailable: 50,\n quantityTotal: 60,\n minPerOrder: 1,\n maxPerOrder: 6,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n sectionName: 'Balcony',\n },\n {\n id: 604,\n name: 'Balcony Premium',\n description: 'Front-row balcony seats',\n price: 60,\n fee: 6,\n quantityAvailable: 5,\n quantityTotal: 20,\n minPerOrder: 1,\n maxPerOrder: 4,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n sectionName: 'Balcony',\n },\n {\n id: 605,\n name: 'VIP Lounge Table',\n description:\n 'Private table for 4 with bottle service and backstage access',\n price: 250,\n fee: 25,\n quantityAvailable: 3,\n quantityTotal: 8,\n minPerOrder: 1,\n maxPerOrder: 2,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n sectionName: 'VIP Lounge',\n },\n ],\n totalTicketsRemaining: 188,\n totalTicketsCapacity: 368,\n};\n\n// --- Promo Event (hidden tickets for promo reveal testing) ---\nexport const mockPromoEvent: EventData = {\n ...mockEvent,\n id: 2417,\n title: 'Secret Show',\n slug: 'secret-show',\n imageUrl: '/posters/luke-null-tall.webp',\n description:\n 'An intimate comedy experience. Some tickets are only available with a promo code.',\n status: 'on_sale',\n tickets: [\n {\n id: 701,\n name: 'General Admission',\n price: 30,\n fee: 3,\n quantityAvailable: 40,\n quantityTotal: 60,\n minPerOrder: 1,\n maxPerOrder: 6,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n },\n {\n id: 702,\n name: 'Premium Seat',\n description: 'Reserved seating in rows 1-5',\n price: 50,\n fee: 5,\n quantityAvailable: 15,\n quantityTotal: 30,\n minPerOrder: 1,\n maxPerOrder: 4,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n },\n {\n id: 703,\n name: 'Artist Meet & Greet',\n description:\n 'Backstage pass with photo opportunity — promo code required',\n price: 100,\n fee: 10,\n quantityAvailable: 8,\n quantityTotal: 10,\n minPerOrder: 1,\n maxPerOrder: 2,\n status: 'on_sale',\n isDonation: false,\n isHidden: true,\n },\n {\n id: 704,\n name: 'Industry Comp',\n description: 'Complimentary entry for industry professionals',\n price: 0,\n fee: 0,\n quantityAvailable: 10,\n quantityTotal: 10,\n minPerOrder: 1,\n maxPerOrder: 1,\n status: 'on_sale',\n isDonation: false,\n isHidden: true,\n },\n ],\n totalTicketsRemaining: 73,\n totalTicketsCapacity: 110,\n};\n\n// --- Hidden-Only Event (MIC-1039) — no visible tickets, only hidden remain ---\n// Lands the user on a page where the only purchasable seats are gated behind\n// a promo code. With zero visible tickets the page should suppress the ticket\n// list entirely and render only the PromoCodeInput.\nexport const mockHiddenOnlyEvent: EventData = {\n ...mockEvent,\n id: 2419,\n title: 'Industry Showcase',\n slug: 'industry-showcase',\n description:\n 'A private comedy showcase. Tickets are only available with a promo code.',\n status: 'on_sale',\n tickets: [\n {\n id: 902,\n name: 'Industry Comp',\n description:\n 'Complimentary entry for industry professionals — promo code required',\n price: 0,\n fee: 0,\n quantityAvailable: 15,\n quantityTotal: 20,\n minPerOrder: 1,\n maxPerOrder: 2,\n status: 'on_sale',\n isDonation: false,\n isHidden: true,\n },\n {\n id: 903,\n name: 'Artist Hold',\n description: 'Held for artist guests — promo code required',\n price: 50,\n fee: 5,\n quantityAvailable: 5,\n quantityTotal: 10,\n minPerOrder: 1,\n maxPerOrder: 4,\n status: 'on_sale',\n isDonation: false,\n isHidden: true,\n },\n ],\n totalTicketsRemaining: 0,\n totalTicketsCapacity: 0,\n};\n\n// --- Multi-Stage Event (stage name + age restriction) ---\nexport const mockMultiStageEvent: EventData = {\n ...mockEvent,\n id: 2418,\n title: 'Late Night Comedy Underground',\n slug: 'late-night-comedy-underground',\n imageUrl: '/posters/laughlab-tall.webp',\n description:\n 'The raunchiest, most unfiltered comedy night in LA. Side stage, no holds barred.',\n status: 'on_sale',\n stageName: 'Side Stage',\n ageRestriction: 21,\n displayAgeRestriction: true,\n tickets: [\n {\n id: 801,\n name: 'General Admission',\n price: 20,\n fee: 2,\n quantityAvailable: 25,\n quantityTotal: 40,\n minPerOrder: 1,\n maxPerOrder: 4,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n },\n {\n id: 802,\n name: 'VIP Booth',\n description: 'Reserved booth for 2 with drinks included',\n price: 80,\n fee: 8,\n quantityAvailable: 4,\n quantityTotal: 6,\n minPerOrder: 1,\n maxPerOrder: 2,\n status: 'on_sale',\n isDonation: false,\n isHidden: false,\n },\n ],\n totalTicketsRemaining: 29,\n totalTicketsCapacity: 46,\n};\n\n// --- Long Name Event (Laugh Factory-style: all performers in the title) ---\nexport const mockLongNameEvent: EventData = {\n ...mockEvent,\n id: 2420,\n title:\n 'The Friday Night All-Star Comedy Throwdown featuring Dave Martinez, Sarah Chen, Mike Thompson, Bobby Lee, Andrew Santino, Hasan Minhaj, and Very Special Guests from Netflix, Comedy Central, HBO, and Amazon Prime',\n slug: 'the-friday-night-all-star-comedy-throwdown',\n imageUrl: '/posters/laughlab-tall.webp',\n description: `The biggest lineup of the year! Seven of the hottest comics in LA on one stage for one unforgettable night. This is the show comedy fans have been waiting for — a stacked bill from top to bottom with headliners you've seen on every major streaming platform.\n\nDave Martinez (Netflix's \"Comedy Knockout\") headlines with his signature high-energy style. Sarah Chen brings her razor-sharp observational humor. Mike Thompson keeps the energy sky-high between sets. Bobby Lee delivers his unhinged brilliance. Andrew Santino roasts everything in sight. Hasan Minhaj brings the political heat. Plus surprise guests you won't want to miss.\n\nTwo-drink minimum. No photography or recording. Arrive early — seating is first come, first served.`,\n ageRestriction: 18,\n displayAgeRestriction: true,\n displayStartTime: true,\n displayEndTime: true,\n displayDoorsTime: true,\n performers: [\n ...mockPerformers,\n {\n id: 4,\n displayName: 'Bobby Lee',\n profileImage:\n 'https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=200&h=200&fit=crop',\n },\n {\n id: 5,\n displayName: 'Andrew Santino',\n profileImage:\n 'https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=200&h=200&fit=crop',\n },\n {\n id: 6,\n displayName: 'Hasan Minhaj',\n profileImage:\n 'https://images.unsplash.com/photo-1519085360753-af0119f7cbe7?w=200&h=200&fit=crop',\n },\n ],\n};\n\n// --- Wide/Panoramic Image Event (tests min-height behavior) ---\nexport const mockWideImageEvent: EventData = {\n ...mockEvent,\n id: 2421,\n title: 'Sunset Sessions: Rooftop Jazz & Cocktails',\n slug: 'sunset-sessions-rooftop-jazz',\n imageUrl: '/posters/Wide.jpg',\n description: `Join us on the rooftop for an evening of smooth jazz, craft cocktails, and stunning sunset views over the city. Featuring a rotating cast of LA's finest jazz musicians in an intimate outdoor setting.\n\nFull bar available with specialty cocktails curated for the evening. Light bites and small plates from our kitchen. Dress code: smart casual.`,\n displayStartTime: true,\n displayEndTime: true,\n displayDoorsTime: true,\n};\n\n// --- Password Protected Event ---\nexport const mockPasswordEvent: EventData = {\n ...mockEvent,\n id: 2409,\n title: 'Secret Comedy Club',\n slug: 'secret-comedy-club',\n imageUrl: '/posters/luke-null-tall.webp', // tall portrait 625×937\n description: 'An exclusive underground comedy experience. Password required.',\n isPasswordProtected: true,\n status: 'on_sale',\n};\n","export type DataVariant =\n\t| 'default'\n\t| 'sold_out'\n\t| 'free'\n\t| 'registration'\n\t| 'series'\n\t| 'series_instance'\n\t| 'collection'\n\t| 'donation'\n\t| 'mixed'\n\t| 'sections'\n\t| 'promo'\n\t| 'multi_stage'\n\t| 'long'\n\t| 'wide';\n\nexport interface ToggleOption {\n\tvalue: string;\n\tlabel: string;\n\tcolor: string;\n}\n\nclass DataToggleStore {\n\tcurrent = $state<string>('default');\n\toptions = $state<ToggleOption[]>([]);\n\tisActive = $state(false);\n}\n\nexport const dataToggleStore = new DataToggleStore();\n"],"names":["showcaseDate","daysFromFriday","hour","minute","now","daysToFriday","base","y","m","d","hh","mm","showcaseDateOnly","mockVenue","getDefaultTimezone","mockPerformers","mockFaqs","mockTickets","_now","_evDate","_ymd","mockEvent","t","mockFreeEvent","mockRegistrationEvent","mockDonationEvent","DataToggleStore","#current","$","#isActive","dataToggleStore"],"mappings":"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"}
@@ -1,44 +1,44 @@
1
1
  import "svelte/internal/disclose-version";
2
2
  import * as e from "svelte/internal/client";
3
- import { u as F, aJ as I, aK as M, ak as N, J as G, q as D, aA as L } from "./VenueCalendar-Bth_j-Wp.js";
4
- import { T as m } from "./Text-SlV9H-GU.js";
5
- var U = e.from_svg('<path d="M208,32H184V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM112,184a8,8,0,0,1-16,0V132.94l-4.42,2.22a8,8,0,0,1-7.16-14.32l16-8A8,8,0,0,1,112,120Zm56-8a8,8,0,0,1,0,16H136a8,8,0,0,1-6.4-12.8l28.78-38.37A8,8,0,1,0,145.07,132a8,8,0,1,1-13.85-8A24,24,0,0,1,176,136a23.76,23.76,0,0,1-4.84,14.45L152,176ZM48,80V48H72v8a8,8,0,0,0,16,0V48h80v8a8,8,0,0,0,16,0V48h24V80Z"></path>'), Y = e.from_svg('<rect x="40" y="40" width="176" height="176" rx="8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></rect><line x1="176" y1="24" x2="176" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line><line x1="80" y1="24" x2="80" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line><line x1="40" y1="88" x2="216" y2="88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line><polyline points="88 128 104 120 104 184" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></polyline><path d="M138.14,128a16,16,0,1,1,26.64,17.63L136,184h32" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path>', 1), j = e.from_svg('<svg aria-hidden="true" viewBox="0 0 256 256" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><!></svg>');
6
- function re(r, t) {
3
+ import { u as N, aL as V, aM as O, J as F, q as $, aB as I } from "./VenueCalendar-Um0PQCVy.js";
4
+ import { T as m } from "./Text-C-6sDfH2.js";
5
+ var G = e.from_svg('<path d="M208,32H184V24a8,8,0,0,0-16,0v8H88V24a8,8,0,0,0-16,0v8H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM112,184a8,8,0,0,1-16,0V132.94l-4.42,2.22a8,8,0,0,1-7.16-14.32l16-8A8,8,0,0,1,112,120Zm56-8a8,8,0,0,1,0,16H136a8,8,0,0,1-6.4-12.8l28.78-38.37A8,8,0,1,0,145.07,132a8,8,0,1,1-13.85-8A24,24,0,0,1,176,136a23.76,23.76,0,0,1-4.84,14.45L152,176ZM48,80V48H72v8a8,8,0,0,0,16,0V48h80v8a8,8,0,0,0,16,0V48h24V80Z"></path>'), U = e.from_svg('<rect x="40" y="40" width="176" height="176" rx="8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></rect><line x1="176" y1="24" x2="176" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line><line x1="80" y1="24" x2="80" y2="56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line><line x1="40" y1="88" x2="216" y2="88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line><polyline points="88 128 104 120 104 184" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></polyline><path d="M138.14,128a16,16,0,1,1,26.64,17.63L136,184h32" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path>', 1), Y = e.from_svg('<svg aria-hidden="true" viewBox="0 0 256 256" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><!></svg>');
6
+ function se(r, t) {
7
7
  e.push(t, !0);
8
8
  let o = e.prop(t, "size", 3, "24"), f = e.prop(t, "color", 3, "currentColor"), p = e.prop(t, "class", 3, "");
9
- const b = F();
10
- let k = e.derived(() => t.weight ?? b?.weight ?? "regular");
11
- var a = j();
9
+ const T = N();
10
+ let k = e.derived(() => t.weight ?? T?.weight ?? "regular");
11
+ var a = Y();
12
12
  let S;
13
13
  var g = e.child(a);
14
14
  {
15
- var C = (v) => {
16
- var u = U();
15
+ var P = (v) => {
16
+ var u = G();
17
17
  e.append(v, u);
18
18
  }, E = (v) => {
19
- var u = Y();
19
+ var u = U();
20
20
  e.next(5), e.append(v, u);
21
21
  };
22
22
  e.if(g, (v) => {
23
- e.get(k) === "fill" ? v(C) : v(E, -1);
23
+ e.get(k) === "fill" ? v(P) : v(E, -1);
24
24
  });
25
25
  }
26
26
  e.reset(a), e.template_effect(() => {
27
27
  e.set_class(a, 0, e.clsx(p())), e.set_attribute(a, "width", o()), e.set_attribute(a, "height", o()), S = e.set_style(a, "", S, { color: f() });
28
28
  }), e.append(r, a), e.pop();
29
29
  }
30
- function W(r, t, o = {}) {
30
+ function j(r, t, o = {}) {
31
31
  const {
32
32
  cancelled: f = !1,
33
33
  isRegistration: p = !1,
34
- waitlistEnabled: b = !1
34
+ waitlistEnabled: T = !1
35
35
  } = o, k = /* @__PURE__ */ new Date();
36
36
  if (f)
37
37
  return { text: "Cancelled", disabled: !0, reason: "cancelled" };
38
38
  const a = r.endDateTime || r.startDateTime;
39
39
  if (a && new Date(a) < k)
40
40
  return { text: "Sales ended", disabled: !0, reason: "event_past" };
41
- const S = r?.hasPurchasableHiddenTickets === !0 || Array.isArray(t) && t.some(I), g = (t || []).filter(
41
+ const S = r?.hasPurchasableHiddenTickets === !0 || Array.isArray(t) && t.some(V), g = (t || []).filter(
42
42
  (i) => i.salesChannel !== 2 && !i.isHidden && !(typeof i.visibility == "number" && i.visibility >= 2)
43
43
  );
44
44
  if (g.length === 0)
@@ -51,15 +51,15 @@ function W(r, t, o = {}) {
51
51
  disabled: !0,
52
52
  reason: "no_tickets"
53
53
  };
54
- let C = !1, E = !0, v = !0, u = null;
54
+ let P = !1, E = !0, v = !0, u = null;
55
55
  for (const i of g) {
56
- const T = i.salesBegin || i.salesStart || i.saleBegin || i.onSaleStart, A = i.salesEnd || i.saleEnd || i.onSaleEnd, h = i.remainingCapacity ?? i.quantityRemaining ?? i.quantity, P = i.soldOut || h != null && h <= 0, x = T ? new Date(T) > k : !1, $ = A ? new Date(A) < k : !1;
57
- if (!P && !x && !$ && (C = !0), P || (E = !1), x || (v = !1), x && T && !P && !$) {
58
- const R = new Date(T);
56
+ const y = i.salesBegin || i.salesStart || i.saleBegin || i.onSaleStart, A = i.salesEnd || i.saleEnd || i.onSaleEnd, b = i.remainingCapacity ?? i.quantityRemaining ?? i.quantity, x = i.soldOut || b != null && b <= 0, h = y ? new Date(y) > k : !1, D = A ? new Date(A) < k : !1;
57
+ if (!x && !h && !D && (P = !0), x || (E = !1), h || (v = !1), h && y && !x && !D) {
58
+ const R = new Date(y);
59
59
  (!u || R < u) && (u = R);
60
60
  }
61
61
  }
62
- if (C)
62
+ if (P)
63
63
  return {
64
64
  text: p ? "Reserve a spot" : "Get tickets",
65
65
  disabled: !1,
@@ -72,26 +72,22 @@ function W(r, t, o = {}) {
72
72
  disabled: !1,
73
73
  reason: "hidden_only"
74
74
  };
75
- const i = u.getTime() - k.getTime(), T = i / (1e3 * 60 * 60), A = i / (1e3 * 60 * 60 * 24);
76
- let h;
77
- if (T < 24)
78
- h = M(u, { hour12: !0 }, "en-US");
79
- else if (A <= 7)
80
- h = N(
81
- u,
82
- { weekday: "short", hour: "numeric", minute: "2-digit", hour12: !0 },
83
- "en-US"
84
- );
85
- else {
86
- const P = N(
87
- u,
88
- { month: "short", day: "numeric" },
89
- "en-US"
90
- ), x = M(u, { hour12: !0 }, "en-US");
91
- h = `${P} ${x}`;
92
- }
93
- return {
94
- text: `On sale ${h}`,
75
+ const i = u.getTime() - k.getTime(), y = i / (1e3 * 60 * 60), A = i / (1e3 * 60 * 60 * 24), b = (h) => O(
76
+ h,
77
+ { hour: "numeric", minute: "2-digit", hour12: !0 },
78
+ "en-US"
79
+ );
80
+ let x;
81
+ return y < 24 ? x = b(u) : A <= 7 ? x = O(
82
+ u,
83
+ { weekday: "short", hour: "numeric", minute: "2-digit", hour12: !0 },
84
+ "en-US"
85
+ ) : x = `${O(
86
+ u,
87
+ { month: "short", day: "numeric" },
88
+ "en-US"
89
+ )} ${b(u)}`, {
90
+ text: `On sale ${x}`,
95
91
  disabled: !0,
96
92
  reason: "coming_soon"
97
93
  };
@@ -100,7 +96,7 @@ function W(r, t, o = {}) {
100
96
  text: p ? "Reserve a spot" : "Get tickets",
101
97
  disabled: !1,
102
98
  reason: "hidden_only"
103
- } : b ? {
99
+ } : T ? {
104
100
  text: "Join Waitlist",
105
101
  disabled: !1,
106
102
  reason: "sold_out_waitlist"
@@ -110,7 +106,7 @@ function W(r, t, o = {}) {
110
106
  reason: "hidden_only"
111
107
  } : { text: "Sales ended", disabled: !0, reason: "sales_ended" };
112
108
  }
113
- const O = {
109
+ const H = {
114
110
  URGENT: 0.1,
115
111
  // ≤10% remaining → urgent ("Only X left")
116
112
  LOW: 0.2,
@@ -118,16 +114,16 @@ const O = {
118
114
  MAX_EXACT_COUNT: 20
119
115
  // Don't show exact count above 20
120
116
  };
121
- function ae(r, t) {
117
+ function re(r, t) {
122
118
  if (t === 0) return "none";
123
119
  if (r <= 0) return "sold_out";
124
120
  const o = r / t;
125
- return o <= O.URGENT ? "urgent" : o <= O.LOW ? "low" : "none";
121
+ return o <= H.URGENT ? "urgent" : o <= H.LOW ? "low" : "none";
126
122
  }
127
- function oe(r, t, o, f) {
128
- return r === "none" ? null : r === "sold_out" ? "Sold out" : r === "urgent" && o !== "browse" && t <= O.MAX_EXACT_COUNT ? `Only ${t} left` : r === "low" || r === "urgent" ? "Selling fast" : null;
123
+ function ae(r, t, o, f) {
124
+ return r === "none" ? null : r === "sold_out" ? "Sold out" : r === "urgent" && o !== "browse" && t <= H.MAX_EXACT_COUNT ? `Only ${t} left` : r === "low" || r === "urgent" ? "Selling fast" : null;
129
125
  }
130
- function ie(r) {
126
+ function oe(r) {
131
127
  const t = r.tickets.map((f) => ({
132
128
  salesBegin: f.salesStartDate,
133
129
  salesEnd: f.salesEndDate,
@@ -150,7 +146,7 @@ function ie(r) {
150
146
  disabled: !0,
151
147
  reason: "This event has ended"
152
148
  };
153
- const o = W(
149
+ const o = j(
154
150
  { startDateTime: r.startDateTime, endDateTime: r.endDateTime },
155
151
  t,
156
152
  {
@@ -189,7 +185,7 @@ function B(r) {
189
185
  return;
190
186
  }
191
187
  }
192
- function ne(r) {
188
+ function ie(r) {
193
189
  const t = r.tickets.filter(
194
190
  (a) => a.status === "on_sale" && !a.isHidden
195
191
  );
@@ -198,19 +194,19 @@ function ne(r) {
198
194
  (a) => a.isDonation || a.ticketType === 2
199
195
  ), f = t.filter(
200
196
  (a) => !a.isDonation && a.ticketType !== 2
201
- ), p = f.some((a) => a.price === 0), b = f.filter((a) => a.price > 0);
202
- if (b.length === 0 && !p && o) return "Donation";
203
- if (b.length === 0 && p) return null;
204
- const k = Math.min(...b.map((a) => a.price));
205
- return p ? "Free" : o ? `From $${k}` : b.length === 1 ? `$${k}` : `From $${k}`;
197
+ ), p = f.some((a) => a.price === 0), T = f.filter((a) => a.price > 0);
198
+ if (T.length === 0 && !p && o) return "Donation";
199
+ if (T.length === 0 && p) return null;
200
+ const k = Math.min(...T.map((a) => a.price));
201
+ return p ? "Free" : o ? `From $${k}` : T.length === 1 ? `$${k}` : `From $${k}`;
206
202
  }
207
- function le(r, t) {
208
- return G(r * (t / 100));
203
+ function ne(r, t) {
204
+ return F(r * (t / 100));
209
205
  }
210
- const K = {
206
+ const W = {
211
207
  normal: 300
212
208
  };
213
- function de() {
209
+ function le() {
214
210
  return {
215
211
  code: "",
216
212
  isApplied: !1,
@@ -224,54 +220,54 @@ function de() {
224
220
  revealTicketIds: []
225
221
  };
226
222
  }
227
- var q = e.from_html('<div class="flex justify-between"><!> <!></div>'), J = e.from_html('<div class="flex justify-between pt-1 border-t border-default"><!> <!></div>'), X = e.from_html('<!> <!> <!> <!> <!> <div class="flex justify-between pt-2 border-t border-default"><!> <!></div>', 1), Z = e.from_html('<div class="space-y-2"><!> <!></div>');
228
- function ce(r, t) {
223
+ var q = e.from_html('<div class="flex justify-between"><!> <!></div>'), K = e.from_html('<div class="flex justify-between pt-1 border-t border-default"><!> <!></div>'), X = e.from_html('<!> <!> <!> <!> <!> <div class="flex justify-between pt-2 border-t border-default"><!> <!></div>', 1), Z = e.from_html('<div class="space-y-2"><!> <!></div>');
224
+ function de(r, t) {
229
225
  e.push(t, !0);
230
226
  let o = e.prop(t, "labels", 19, () => ({})), f = e.prop(t, "mode", 3, "full");
231
- var p = Z(), b = e.child(p);
227
+ var p = Z(), T = e.child(p);
232
228
  {
233
229
  var k = (g) => {
234
- var C = e.comment(), E = e.first_child(C);
230
+ var P = e.comment(), E = e.first_child(P);
235
231
  e.each(E, 17, () => t.orderTotals.lines, (v) => v.ticketId, (v, u) => {
236
- var i = q(), T = e.child(i);
237
- m(T, {
232
+ var i = q(), y = e.child(i);
233
+ m(y, {
238
234
  size: "sm",
239
- children: (h, P) => {
235
+ children: (b, x) => {
240
236
  e.next();
241
- var x = e.text();
242
- e.template_effect(() => e.set_text(x, `${e.get(u).quantity ?? ""}x ${e.get(u).ticketName ?? ""}`)), e.append(h, x);
237
+ var h = e.text();
238
+ e.template_effect(() => e.set_text(h, `${e.get(u).quantity ?? ""}x ${e.get(u).ticketName ?? ""}`)), e.append(b, h);
243
239
  },
244
240
  $$slots: { default: !0 }
245
241
  });
246
- var A = e.sibling(T, 2);
242
+ var A = e.sibling(y, 2);
247
243
  m(A, {
248
244
  size: "sm",
249
- children: (h, P) => {
245
+ children: (b, x) => {
250
246
  e.next();
251
- var x = e.text();
252
- e.template_effect(($) => e.set_text(x, $), [
253
- () => e.get(u).isDonation ? D(e.get(u).subtotal) : L(e.get(u).subtotal, o())
254
- ]), e.append(h, x);
247
+ var h = e.text();
248
+ e.template_effect((D) => e.set_text(h, D), [
249
+ () => e.get(u).isDonation ? $(e.get(u).subtotal) : I(e.get(u).subtotal, o())
250
+ ]), e.append(b, h);
255
251
  },
256
252
  $$slots: { default: !0 }
257
253
  }), e.reset(i), e.append(v, i);
258
- }), e.append(g, C);
254
+ }), e.append(g, P);
259
255
  };
260
- e.if(b, (g) => {
256
+ e.if(T, (g) => {
261
257
  f() !== "totals" && g(k);
262
258
  });
263
259
  }
264
- var a = e.sibling(b, 2);
260
+ var a = e.sibling(T, 2);
265
261
  {
266
262
  var S = (g) => {
267
- var C = X(), E = e.first_child(C);
263
+ var P = X(), E = e.first_child(P);
268
264
  {
269
265
  var v = (n) => {
270
- var l = J(), d = e.child(l);
266
+ var l = K(), d = e.child(l);
271
267
  m(d, {
272
268
  size: "sm",
273
269
  color: "muted",
274
- children: (c, y) => {
270
+ children: (c, w) => {
275
271
  e.next();
276
272
  var s = e.text();
277
273
  e.template_effect(() => e.set_text(s, o().subtotal || "Subtotal")), e.append(c, s);
@@ -282,10 +278,10 @@ function ce(r, t) {
282
278
  m(_, {
283
279
  size: "sm",
284
280
  color: "muted",
285
- children: (c, y) => {
281
+ children: (c, w) => {
286
282
  e.next();
287
283
  var s = e.text();
288
- e.template_effect((w) => e.set_text(s, w), [() => D(t.orderTotals.subtotal)]), e.append(c, s);
284
+ e.template_effect((C) => e.set_text(s, C), [() => $(t.orderTotals.subtotal)]), e.append(c, s);
289
285
  },
290
286
  $$slots: { default: !0 }
291
287
  }), e.reset(l), e.append(n, l);
@@ -294,7 +290,7 @@ function ce(r, t) {
294
290
  m(d, {
295
291
  size: "sm",
296
292
  color: "muted",
297
- children: (c, y) => {
293
+ children: (c, w) => {
298
294
  e.next();
299
295
  var s = e.text();
300
296
  e.template_effect(() => e.set_text(s, o().subtotal || "Subtotal")), e.append(c, s);
@@ -305,10 +301,10 @@ function ce(r, t) {
305
301
  m(_, {
306
302
  size: "sm",
307
303
  color: "muted",
308
- children: (c, y) => {
304
+ children: (c, w) => {
309
305
  e.next();
310
306
  var s = e.text();
311
- e.template_effect((w) => e.set_text(s, w), [() => D(t.orderTotals.subtotal)]), e.append(c, s);
307
+ e.template_effect((C) => e.set_text(s, C), [() => $(t.orderTotals.subtotal)]), e.append(c, s);
312
308
  },
313
309
  $$slots: { default: !0 }
314
310
  }), e.reset(l), e.append(n, l);
@@ -319,12 +315,12 @@ function ce(r, t) {
319
315
  }
320
316
  var i = e.sibling(E, 2);
321
317
  {
322
- var T = (n) => {
318
+ var y = (n) => {
323
319
  var l = q(), d = e.child(l);
324
320
  m(d, {
325
321
  size: "sm",
326
322
  color: "muted",
327
- children: (c, y) => {
323
+ children: (c, w) => {
328
324
  e.next();
329
325
  var s = e.text();
330
326
  e.template_effect(() => e.set_text(s, o().serviceFees || "Service fees")), e.append(c, s);
@@ -335,26 +331,26 @@ function ce(r, t) {
335
331
  m(_, {
336
332
  size: "sm",
337
333
  color: "muted",
338
- children: (c, y) => {
334
+ children: (c, w) => {
339
335
  e.next();
340
336
  var s = e.text();
341
- e.template_effect((w) => e.set_text(s, w), [() => D(t.orderTotals.fees)]), e.append(c, s);
337
+ e.template_effect((C) => e.set_text(s, C), [() => $(t.orderTotals.fees)]), e.append(c, s);
342
338
  },
343
339
  $$slots: { default: !0 }
344
340
  }), e.reset(l), e.append(n, l);
345
341
  };
346
342
  e.if(i, (n) => {
347
- t.orderTotals.fees > 0 && n(T);
343
+ t.orderTotals.fees > 0 && n(y);
348
344
  });
349
345
  }
350
346
  var A = e.sibling(i, 2);
351
347
  {
352
- var h = (n) => {
348
+ var b = (n) => {
353
349
  var l = q(), d = e.child(l);
354
350
  m(d, {
355
351
  size: "sm",
356
352
  color: "muted",
357
- children: (c, y) => {
353
+ children: (c, w) => {
358
354
  e.next();
359
355
  var s = e.text();
360
356
  e.template_effect(() => e.set_text(s, o().taxes || "Taxes")), e.append(c, s);
@@ -365,26 +361,26 @@ function ce(r, t) {
365
361
  m(_, {
366
362
  size: "sm",
367
363
  color: "muted",
368
- children: (c, y) => {
364
+ children: (c, w) => {
369
365
  e.next();
370
366
  var s = e.text();
371
- e.template_effect((w) => e.set_text(s, w), [() => D(t.orderTotals.taxes)]), e.append(c, s);
367
+ e.template_effect((C) => e.set_text(s, C), [() => $(t.orderTotals.taxes)]), e.append(c, s);
372
368
  },
373
369
  $$slots: { default: !0 }
374
370
  }), e.reset(l), e.append(n, l);
375
371
  };
376
372
  e.if(A, (n) => {
377
- t.orderTotals.taxes > 0 && n(h);
373
+ t.orderTotals.taxes > 0 && n(b);
378
374
  });
379
375
  }
380
- var P = e.sibling(A, 2);
376
+ var x = e.sibling(A, 2);
381
377
  {
382
- var x = (n) => {
378
+ var h = (n) => {
383
379
  var l = q(), d = e.child(l);
384
380
  m(d, {
385
381
  size: "sm",
386
382
  color: "success",
387
- children: (c, y) => {
383
+ children: (c, w) => {
388
384
  e.next();
389
385
  var s = e.text();
390
386
  e.template_effect(() => e.set_text(s, o().promoDiscount || "Promo discount")), e.append(c, s);
@@ -395,26 +391,26 @@ function ce(r, t) {
395
391
  m(_, {
396
392
  size: "sm",
397
393
  color: "success",
398
- children: (c, y) => {
394
+ children: (c, w) => {
399
395
  e.next();
400
396
  var s = e.text();
401
- e.template_effect((w) => e.set_text(s, `-${w ?? ""}`), [() => D(t.orderTotals.promoDiscount)]), e.append(c, s);
397
+ e.template_effect((C) => e.set_text(s, `-${C ?? ""}`), [() => $(t.orderTotals.promoDiscount)]), e.append(c, s);
402
398
  },
403
399
  $$slots: { default: !0 }
404
400
  }), e.reset(l), e.append(n, l);
405
401
  };
406
- e.if(P, (n) => {
407
- t.orderTotals.promoDiscount > 0 && n(x);
402
+ e.if(x, (n) => {
403
+ t.orderTotals.promoDiscount > 0 && n(h);
408
404
  });
409
405
  }
410
- var $ = e.sibling(P, 2);
406
+ var D = e.sibling(x, 2);
411
407
  {
412
- var H = (n) => {
408
+ var z = (n) => {
413
409
  var l = q(), d = e.child(l);
414
410
  m(d, {
415
411
  size: "sm",
416
412
  color: "success",
417
- children: (c, y) => {
413
+ children: (c, w) => {
418
414
  e.next();
419
415
  var s = e.text();
420
416
  e.template_effect(() => e.set_text(s, o().giftCard || "Gift card")), e.append(c, s);
@@ -425,20 +421,20 @@ function ce(r, t) {
425
421
  m(_, {
426
422
  size: "sm",
427
423
  color: "success",
428
- children: (c, y) => {
424
+ children: (c, w) => {
429
425
  e.next();
430
426
  var s = e.text();
431
- e.template_effect((w) => e.set_text(s, `-${w ?? ""}`), [() => D(t.orderTotals.giftCardAmount)]), e.append(c, s);
427
+ e.template_effect((C) => e.set_text(s, `-${C ?? ""}`), [() => $(t.orderTotals.giftCardAmount)]), e.append(c, s);
432
428
  },
433
429
  $$slots: { default: !0 }
434
430
  }), e.reset(l), e.append(n, l);
435
431
  };
436
- e.if($, (n) => {
437
- t.orderTotals.giftCardAmount > 0 && n(H);
432
+ e.if(D, (n) => {
433
+ t.orderTotals.giftCardAmount > 0 && n(z);
438
434
  });
439
435
  }
440
- var R = e.sibling($, 2), z = e.child(R);
441
- m(z, {
436
+ var R = e.sibling(D, 2), M = e.child(R);
437
+ m(M, {
442
438
  size: "base",
443
439
  weight: "semibold",
444
440
  children: (n, l) => {
@@ -448,25 +444,25 @@ function ce(r, t) {
448
444
  },
449
445
  $$slots: { default: !0 }
450
446
  });
451
- var V = e.sibling(z, 2);
452
- m(V, {
447
+ var L = e.sibling(M, 2);
448
+ m(L, {
453
449
  size: "base",
454
450
  weight: "semibold",
455
451
  children: (n, l) => {
456
452
  e.next();
457
453
  var d = e.text();
458
- e.template_effect((_) => e.set_text(d, _), [() => D(t.orderTotals.total)]), e.append(n, d);
454
+ e.template_effect((_) => e.set_text(d, _), [() => $(t.orderTotals.total)]), e.append(n, d);
459
455
  },
460
456
  $$slots: { default: !0 }
461
- }), e.reset(R), e.append(g, C);
457
+ }), e.reset(R), e.append(g, P);
462
458
  };
463
459
  e.if(a, (g) => {
464
460
  f() !== "lines" && g(S);
465
461
  });
466
462
  }
467
- e.reset(p), e.template_effect(() => e.set_style(p, `transition-duration: ${K.normal}ms;`)), e.append(r, p), e.pop();
463
+ e.reset(p), e.template_effect(() => e.set_style(p, `transition-duration: ${W.normal}ms;`)), e.append(r, p), e.pop();
468
464
  }
469
- const Q = {
465
+ const J = {
470
466
  // ── Ticket quantity controls ──────────────────────────────────────
471
467
  decrease: "Decrease",
472
468
  increase: "Increase",
@@ -622,19 +618,19 @@ const Q = {
622
618
  // ── MobileCta ─────────────────────────────────────────────────────
623
619
  selectTicketsLabel: "Select Tickets"
624
620
  };
625
- function ue(r = {}) {
626
- return { ...Q, ...r };
621
+ function ce(r = {}) {
622
+ return { ...J, ...r };
627
623
  }
628
624
  export {
629
- re as C,
630
- K as D,
631
- ce as O,
632
- oe as a,
633
- ie as b,
634
- le as c,
635
- ne as d,
636
- de as e,
637
- ae as g,
638
- ue as m
625
+ se as C,
626
+ W as D,
627
+ de as O,
628
+ ae as a,
629
+ oe as b,
630
+ ne as c,
631
+ ie as d,
632
+ le as e,
633
+ re as g,
634
+ ce as m
639
635
  };
640
- //# sourceMappingURL=labels-CnpAWtkz.js.map
636
+ //# sourceMappingURL=labels-BNiV89mT.js.map