@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.
Files changed (48) hide show
  1. package/README.md +661 -661
  2. package/dist/{CarouselView.legacy-C9QYS3av.js → CarouselView.legacy-DeWfW7JT.js} +2 -2
  3. package/dist/CarouselView.legacy-DeWfW7JT.js.map +1 -0
  4. package/dist/{Checkout.legacy-CyiqW4Im.js → Checkout.legacy-CJPThT4I.js} +5 -4
  5. package/dist/Checkout.legacy-CJPThT4I.js.map +1 -0
  6. package/dist/{CollectionView.legacy-CQeXXMOU.js → CollectionView.legacy-BG3g7XbI.js} +5 -4
  7. package/dist/CollectionView.legacy-BG3g7XbI.js.map +1 -0
  8. package/dist/{FeaturedView.legacy-C3td2GLq.js → FeaturedView.legacy-CALzP8EW.js} +2 -2
  9. package/dist/FeaturedView.legacy-CALzP8EW.js.map +1 -0
  10. package/dist/{GalleryView.legacy-BJwdUDNJ.js → GalleryView.legacy-DIhYvOQU.js} +2 -2
  11. package/dist/GalleryView.legacy-DIhYvOQU.js.map +1 -0
  12. package/dist/{GroupedListView.legacy-DWU0K8XY.js → GroupedListView.legacy-C9dQ_v_d.js} +2 -2
  13. package/dist/GroupedListView.legacy-C9dQ_v_d.js.map +1 -0
  14. package/dist/{SeriesPage.legacy-D-ZoVrPE.js → SeriesPage.legacy-hSI5Sm8W.js} +2 -2
  15. package/dist/SeriesPage.legacy-hSI5Sm8W.js.map +1 -0
  16. package/dist/{Success.legacy-D9zlNOn7.js → Success.legacy-DEjngxhO.js} +2 -2
  17. package/dist/Success.legacy-DEjngxhO.js.map +1 -0
  18. package/dist/{VenueCalendar-DX2HF1GE.js → VenueCalendar-DvT1UOq-.js} +11803 -11535
  19. package/dist/VenueCalendar-DvT1UOq-.js.map +1 -0
  20. package/dist/api/api.cjs +1 -1
  21. package/dist/api/api.cjs.map +1 -1
  22. package/dist/api/api.mjs +278 -266
  23. package/dist/api/api.mjs.map +1 -1
  24. package/dist/api/types.d.ts +349 -349
  25. package/dist/colors-BZoMuXdh.js.map +1 -1
  26. package/dist/seo/seo.cjs +1 -1
  27. package/dist/seo/seo.cjs.map +1 -1
  28. package/dist/seo/seo.mjs +52 -40
  29. package/dist/seo/seo.mjs.map +1 -1
  30. package/dist/seo/types.d.ts +136 -135
  31. package/dist/types/index.d.ts +387 -387
  32. package/dist/venue-calendar.css +1 -1
  33. package/dist/venue-calendar.es.js +2 -2
  34. package/dist/venue-calendar.iife.js +42 -42
  35. package/dist/venue-calendar.iife.js.map +1 -1
  36. package/dist/venue-calendar.umd.js +42 -42
  37. package/dist/venue-calendar.umd.js.map +1 -1
  38. package/package.json +121 -112
  39. package/src/lib/theme.js +213 -209
  40. package/dist/CarouselView.legacy-C9QYS3av.js.map +0 -1
  41. package/dist/Checkout.legacy-CyiqW4Im.js.map +0 -1
  42. package/dist/CollectionView.legacy-CQeXXMOU.js.map +0 -1
  43. package/dist/FeaturedView.legacy-C3td2GLq.js.map +0 -1
  44. package/dist/GalleryView.legacy-BJwdUDNJ.js.map +0 -1
  45. package/dist/GroupedListView.legacy-DWU0K8XY.js.map +0 -1
  46. package/dist/SeriesPage.legacy-D-ZoVrPE.js.map +0 -1
  47. package/dist/Success.legacy-D9zlNOn7.js.map +0 -1
  48. package/dist/VenueCalendar-DX2HF1GE.js.map +0 -1
