@getmicdrop/venue-calendar 4.0.80 → 4.0.82

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 (117) hide show
  1. package/README.md +173 -128
  2. package/dist/{CarouselView.legacy-D2EY3K5p.js → CarouselView.legacy-DAixPl6l.js} +3 -3
  3. package/dist/{CarouselView.legacy-D2EY3K5p.js.map → CarouselView.legacy-DAixPl6l.js.map} +1 -1
  4. package/dist/{CartView-CXsAlVHs.js → CartView-CsdqWB24.js} +277 -280
  5. package/dist/CartView-CsdqWB24.js.map +1 -0
  6. package/dist/Checkout-B15JygVy.js +1673 -0
  7. package/dist/Checkout-B15JygVy.js.map +1 -0
  8. package/dist/{Checkout-Bj85hSlQ.js → Checkout-CUwOrErt.js} +69 -73
  9. package/dist/Checkout-CUwOrErt.js.map +1 -0
  10. package/dist/{Checkout.legacy-D4Uh3sQB.js → Checkout.legacy-CrFgAYYe.js} +77 -81
  11. package/dist/{Checkout.legacy-D4Uh3sQB.js.map → Checkout.legacy-CrFgAYYe.js.map} +1 -1
  12. package/dist/CheckoutTimer-qLOtPDt3.js +141 -0
  13. package/dist/CheckoutTimer-qLOtPDt3.js.map +1 -0
  14. package/dist/CollectionView-D2bRelLR.js +338 -0
  15. package/dist/CollectionView-D2bRelLR.js.map +1 -0
  16. package/dist/{CollectionView.legacy-CsBYjvZv.js → CollectionView.legacy-DLb5fzi-.js} +25 -28
  17. package/dist/{CollectionView.legacy-CsBYjvZv.js.map → CollectionView.legacy-DLb5fzi-.js.map} +1 -1
  18. package/dist/Event-DZpU-Ec1.js +2240 -0
  19. package/dist/Event-DZpU-Ec1.js.map +1 -0
  20. package/dist/EventPage-CL0yuKWZ.js +577 -0
  21. package/dist/EventPage-CL0yuKWZ.js.map +1 -0
  22. package/dist/{EventPage.legacy-DDVZNT-7.js → EventPage.legacy-EujdNc3A.js} +408 -411
  23. package/dist/{EventPage.legacy-DDVZNT-7.js.map → EventPage.legacy-EujdNc3A.js.map} +1 -1
  24. package/dist/{FeaturedView.legacy-BfOfYXRN.js → FeaturedView.legacy-CbLBD-tn.js} +19 -19
  25. package/dist/{FeaturedView.legacy-BfOfYXRN.js.map → FeaturedView.legacy-CbLBD-tn.js.map} +1 -1
  26. package/dist/{GalleryCard-CZkN5_Jb.js → GalleryCard-BcIcYghD.js} +14 -14
  27. package/dist/{GalleryCard-CZkN5_Jb.js.map → GalleryCard-BcIcYghD.js.map} +1 -1
  28. package/dist/{GalleryView.legacy-CziaM40i.js → GalleryView.legacy-XpQUg-5_.js} +3 -3
  29. package/dist/{GalleryView.legacy-CziaM40i.js.map → GalleryView.legacy-XpQUg-5_.js.map} +1 -1
  30. package/dist/{GroupedListView.legacy-CPy5md80.js → GroupedListView.legacy-qvwIV5Qm.js} +18 -18
  31. package/dist/{GroupedListView.legacy-CPy5md80.js.map → GroupedListView.legacy-qvwIV5Qm.js.map} +1 -1
  32. package/dist/Heading-5CT9Nk0b.js +81 -0
  33. package/dist/Heading-5CT9Nk0b.js.map +1 -0
  34. package/dist/ModalHeader-CGaXzdcs.js +22 -0
  35. package/dist/ModalHeader-CGaXzdcs.js.map +1 -0
  36. package/dist/OrderSummarySkeleton-pqfhjvKT.js +632 -0
  37. package/dist/OrderSummarySkeleton-pqfhjvKT.js.map +1 -0
  38. package/dist/{ScarcityBadge-Bungh7jy.js → ScarcityBadge-BkRFHRif.js} +24 -28
  39. package/dist/{ScarcityBadge-Bungh7jy.js.map → ScarcityBadge-BkRFHRif.js.map} +1 -1
  40. package/dist/{SeriesPage-BzyObY3_.js → SeriesPage-NWCA_Aez.js} +17 -21
  41. package/dist/{SeriesPage-BzyObY3_.js.map → SeriesPage-NWCA_Aez.js.map} +1 -1
  42. package/dist/{SeriesPage.legacy-BA00IzDL.js → SeriesPage.legacy-BXSwM5jV.js} +70 -74
  43. package/dist/{SeriesPage.legacy-BA00IzDL.js.map → SeriesPage.legacy-BXSwM5jV.js.map} +1 -1
  44. package/dist/{Success-NB1gahZr.js → Success-B4CM_cy1.js} +186 -175
  45. package/dist/{Success-NB1gahZr.js.map → Success-B4CM_cy1.js.map} +1 -1
  46. package/dist/{Success.legacy-D6cvUMzi.js → Success.legacy-BWAmPmZz.js} +58 -62
  47. package/dist/{Success.legacy-D6cvUMzi.js.map → Success.legacy-BWAmPmZz.js.map} +1 -1
  48. package/dist/Text-WY42WIKI.js +158 -0
  49. package/dist/Text-WY42WIKI.js.map +1 -0
  50. package/dist/{VenueCalendar-CISH7WGT.js → VenueCalendar-DMSeDRSN.js} +8138 -22881
  51. package/dist/VenueCalendar-DMSeDRSN.js.map +1 -0
  52. package/dist/ViewTicketsEmbed-AlVzNvxE.js +2081 -0
  53. package/dist/ViewTicketsEmbed-AlVzNvxE.js.map +1 -0
  54. package/dist/__SKIP_NAVIGATION__-CmipjatL.js +18 -0
  55. package/dist/__SKIP_NAVIGATION__-CmipjatL.js.map +1 -0
  56. package/dist/api/api.cjs +1 -1
  57. package/dist/api/api.cjs.map +1 -1
  58. package/dist/api/api.mjs +482 -374
  59. package/dist/api/api.mjs.map +1 -1
  60. package/dist/api/cta.d.ts +2 -10
  61. package/dist/api/transformers/address.d.ts +18 -0
  62. package/dist/api/transformers/cart.d.ts +19 -0
  63. package/dist/api/transformers/collection.d.ts +12 -0
  64. package/dist/api/transformers/event.d.ts +50 -1
  65. package/dist/api/transformers/giftCard.d.ts +11 -0
  66. package/dist/api/transformers/index.d.ts +10 -3
  67. package/dist/api/transformers/performer.d.ts +8 -0
  68. package/dist/api/transformers/series.d.ts +12 -0
  69. package/dist/api/types.d.ts +423 -383
  70. package/dist/api-ChzBkXfo.js +6 -0
  71. package/dist/{api-BV4wcElQ.js.map → api-ChzBkXfo.js.map} +1 -1
  72. package/dist/colors-CmP-sSZD.js.map +1 -1
  73. package/dist/{data-toggle-store.svelte-DU0VWdcf.js → data-toggle-store.svelte-CtW4s3Vw.js} +6 -6
  74. package/dist/{data-toggle-store.svelte-DU0VWdcf.js.map → data-toggle-store.svelte-CtW4s3Vw.js.map} +1 -1
  75. package/dist/index-BsWecoW1.js +63 -0
  76. package/dist/index-BsWecoW1.js.map +1 -0
  77. package/dist/labels-BB1JG19g.js +966 -0
  78. package/dist/labels-BB1JG19g.js.map +1 -0
  79. package/dist/transform-BlXf-shc.js +276 -0
  80. package/dist/transform-BlXf-shc.js.map +1 -0
  81. package/dist/types/index.d.ts +45 -0
  82. package/dist/venue-calendar.css +1 -1
  83. package/dist/venue-calendar.es.js +31 -37
  84. package/dist/venue-calendar.es.js.map +1 -1
  85. package/dist/venue-calendar.iife.js +40 -107
  86. package/dist/venue-calendar.iife.js.map +1 -1
  87. package/dist/venue-calendar.umd.js +38 -125
  88. package/dist/venue-calendar.umd.js.map +1 -1
  89. package/package.json +170 -168
  90. package/dist/CartView-CXsAlVHs.js.map +0 -1
  91. package/dist/Checkout-BPAkGlf6.js +0 -1531
  92. package/dist/Checkout-BPAkGlf6.js.map +0 -1
  93. package/dist/Checkout-Bj85hSlQ.js.map +0 -1
  94. package/dist/CheckoutTimer-CSc35x4t.js +0 -35
  95. package/dist/CheckoutTimer-CSc35x4t.js.map +0 -1
  96. package/dist/CollectionView-BitCEQzn.js +0 -148
  97. package/dist/CollectionView-BitCEQzn.js.map +0 -1
  98. package/dist/Event-BAKC5X6r.js +0 -1910
  99. package/dist/Event-BAKC5X6r.js.map +0 -1
  100. package/dist/EventPage-DxiAuBVc.js +0 -336
  101. package/dist/EventPage-DxiAuBVc.js.map +0 -1
  102. package/dist/Heading-AFd3o0xt.js +0 -44
  103. package/dist/Heading-AFd3o0xt.js.map +0 -1
  104. package/dist/OrderSummarySkeleton-dDKUH741.js +0 -16
  105. package/dist/OrderSummarySkeleton-dDKUH741.js.map +0 -1
  106. package/dist/Text-CXR2fhx6.js +0 -54
  107. package/dist/Text-CXR2fhx6.js.map +0 -1
  108. package/dist/VenueCalendar-CISH7WGT.js.map +0 -1
  109. package/dist/ViewTicketsEmbed-Bo16Y0sx.js +0 -2039
  110. package/dist/ViewTicketsEmbed-Bo16Y0sx.js.map +0 -1
  111. package/dist/__SKIP_NAVIGATION__-CJ96TTPE.js +0 -7
  112. package/dist/__SKIP_NAVIGATION__-CJ96TTPE.js.map +0 -1
  113. package/dist/api-BV4wcElQ.js +0 -12
  114. package/dist/labels-B2ebkcUD.js +0 -659
  115. package/dist/labels-B2ebkcUD.js.map +0 -1
  116. package/dist/transform-B3tJXUnG.js +0 -275
  117. package/dist/transform-B3tJXUnG.js.map +0 -1
package/dist/api/cta.d.ts CHANGED
@@ -1,11 +1,4 @@
1
- /**
2
- * CTA state computation.
3
- *
4
- * Pure function (no I/O) — derives the buy-button state from an event and
5
- * its ticket list. Lives in `api/` because it is the canonical, single
6
- * source of truth that replaces the duplicate implementations previously
7
- * scattered across utils/api.js, core/api-client.js, and a few components.
8
- */
1
+ import { isHiddenTicketPurchasable } from '@getmicdrop/svelte-components/transforms';
9
2
  export interface CtaStateOptions {
10
3
  cancelled?: boolean;
11
4
  isRegistration?: boolean;
@@ -37,6 +30,5 @@ interface CtaTicket {
37
30
  isHidden?: boolean;
38
31
  visibility?: number;
39
32
  }
40
- export declare function isHiddenTicketPurchasable(ticket: CtaTicket): boolean;
33
+ export { isHiddenTicketPurchasable };
41
34
  export declare function computeCtaState(event: CtaEvent, tickets: CtaTicket[] | undefined, options?: CtaStateOptions): CtaState;
42
- export {};
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Address helpers — shared between the event, series and collection page
3
+ * transformers.
4
+ *
5
+ * Lifted verbatim from public-calendar-flow/transform.ts so the series and
6
+ * collection canonicals (and the in-place transformApiEvent) read a single
7
+ * source instead of each carrying a private copy. Behavior is byte-identical
8
+ * to the previous module-private versions.
9
+ */
10
+ /**
11
+ * Parse a single-line address string into display lines.
12
+ * E.g. "123 Main St, Los Angeles, CA 90012" -> ["123 Main St", "Los Angeles, CA 90012"]
13
+ */
14
+ export declare function parseAddress(addressStr: string): string[];
15
+ /**
16
+ * Build a Google Maps search URL from an address string.
17
+ */
18
+ export declare function buildGoogleMapsUrl(address: string): string;
@@ -0,0 +1,19 @@
1
+ import { CartView, CartReservationView } from '../orders.js';
2
+ /**
3
+ * Parse a single raw reservation row into the normalized CartReservationView.
4
+ *
5
+ * Wire shape is contained here. Uses `??` (PascalCase first, camelCase
6
+ * fallback) so a real `0` quantity / price is preserved. Numeric coercion via
7
+ * Number(), status via String() -- byte-identical to the inline `.map` in
8
+ * getCartByUUID.
9
+ */
10
+ export declare function parseCartReservation(raw: unknown): CartReservationView;
11
+ /**
12
+ * Parse a raw cart payload into the normalized CartView domain shape.
13
+ *
14
+ * Wire shape (RawCart) is contained inside this module and never escapes it.
15
+ * Reconciles PascalCase and camelCase JSON tags via `??`. Reservations are
16
+ * normalized through parseCartReservation. Byte-identical to the inline
17
+ * normalization previously embedded in getCartByUUID.
18
+ */
19
+ export declare function parseCart(raw: unknown): CartView;
@@ -0,0 +1,12 @@
1
+ import { PublicCollectionData } from '../types.js';
2
+ import { EventData } from '../../public-calendar-flow/types';
3
+ /**
4
+ * Transform PublicCollectionData (from the collection API) into our clean EventData interface.
5
+ * Sets collectionId so EventExperience renders in full-width collection mode.
6
+ */
7
+ export declare function parseCollection(collection: PublicCollectionData): EventData;
8
+ /**
9
+ * Back-compat alias — the public-calendar-flow shaper name. Existing call
10
+ * sites importing transformCollectionData continue to work unchanged.
11
+ */
12
+ export declare const transformCollectionData: typeof parseCollection;
@@ -53,6 +53,40 @@ interface ApiEvent {
53
53
  event_series_id?: number;
54
54
  seriesInstanceNumber?: number;
55
55
  series_instance_number?: number;
56
+ timeZone?: string;
57
+ eventSummary?: string;
58
+ password?: string;
59
+ hasPassword?: boolean;
60
+ disclaimer?: string;
61
+ ticketType?: number;
62
+ eventTicketingType?: number;
63
+ ageRestriction?: number;
64
+ displayAgeRestriction?: boolean;
65
+ displayStartTime?: boolean;
66
+ displayEndTime?: boolean;
67
+ displayDoorsTime?: boolean;
68
+ collectionId?: number;
69
+ collection_id?: number;
70
+ ticketsRemaining?: number;
71
+ ticketsTotal?: number;
72
+ hasHiddenTickets?: boolean;
73
+ stage?: {
74
+ name?: string;
75
+ } | null;
76
+ stageName?: string;
77
+ stageId?: number;
78
+ eventCategoryTypes?: number[] | null;
79
+ publicPerformers?: Array<{
80
+ id?: number;
81
+ displayName?: string;
82
+ image?: string;
83
+ }> | null;
84
+ collectionIds?: number[] | null;
85
+ venue?: Record<string, any>;
86
+ performers?: Record<string, any>[];
87
+ faqs?: Record<string, any>[];
88
+ showtimes?: Record<string, any>[];
89
+ purchasedTickets?: Record<string, any>[];
56
90
  }
57
91
  /**
58
92
  * Get CDN image URL
@@ -75,7 +109,12 @@ export declare function getEventImageUrl(apiEvent: ApiEvent): string;
75
109
  /**
76
110
  * Calculate CTA state based on ticket availability
77
111
  */
78
- export declare function calculateCtaState(apiEvent: ApiEvent): 'available' | 'sold_out' | 'coming_soon' | 'ended';
112
+ /**
113
+ * VC's 4-state CTA derivation (available/sold_out/coming_soon/ended) for parsed events.
114
+ * Distinct from SC's `calculateCtaState` (richer wire-level canonical) — renamed to
115
+ * avoid shadowing the SC export; this variant reads the parsed/raw event shape parseEvent consumes.
116
+ */
117
+ export declare function deriveEventCtaState(apiEvent: ApiEvent): 'available' | 'sold_out' | 'coming_soon' | 'ended';
79
118
  /**
80
119
  * Parse a raw ticket payload into the normalized AvailableTicket domain shape.
81
120
  *
@@ -93,6 +132,16 @@ export declare function parseTicket(raw: unknown): AvailableTicket;
93
132
  * behavior preserved from old mapper: null/undefined input (property access on a nullish value) or a non-array
94
133
  * tickets field throws exactly as the old code did. Callers always pass real
95
134
  * wire objects.
135
+ *
136
+ * COMPOSITION NOTE — passthrough seams (events convergence):
137
+ * The trailing block of fields below is carried VERBATIM from the wire (no
138
+ * fallback chains, no normalization) so that the view-shape projections —
139
+ * `utils/event-transform.js` (DETAIL/BROWSE) and
140
+ * `public-calendar-flow/transform.ts` (EventData) — can compose parseEvent
141
+ * for every event-level scalar instead of reading the wire themselves.
142
+ * `venue`/`performers`/`faqs`/`showtimes`/`purchasedTickets` stay raw objects
143
+ * by contract: their consumers (and #260's performer canonical) own that
144
+ * variance; normalizing them here would change rendered output.
96
145
  */
97
146
  export declare function parseEvent(raw: unknown): Event;
98
147
  /**
@@ -0,0 +1,11 @@
1
+ import { ApplyGiftCardResult } from '../gift-cards.js';
2
+ /**
3
+ * Parse a successful apply-gift-card backend payload into ApplyGiftCardResult.
4
+ *
5
+ * Maps the real backend contract to what the Checkout component expects:
6
+ * - appliedAmount (cents) -> giftCardAmount (dollars)
7
+ * - remainingTotal (dollars) -> stripeAmount (dollars, residual to charge)
8
+ * - fullyCoveredByCard -> paymentType 'gift_card_only' | 'split' + requiresStripe
9
+ * Byte-identical to the inline success-path mapping previously in applyGiftCard.
10
+ */
11
+ export declare function parseGiftCardApplication(raw: unknown): ApplyGiftCardResult;
@@ -4,10 +4,12 @@
4
4
  * Re-exports all transformer functions for convenient importing.
5
5
  *
6
6
  * Canonical parse<Entity> functions (preferred for new code):
7
- * parseEvent, parseVenue, parseOrder, parsePurchasedTicket, parseTicket
7
+ * parseEvent, parseVenue, parseOrder, parsePurchasedTicket, parseTicket,
8
+ * parseSeries, parseCollection
8
9
  *
9
10
  * Back-compat aliases (old names, call the same function):
10
- * transformEvent, transformEventData, transformVenue, transformOrder, transformTicket
11
+ * transformEvent, transformEventData, transformVenue, transformOrder,
12
+ * transformTicket, transformSeriesPageData, transformCollectionData
11
13
  */
12
14
  export { parseOrder, parsePurchasedTicket, transformOrder, // back-compat alias
13
15
  transformTicket, // back-compat alias
@@ -15,6 +17,11 @@ transformOrderForDisplay, } from './order.js';
15
17
  export { parseEvent, parseEventList, parseTicket, transformEvent, // back-compat alias
16
18
  transformEventData, // legacy alias
17
19
  transformTicket as transformAvailableTicket, // back-compat alias
18
- getCDNImageUrl, getEventImageUrl, calculateCtaState, } from './event.js';
20
+ getCDNImageUrl, getEventImageUrl, deriveEventCtaState, deriveEventCtaState as calculateCtaState, } from './event.js';
19
21
  export { parseVenue, transformVenue, // back-compat alias
20
22
  extractVenueFees, formatVenueAddress, } from './venue.js';