@@ -1,349 +1,349 @@
1
- /**
2
- * API Types for MicDrop Public Checkout API
3
- *
4
- * These types define the shape of API requests and responses
5
- * for the public checkout flow (no authentication required).
6
- */
7
-
8
- // ============================================================================
9
- // Payment & Orders
10
- // ============================================================================
11
-
12
- export interface PaymentIntentRequest {
13
- IP?: string;
14
- productQuantities: Record<string | number, number>;
15
- }
16
-
17
- export interface PaymentIntentResponse {
18
- client_secret: string;
19
- amount: number;
20
- amount_total: number;
21
- tax_amount_exclusive?: number;
22
- service_fee?: number;
23
- discount?: number;
24
- gift_card_amount?: number;
25
- gift_card_code?: string;
26
- stripe_publishable_key?: string;
27
- }
28
-
29
- export interface CompleteReservationResponse {
30
- success: boolean;
31
- message?: string;
32
- error?: string;
33
- }
34
-
35
- export interface CancelReservationResponse {
36
- success: boolean;
37
- message?: string;
38
- error?: string;
39
- }
40
-
41
- export interface CreateOrderRequest {
42
- eventId: string | number;
43
- promoCode?: string;
44
- }
45
-
46
- export interface CreateOrderResponse {
47
- uuid: string;
48
- }
49
-
50
- export interface ValidatePaymentRequest {
51
- id: string;
52
- paymentIntentId: string;
53
- tickets: Record<string | number, number>;
54
- firstName: string;
55
- lastName: string;
56
- email: string;
57
- paymentMethod: string;
58
- mailingList?: boolean;
59
- saleType?: string;
60
- attendees?: AttendeeInfo[];
61
- }
62
-
63
- export interface AttendeeInfo {
64
- ticketId: string | number;
65
- firstName: string;
66
- lastName: string;
67
- email: string;
68
- }
69
-
70
- export interface ValidatePaymentResponse {
71
- success: boolean;
72
- status: string;
73
- orderUUID?: string;
74
- error?: string;
75
- }
76
-
77
- // ============================================================================
78
- // Session Management
79
- // ============================================================================
80
-
81
- export interface ExtendSessionRequest {
82
- orderUuid: string;
83
- }
84
-
85
- export interface ExtendSessionResponse {
86
- success: boolean;
87
- newExpiryTime?: string;
88
- remainingExtensions?: number;
89
- error?: string;
90
- }
91
-
92
- export interface SessionStatus {
93
- expiresAt?: string;
94
- extensionCount?: number;
95
- remainingExtensions?: number;
96
- canExtend?: boolean;
97
- reservationCount?: number;
98
- error?: string;
99
- }
100
-
101
- // ============================================================================
102
- // Promo Codes
103
- // ============================================================================
104
-
105
- export interface PromoValidationResponse {
106
- valid: boolean;
107
- revealHiddenTickets?: boolean;
108
- revealTicketIds?: number[];
109
- provideDiscount?: boolean;
110
- discountType?: 'percentage' | 'fixed';
111
- amount?: number;
112
- code?: string;
113
- error?: string;
114
- }
115
-
116
- export interface HasPromoCodesResponse {
117
- hasPromoCodes: boolean;
118
- }
119
-
120
- // ============================================================================
121
- // Orders
122
- // ============================================================================
123
-
124
- export interface Order {
125
- uuid: string;
126
- id?: number;
127
- customerEmail: string;
128
- customerFirstName?: string;
129
- customerLastName?: string;
130
- status: string;
131
- totalAmount: number;
132
- subtotal?: number;
133
- serviceFeesAmount: number;
134
- taxAmount: number;
135
- discount?: number;
136
- paymentIntentId?: string;
137
- paymentMethod?: string;
138
- purchasedTickets: PurchasedTicket[];
139
- createdAt?: string;
140
- updatedAt?: string;
141
- }
142
-
143
- export interface PurchasedTicket {
144
- uuid: string;
145
- id?: number;
146
- ticketNumber?: string;
147
- orderId?: string | number;
148
- attendeeFirstName?: string;
149
- attendeeLastName?: string;
150
- attendeeEmail?: string;
151
- ticketName: string;
152
- ticketTypeId?: number;
153
- purchasePrice: number;
154
- status?: string;
155
- checkedIn?: boolean;
156
- checkedInAt?: string;
157
- }
158
-
159
- // ============================================================================
160
- // Events
161
- // ============================================================================
162
-
163
- export interface Event {
164
- eventID: number;
165
- id?: number;
166
- name: string;
167
- title?: string;
168
- slug?: string;
169
- description?: string;
170
- date: string;
171
- startDateTime?: string;
172
- endDateTime?: string;
173
- doorsOpenTime?: string;
174
- timezone?: string;
175
- venueId?: number;
176
- venueName?: string;
177
- venueAddress?: string;
178
- location?: string;
179
- imageUrl?: string;
180
- imageURL?: string;
181
- status?: string;
182
- isPublished?: boolean;
183
- isCancelled?: boolean;
184
- availableTickets?: AvailableTicket[];
185
- ticketsAvailable?: number;
186
- ticketsSold?: number;
187
- minPrice?: number;
188
- maxPrice?: number;
189
- ctaText?: string;
190
- ctaState?: 'available' | 'sold_out' | 'coming_soon' | 'ended';
191
- showPerformers?: boolean;
192
- eventSeriesId?: number;
193
- seriesInstanceNumber?: number;
194
- }
195
-
196
- export interface AvailableTicket {
197
- id: number;
198
- name: string;
199
- description?: string;
200
- price: number;
201
- quantity: number;
202
- quantitySold?: number;
203
- quantityAvailable?: number;
204
- minPerOrder?: number;
205
- maxPerOrder?: number;
206
- saleStartDate?: string;
207
- saleEndDate?: string;
208
- isHidden?: boolean;
209
- revealWithPromoCode?: boolean;
210
- ticketType?: number; // 0 = GA, 1 = assigned
211
- sectionId?: number;
212
- sortOrder?: number;
213
- }
214
-
215
- export interface EventPerformersResponse {
216
- performers: Performer[];
217
- showPerformers: boolean;
218
- }
219
-
220
- export interface Performer {
221
- id: number;
222
- displayName: string;
223
- avatar?: string;
224
- order?: number;
225
- }
226
-
227
- // ============================================================================
228
- // Venues
229
- // ============================================================================
230
-
231
- export interface Venue {
232
- id: number;
233
- name: string;
234
- slug?: string;
235
- address?: string;
236
- googleLocationNameCache?: string;
237
- city?: string;
238
- state?: string;
239
- zipCode?: string;
240
- country?: string;
241
- timezone?: string;
242
- logoUrl?: string;
243
- serviceFeePercentage?: number;
244
- serviceFeeCents?: number;
245
- taxPercentage?: number;
246
- organizationId?: number;
247
- }
248
-
249
- // ============================================================================
250
- // Series
251
- // ============================================================================
252
-
253
- export interface SeriesOccurrence {
254
- eventId: number;
255
- date: string;
256
- startDateTime: string;
257
- endDateTime?: string;
258
- instanceNumber: number;
259
- status: string;
260
- ticketsAvailable?: number;
261
- ctaState?: string;
262
- }
263
-
264
- export interface SeriesOccurrencesResponse {
265
- seriesId: number;
266
- occurrences: SeriesOccurrence[];
267
- }
268
-
269
- // ============================================================================
270
- // Series Page
271
- // ============================================================================
272
-
273
- export interface SeriesPageData {
274
- id: number;
275
- title: string;
276
- description: string;
277
- eventSummary?: string;
278
- image?: string;
279
- timeZone: string;
280
- venue: {
281
- id: number;
282
- name: string;
283
- location?: string;
284
- googleLocationNameCache?: string;
285
- faq?: Array<{ question: string; answer: string }> | string;
286
- disclaimer?: string;
287
- };
288
- performers: Array<{
289
- displayName: string;
290
- firstName?: string;
291
- lastName?: string;
292
- profileImage?: string;
293
- }>;
294
- occurrences: Array<{
295
- id: number;
296
- slug: string;
297
- startDateTime: string;
298
- endDateTime: string;
299
- ctaState: {
300
- text: string;
301
- disabled: boolean;
302
- reason?: string;
303
- };
304
- }>;
305
- }
306
-
307
- // ============================================================================
308
- // Public Collection
309
- // ============================================================================
310
-
311
- export interface PublicCollectionData {
312
- id: number;
313
- collectionTitle: string;
314
- summary?: string;
315
- description?: string;
316
- coverImage?: string;
317
- events: Array<{
318
- id: number;
319
- title: string;
320
- slug?: string;
321
- startDateTime?: string;
322
- endDateTime?: string;
323
- image?: string;
324
- status?: string;
325
- venue?: { name: string };
326
- minPrice?: number;
327
- }>;
328
- }
329
-
330
- // ============================================================================
331
- // API Configuration
332
- // ============================================================================
333
-
334
- export interface ApiConfig {
335
- baseUrl?: string;
336
- timeout?: number;
337
- onError?: (error: Error) => void;
338
- }
339
-
340
- // ============================================================================
341
- // Generic API Response
342
- // ============================================================================
343
-
344
- export interface ApiResponse<T> {
345
- success: boolean;
346
- data?: T;
347
- error?: string;
348
- statusCode?: number;
349
- }
1
+ /**
2
+ * API Types for MicDrop Public Checkout API
3
+ *
4
+ * These types define the shape of API requests and responses
5
+ * for the public checkout flow (no authentication required).
6
+ */
7
+
8
+ // ============================================================================
9
+ // Payment & Orders
10
+ // ============================================================================
11
+
12
+ export interface PaymentIntentRequest {
13
+ IP?: string;
14
+ productQuantities: Record<string | number, number>;
15
+ }
16
+
17
+ export interface PaymentIntentResponse {
18
+ client_secret: string;
19
+ amount: number;
20
+ amount_total: number;
21
+ tax_amount_exclusive?: number;
22
+ service_fee?: number;
23
+ discount?: number;
24
+ gift_card_amount?: number;
25
+ gift_card_code?: string;
26
+ stripe_publishable_key?: string;
27
+ }
28
+
29
+ export interface CompleteReservationResponse {
30
+ success: boolean;
31
+ message?: string;
32
+ error?: string;
33
+ }
34
+
35
+ export interface CancelReservationResponse {
36
+ success: boolean;
37
+ message?: string;
38
+ error?: string;
39
+ }
40
+
41
+ export interface CreateOrderRequest {
42
+ eventId: string | number;
43
+ promoCode?: string;
44
+ }
45
+
46
+ export interface CreateOrderResponse {
47
+ uuid: string;
48
+ }
49
+
50
+ export interface ValidatePaymentRequest {
51
+ id: string;
52
+ paymentIntentId: string;
53
+ tickets: Record<string | number, number>;
54
+ firstName: string;
55
+ lastName: string;
56
+ email: string;
57
+ paymentMethod: string;
58
+ mailingList?: boolean;
59
+ saleType?: string;
60
+ attendees?: AttendeeInfo[];
61
+ }
62
+
63
+ export interface AttendeeInfo {
64
+ ticketId: string | number;
65
+ firstName: string;
66
+ lastName: string;
67
+ email: string;
68
+ }
69
+
70
+ export interface ValidatePaymentResponse {
71
+ success: boolean;
72
+ status: string;
73
+ orderUUID?: string;
74
+ error?: string;
75
+ }
76
+
77
+ // ============================================================================
78
+ // Session Management
79
+ // ============================================================================
80
+
81
+ export interface ExtendSessionRequest {
82
+ orderUuid: string;
83
+ }
84
+
85
+ export interface ExtendSessionResponse {
86
+ success: boolean;
87
+ newExpiryTime?: string;
88
+ remainingExtensions?: number;
89
+ error?: string;
90
+ }
91
+
92
+ export interface SessionStatus {
93
+ expiresAt?: string;
94
+ extensionCount?: number;
95
+ remainingExtensions?: number;
96
+ canExtend?: boolean;
97
+ reservationCount?: number;
98
+ error?: string;
99
+ }
100
+
101
+ // ============================================================================
102
+ // Promo Codes
103
+ // ============================================================================
104
+
105
+ export interface PromoValidationResponse {
106
+ valid: boolean;
107
+ revealHiddenTickets?: boolean;
108
+ revealTicketIds?: number[];
109
+ provideDiscount?: boolean;
110
+ discountType?: 'percentage' | 'fixed';
111
+ amount?: number;
112
+ code?: string;
113
+ error?: string;
114
+ }
115
+
116
+ export interface HasPromoCodesResponse {
117
+ hasPromoCodes: boolean;
118
+ }
119
+
120
+ // ============================================================================
121
+ // Orders
122
+ // ============================================================================
123
+
124
+ export interface Order {
125
+ uuid: string;
126
+ id?: number;
127
+ customerEmail: string;
128
+ customerFirstName?: string;
129
+ customerLastName?: string;
130
+ status: string;
131
+ totalAmount: number;
132
+ subtotal?: number;
133
+ serviceFeesAmount: number;
134
+ taxAmount: number;
135
+ discount?: number;
136
+ paymentIntentId?: string;
137
+ paymentMethod?: string;
138
+ purchasedTickets: PurchasedTicket[];
139
+ createdAt?: string;
140
+ updatedAt?: string;
141
+ }
142
+
143
+ export interface PurchasedTicket {
144
+ uuid: string;
145
+ id?: number;
146
+ ticketNumber?: string;
147
+ orderId?: string | number;
148
+ attendeeFirstName?: string;
149
+ attendeeLastName?: string;
150
+ attendeeEmail?: string;
151
+ ticketName: string;
152
+ ticketTypeId?: number;
153
+ purchasePrice: number;
154
+ status?: string;
155
+ checkedIn?: boolean;
156
+ checkedInAt?: string;
157
+ }
158
+
159
+ // ============================================================================
160
+ // Events
161
+ // ============================================================================
162
+
163
+ export interface Event {
164
+ eventID: number;
165
+ id?: number;
166
+ name: string;
167
+ title?: string;
168
+ slug?: string;
169
+ description?: string;
170
+ date: string;
171
+ startDateTime?: string;
172
+ endDateTime?: string;
173
+ doorsOpenTime?: string;
174
+ timezone?: string;
175
+ venueId?: number;
176
+ venueName?: string;
177
+ venueAddress?: string;
178
+ location?: string;
179
+ imageUrl?: string;
180
+ imageURL?: string;
181
+ status?: string;
182
+ isPublished?: boolean;
183
+ isCancelled?: boolean;
184
+ availableTickets?: AvailableTicket[];
185
+ ticketsAvailable?: number;
186
+ ticketsSold?: number;
187
+ minPrice?: number;
188
+ maxPrice?: number;
189
+ ctaText?: string;
190
+ ctaState?: 'available' | 'sold_out' | 'coming_soon' | 'ended';
191
+ showPerformers?: boolean;
192
+ eventSeriesId?: number;
193
+ seriesInstanceNumber?: number;
194
+ }
195
+
196
+ export interface AvailableTicket {
197
+ id: number;
198
+ name: string;
199
+ description?: string;
200
+ price: number;
201
+ quantity: number;
202
+ quantitySold?: number;
203
+ quantityAvailable?: number;
204
+ minPerOrder?: number;
205
+ maxPerOrder?: number;
206
+ saleStartDate?: string;
207
+ saleEndDate?: string;
208
+ isHidden?: boolean;
209
+ revealWithPromoCode?: boolean;
210
+ ticketType?: number; // 0 = GA, 1 = assigned
211
+ sectionId?: number;
212
+ sortOrder?: number;
213
+ }
214
+
215
+ export interface EventPerformersResponse {
216
+ performers: Performer[];
217
+ showPerformers: boolean;
218
+ }
219
+
220
+ export interface Performer {
221
+ id: number;
222
+ displayName: string;
223
+ avatar?: string;
224
+ order?: number;
225
+ }
226
+
227
+ // ============================================================================
228
+ // Venues
229
+ // ============================================================================
230
+
231
+ export interface Venue {
232
+ id: number;
233
+ name: string;
234
+ slug?: string;
235
+ address?: string;
236
+ googleLocationNameCache?: string;
237
+ city?: string;
238
+ state?: string;
239
+ zipCode?: string;
240
+ country?: string;
241
+ timezone?: string;
242
+ logoUrl?: string;
243
+ serviceFeePercentage?: number;
244
+ serviceFeeCents?: number;
245
+ taxPercentage?: number;
246
+ organizationId?: number;
247
+ }
248
+
249
+ // ============================================================================
250
+ // Series
251
+ // ============================================================================
252
+
253
+ export interface SeriesOccurrence {
254
+ eventId: number;
255
+ date: string;
256
+ startDateTime: string;
257
+ endDateTime?: string;
258
+ instanceNumber: number;
259
+ status: string;
260
+ ticketsAvailable?: number;
261
+ ctaState?: string;
262
+ }
263
+
264
+ export interface SeriesOccurrencesResponse {
265
+ seriesId: number;
266
+ occurrences: SeriesOccurrence[];
267
+ }
268
+
269
+ // ============================================================================
270
+ // Series Page
271
+ // ============================================================================
272
+
273
+ export interface SeriesPageData {
274
+ id: number;
275
+ title: string;
276
+ description: string;
277
+ eventSummary?: string;
278
+ image?: string;
279
+ timeZone: string;
280
+ venue: {
281
+ id: number;
282
+ name: string;
283
+ location?: string;
284
+ googleLocationNameCache?: string;
285
+ faq?: Array<{ question: string; answer: string }> | string;
286
+ disclaimer?: string;
287
+ };
288
+ performers: Array<{
289
+ displayName: string;
290
+ firstName?: string;
291
+ lastName?: string;
292
+ profileImage?: string;
293
+ }>;
294
+ occurrences: Array<{
295
+ id: number;
296
+ slug: string;
297
+ startDateTime: string;
298
+ endDateTime: string;
299
+ ctaState: {
300
+ text: string;
301
+ disabled: boolean;
302
+ reason?: string;
303
+ };
304
+ }>;
305
+ }
306
+
307
+ // ============================================================================
308
+ // Public Collection
309
+ // ============================================================================
310
+
311
+ export interface PublicCollectionData {
312
+ id: number;
313
+ collectionTitle: string;
314
+ summary?: string;
315
+ description?: string;
316
+ coverImage?: string;
317
+ events: Array<{
318
+ id: number;
319
+ title: string;
320
+ slug?: string;
321
+ startDateTime?: string;
322
+ endDateTime?: string;
323
+ image?: string;
324
+ status?: string;
325
+ venue?: { name: string };
326
+ minPrice?: number;
327
+ }>;
328
+ }
329
+
330
+ // ============================================================================
331
+ // API Configuration
332
+ // ============================================================================
333
+
334
+ export interface ApiConfig {
335
+ baseUrl?: string;
336
+ timeout?: number;
337
+ onError?: (error: Error) => void;
338
+ }
339
+
340
+ // ============================================================================
341
+ // Generic API Response
342
+ // ============================================================================
343
+
344
+ export interface ApiResponse<T> {
345
+ success: boolean;
346
+ data?: T;
347
+ error?: string;
348
+ statusCode?: number;
349
+ }