23
+ export { parseSeries, transformSeriesPageData, } from './series.js';
24
+ export { parseCollection, transformCollectionData, } from './collection.js';
25
+ export { parseCart, parseCartReservation } from './cart.js';
26
+ export { parseGiftCardApplication } from './giftCard.js';
27
+ export { parseEventPerformers } from './performer.js';
@@ -0,0 +1,8 @@
1
+ import { EventPerformersResponse } from '../types.js';
2
+ /**
3
+ * Parse a raw performers payload into the normalized EventPerformersResponse.
4
+ *
5
+ * `performers` is coerced to an array (Array.isArray gate), `showPerformers`
6
+ * to a strict boolean (`=== true`) -- matching fetchEventPerformers exactly.
7
+ */
8
+ export declare function parseEventPerformers(raw: unknown): EventPerformersResponse;
@@ -0,0 +1,12 @@
1
+ import { SeriesPageData } from '../types.js';
2
+ import { EventData } from '../../public-calendar-flow/types';
3
+ /**
4
+ * Transform SeriesPageData (from the series API) into our clean EventData interface.
5
+ * Sets eventSeriesId so EventExperience renders in full-width series mode.
6
+ */
7
+ export declare function parseSeries(series: SeriesPageData): EventData;
8
+ /**
9
+ * Back-compat alias — the public-calendar-flow shaper name. Existing call
10
+ * sites importing transformSeriesPageData continue to work unchanged.
11
+ */
12
+ export declare const transformSeriesPageData: typeof parseSeries;