tickera-angular-components 0.0.1-dev.14 → 0.0.1-dev.141

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,12 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, EnvironmentProviders, WritableSignal, EventEmitter, Injector, Type, OnInit, OnDestroy, ElementRef, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { InjectionToken, EnvironmentProviders, WritableSignal, Signal, EventEmitter, OnChanges, OnDestroy, SimpleChanges, Injector, Type, OnInit, ElementRef, AfterViewInit } from '@angular/core';
3
+ export { TippyDirective } from '@ngneat/helipopper';
4
+ export * from '@ngneat/helipopper/config';
3
5
  import { TranslocoLoader, TranslocoService } from '@jsverse/transloco';
4
6
  import * as rxjs from 'rxjs';
5
7
  import { Observable, Subject } from 'rxjs';
6
- import { ValidatorFn, FormGroup, FormBuilder, ControlValueAccessor, NgControl, Validator, AbstractControl, FormControl } from '@angular/forms';
8
+ import { ShapeConfig, Shape } from 'konva/lib/Shape';
9
+ import { Context } from 'konva/lib/Context';
10
+ import { ValidatorFn, FormGroup, FormBuilder, ControlValueAccessor, NgControl, Validator, AbstractControl, ValidationErrors, FormControl } from '@angular/forms';
7
11
  import { HttpClient, HttpInterceptorFn } from '@angular/common/http';
12
+ import { Stage } from 'konva/lib/Stage';
13
+ import * as tickera_angular_components from 'tickera-angular-components';
8
14
  import { Toolbar, Editor } from 'ngx-editor';
9
- import { Router } from '@angular/router';
15
+ import { Router, ActivatedRoute } from '@angular/router';
16
+ import { StageComponent } from 'ng2-konva';
10
17
 
11
18
  interface TickeraComponentsConfig {
12
19
  apiUrl: string;
@@ -14,6 +21,7 @@ interface TickeraComponentsConfig {
14
21
  defaultLang?: string;
15
22
  availableLangs?: string[];
16
23
  }
24
+
17
25
  declare const TICKERA_COMPONENTS_CONFIG: InjectionToken<TickeraComponentsConfig>;
18
26
  declare function provideTickeraComponents(config: TickeraComponentsConfig): EnvironmentProviders;
19
27
 
@@ -33,15 +41,6 @@ declare const ALERT_ICONS: {
33
41
  info: string;
34
42
  };
35
43
 
36
- declare const BUTTON_VARIANT_CLASSES: Record<string, string>;
37
- declare const BASE_BUTTON_CLASSES = "btn";
38
- declare const BUTTON_SIZES_CLASSES: Record<string, string>;
39
-
40
- declare const FORM_ERROR_MESSAGES: Record<string, string>;
41
-
42
- declare const BASE_INPUT_CLASSES: string;
43
- declare const ERROR_INPUT_CLASSES: string;
44
-
45
44
  declare const ADMIN_API_ROUTES: {
46
45
  FIND_ALL: string;
47
46
  CREATE: string;
@@ -65,10 +64,10 @@ declare const COUNTRY_API_ENDPOINTS: {
65
64
  delete: (id: number) => string;
66
65
  };
67
66
 
68
- declare const STATE_API_ENDPOINTS: {
67
+ declare const CUSTOMERS_API_ROUTES: {
69
68
  findAll: string;
70
69
  create: string;
71
- findById: (id: number) => string;
70
+ findOne: (id: number) => string;
72
71
  update: (id: number) => string;
73
72
  delete: (id: number) => string;
74
73
  };
@@ -79,6 +78,7 @@ declare const PERFORMANCES_API_ROUTES: {
79
78
  createBulk: string;
80
79
  findOneById: (id: number) => string;
81
80
  findOneBookingData: (id: number) => string;
81
+ findOneBookingDataAdmin: (id: number) => string;
82
82
  update: (id: number) => string;
83
83
  delete: (id: number) => string;
84
84
  deleteMany: string;
@@ -90,12 +90,49 @@ declare const PERFORMANCES_API_ROUTES: {
90
90
  publicAvailablePerformances: string;
91
91
  };
92
92
 
93
+ declare const PRICE_ZONES_API_ROUTES: {
94
+ FIND_ALL: string;
95
+ CREATE: string;
96
+ findOneById: (id: number) => string;
97
+ update: (id: number) => string;
98
+ delete: (id: number) => string;
99
+ updateElements: (id: number) => string;
100
+ duplicate: (id: number) => string;
101
+ };
102
+
103
+ declare const PRODUCT_CATEGORIES_API_ROUTES: {
104
+ FIND_ALL: string;
105
+ CREATE: string;
106
+ findById: (id: number) => string;
107
+ update: (id: number) => string;
108
+ delete: (id: number) => string;
109
+ };
110
+
111
+ declare const PRODUCT_TAGS_API_ROUTES: {
112
+ FIND_ALL: string;
113
+ CREATE: string;
114
+ findById: (id: number) => string;
115
+ update: (id: number) => string;
116
+ delete: (id: number) => string;
117
+ };
118
+
119
+ declare const PRODUCT_TYPES_API_ROUTES: {
120
+ FIND_ALL: string;
121
+ CREATE: string;
122
+ findById: (id: number) => string;
123
+ update: (id: number) => string;
124
+ delete: (id: number) => string;
125
+ };
126
+
93
127
  declare const PRODUCTS_API_ROUTES: {
94
128
  FIND_ALL: string;
95
129
  CREATE: string;
96
130
  findOneById: (id: number) => string;
97
131
  update: (id: number) => string;
98
132
  delete: (id: number) => string;
133
+ fetchImages: (id: number) => string;
134
+ uploadImages: (id: number) => string;
135
+ deleteOneImage: (productId: number, imageId: number) => string;
99
136
  };
100
137
 
101
138
  declare const SHOWS_API_ROUTES: {
@@ -110,22 +147,12 @@ declare const SHOWS_API_ROUTES: {
110
147
  publicAvailablePerformances: string;
111
148
  };
112
149
 
113
- declare const CUSTOMERS_API_ROUTES: {
150
+ declare const STATE_API_ENDPOINTS: {
114
151
  findAll: string;
115
152
  create: string;
116
- findOne: (id: number) => string;
117
- update: (id: number) => string;
118
- delete: (id: number) => string;
119
- };
120
-
121
- declare const PRICE_ZONES_API_ROUTES: {
122
- FIND_ALL: string;
123
- CREATE: string;
124
- findOneById: (id: number) => string;
153
+ findById: (id: number) => string;
125
154
  update: (id: number) => string;
126
155
  delete: (id: number) => string;
127
- updateElements: (id: number) => string;
128
- duplicate: (id: number) => string;
129
156
  };
130
157
 
131
158
  declare const VENUES_API_ROUTES: {
@@ -139,162 +166,36 @@ declare const VENUES_API_ROUTES: {
139
166
  deleteOneImage: (venueId: number, imageId: number) => string;
140
167
  };
141
168
 
142
- declare enum FileType {
143
- IMAGE = "image",
144
- PDF = "pdf",
145
- EXCEL = "excel",
146
- WORD = "word",
147
- TEXT = "text",
148
- DEFAULT = "default"
149
- }
150
-
151
- declare enum CouponApplicability {
152
- GENERAL = "GENERAL",
153
- CUSTOMER_EMAIL = "CUSTOMER_EMAIL",
154
- MEMBERSHIP_TYPE = "MEMBERSHIP_TYPE",
155
- SHOWS = "SHOWS",
156
- PERFORMANCES = "PERFORMANCES"
157
- }
158
-
159
- declare enum CouponDiscountType {
160
- PERCENTAGE = "PERCENTAGE",
161
- FIXED = "FIXED"
162
- }
163
-
164
- declare enum CorporateBondStatus {
165
- ACTIVE = "ACTIVE",
166
- INACTIVE = "INACTIVE",
167
- EXPIRED = "EXPIRED"
168
- }
169
-
170
- declare enum PerformanceStatus {
171
- ACTIVE = "active",
172
- CANCELLED = "cancelled",
173
- FINISHED = "finished",
174
- POSTPONED = "postponed"
175
- }
176
-
177
- declare enum PerformanceTicketStatus {
178
- AVAILABLE = "available",
179
- RESERVED = "reserved",
180
- SOLD = "sold",
181
- BLOCKED = "blocked"
182
- }
183
-
184
- declare enum RoomMapElementOrientation {
185
- TOP = "top",
186
- RIGHT = "right",
187
- BOTTOM = "bottom",
188
- LEFT = "left",
189
- CENTER = "center"
190
- }
191
-
192
- declare enum RoomMapElementType {
193
- SEAT_BLOCK = "seat_block",
194
- TABLE = "table",
195
- ZONE = "zone",
196
- EXIT = "exit",
197
- STAGE = "stage",
198
- PRODUCTION_AREA = "production_area",
199
- UNAVAILABLE_SPACE = "unavailable_space",
200
- STAIR = "stair",
201
- HALLWAY = "hallway"
202
- }
203
-
204
- declare enum GiftBondStatus {
205
- ACTIVE = "ACTIVE",
206
- REDEEMED = "REDEEMED",
207
- EXPIRED = "EXPIRED",
208
- INACTIVE = "INACTIVE"
209
- }
210
-
211
- declare enum OrderItemType {
212
- TICKET = "TICKET",
213
- PRODUCT = "PRODUCT"
214
- }
215
-
216
- declare enum OrderStatus {
217
- ON_HOLD = "on-hold",
218
- PENDING_PAYMENT = "pending-payment",
219
- PROCESSING = "processing",
220
- COMPLETED = "completed",
221
- FAILED = "failed",
222
- CANCELLED = "cancelled",
223
- REFUNDED = "refunded"
224
- }
225
-
226
- interface RoomMapPosition {
227
- x: number;
228
- y: number;
229
- }
230
-
231
- interface RoomMapSize {
232
- width: number;
233
- height: number;
234
- }
235
-
236
- interface RoomMapBaseElement {
237
- id: string;
238
- type: RoomMapElementType;
239
- position: RoomMapPosition;
240
- size: RoomMapSize;
241
- rotation: number;
242
- name?: string;
243
- isLocked: boolean;
244
- isVisible: boolean;
245
- zIndex: number;
246
- }
247
-
248
- interface RoomMapExitElement extends RoomMapBaseElement {
249
- type: RoomMapElementType.EXIT;
250
- exitName?: string;
251
- exitType: 'emergency' | 'regular';
252
- width: number;
253
- }
254
-
255
- interface RoomMapProductionAreaElement extends RoomMapBaseElement {
256
- type: RoomMapElementType.PRODUCTION_AREA;
257
- areaName?: string;
258
- areaType: 'lighting' | 'sound' | 'backstage' | 'orchestra' | 'custom';
259
- }
260
-
261
- interface RoomMapSeatElement extends RoomMapBaseElement {
262
- type: RoomMapElementType.SEAT_BLOCK;
263
- seatNumber?: string;
264
- isAvailable: boolean;
265
- priceCategory?: string;
266
- }
169
+ declare const VIP_CARDS_API_ROUTES: {
170
+ findAll: string;
171
+ findOne: (id: number) => string;
172
+ activateAdmin: string;
173
+ rechargeAdmin: (id: number) => string;
174
+ updateStatus: (id: number) => string;
175
+ updateTerms: (id: number) => string;
176
+ transactions: (id: number) => string;
177
+ findMy: string;
178
+ activate: string;
179
+ recharge: string;
180
+ };
267
181
 
268
- interface RoomMapStageElement extends RoomMapBaseElement {
269
- type: RoomMapElementType.STAGE;
270
- stageName?: string;
271
- orientation: RoomMapElementOrientation;
272
- isMainStage: boolean;
273
- }
182
+ declare const BUTTON_VARIANT_CLASSES: Record<string, string>;
183
+ declare const BASE_BUTTON_CLASSES = "btn";
184
+ declare const BUTTON_SIZES_CLASSES: Record<string, string>;
274
185
 
275
- interface RoomMapTableElement extends RoomMapBaseElement {
276
- type: RoomMapElementType.TABLE;
277
- tableNumber?: string;
278
- capacity: number;
279
- shape: 'round' | 'rectangular' | 'square';
280
- }
186
+ declare const FORM_ERROR_MESSAGES: Record<string, string>;
281
187
 
282
- interface RoomMapUnavailableElement extends RoomMapBaseElement {
283
- type: RoomMapElementType.UNAVAILABLE_SPACE;
284
- reason?: string;
285
- }
188
+ declare const BASE_INPUT_CLASSES: string;
189
+ declare const ERROR_INPUT_CLASSES: string;
286
190
 
287
- interface RoomMapZoneElement extends RoomMapBaseElement {
288
- type: RoomMapElementType.ZONE;
289
- zoneName: string;
290
- zoneType: 'vip' | 'general' | 'premium' | 'balcony' | 'custom';
291
- color: string;
292
- capacity?: number;
191
+ interface PhoneCountry {
192
+ name: string;
193
+ isoCode: string;
194
+ dialCode: string;
293
195
  }
294
196
 
295
- type RoomMapCanvasElement = RoomMapSeatElement | RoomMapTableElement | RoomMapZoneElement | RoomMapExitElement | RoomMapStageElement | RoomMapProductionAreaElement | RoomMapUnavailableElement;
296
-
297
- type RoomMapSeatDisplayState = 'normal' | 'accessible' | 'non_existent';
197
+ declare function phoneCountryFlag(isoCode: string): string;
198
+ declare const PHONE_COUNTRIES: PhoneCountry[];
298
199
 
299
200
  interface SelectOption {
300
201
  value: any;
@@ -302,7 +203,7 @@ interface SelectOption {
302
203
  disabled?: boolean;
303
204
  }
304
205
 
305
- interface Admin {
206
+ interface Admin extends Auditable {
306
207
  id: number;
307
208
  username: string;
308
209
  email: string;
@@ -318,16 +219,17 @@ interface Admin {
318
219
  reset_password_expires: Date;
319
220
  email_verified_at: Date;
320
221
  last_login: Date;
321
- created_at: Date;
322
- updated_at: Date;
323
- deleted_at: Date;
324
222
  }
325
223
 
326
224
  interface Auditable {
327
225
  created_at: Date;
328
226
  updated_at: Date;
227
+ deleted_at?: Date | null;
329
228
  is_published?: boolean;
330
229
  published_at?: Date;
230
+ published_by?: number;
231
+ deleted_by?: number;
232
+ deleted_by_admin?: Admin;
331
233
  created_by_admin?: Admin;
332
234
  updated_by_admin?: Admin;
333
235
  published_by_admin?: Admin;
@@ -370,20 +272,20 @@ interface AdminsResponse {
370
272
  }
371
273
 
372
274
  interface Country {
373
- id: string;
275
+ id: number;
374
276
  name: string;
375
277
  iso2: string;
376
278
  }
377
279
 
378
280
  interface State {
379
- id: string;
281
+ id: number;
380
282
  name: string;
381
283
  country_id: number;
382
284
  country?: Country;
383
285
  }
384
286
 
385
287
  interface City {
386
- id: string;
288
+ id: number;
387
289
  name: string;
388
290
  search_text: string | null;
389
291
  state_id: number;
@@ -422,27 +324,21 @@ interface Venue extends Auditable {
422
324
  images: VenueImage[];
423
325
  }
424
326
 
425
- interface HallFloor {
327
+ interface HallFloor extends Auditable {
426
328
  id: number;
427
329
  name: string;
428
330
  level: number;
429
331
  max_capacity: number;
430
332
  description: string;
431
333
  hall_id: number;
432
- created_at: Date;
433
- updated_at: Date;
434
- deleted_at: Date | null;
435
334
  }
436
335
 
437
- interface Hall {
336
+ interface Hall extends Auditable {
438
337
  id: number;
439
338
  name: string;
440
339
  venue_id: number;
441
340
  venue?: Venue;
442
341
  hall_floors?: HallFloor[];
443
- created_at: Date;
444
- updated_at: Date;
445
- deleted_at: Date | null;
446
342
  }
447
343
 
448
344
  interface CountryResponse {
@@ -496,7 +392,7 @@ interface FetchCitiesParams {
496
392
  search?: string;
497
393
  }
498
394
 
499
- interface Customer {
395
+ interface Customer extends Auditable {
500
396
  username: string;
501
397
  email: string;
502
398
  mobile: string;
@@ -527,9 +423,6 @@ interface Customer {
527
423
  membership_expires_at: Date | null;
528
424
  id: number;
529
425
  is_active: boolean;
530
- created_at: Date;
531
- updated_at: Date;
532
- deleted_at: Date | null;
533
426
  }
534
427
 
535
428
  interface CustomerResponse {
@@ -547,76 +440,368 @@ interface CustomersResponse {
547
440
  message: string;
548
441
  }
549
442
 
550
- type ShowType = 'play' | 'musical' | 'concert' | 'dance' | 'opera' | 'comedy' | 'other';
443
+ interface BreadcrumbStep {
444
+ label: string;
445
+ href?: string;
446
+ icon?: string;
447
+ }
551
448
 
552
- interface ShowImage {
553
- id: number;
554
- path: string;
555
- full_url: string;
556
- original_name: string;
557
- extension: string;
558
- size: number;
559
- mime_type: string;
560
- width: number;
561
- height: number;
562
- show_id: number;
563
- created_at: Date;
449
+ interface CommonFetchAllParams {
450
+ id?: number;
451
+ page?: number;
452
+ limit?: number;
453
+ search?: string;
454
+ sort_by?: string;
455
+ sort_order?: 'ASC' | 'DESC';
456
+ is_published?: boolean;
457
+ ids_in?: number[];
458
+ ids_not_in?: number[];
564
459
  }
565
460
 
566
- interface Show extends Auditable {
567
- id: number;
568
- title: string;
461
+ declare enum OrderItemType {
462
+ TICKET = "TICKET",
463
+ PRODUCT = "PRODUCT",
464
+ GIFT_BOND = "GIFT_BOND",
465
+ CORPORATE_BOND = "CORPORATE_BOND"
466
+ }
467
+
468
+ declare enum OrderStatus {
469
+ ON_HOLD = "on-hold",
470
+ PENDING_PAYMENT = "pending-payment",
471
+ PROCESSING = "processing",
472
+ COMPLETED = "completed",
473
+ FAILED = "failed",
474
+ CANCELLED = "cancelled",
475
+ REFUNDED = "refunded"
476
+ }
477
+
478
+ declare enum CreatorType {
479
+ ADMIN = "admin",
480
+ CUSTOMER = "customer"
481
+ }
482
+
483
+ declare enum PaymentMethod {
484
+ PAYROLL = "payroll",
485
+ CASH = "cash",
486
+ DATAFONO = "datafono",
487
+ INTERNAL_EXCHANGE = "internal_exchange",
488
+ CLIENT_EXCHANGE = "client_exchange",
489
+ MERCADO_PAGO = "mercado_pago"
490
+ }
491
+
492
+ declare enum RoomMapElementType {
493
+ SEAT_BLOCK = "seat_block",
494
+ TABLE = "table",
495
+ ZONE = "zone",
496
+ EXIT = "exit",
497
+ STAGE = "stage",
498
+ PRODUCTION_AREA = "production_area",
499
+ UNAVAILABLE_SPACE = "unavailable_space",
500
+ STAIR = "stair",
501
+ HALLWAY = "hallway"
502
+ }
503
+
504
+ interface RoomMapPosition {
505
+ x: number;
506
+ y: number;
507
+ }
508
+
509
+ interface RoomMapSize {
510
+ width: number;
511
+ height: number;
512
+ }
513
+
514
+ interface RoomMapBaseElement {
515
+ id: string;
516
+ type: RoomMapElementType;
517
+ position: RoomMapPosition;
518
+ size: RoomMapSize;
519
+ rotation: number;
520
+ name?: string;
521
+ isLocked: boolean;
522
+ isVisible: boolean;
523
+ zIndex: number;
524
+ }
525
+
526
+ interface RoomMapExitElement extends RoomMapBaseElement {
527
+ type: RoomMapElementType.EXIT;
528
+ exitName?: string;
529
+ exitType: 'emergency' | 'regular';
530
+ width: number;
531
+ }
532
+
533
+ interface RoomMapProductionAreaElement extends RoomMapBaseElement {
534
+ type: RoomMapElementType.PRODUCTION_AREA;
535
+ areaName?: string;
536
+ areaType: 'lighting' | 'sound' | 'backstage' | 'orchestra' | 'custom';
537
+ }
538
+
539
+ interface RoomMapSeatElement extends RoomMapBaseElement {
540
+ type: RoomMapElementType.SEAT_BLOCK;
541
+ seatNumber?: string;
542
+ isAvailable: boolean;
543
+ priceCategory?: string;
544
+ }
545
+
546
+ declare enum RoomMapElementOrientation {
547
+ TOP = "top",
548
+ RIGHT = "right",
549
+ BOTTOM = "bottom",
550
+ LEFT = "left",
551
+ CENTER = "center"
552
+ }
553
+
554
+ interface RoomMapStageElement extends RoomMapBaseElement {
555
+ type: RoomMapElementType.STAGE;
556
+ stageName?: string;
557
+ orientation: RoomMapElementOrientation;
558
+ isMainStage: boolean;
559
+ }
560
+
561
+ interface RoomMapTableElement extends RoomMapBaseElement {
562
+ type: RoomMapElementType.TABLE;
563
+ tableNumber?: string;
564
+ capacity: number;
565
+ shape: 'round' | 'rectangular' | 'square';
566
+ }
567
+
568
+ interface RoomMapUnavailableElement extends RoomMapBaseElement {
569
+ type: RoomMapElementType.UNAVAILABLE_SPACE;
570
+ reason?: string;
571
+ }
572
+
573
+ interface RoomMapZoneElement extends RoomMapBaseElement {
574
+ type: RoomMapElementType.ZONE;
575
+ zoneName: string;
576
+ zoneType: 'vip' | 'general' | 'premium' | 'balcony' | 'custom';
577
+ color: string;
578
+ capacity?: number;
579
+ }
580
+
581
+ type RoomMapCanvasElement = RoomMapSeatElement | RoomMapTableElement | RoomMapZoneElement | RoomMapExitElement | RoomMapStageElement | RoomMapProductionAreaElement | RoomMapUnavailableElement;
582
+
583
+ type RoomMapSeatDisplayState = 'normal' | 'accessible' | 'non_existent';
584
+
585
+ declare enum ShowType {
586
+ PLAY = "PLAY",
587
+ CONCERT = "CONCERT",
588
+ STAND_UP_COMEDY = "STAND_UP_COMEDY",
589
+ OPERA = "OPERA",
590
+ MUSICAL = "MUSICAL",
591
+ DANCE = "DANCE",
592
+ SPORT = "SPORT",
593
+ OTHER = "OTHER",
594
+ DEFAULT = "DEFAULT"
595
+ }
596
+
597
+ type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
598
+
599
+ type FeedbackModalType = 'loading' | 'success' | 'info' | 'warning' | 'error';
600
+
601
+ type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
602
+
603
+ type BadgeColor = 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
604
+
605
+ type BreadcrumbTheme = 'light' | 'dark';
606
+
607
+ type TextFontSize = 'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl';
608
+
609
+ interface FeedbackModalElement {
610
+ id: string;
611
+ type: FeedbackModalType;
612
+ title: string;
613
+ isOpen: WritableSignal<boolean>;
614
+ message?: string;
615
+ showHeader?: boolean;
616
+ showCloseButton?: boolean;
617
+ showTitle?: boolean;
618
+ closeModal?: void;
619
+ }
620
+
621
+ declare enum FileType {
622
+ IMAGE = "image",
623
+ PDF = "pdf",
624
+ EXCEL = "excel",
625
+ WORD = "word",
626
+ TEXT = "text",
627
+ DEFAULT = "default"
628
+ }
629
+
630
+ declare enum CouponApplicability {
631
+ GENERAL = "GENERAL",
632
+ CUSTOMER_EMAIL = "CUSTOMER_EMAIL",
633
+ MEMBERSHIP_TYPE = "MEMBERSHIP_TYPE",
634
+ SHOWS = "SHOWS",
635
+ PERFORMANCES = "PERFORMANCES"
636
+ }
637
+
638
+ declare enum CouponDiscountType {
639
+ PERCENTAGE = "PERCENTAGE",
640
+ FIXED = "FIXED"
641
+ }
642
+
643
+ declare enum CouponStatus {
644
+ ACTIVE = "ACTIVE",
645
+ INACTIVE = "INACTIVE",
646
+ EXPIRED = "EXPIRED",
647
+ CONSUMED = "CONSUMED"
648
+ }
649
+
650
+ declare enum CorporateBondStatus {
651
+ ACTIVE = "ACTIVE",
652
+ INACTIVE = "INACTIVE",
653
+ PENDING = "PENDING",
654
+ PAYMENT_FAILED = "PAYMENT_FAILED",
655
+ EXPIRED = "EXPIRED",
656
+ CONSUMED = "CONSUMED"
657
+ }
658
+
659
+ declare enum PerformanceStatus {
660
+ SCHEDULED = "scheduled",
661
+ OPEN = "open",
662
+ CLOSED = "closed",
663
+ CANCELLED = "cancelled",
664
+ COMPLETED = "completed",
665
+ POSTPONED = "postponed"
666
+ }
667
+
668
+ declare enum PerformanceTicketStatus {
669
+ AVAILABLE = "available",
670
+ RESERVED = "reserved",
671
+ SOLD = "sold",
672
+ BLOCKED = "blocked"
673
+ }
674
+
675
+ declare enum GiftBondStatus {
676
+ ACTIVE = "ACTIVE",
677
+ INACTIVE = "INACTIVE"
678
+ }
679
+
680
+ declare enum GiftBondPurchaseStatus {
681
+ AVAILABLE = "AVAILABLE",
682
+ REDEEMED = "REDEEMED",
683
+ EXPIRED = "EXPIRED",
684
+ CANCELLED = "CANCELLED"
685
+ }
686
+
687
+ declare enum TransactionStatus {
688
+ PENDING = "PENDING",
689
+ APPROVED = "APPROVED",
690
+ REJECTED = "REJECTED",
691
+ ERROR = "ERROR"
692
+ }
693
+
694
+ declare enum VipCardStatus {
695
+ ACTIVE = "ACTIVE",
696
+ INACTIVE = "INACTIVE",
697
+ EXPIRED = "EXPIRED"
698
+ }
699
+
700
+ declare enum VipTransactionType {
701
+ INITIAL_RECHARGE = "INITIAL_RECHARGE",
702
+ RECHARGE = "RECHARGE",
703
+ PURCHASE_PAYMENT = "PURCHASE_PAYMENT"
704
+ }
705
+
706
+ declare enum MembershipStatus {
707
+ ACTIVE = "ACTIVE",
708
+ INACTIVE = "INACTIVE"
709
+ }
710
+
711
+ interface FetchProductCategoriesParams extends CommonFetchAllParams {
712
+ name?: string;
713
+ slug?: string;
714
+ sort_by?: 'category.id' | 'category.name' | 'category.slug' | 'category.created_at';
715
+ }
716
+
717
+ interface ProductCategory extends Auditable {
718
+ id: number;
719
+ name: string;
569
720
  slug: string;
570
- description: string;
571
- duration_minutes: number | null;
572
- type_of_costs: string | null;
573
- service_fee: number | null;
574
- show_type: ShowType | null;
575
- pulep: string | null;
576
- minimum_age: number | null;
577
- show_category_id: number | null;
578
- default_room_map_id: number | null;
579
- published_at?: Date;
580
- is_published: boolean;
581
- images: ShowImage[];
582
- terms_and_conditions: string;
583
- performances_quantity?: number;
584
721
  }
585
722
 
586
- interface ShowResponse {
723
+ interface ProductCategoriesResponse {
587
724
  statusCode: number;
588
- data: Show;
725
+ data: {
726
+ categories: ProductCategory[];
727
+ total: number;
728
+ };
589
729
  message: string;
590
730
  }
591
731
 
592
- interface ShowsResponseInterface {
732
+ interface ProductCategoryResponse {
733
+ statusCode: number;
734
+ data: ProductCategory;
735
+ message: string;
736
+ }
737
+
738
+ interface FetchProductTagsParams extends CommonFetchAllParams {
739
+ name?: string;
740
+ slug?: string;
741
+ sort_by?: 'tag.id' | 'tag.name' | 'tag.slug' | 'tag.created_at';
742
+ }
743
+
744
+ interface ProductTag extends Auditable {
745
+ id: number;
746
+ name: string;
747
+ slug: string;
748
+ }
749
+
750
+ interface ProductTagResponse {
751
+ statusCode: number;
752
+ data: ProductTag;
753
+ message: string;
754
+ }
755
+
756
+ interface ProductTagsResponse {
593
757
  statusCode: number;
594
758
  data: {
595
- shows: Show[];
759
+ tags: ProductTag[];
596
760
  total: number;
597
761
  };
598
762
  message: string;
599
763
  }
600
764
 
601
- interface FetchShowsParams {
602
- page?: number;
603
- limit?: number;
604
- search?: string;
605
- date?: string;
765
+ interface FetchProductTypesParams extends CommonFetchAllParams {
766
+ name?: string;
767
+ slug?: string;
768
+ sort_by?: 'type.id' | 'type.name' | 'type.slug' | 'type.created_at';
606
769
  }
607
770
 
608
- interface PriceZone {
771
+ interface ProductType extends Auditable {
609
772
  id: number;
610
773
  name: string;
611
- color: string;
612
- normal_price: number | null;
613
- is_active: boolean;
614
- elements: any[];
615
- room_map_id: number | null;
774
+ slug: string;
775
+ }
776
+
777
+ interface ProductTypeResponse {
778
+ statusCode: number;
779
+ data: ProductType;
780
+ message: string;
781
+ }
782
+
783
+ interface ProductTypesResponse {
784
+ statusCode: number;
785
+ data: {
786
+ types: ProductType[];
787
+ total: number;
788
+ };
789
+ message: string;
790
+ }
791
+
792
+ interface ProductImage {
793
+ id: number;
794
+ path: string;
795
+ full_url: string;
796
+ original_name: string;
797
+ extension: string;
798
+ size: number;
799
+ mime_type: string;
800
+ width: number;
801
+ height: number;
802
+ product_id: number;
803
+ product: Product;
616
804
  created_at: Date;
617
- updated_at: Date;
618
- created_by: number;
619
- updated_by: number;
620
805
  }
621
806
 
622
807
  interface Product extends Auditable {
@@ -629,12 +814,35 @@ interface Product extends Auditable {
629
814
  slug: string;
630
815
  sku?: string;
631
816
  is_limited_edition: boolean;
632
- is_active: boolean;
633
817
  deleted_at: Date | null;
634
- categories?: any[];
635
- tags?: any[];
636
- types?: any[];
637
- images?: any[];
818
+ categories?: ProductCategory[];
819
+ tags?: ProductTag[];
820
+ types?: ProductType[];
821
+ images?: ProductImage[];
822
+ }
823
+
824
+ interface ShowImage {
825
+ id: number;
826
+ path: string;
827
+ full_url: string;
828
+ original_name: string;
829
+ extension: string;
830
+ size: number;
831
+ mime_type: string;
832
+ width: number;
833
+ height: number;
834
+ show_id: number;
835
+ created_at: Date;
836
+ }
837
+
838
+ interface PriceZone extends Auditable {
839
+ id: number;
840
+ name: string;
841
+ color: string;
842
+ normal_price: number | null;
843
+ is_active: boolean;
844
+ elements: any[];
845
+ room_map_id: number | null;
638
846
  }
639
847
 
640
848
  interface NumerationConfig {
@@ -672,7 +880,7 @@ interface RoomMapElementTemplate {
672
880
  price_zone?: PriceZone;
673
881
  }
674
882
 
675
- interface RoomMap {
883
+ interface RoomMap extends Auditable {
676
884
  id: number;
677
885
  name: string;
678
886
  canvas_settings: {
@@ -688,8 +896,6 @@ interface RoomMap {
688
896
  related_product_ids: number[];
689
897
  products?: Product[];
690
898
  venue_name?: string;
691
- created_at: Date;
692
- updated_at: Date;
693
899
  }
694
900
 
695
901
  interface RoomMapCanvasConfiguration {
@@ -731,7 +937,7 @@ interface ElementPropertiesTab {
731
937
  elements_access: string[];
732
938
  }
733
939
 
734
- interface Performance {
940
+ interface Performance extends Auditable {
735
941
  id: number;
736
942
  start_time: Date | string;
737
943
  end_time: Date | string;
@@ -741,26 +947,95 @@ interface Performance {
741
947
  show?: Show;
742
948
  room_map: RoomMap;
743
949
  room_map_id: number;
744
- created_at: Date;
745
- updated_at: Date;
950
+ performance_tickets?: PerformanceTicket[];
951
+ can_delete?: boolean;
952
+ can_cancel?: boolean;
953
+ can_modify?: boolean;
954
+ can_reserve?: boolean;
746
955
  }
747
956
 
748
- interface PerformanceResponse {
957
+ interface FetchShowCategoriesParams extends CommonFetchAllParams {
958
+ name?: string;
959
+ slug?: string;
960
+ sort_by?: 'category.id' | 'category.name' | 'category.slug' | 'category.created_at';
961
+ }
962
+
963
+ interface ShowCategory extends Auditable {
964
+ id: number;
965
+ name: string;
966
+ slug: string;
967
+ }
968
+
969
+ interface ShowCategoriesResponse {
749
970
  statusCode: number;
750
- data: Performance;
971
+ data: {
972
+ categories: ShowCategory[];
973
+ total: number;
974
+ };
751
975
  message: string;
752
976
  }
753
977
 
754
- interface PerformancesResponseInterface {
978
+ interface ShowCategoryResponse {
979
+ statusCode: number;
980
+ data: ShowCategory;
981
+ message: string;
982
+ }
983
+
984
+ interface FetchShowGendersParams extends CommonFetchAllParams {
985
+ name?: string;
986
+ slug?: string;
987
+ sort_by?: 'gender.id' | 'gender.name' | 'gender.slug' | 'gender.created_at';
988
+ }
989
+
990
+ interface ShowGender extends Auditable {
991
+ id: number;
992
+ name: string;
993
+ slug: string;
994
+ }
995
+
996
+ interface ShowGenderResponse {
997
+ statusCode: number;
998
+ data: ShowGender;
999
+ message: string;
1000
+ }
1001
+
1002
+ interface ShowGendersResponse {
755
1003
  statusCode: number;
756
1004
  data: {
757
- performances: Performance[];
1005
+ genders: ShowGender[];
758
1006
  total: number;
759
1007
  };
760
1008
  message: string;
761
1009
  }
762
1010
 
763
- interface OrderItem {
1011
+ interface Show extends Auditable {
1012
+ id: number;
1013
+ title: string;
1014
+ slug: string;
1015
+ description: string;
1016
+ duration_minutes: number | null;
1017
+ type_of_costs: string | null;
1018
+ service_fee: number | null;
1019
+ show_type: ShowType | null;
1020
+ pulep: string | null;
1021
+ minimum_age: number | null;
1022
+ show_gender?: ShowGender | null;
1023
+ show_gender_id: number | null;
1024
+ show_category?: ShowCategory | null;
1025
+ show_category_id: number | null;
1026
+ default_room_map?: RoomMap | null;
1027
+ default_room_map_id: number | null;
1028
+ is_published: boolean;
1029
+ images: ShowImage[];
1030
+ terms_and_conditions: string | null;
1031
+ performances_quantity?: number;
1032
+ performances?: Performance[];
1033
+ next_performance?: Performance;
1034
+ days_of_week?: number[];
1035
+ unique_start_times?: string[];
1036
+ }
1037
+
1038
+ interface OrderItem extends Auditable {
764
1039
  id: number;
765
1040
  order: Order;
766
1041
  item_type: OrderItemType;
@@ -773,26 +1048,21 @@ interface OrderItem {
773
1048
  ticket_id?: number;
774
1049
  ticket_uuid?: string;
775
1050
  item: Show | Product;
776
- created_at: Date;
777
- updated_at: Date;
778
- created_by: number;
779
- updated_by: number;
780
1051
  }
781
1052
 
782
1053
  interface Coupon extends Auditable {
783
1054
  id: number;
784
1055
  code: string;
1056
+ billing_code: string;
785
1057
  description?: string;
786
1058
  discount_type: CouponDiscountType;
787
- discount_type_string?: string;
788
1059
  discount_value: number;
789
- discount_value_string?: string;
790
1060
  start_date: Date | null;
791
1061
  end_date: Date | null;
792
1062
  max_uses: number | null;
793
- max_uses_per_user?: number | null;
1063
+ max_uses_per_customer?: number | null;
794
1064
  uses_count: number;
795
- is_active: boolean;
1065
+ status: CouponStatus;
796
1066
  applicability_type: CouponApplicability;
797
1067
  applicable_customer_emails: string[] | null;
798
1068
  applicable_membership_types: string[] | null;
@@ -800,9 +1070,11 @@ interface Coupon extends Auditable {
800
1070
  applicable_performance_ids?: number[];
801
1071
  applicable_price_zone_ids?: number[];
802
1072
  applies_to_service_fee?: boolean;
1073
+ orders?: Order[];
1074
+ customers?: Customer[];
803
1075
  }
804
1076
 
805
- interface CorporateBond {
1077
+ interface CorporateBond extends Auditable {
806
1078
  id: number;
807
1079
  name: string;
808
1080
  description?: string;
@@ -812,11 +1084,13 @@ interface CorporateBond {
812
1084
  quantity: number;
813
1085
  status: CorporateBondStatus;
814
1086
  value: number;
1087
+ purchase_value: number;
1088
+ buyer_customer_id: number | null;
1089
+ buyer: Customer | null;
1090
+ order_id: number | null;
1091
+ order: Order | null;
1092
+ payment_method?: PaymentMethod;
815
1093
  codes: CorporateBondCode[];
816
- created_at: Date;
817
- updated_at: Date;
818
- created_by: number;
819
- updated_by: number;
820
1094
  }
821
1095
 
822
1096
  interface CorporateBondCode {
@@ -829,55 +1103,185 @@ interface CorporateBondCode {
829
1103
  created_at: Date;
830
1104
  }
831
1105
 
832
- interface CorporateBondResponse {
1106
+ interface CorporateBondResponse {
1107
+ statusCode: number;
1108
+ data: CorporateBond;
1109
+ message: string;
1110
+ }
1111
+
1112
+ interface ValidateCorporateBondResponse {
1113
+ data: {
1114
+ valid: boolean;
1115
+ message: string;
1116
+ code: string;
1117
+ bond?: CorporateBond;
1118
+ };
1119
+ message: string;
1120
+ statusCode: number;
1121
+ }
1122
+
1123
+ interface GiftBondImage {
1124
+ id: number;
1125
+ path: string;
1126
+ full_url: string;
1127
+ original_name: string;
1128
+ extension: string;
1129
+ size: number;
1130
+ mime_type: string;
1131
+ width: number;
1132
+ height: number;
1133
+ is_featured: boolean;
1134
+ gift_bond_id: number;
1135
+ gift_bond: GiftBond;
1136
+ created_at: Date;
1137
+ }
1138
+
1139
+ interface GiftBond extends Auditable {
1140
+ id: number;
1141
+ name: string;
1142
+ description?: string;
1143
+ slug?: string;
1144
+ status: GiftBondStatus;
1145
+ value: number;
1146
+ page_content?: string;
1147
+ images?: GiftBondImage[];
1148
+ }
1149
+
1150
+ interface GiftBondResponse {
1151
+ statusCode: number;
1152
+ data: GiftBond;
1153
+ message: string;
1154
+ }
1155
+
1156
+ interface GiftBondsResponse {
833
1157
  statusCode: number;
834
- data: CorporateBond;
1158
+ data: {
1159
+ gift_bonds: GiftBond[];
1160
+ total: number;
1161
+ };
835
1162
  message: string;
836
1163
  }
837
1164
 
838
- interface ValidateCorporateBondResponse {
1165
+ interface GiftBondPurchase extends Auditable {
1166
+ id: number;
1167
+ code: string;
1168
+ original_value: number;
1169
+ used_value: number | null;
1170
+ lost_value: number | null;
1171
+ beneficiary_email: string;
1172
+ beneficiary: Customer | null;
1173
+ personalized_message: string | null;
1174
+ status: GiftBondPurchaseStatus;
1175
+ purchased_at: string;
1176
+ expires_at: string;
1177
+ redeemed_at: string | null;
1178
+ gift_bond?: GiftBond;
1179
+ gift_bond_id: number;
1180
+ buyer_customer_id: number;
1181
+ buyer: Customer;
1182
+ order: Order | null;
1183
+ order_id: number;
1184
+ redemption_order_id: number | null;
1185
+ redemption_order: Order | null;
1186
+ }
1187
+
1188
+ interface ValidateGiftBondResponse {
839
1189
  data: {
840
1190
  valid: boolean;
841
1191
  message: string;
842
1192
  code: string;
843
- bond?: CorporateBond;
1193
+ bond?: GiftBondPurchase;
844
1194
  };
1195
+ statusCode: number;
845
1196
  message: string;
1197
+ }
1198
+
1199
+ interface GiftBondPurchaseResponse {
1200
+ statusCode: number;
1201
+ data: GiftBondPurchase;
1202
+ message: string;
1203
+ }
1204
+
1205
+ interface GiftBondPurchasesResponse {
846
1206
  statusCode: number;
1207
+ data: {
1208
+ items: GiftBondPurchase[];
1209
+ total: number;
1210
+ };
1211
+ message: string;
1212
+ }
1213
+
1214
+ interface Transaction extends Auditable {
1215
+ id: number;
1216
+ status: TransactionStatus;
1217
+ amount: number;
1218
+ currency: string;
1219
+ payment_gateway: string;
1220
+ gateway_transaction_id: string;
1221
+ gateway_response: any;
1222
+ order: Order;
1223
+ }
1224
+
1225
+ interface OrderBillingInfo {
1226
+ first_name: string;
1227
+ last_name: string;
1228
+ email: string;
1229
+ mobile: string;
1230
+ document_type: string;
1231
+ document_number: string;
1232
+ address: string;
1233
+ city_id: number;
1234
+ postal_code?: string;
1235
+ address_notes?: string;
1236
+ payment_method: PaymentMethod;
1237
+ terms_accepted: boolean;
1238
+ data_processing_accepted: boolean;
1239
+ comments?: string;
1240
+ products?: Array<{
1241
+ id: number;
1242
+ quantity: number;
1243
+ }>;
847
1244
  }
848
1245
 
849
- interface Order {
1246
+ interface Order extends Auditable {
850
1247
  id: number;
851
1248
  uuid: string;
852
- customer: Customer;
1249
+ customer_id: number | null;
1250
+ customer: Customer | null;
853
1251
  customer_name?: string;
854
1252
  customer_email?: string;
855
1253
  order_items: OrderItem[];
856
1254
  order_items_quantity?: number;
857
- discount_amount: number;
1255
+ transactions: Transaction[];
1256
+ sub_total: number;
1257
+ discount_amount: number | null;
858
1258
  total: number;
1259
+ sub_total_discounted: number | null;
859
1260
  total_discounted: number;
860
- sub_total: number;
861
- sub_total_discounted: number;
862
- service_fee: number;
863
- service_fee_discounted: number;
864
- coupon: Coupon;
865
- coupon_snapshot: Record<string, any>;
866
- corporate_bond_code: CorporateBondCode;
867
- corporate_bond_code_snapshot: Record<string, any>;
1261
+ service_fee: number | null;
1262
+ service_fee_discounted: number | null;
1263
+ coupon: Coupon | null;
1264
+ coupon_snapshot: Record<string, any> | null;
868
1265
  status: OrderStatus;
869
- show_snapshot: Record<string, any>;
870
- performance_snapshot: Record<string, any>;
871
- created_at: Date;
872
- updated_at: Date;
873
- payment_method: string;
1266
+ show_snapshot: Record<string, any> | null;
1267
+ performance_snapshot: Record<string, any> | null;
1268
+ payment_method: PaymentMethod | null;
874
1269
  terms_accepted: boolean;
875
1270
  data_processing_accepted: boolean;
876
- billing_info: Partial<Customer>;
877
- comments: string;
878
- address_notes: string;
1271
+ billing_info: OrderBillingInfo | null;
1272
+ corporate_bond_code_snapshot: Record<string, any> | null;
1273
+ gift_bond_snapshot: Record<string, any> | null;
1274
+ corporate_bond_code: CorporateBondCode | null;
1275
+ corporate_bond_code_id: number | null;
1276
+ gift_bond: GiftBond | null;
1277
+ gift_bond_id: number | null;
1278
+ comments: string | null;
1279
+ address_notes: string | null;
1280
+ mercado_pago_preference_id: string;
879
1281
  created_by: number;
1282
+ created_by_type: CreatorType;
880
1283
  updated_by: number;
1284
+ updated_by_type: CreatorType;
881
1285
  }
882
1286
 
883
1287
  interface OrderResponse {
@@ -895,7 +1299,15 @@ interface OrdersResponse {
895
1299
  message: string;
896
1300
  }
897
1301
 
898
- interface PerformanceTicket {
1302
+ interface MercadoPagoPreference {
1303
+ data: {
1304
+ id: string;
1305
+ init_point: string;
1306
+ sandbox_init_point: string;
1307
+ };
1308
+ }
1309
+
1310
+ interface PerformanceTicket extends Auditable {
899
1311
  id: number;
900
1312
  uuid: string;
901
1313
  is_accessible: boolean;
@@ -915,8 +1327,131 @@ interface PerformanceTicket {
915
1327
  checked_in_at: Date | null;
916
1328
  order_items: OrderItem[];
917
1329
  element_qty?: number;
918
- created_at: Date;
919
- updated_at: Date;
1330
+ }
1331
+
1332
+ interface TicketMapSeatPosition {
1333
+ rowIndex: number;
1334
+ colIndex: number;
1335
+ seatLabel: string;
1336
+ }
1337
+
1338
+ interface TicketMapTableChairPosition {
1339
+ index: number;
1340
+ angle: number;
1341
+ x: number;
1342
+ y: number;
1343
+ }
1344
+
1345
+ interface ElementRenderData {
1346
+ elementId: number;
1347
+ hallFloorId: number | null;
1348
+ type: RoomMapElementType;
1349
+ shapeConfig: Record<string, any>;
1350
+ tickets: PerformanceTicket[];
1351
+ ticketByNumeration: Map<string, PerformanceTicket>;
1352
+ elementName: string;
1353
+ seatPositions?: TicketMapSeatPosition[][];
1354
+ chairPositions?: TicketMapTableChairPosition[];
1355
+ zoneCapacity?: number;
1356
+ }
1357
+
1358
+ interface TicketMapTooltipData {
1359
+ x: number;
1360
+ y: number;
1361
+ elementName: string;
1362
+ seatLabel: string | null;
1363
+ price: number;
1364
+ status: PerformanceTicketStatus;
1365
+ statusLabel: string;
1366
+ statusColor: string;
1367
+ isSelected: boolean;
1368
+ ticketId: number;
1369
+ }
1370
+
1371
+ interface TicketMapZoneQuantityState {
1372
+ elementId: number;
1373
+ selectedCount: number;
1374
+ maxCapacity: number;
1375
+ }
1376
+
1377
+ interface ReservePerformanceDto {
1378
+ ticket_ids: number[];
1379
+ products?: {
1380
+ id: number;
1381
+ quantity: number;
1382
+ }[];
1383
+ coupon_code?: string;
1384
+ gift_bond_code?: string;
1385
+ corporate_bond_code?: string;
1386
+ payment_method?: string;
1387
+ billing?: {
1388
+ first_name: string;
1389
+ last_name: string;
1390
+ email: string;
1391
+ mobile: string;
1392
+ document_type: string;
1393
+ document_number: string;
1394
+ address: string;
1395
+ city_id: number;
1396
+ postal_code?: string;
1397
+ address_notes?: string;
1398
+ terms_accepted: boolean;
1399
+ data_processing_accepted: boolean;
1400
+ comments?: string;
1401
+ };
1402
+ }
1403
+
1404
+ interface TicketMapZoomConfig {
1405
+ minZoom: number;
1406
+ maxZoom: number;
1407
+ zoomStep: number;
1408
+ scaleBy: number;
1409
+ }
1410
+
1411
+ interface HallFloorOption {
1412
+ id: number | null;
1413
+ name: string;
1414
+ }
1415
+
1416
+ declare enum SelectedDiscountCardType {
1417
+ COUPON = "COUPON",
1418
+ CORPORATE_BOND = "CORPORATE_BOND",
1419
+ GIFT_BOND = "GIFT_BOND"
1420
+ }
1421
+
1422
+ interface SelectedDiscountCard {
1423
+ name: string;
1424
+ type: SelectedDiscountCardType;
1425
+ value: number;
1426
+ }
1427
+
1428
+ interface FetchShowsParams extends CommonFetchAllParams {
1429
+ date?: string;
1430
+ sort_by?: 'show.id' | 'show.created_at' | 'show.title' | 'show.slug' | 'show.type_of_costs' | 'show.pulep' | 'show_category.name' | 'show_gender.name';
1431
+ }
1432
+
1433
+ interface ShowResponse {
1434
+ statusCode: number;
1435
+ data: Show;
1436
+ message: string;
1437
+ }
1438
+
1439
+ interface ShowsResponseInterface {
1440
+ statusCode: number;
1441
+ data: {
1442
+ shows: Show[];
1443
+ total: number;
1444
+ };
1445
+ message: string;
1446
+ }
1447
+
1448
+ interface FindAllPerformancesParams {
1449
+ roomMapId?: number;
1450
+ showId?: number;
1451
+ hallId?: number;
1452
+ page?: number;
1453
+ search?: string;
1454
+ limit?: number;
920
1455
  }
921
1456
 
922
1457
  interface PerformanceBookingDataResponse {
@@ -930,6 +1465,12 @@ interface PerformanceBookingDataResponse {
930
1465
  message: string;
931
1466
  }
932
1467
 
1468
+ interface PerformanceResponse {
1469
+ statusCode: number;
1470
+ data: Performance;
1471
+ message: string;
1472
+ }
1473
+
933
1474
  interface PerformanceAvailableDay {
934
1475
  date: string;
935
1476
  count: number;
@@ -942,6 +1483,15 @@ interface PerformancesAvailableDaysResponse {
942
1483
  message: string;
943
1484
  }
944
1485
 
1486
+ interface PerformancesResponseInterface {
1487
+ statusCode: number;
1488
+ data: {
1489
+ performances: Performance[];
1490
+ total: number;
1491
+ };
1492
+ message: string;
1493
+ }
1494
+
945
1495
  interface DailyPerformanceHall {
946
1496
  name: string | null;
947
1497
  }
@@ -994,12 +1544,27 @@ interface FetchDailyPerformancesParams {
994
1544
  limit?: number;
995
1545
  }
996
1546
 
1547
+ interface FetchProductsParams extends CommonFetchAllParams {
1548
+ name?: string;
1549
+ category_id?: number;
1550
+ tag_id?: number;
1551
+ type_id?: number;
1552
+ sort_by?: 'product.id' | 'product.name' | 'product.price' | 'product.stock_quantity' | 'product.slug' | 'product.sku' | 'product.created_at' | 'category.name' | 'tag.name' | 'type.name';
1553
+ }
1554
+
997
1555
  interface ProductResponse {
998
1556
  statusCode: number;
999
1557
  data: Product;
1000
1558
  message: string;
1001
1559
  }
1002
1560
 
1561
+ interface ProductTaxonomy extends Auditable {
1562
+ id: number;
1563
+ name: string;
1564
+ slug: string;
1565
+ selected?: boolean;
1566
+ }
1567
+
1003
1568
  interface ProductsResponseInterface {
1004
1569
  statusCode: number;
1005
1570
  data: {
@@ -1040,70 +1605,273 @@ interface FindAllPriceZoneParams {
1040
1605
  limit?: number;
1041
1606
  }
1042
1607
 
1043
- interface GiftBond {
1608
+ interface CouponResponse {
1609
+ statusCode: number;
1610
+ data: Coupon;
1611
+ message: string;
1612
+ }
1613
+
1614
+ interface ValidateCouponResponse {
1615
+ data: {
1616
+ coupon: Coupon;
1617
+ message: string;
1618
+ };
1619
+ }
1620
+
1621
+ interface RecentOrder {
1044
1622
  id: number;
1623
+ customer_name: string;
1624
+ event: string;
1625
+ total: number;
1626
+ status: string;
1045
1627
  uuid: string;
1628
+ }
1629
+
1630
+ interface RecentRoomMap {
1631
+ id: number;
1046
1632
  name: string;
1047
- description?: string;
1048
- status: GiftBondStatus;
1049
- value: number;
1050
- customer: Customer;
1051
- customer_id: number;
1633
+ capacity: number;
1052
1634
  created_at: Date;
1053
1635
  updated_at: Date;
1054
- created_by: number;
1055
- updated_by: number;
1056
1636
  }
1057
1637
 
1058
- interface GiftBondResponse {
1638
+ interface QrTokenData {
1639
+ token: string;
1640
+ expires_at: string;
1641
+ refresh_in: number;
1642
+ }
1643
+
1644
+ interface QrTokenResponse {
1059
1645
  statusCode: number;
1060
- data: GiftBond;
1646
+ data: QrTokenData;
1061
1647
  message: string;
1062
1648
  }
1063
1649
 
1064
- interface GiftBondsResponse {
1065
- statusCode: number;
1650
+ interface VipCategorySnapshot {
1651
+ membership_id: number;
1652
+ name: string;
1653
+ discount_percentage: number;
1654
+ service_fee_exempt: boolean;
1655
+ applicable_show_ids: number[] | null;
1656
+ excluded_show_ids: number[] | null;
1657
+ duration_days: number;
1658
+ }
1659
+
1660
+ interface VipCard extends Auditable {
1661
+ id: number;
1662
+ uuid: string;
1663
+ customer: Customer;
1664
+ customer_id: number;
1665
+ membership: {
1666
+ id: number;
1667
+ name: string;
1668
+ } | null;
1669
+ membership_id: number;
1670
+ category_snapshot: VipCategorySnapshot;
1671
+ balance: number;
1672
+ status: VipCardStatus;
1673
+ activated_at: string | null;
1674
+ last_activity_at: string | null;
1675
+ expires_at: string | null;
1676
+ last_low_balance_alert_at: string | null;
1677
+ last_expiry_alert_at: string | null;
1678
+ }
1679
+
1680
+ interface VipTransaction {
1681
+ id: number;
1682
+ uuid: string;
1683
+ vip_card_id: number;
1684
+ type: VipTransactionType;
1685
+ amount: number;
1686
+ balance_before: number;
1687
+ balance_after: number;
1688
+ order: Order | null;
1689
+ order_id: number | null;
1690
+ description: string | null;
1691
+ created_at: string;
1692
+ }
1693
+
1694
+ interface VipCardResponse {
1695
+ data: VipCard;
1696
+ }
1697
+ interface VipCardsResponse {
1066
1698
  data: {
1067
- gift_bonds: GiftBond[];
1699
+ vip_cards: VipCard[];
1068
1700
  total: number;
1069
1701
  };
1070
- message: string;
1071
1702
  }
1072
-
1073
- interface ValidateGiftBondResponse {
1703
+ interface VipTransactionsResponse {
1074
1704
  data: {
1075
- valid: boolean;
1076
- message: string;
1077
- code: string;
1078
- bond?: GiftBond;
1705
+ transactions: VipTransaction[];
1706
+ total: number;
1079
1707
  };
1080
- statusCode: number;
1081
- message: string;
1708
+ }
1709
+ interface VipOrderResponse {
1710
+ data: Order;
1082
1711
  }
1083
1712
 
1084
- interface CouponResponse {
1085
- statusCode: number;
1086
- data: Coupon;
1087
- message: string;
1713
+ interface Membership extends Auditable {
1714
+ id: number;
1715
+ name: string;
1716
+ description: string;
1717
+ benefits: string[] | null;
1718
+ price: number;
1719
+ duration_days: number;
1720
+ min_recharge: number;
1721
+ status: MembershipStatus;
1722
+ discount_percentage: number;
1723
+ service_fee_exempt: boolean;
1724
+ applicable_show_ids: number[] | null;
1725
+ excluded_show_ids: number[] | null;
1088
1726
  }
1089
1727
 
1090
- interface ValidateCouponResponse {
1091
- data: {
1092
- coupon: Coupon;
1093
- message: string;
1094
- };
1728
+ interface FetchVipCardsParams {
1729
+ page?: number;
1730
+ limit?: number;
1731
+ status?: VipCardStatus;
1732
+ membership_id?: number;
1733
+ customer_id?: number;
1734
+ search?: string;
1735
+ }
1736
+
1737
+ interface ActivateVipCardParams {
1738
+ customer_id: number;
1739
+ membership_id: number;
1740
+ amount: number;
1741
+ }
1742
+
1743
+ declare const DOCUMENT_TYPES_OPTIONS: SelectOption[];
1744
+
1745
+ declare const PAYMENT_METHODS_OPTIONS: SelectOption[];
1746
+ declare const ORDER_STATUS_COLORS: Record<OrderStatus, {
1747
+ text: string;
1748
+ bg: string;
1749
+ }>;
1750
+ declare const ORDER_ITEM_TYPES_COLORS: Record<OrderItemType, {
1751
+ text: string;
1752
+ bg: string;
1753
+ }>;
1754
+ declare const ORDER_DISCOUNT_COLORS: Record<string, {
1755
+ text: string;
1756
+ bg: string;
1757
+ }>;
1758
+ declare const TRANSACTION_STATUS_COLORS: Record<TransactionStatus, {
1759
+ text: string;
1760
+ bg: string;
1761
+ }>;
1762
+
1763
+ declare const PERFORMANCE_TICKET_STATUS_COLORS: Record<PerformanceTicketStatus, {
1764
+ text: string;
1765
+ bg: string;
1766
+ }>;
1767
+ declare const PERFORMANCE_STATUS_COLORS: Record<PerformanceStatus, {
1768
+ text: string;
1769
+ bg: string;
1770
+ }>;
1771
+
1772
+ declare const TICKET_MAP_LAST_TICKETS_LIMIT = 10;
1773
+ declare const TICKET_ELEMENT_TYPES: RoomMapElementType[];
1774
+ declare const DEFAULT_STAGE_CONFIG: {
1775
+ [x: string]: any;
1776
+ };
1777
+ declare const TICKET_STATUS_COLORS: Record<PerformanceTicketStatus, string>;
1778
+ declare const TICKET_STATUS_FILLS: Record<PerformanceTicketStatus, string>;
1779
+ declare const TICKET_STATUS_LABELS: Record<PerformanceTicketStatus, string>;
1780
+ declare const TICKET_MAP_GRID_SIZE = 30;
1781
+ declare const TICKET_MAP_TITLE_HEIGHT = 30;
1782
+
1783
+ interface KonvaShapeConfig {
1784
+ config: ShapeConfig;
1785
+ layer: 'background' | 'elements' | 'foreground' | 'overlay';
1095
1786
  }
1096
1787
 
1788
+ declare function drawRoundedRect(con: Context, shape: Shape, x: number, y: number, width: number, height: number, cornerRadius: number): void;
1789
+
1790
+ declare const generateExitScene: (con: Context, shape: Shape) => void;
1791
+
1792
+ declare const generateHallwayScene: (con: Context, shape: Shape) => void;
1793
+
1794
+ declare const generateProductionAreaScene: (con: Context, shape: Shape) => void;
1795
+
1796
+ declare const generateSeatBlockScene: (con: Context, shape: Shape, numerationConfig?: {
1797
+ start_row_letter: string;
1798
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1799
+ start_column_number: number;
1800
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1801
+ }) => void;
1802
+
1803
+ declare const generateStageScene: (con: Context, shape: Shape) => void;
1804
+
1805
+ declare const generateStairScene: (con: Context, shape: Shape) => void;
1806
+
1807
+ declare const generateTableScene: (con: Context, shape: Shape) => void;
1808
+
1809
+ declare const generateUnavailableSpaceScene: (con: Context, shape: Shape) => void;
1810
+
1811
+ declare const generateZoneScene: (con: Context, shape: Shape) => void;
1812
+
1813
+ declare const KONVA_SHAPE_MAPPINGS: Record<RoomMapElementType, KonvaShapeConfig>;
1814
+
1815
+ declare const SHOW_TYPE_COLORS: Record<ShowType, {
1816
+ bg: string;
1817
+ text: string;
1818
+ }>;
1819
+
1097
1820
  declare const getCustomerFullname: (customer: Customer) => string;
1098
1821
 
1099
- declare function parseJsonToFormDataAdvanced(imageGallery: any[]): FormData;
1822
+ type OrderDiscountType = 'coupon' | 'corporate_bond' | 'gift_bond';
1823
+ interface OrderDiscountInfo {
1824
+ type: OrderDiscountType | null;
1825
+ code: string | null;
1826
+ name: string | null;
1827
+ value: number;
1828
+ discountType: 'percentage' | 'fixed' | null;
1829
+ icon: string;
1830
+ }
1831
+ declare function getOrderDiscount(order: Order): OrderDiscountInfo;
1832
+
1833
+ declare function parseJsonToFormDataAdvanced(imageGallery: any[]): FormData;
1834
+
1835
+ declare const transformImageToFile: (image: ShowImage | VenueImage) => UploadedFile;
1836
+
1837
+ declare const transformUrlParams: (params: any) => URLSearchParams;
1838
+
1839
+ declare const formatCitiesResponseToSelect: (res: CitiesResponse) => {
1840
+ value: number;
1841
+ label: string;
1842
+ }[];
1843
+
1844
+ declare function tintColor(hex: string, amount?: number): string;
1845
+
1846
+ declare const drawChairIcon: (con: Context, cx: number, cy: number, size: number) => void;
1847
+
1848
+ declare const drawHappyFace: (con: Context, cx: number, cy: number, size: number) => void;
1849
+
1850
+ declare const drawWheelchairIcon: (con: Context, shape: Shape, cx: number, cy: number, size: number, fillColor?: string, strokeColor?: string) => void;
1851
+
1852
+ declare const numberToLetter: (num: number) => string;
1853
+
1854
+ declare const getItemTypeIcon: (ticket: PerformanceTicket) => string;
1855
+
1856
+ declare const generateSeatBlockTicketScene: (con: Context, shape: Shape, numerationConfig?: {
1857
+ start_row_letter: string;
1858
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1859
+ start_column_number: number;
1860
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1861
+ }, ticketStatusMap?: Map<string, PerformanceTicketStatus>) => void;
1100
1862
 
1101
- declare const transformImageToFile: (image: ShowImage | VenueImage) => UploadedFile;
1863
+ declare const generateTableTicketScene: (con: Context, shape: Shape, chairTicketStatuses?: PerformanceTicketStatus[], tableSeats?: RoomMapSeatState[][]) => void;
1102
1864
 
1103
- declare const formatCitiesResponseToSelect: (res: CitiesResponse) => {
1104
- value: string;
1105
- label: string;
1106
- }[];
1865
+ declare function processElementsToRenderData(elements: RoomMapElementTemplate[], tickets: PerformanceTicket[], priceZones?: {
1866
+ id: number;
1867
+ color: string;
1868
+ }[]): ElementRenderData[];
1869
+ declare function findTicketAtPosition(renderData: ElementRenderData, relX: number, relY: number): PerformanceTicket | null;
1870
+ declare function findElementAtPosition(renderDataList: ElementRenderData[], stageX: number, stageY: number): {
1871
+ element: ElementRenderData;
1872
+ relX: number;
1873
+ relY: number;
1874
+ } | null;
1107
1875
 
1108
1876
  declare function MinTodayValidator(controlName: string): ValidatorFn;
1109
1877
  declare function EndDateGreaterThanStartValidator(startDateControlName: string, endDateControlName: string): ValidatorFn;
@@ -1135,16 +1903,6 @@ declare class ToastService {
1135
1903
  static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
1136
1904
  }
1137
1905
 
1138
- declare class LoadingModalService {
1139
- title: WritableSignal<string>;
1140
- isOpen: WritableSignal<boolean>;
1141
- get modalIsOpen(): WritableSignal<boolean>;
1142
- open(title?: string): void;
1143
- close(): void;
1144
- static ɵfac: i0.ɵɵFactoryDeclaration<LoadingModalService, never>;
1145
- static ɵprov: i0.ɵɵInjectableDeclaration<LoadingModalService>;
1146
- }
1147
-
1148
1906
  declare class DeleteConfirmationService {
1149
1907
  title: WritableSignal<string>;
1150
1908
  resourceName: WritableSignal<string>;
@@ -1235,7 +1993,7 @@ declare class PerformanceService {
1235
1993
  private performancesSubject;
1236
1994
  performances$: Observable<Performance[]>;
1237
1995
  constructor(apiService: ApiService);
1238
- fetchPerformances(showId?: number, search?: string): Observable<PerformancesResponseInterface>;
1996
+ fetchPerformances({ showId, roomMapId, hallId, search, page, limit, }: FindAllPerformancesParams): Observable<PerformancesResponseInterface>;
1239
1997
  fetchDailyPerformances({ show_id, search, limit, date, }: FetchDailyPerformancesParams): Observable<DailyPerformancesResponse>;
1240
1998
  loadPerformances({ showId, search }?: {
1241
1999
  showId?: number;
@@ -1243,7 +2001,7 @@ declare class PerformanceService {
1243
2001
  }): void;
1244
2002
  getCurrentPerformances(): Performance[];
1245
2003
  fetchOneById(id: number): Observable<PerformanceResponse>;
1246
- fetchOneBookingData(id: number): Observable<PerformanceBookingDataResponse>;
2004
+ fetchOneBookingData(id: number, isAdmin?: boolean): Observable<PerformanceBookingDataResponse>;
1247
2005
  fetchAvailableDays(params?: {
1248
2006
  show_id?: number;
1249
2007
  }): Observable<PerformancesAvailableDaysResponse>;
@@ -1273,25 +2031,6 @@ declare class PerformancesListEventsService {
1273
2031
  static ɵprov: i0.ɵɵInjectableDeclaration<PerformancesListEventsService>;
1274
2032
  }
1275
2033
 
1276
- declare class ProductService {
1277
- private apiService;
1278
- private productsSubject;
1279
- products$: Observable<Product[]>;
1280
- constructor(apiService: ApiService);
1281
- fetchProducts(page: number, search: string): Observable<ProductsResponseInterface>;
1282
- loadProducts({ page, search }?: {
1283
- page?: number;
1284
- search?: string;
1285
- }): void;
1286
- getCurrentProducts(): Product[];
1287
- fetchOneById(id: number): Observable<ProductResponse>;
1288
- createOne(data: Product): Observable<any>;
1289
- updateOne(id: number, data: any): Observable<ProductResponse>;
1290
- deleteOne(id: number): Observable<any>;
1291
- static ɵfac: i0.ɵɵFactoryDeclaration<ProductService, never>;
1292
- static ɵprov: i0.ɵɵInjectableDeclaration<ProductService>;
1293
- }
1294
-
1295
2034
  declare class ShowService {
1296
2035
  private apiService;
1297
2036
  private showsSubject;
@@ -1299,7 +2038,7 @@ declare class ShowService {
1299
2038
  constructor(apiService: ApiService);
1300
2039
  loadShows({ page, search }?: FetchShowsParams): void;
1301
2040
  getCurrentShows(): Show[];
1302
- fetchShows({ limit, page, search }: FetchShowsParams): Observable<ShowsResponseInterface>;
2041
+ fetchShows(params: FetchShowsParams): Observable<ShowsResponseInterface>;
1303
2042
  fetchAvailableShows({ date, limit, page, search, }: FetchShowsParams): Observable<ShowsResponseInterface>;
1304
2043
  fetchOneById(id: number): Observable<ShowResponse>;
1305
2044
  createOne(data: Show): Observable<ShowResponse>;
@@ -1372,6 +2111,347 @@ declare class PriceZoneFormModalService {
1372
2111
  static ɵprov: i0.ɵɵInjectableDeclaration<PriceZoneFormModalService>;
1373
2112
  }
1374
2113
 
2114
+ declare class ProductCategoryService {
2115
+ private apiService;
2116
+ constructor(apiService: ApiService);
2117
+ fetchCategories(params: FetchProductCategoriesParams): Observable<ProductCategoriesResponse>;
2118
+ fetchOneById(id: number): Observable<ProductCategoryResponse>;
2119
+ createOne(data: ProductCategory): Observable<any>;
2120
+ updateOne(id: number, data: ProductCategory): Observable<ProductCategoryResponse>;
2121
+ deleteOne(id: number): Observable<any>;
2122
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductCategoryService, never>;
2123
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductCategoryService>;
2124
+ }
2125
+
2126
+ declare class ProductTagService {
2127
+ private apiService;
2128
+ constructor(apiService: ApiService);
2129
+ fetchTags(params: FetchProductTagsParams): Observable<ProductTagsResponse>;
2130
+ fetchOneById(id: number): Observable<ProductTagResponse>;
2131
+ createOne(data: ProductTag): Observable<any>;
2132
+ updateOne(id: number, data: ProductTag): Observable<ProductTagResponse>;
2133
+ deleteOne(id: number): Observable<any>;
2134
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTagService, never>;
2135
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTagService>;
2136
+ }
2137
+
2138
+ declare class ProductTypeService {
2139
+ private apiService;
2140
+ constructor(apiService: ApiService);
2141
+ fetchTypes(params: FetchProductTypesParams): Observable<ProductTypesResponse>;
2142
+ fetchOneById(id: number): Observable<ProductTypeResponse>;
2143
+ createOne(data: ProductType): Observable<any>;
2144
+ updateOne(id: number, data: ProductType): Observable<ProductTypeResponse>;
2145
+ deleteOne(id: number): Observable<any>;
2146
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTypeService, never>;
2147
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTypeService>;
2148
+ }
2149
+
2150
+ declare class ProductService {
2151
+ private apiService;
2152
+ private productsSubject;
2153
+ products$: Observable<Product[]>;
2154
+ constructor(apiService: ApiService);
2155
+ fetchProducts(params: FetchProductsParams): Observable<ProductsResponseInterface>;
2156
+ loadProducts(params: FetchProductsParams): void;
2157
+ getCurrentProducts(): Product[];
2158
+ fetchOneById(id: number): Observable<ProductResponse>;
2159
+ createOne(data: Product): Observable<any>;
2160
+ updateOne(id: number, data: any): Observable<ProductResponse>;
2161
+ deleteOne(id: number): Observable<any>;
2162
+ fetchImages(id: number): Observable<{
2163
+ data: ProductImage[];
2164
+ }>;
2165
+ uploadImages(id: number, files?: FormData): Observable<{
2166
+ data: ProductImage[];
2167
+ }>;
2168
+ deleteOneImage(productId: number, imageId: number): Observable<any>;
2169
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductService, never>;
2170
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductService>;
2171
+ }
2172
+
2173
+ declare class BaseModalService {
2174
+ readonly isOpen: WritableSignal<boolean>;
2175
+ get modalIsOpen(): WritableSignal<boolean>;
2176
+ open(): void;
2177
+ close(): void;
2178
+ }
2179
+
2180
+ declare class FeedbackModalService {
2181
+ private _modals;
2182
+ readonly modals: i0.Signal<FeedbackModalElement[]>;
2183
+ addModal(modal: FeedbackModalElement): void;
2184
+ removeModal(id: string): void;
2185
+ removeAllModals(): void;
2186
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalService, never>;
2187
+ static ɵprov: i0.ɵɵInjectableDeclaration<FeedbackModalService>;
2188
+ }
2189
+
2190
+ declare class OrderTransactionDetailsModalService {
2191
+ readonly isOpen: WritableSignal<boolean>;
2192
+ transaction: WritableSignal<Transaction | null>;
2193
+ get modalIsOpen(): WritableSignal<boolean>;
2194
+ open(transaction: Transaction): void;
2195
+ close(): void;
2196
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionDetailsModalService, never>;
2197
+ static ɵprov: i0.ɵɵInjectableDeclaration<OrderTransactionDetailsModalService>;
2198
+ }
2199
+
2200
+ declare class PerformanceBookingDataService {
2201
+ private _show;
2202
+ private _performance;
2203
+ private _roomMap;
2204
+ private _hallFloors;
2205
+ private _selectedHallFloor;
2206
+ private _allRenderData;
2207
+ private _stageConfig;
2208
+ readonly show: i0.Signal<Show | null>;
2209
+ readonly hallFloors: i0.Signal<HallFloor[]>;
2210
+ readonly selectedHallFloor: i0.Signal<HallFloor | null>;
2211
+ readonly performance: i0.Signal<Performance | null>;
2212
+ readonly stageConfig: i0.Signal<{
2213
+ [x: string]: any;
2214
+ }>;
2215
+ readonly roomMap: i0.Signal<RoomMap | null>;
2216
+ readonly renderData: i0.Signal<ElementRenderData[]>;
2217
+ setPerformanceBookingData({ data }: PerformanceBookingDataResponse): void;
2218
+ setRoomMap(roomMap: RoomMap | null): void;
2219
+ setAllRenderData(data: ElementRenderData[]): void;
2220
+ setPerformance(performance: Performance | null): void;
2221
+ setShow(show: Show | null): void;
2222
+ setHallFloors(data: HallFloor[]): void;
2223
+ setSelectedHallFloor(id: number): void;
2224
+ updateStageConfig(data: {
2225
+ [x: string]: any;
2226
+ }): void;
2227
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceBookingDataService, never>;
2228
+ static ɵprov: i0.ɵɵInjectableDeclaration<PerformanceBookingDataService>;
2229
+ }
2230
+
2231
+ declare class TicketSelectionDetailsService {
2232
+ private _customerEmail;
2233
+ private _customerId;
2234
+ private _paymentMethod;
2235
+ private _billingInformation;
2236
+ readonly customerEmail: i0.Signal<string | null>;
2237
+ readonly customerId: i0.Signal<number | null>;
2238
+ readonly paymentMethod: i0.Signal<string | null>;
2239
+ readonly billingInformation: i0.Signal<Customer | null>;
2240
+ setCustomerEmail(email: string | null): void;
2241
+ setCustomerId(id: number | null): void;
2242
+ setPaymentMethod(method: string | null): void;
2243
+ setBillingInformation(values: Customer): void;
2244
+ clearSelection(): void;
2245
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDetailsService, never>;
2246
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDetailsService>;
2247
+ }
2248
+
2249
+ declare class TicketSelectionDiscountService {
2250
+ private _coupon;
2251
+ private _corporateBond;
2252
+ private _corporateBondCode;
2253
+ private _giftBond;
2254
+ private _giftBondCode;
2255
+ readonly coupon: Signal<Coupon | null>;
2256
+ readonly corporateBond: Signal<CorporateBond | null>;
2257
+ readonly corporateBondCode: Signal<string | null>;
2258
+ readonly giftBond: Signal<GiftBondPurchase | null>;
2259
+ readonly giftBondCode: Signal<string | null>;
2260
+ readonly selectedDiscount: Signal<SelectedDiscountCard | null>;
2261
+ readonly selectedDiscountType: Signal<SelectedDiscountCardType | undefined>;
2262
+ readonly selectedDiscountValue: Signal<number | undefined>;
2263
+ setCoupon(coupon: Coupon | null): void;
2264
+ setCorporateBond(corporateBond: CorporateBond | null): void;
2265
+ setCorporateBondCode(code: string | null): void;
2266
+ setGiftBond(giftBond: GiftBondPurchase | null): void;
2267
+ setGiftBondCode(code: string | null): void;
2268
+ clearSelection(): void;
2269
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDiscountService, never>;
2270
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDiscountService>;
2271
+ }
2272
+
2273
+ declare class TicketSelectionTotalsService {
2274
+ private bookingDataService;
2275
+ private selectionService;
2276
+ private selectionDiscountService;
2277
+ readonly selectedProductEntries: i0.Signal<{
2278
+ id: number;
2279
+ quantity: number;
2280
+ }[]>;
2281
+ readonly selectedProductCount: i0.Signal<number>;
2282
+ readonly productSubtotal: i0.Signal<number>;
2283
+ readonly ticketSubtotal: i0.Signal<number>;
2284
+ readonly serviceFee: i0.Signal<number>;
2285
+ subtotalValue(): number;
2286
+ totalValue(): number;
2287
+ totalDiscounted(): number | null;
2288
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionTotalsService, never>;
2289
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionTotalsService>;
2290
+ }
2291
+
2292
+ declare class TicketSelectionService {
2293
+ private bookingDataService;
2294
+ private feedbackModalService;
2295
+ private selectionDetailsService;
2296
+ private selectionDiscountService;
2297
+ private _zoneQuantities;
2298
+ private _allTickets;
2299
+ private _selectedTickets;
2300
+ private _selectedBlockedTickets;
2301
+ private _products;
2302
+ private _productQuantities;
2303
+ readonly selectedTickets: i0.Signal<PerformanceTicket[]>;
2304
+ readonly selectedBlockedTickets: i0.Signal<PerformanceTicket[]>;
2305
+ readonly selectedCount: i0.Signal<number>;
2306
+ readonly blockedSelectedCount: i0.Signal<number>;
2307
+ readonly selectedTicketIds: i0.Signal<Set<PerformanceTicket>>;
2308
+ readonly selectedBlockedTicketIds: i0.Signal<number[]>;
2309
+ readonly selectedTicketIdList: i0.Signal<number[]>;
2310
+ readonly products: i0.Signal<Product[]>;
2311
+ readonly productQuantities: i0.Signal<Map<number, number>>;
2312
+ readonly selectedProductEntries: i0.Signal<{
2313
+ id: number;
2314
+ quantity: number;
2315
+ }[]>;
2316
+ readonly selectedProductCount: i0.Signal<number>;
2317
+ readonly serviceFee: i0.Signal<number>;
2318
+ setTickets(tickets: PerformanceTicket[]): void;
2319
+ setProducts(products: Product[]): void;
2320
+ updateProductQuantity(productId: number, delta: number): void;
2321
+ getProductQuantity(productId: number): number;
2322
+ private getListByStatus;
2323
+ setSelectedTickets(tickets: PerformanceTicket[]): void;
2324
+ toggle(ticket: PerformanceTicket): void;
2325
+ select(ticket: PerformanceTicket): void;
2326
+ deselect(ticket: PerformanceTicket): void;
2327
+ clearBlockedSelection(): void;
2328
+ clearSelection(): void;
2329
+ isSelected(ticket: PerformanceTicket): boolean;
2330
+ initZoneQuantity(elementId: number, maxCapacity: number): void;
2331
+ adjustZoneQuantity(elementId: number, delta: number): void;
2332
+ getZoneTickets(elementId: number): PerformanceTicket[];
2333
+ buildTooltipData(ticket: PerformanceTicket, elementName: string, seatLabel: string | null, x: number, y: number): TicketMapTooltipData;
2334
+ buildReservePerformanceDto(paymentMethod?: string, termsAccepted?: boolean, dataProcessingAccepted?: boolean): ReservePerformanceDto;
2335
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionService, never>;
2336
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionService>;
2337
+ }
2338
+
2339
+ declare class TicketMapZoomService {
2340
+ readonly currentZoom: i0.WritableSignal<number>;
2341
+ private stage?;
2342
+ private bookingDataService;
2343
+ private readonly defaultConfig;
2344
+ constructor();
2345
+ /**
2346
+ * Set the Konva stage instance
2347
+ */
2348
+ setStage(stage: Stage): void;
2349
+ /**
2350
+ * Zoom in by one step
2351
+ */
2352
+ zoomIn(): void;
2353
+ /**
2354
+ * Zoom out by one step
2355
+ */
2356
+ zoomOut(): void;
2357
+ /**
2358
+ * Reset zoom to 100%
2359
+ */
2360
+ resetZoom(): void;
2361
+ /**
2362
+ * Get current zoom as percentage string
2363
+ */
2364
+ getZoomPercentage(): string;
2365
+ /**
2366
+ * Get current zoom value
2367
+ */
2368
+ getCurrentZoom(): number;
2369
+ /**
2370
+ * Apply zoom with center point
2371
+ */
2372
+ private applyZoom;
2373
+ /**
2374
+ * Apply zoom scale with specific center point
2375
+ */
2376
+ private applyZoomScale;
2377
+ /**
2378
+ * Handle mouse wheel zoom toward the cursor position
2379
+ */
2380
+ handleWheelZoom(deltaY: number): void;
2381
+ /**
2382
+ * Fit the content bounds to fill the stage container
2383
+ */
2384
+ fitToContainer(padding?: number): void;
2385
+ /**
2386
+ * Get current stage position
2387
+ */
2388
+ getStagePosition(): {
2389
+ x: number;
2390
+ y: number;
2391
+ };
2392
+ /**
2393
+ * Set stage position (useful for programmatic panning)
2394
+ */
2395
+ setStagePosition(position: {
2396
+ x: number;
2397
+ y: number;
2398
+ }): void;
2399
+ /**
2400
+ * Fit the stage content bounds to the container, centering and scaling
2401
+ * to show the full content with optional padding.
2402
+ */
2403
+ fitToBounds(contentBounds: {
2404
+ x: number;
2405
+ y: number;
2406
+ width: number;
2407
+ height: number;
2408
+ }, containerWidth: number, containerHeight: number, padding?: number): void;
2409
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomService, never>;
2410
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketMapZoomService>;
2411
+ }
2412
+
2413
+ declare class ConfirmationOrderModalService extends BaseModalService {
2414
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalService, never>;
2415
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmationOrderModalService>;
2416
+ }
2417
+
2418
+ declare class TicketQrService {
2419
+ private apiService;
2420
+ constructor(apiService: ApiService);
2421
+ fetchQrToken(ticketUuid: string): Observable<QrTokenResponse>;
2422
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrService, never>;
2423
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrService>;
2424
+ }
2425
+
2426
+ declare class TicketQrModalService {
2427
+ isOpen: WritableSignal<boolean>;
2428
+ ticketUuid: WritableSignal<string | null>;
2429
+ ticketDescription: WritableSignal<string | null>;
2430
+ open(ticketUuid: string, description?: string): void;
2431
+ close(): void;
2432
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalService, never>;
2433
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrModalService>;
2434
+ }
2435
+
2436
+ declare class VipCardService {
2437
+ private apiService;
2438
+ constructor(apiService: ApiService);
2439
+ findMy(): Observable<{
2440
+ data: VipCard | null;
2441
+ }>;
2442
+ activate(data: any): Observable<VipOrderResponse>;
2443
+ recharge(data: any): Observable<VipOrderResponse>;
2444
+ fetchAll(params?: FetchVipCardsParams): Observable<VipCardsResponse>;
2445
+ fetchOneById(id: number): Observable<VipCardResponse>;
2446
+ activateAdmin(data: ActivateVipCardParams): Observable<VipOrderResponse>;
2447
+ rechargeAdmin(id: number, data: any): Observable<VipOrderResponse>;
2448
+ updateStatus(id: number, status: VipCardStatus): Observable<VipCardResponse>;
2449
+ updateTerms(id: number): Observable<VipCardResponse>;
2450
+ fetchTransactions(id: number, page?: number, limit?: number): Observable<VipTransactionsResponse>;
2451
+ static ɵfac: i0.ɵɵFactoryDeclaration<VipCardService, never>;
2452
+ static ɵprov: i0.ɵɵInjectableDeclaration<VipCardService>;
2453
+ }
2454
+
1375
2455
  declare const authInterceptor: HttpInterceptorFn;
1376
2456
 
1377
2457
  declare class AppButtonComponent {
@@ -1384,10 +2464,11 @@ declare class AppButtonComponent {
1384
2464
  size: 'xs' | 'sm' | 'md' | 'lg';
1385
2465
  loadingText: string;
1386
2466
  icon: string;
2467
+ tooltip: string;
1387
2468
  handleClick(): void;
1388
2469
  get buttonClasses(): string;
1389
2470
  static ɵfac: i0.ɵɵFactoryDeclaration<AppButtonComponent, never>;
1390
- static ɵcmp: i0.ɵɵComponentDeclaration<AppButtonComponent, "app-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "text": { "alias": "text"; "required": false; }; "size": { "alias": "size"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, { "clicked": "clicked"; }, never, never, true, never>;
2471
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppButtonComponent, "app-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "text": { "alias": "text"; "required": false; }; "size": { "alias": "size"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, { "clicked": "clicked"; }, never, never, true, never>;
1391
2472
  }
1392
2473
 
1393
2474
  declare class AppLinkButtonComponent {
@@ -1401,9 +2482,10 @@ declare class AppLinkButtonComponent {
1401
2482
  queryParams: Record<string, any>;
1402
2483
  size: 'xs' | 'sm' | 'md' | 'lg';
1403
2484
  variant: 'primary' | 'secondary' | 'tertiary' | 'success' | 'transparent';
2485
+ tooltip: string;
1404
2486
  get buttonClasses(): string;
1405
2487
  static ɵfac: i0.ɵɵFactoryDeclaration<AppLinkButtonComponent, never>;
1406
- static ɵcmp: i0.ɵɵComponentDeclaration<AppLinkButtonComponent, "app-link-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "target": { "alias": "target"; "required": false; }; "text": { "alias": "text"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "route": { "alias": "route"; "required": false; }; "queryParams": { "alias": "queryParams"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; }, {}, never, never, true, never>;
2488
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppLinkButtonComponent, "app-link-button", never, { "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "target": { "alias": "target"; "required": false; }; "text": { "alias": "text"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "route": { "alias": "route"; "required": false; }; "queryParams": { "alias": "queryParams"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, never, never, true, never>;
1407
2489
  }
1408
2490
 
1409
2491
  declare class AppAlertComponent {
@@ -1416,15 +2498,29 @@ declare class AppAlertComponent {
1416
2498
  static ɵcmp: i0.ɵɵComponentDeclaration<AppAlertComponent, "app-alert", never, { "type": { "alias": "type"; "required": false; }; "text": { "alias": "text"; "required": false; }; "closeable": { "alias": "closeable"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
1417
2499
  }
1418
2500
 
1419
- declare class LoadingmModalComponent {
1420
- private loadingModalService;
1421
- constructor(loadingModalService: LoadingModalService);
1422
- get isOpen(): i0.WritableSignal<boolean>;
1423
- get title(): i0.WritableSignal<string>;
2501
+ declare class FeedbackModalComponent implements OnChanges, OnDestroy {
2502
+ isOpen: WritableSignal<boolean>;
2503
+ type: FeedbackModalType;
2504
+ title: string;
2505
+ message: string;
2506
+ showHeader: boolean;
2507
+ showCloseButton: boolean;
2508
+ showTitle: boolean;
2509
+ autoClose: boolean;
2510
+ autoCloseDuration: number;
2511
+ buttonText: string;
2512
+ closed: EventEmitter<void>;
2513
+ private autoCloseTimeout;
2514
+ get defaultButtonText(): string;
2515
+ get resolvedButtonText(): string;
2516
+ get buttonVariant(): 'primary' | 'secondary';
2517
+ ngOnChanges(changes: SimpleChanges): void;
2518
+ ngOnDestroy(): void;
1424
2519
  closeModal(): void;
1425
- onCitySaved(): void;
1426
- static ɵfac: i0.ɵɵFactoryDeclaration<LoadingmModalComponent, never>;
1427
- static ɵcmp: i0.ɵɵComponentDeclaration<LoadingmModalComponent, "loading-modal", never, {}, {}, never, never, true, never>;
2520
+ private scheduleAutoClose;
2521
+ private clearAutoClose;
2522
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalComponent, never>;
2523
+ static ɵcmp: i0.ɵɵComponentDeclaration<FeedbackModalComponent, "feedback-modal", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "type": { "alias": "type"; "required": false; }; "title": { "alias": "title"; "required": false; }; "message": { "alias": "message"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; "autoClose": { "alias": "autoClose"; "required": false; }; "autoCloseDuration": { "alias": "autoCloseDuration"; "required": false; }; "buttonText": { "alias": "buttonText"; "required": false; }; }, { "closed": "closed"; }, never, never, true, never>;
1428
2524
  }
1429
2525
 
1430
2526
  declare class DeleteConfirmationComponent {
@@ -1447,12 +2543,29 @@ declare class DeleteConfirmationComponent {
1447
2543
  declare class AppModalComponent {
1448
2544
  title: string;
1449
2545
  disableClose: boolean;
2546
+ showHeader: boolean;
2547
+ showCloseButton: boolean;
2548
+ showTitle: boolean;
2549
+ interactiveClose: boolean;
1450
2550
  isOpen: WritableSignal<boolean>;
1451
- size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
2551
+ size: ModalSize;
1452
2552
  closeModal: EventEmitter<void>;
1453
2553
  onCloseModal(): void;
2554
+ onInteractiveClose(): void;
2555
+ onKeydownEscape(): void;
1454
2556
  static ɵfac: i0.ɵɵFactoryDeclaration<AppModalComponent, never>;
1455
- static ɵcmp: i0.ɵɵComponentDeclaration<AppModalComponent, "app-modal", never, { "title": { "alias": "title"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "closeModal": "closeModal"; }, never, ["*"], true, never>;
2557
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppModalComponent, "app-modal", never, { "title": { "alias": "title"; "required": false; }; "disableClose": { "alias": "disableClose"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; "interactiveClose": { "alias": "interactiveClose"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "closeModal": "closeModal"; }, never, ["*"], true, never>;
2558
+ }
2559
+
2560
+ declare class AppBadgeComponent {
2561
+ text: string;
2562
+ color: BadgeColor;
2563
+ size: BadgeSize;
2564
+ bordered: boolean;
2565
+ backgroundColor: string;
2566
+ textColor: string;
2567
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppBadgeComponent, never>;
2568
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppBadgeComponent, "app-badge", never, { "text": { "alias": "text"; "required": false; }; "color": { "alias": "color"; "required": false; }; "size": { "alias": "size"; "required": false; }; "bordered": { "alias": "bordered"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; }, {}, never, never, true, never>;
1456
2569
  }
1457
2570
 
1458
2571
  declare class AuditInformationComponent {
@@ -1467,6 +2580,7 @@ declare class DynamicTableComponent {
1467
2580
  title: string;
1468
2581
  data: any[];
1469
2582
  headers: any[];
2583
+ searcherPlaceholder: string;
1470
2584
  columnComponents: {
1471
2585
  [key: string]: Type<any>;
1472
2586
  };
@@ -1474,17 +2588,79 @@ declare class DynamicTableComponent {
1474
2588
  totalItems: number;
1475
2589
  itemsPerPage: number;
1476
2590
  currentPage: number;
2591
+ searchValue: string;
1477
2592
  pageChange: EventEmitter<number>;
1478
2593
  searchChange: EventEmitter<string>;
2594
+ pageSizeChange: EventEmitter<number>;
2595
+ pageSizeOptions: number[];
1479
2596
  showPagination: boolean;
1480
2597
  showSearch: boolean;
1481
2598
  showTitle: boolean;
1482
2599
  get totalPages(): number;
1483
2600
  onSearch(event: any): void;
1484
2601
  changePage(delta: number): void;
2602
+ changePageSize(event: any): void;
1485
2603
  createInjector(row: any): Injector;
1486
2604
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicTableComponent, never>;
1487
- static ɵcmp: i0.ɵɵComponentDeclaration<DynamicTableComponent, "dynamic-table", never, { "title": { "alias": "title"; "required": false; }; "data": { "alias": "data"; "required": false; }; "headers": { "alias": "headers"; "required": false; }; "columnComponents": { "alias": "columnComponents"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "totalItems": { "alias": "totalItems"; "required": false; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "showPagination": { "alias": "showPagination"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; }, { "pageChange": "pageChange"; "searchChange": "searchChange"; }, never, never, true, never>;
2605
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicTableComponent, "dynamic-table", never, { "title": { "alias": "title"; "required": false; }; "data": { "alias": "data"; "required": false; }; "headers": { "alias": "headers"; "required": false; }; "searcherPlaceholder": { "alias": "searcherPlaceholder"; "required": false; }; "columnComponents": { "alias": "columnComponents"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "totalItems": { "alias": "totalItems"; "required": false; }; "itemsPerPage": { "alias": "itemsPerPage"; "required": false; }; "currentPage": { "alias": "currentPage"; "required": false; }; "searchValue": { "alias": "searchValue"; "required": false; }; "showPagination": { "alias": "showPagination"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "showTitle": { "alias": "showTitle"; "required": false; }; }, { "pageChange": "pageChange"; "searchChange": "searchChange"; "pageSizeChange": "pageSizeChange"; }, never, never, true, never>;
2606
+ }
2607
+
2608
+ declare class TextExpandableComponent implements OnChanges {
2609
+ text: string;
2610
+ maxLength: number;
2611
+ fontSize: TextFontSize;
2612
+ allowHtml: boolean;
2613
+ maxLines?: number;
2614
+ protected expanded: boolean;
2615
+ ngOnChanges(): void;
2616
+ get plainText(): string;
2617
+ get truncated(): boolean;
2618
+ get visibleText(): string;
2619
+ get lines(): number;
2620
+ toggleExpanded(): void;
2621
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextExpandableComponent, never>;
2622
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextExpandableComponent, "text-expandable", never, { "text": { "alias": "text"; "required": true; }; "maxLength": { "alias": "maxLength"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "allowHtml": { "alias": "allowHtml"; "required": false; }; "maxLines": { "alias": "maxLines"; "required": false; }; }, {}, never, never, true, never>;
2623
+ }
2624
+
2625
+ declare class ShowCardComponent {
2626
+ show: Show;
2627
+ linkText: string;
2628
+ linkUrlFn?: (show: Show) => string;
2629
+ linkQueryParams?: Record<string, any>;
2630
+ transloco: TranslocoService;
2631
+ dateService: DateService;
2632
+ get showTypeColor(): {
2633
+ bg: string;
2634
+ text: string;
2635
+ };
2636
+ formatTimeDate(date: string): Date;
2637
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardComponent, never>;
2638
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowCardComponent, "show-card", never, { "show": { "alias": "show"; "required": true; }; "linkText": { "alias": "linkText"; "required": false; }; "linkUrlFn": { "alias": "linkUrlFn"; "required": false; }; "linkQueryParams": { "alias": "linkQueryParams"; "required": false; }; }, {}, never, never, true, never>;
2639
+ }
2640
+
2641
+ declare class ShowTypeBadgeComponent {
2642
+ show: Show;
2643
+ size: BadgeSize;
2644
+ transloco: TranslocoService;
2645
+ get showTypeColor(): {
2646
+ bg: string;
2647
+ text: string;
2648
+ };
2649
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowTypeBadgeComponent, never>;
2650
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowTypeBadgeComponent, "show-type-badge", never, { "show": { "alias": "show"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
2651
+ }
2652
+
2653
+ declare class ShowCardSkeletonComponent {
2654
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardSkeletonComponent, never>;
2655
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowCardSkeletonComponent, "show-card-skeleton", never, {}, {}, never, never, true, never>;
2656
+ }
2657
+
2658
+ declare class AppBreadcumbComponent {
2659
+ homeUrl: string | undefined;
2660
+ steps: BreadcrumbStep[];
2661
+ theme: BreadcrumbTheme;
2662
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppBreadcumbComponent, never>;
2663
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppBreadcumbComponent, "app-breadcrumb", never, { "homeUrl": { "alias": "homeUrl"; "required": false; }; "steps": { "alias": "steps"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; }, {}, never, never, true, never>;
1488
2664
  }
1489
2665
 
1490
2666
  declare class LanguageSwitcherComponent {
@@ -1507,7 +2683,9 @@ declare class FormInputComponent implements ControlValueAccessor {
1507
2683
  placeholder: string;
1508
2684
  required: boolean;
1509
2685
  readonly: boolean;
2686
+ maxlength: number | null;
1510
2687
  minlength: number | null;
2688
+ max: number | null;
1511
2689
  min: number | null;
1512
2690
  step: number | null;
1513
2691
  pattern: string | null;
@@ -1529,12 +2707,12 @@ declare class FormInputComponent implements ControlValueAccessor {
1529
2707
  get inputClasses(): string;
1530
2708
  get fieldGroupClasses(): string;
1531
2709
  static ɵfac: i0.ɵɵFactoryDeclaration<FormInputComponent, [{ optional: true; self: true; }, null]>;
1532
- static ɵcmp: i0.ɵɵComponentDeclaration<FormInputComponent, "form-input", never, { "label": { "alias": "label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "step": { "alias": "step"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; }, {}, never, never, true, never>;
2710
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormInputComponent, "form-input", never, { "label": { "alias": "label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "step": { "alias": "step"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; }, {}, never, never, true, never>;
1533
2711
  }
1534
2712
 
1535
2713
  declare class FormSelectComponent implements ControlValueAccessor {
1536
2714
  ngControl: NgControl;
1537
- private transloco;
2715
+ protected transloco: TranslocoService;
1538
2716
  label: string;
1539
2717
  name: string;
1540
2718
  id: string;
@@ -1558,7 +2736,6 @@ declare class FormSelectComponent implements ControlValueAccessor {
1558
2736
  get inputId(): string;
1559
2737
  get showError(): boolean;
1560
2738
  get errorMessage(): string;
1561
- get resolvedDefaultOptionLabel(): string;
1562
2739
  get fieldGroupClasses(): string;
1563
2740
  static ɵfac: i0.ɵɵFactoryDeclaration<FormSelectComponent, [{ optional: true; self: true; }, null]>;
1564
2741
  static ɵcmp: i0.ɵɵComponentDeclaration<FormSelectComponent, "form-select", never, { "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "options": { "alias": "options"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; "showDefaultOption": { "alias": "showDefaultOption"; "required": false; }; "defaultOptionLabel": { "alias": "defaultOptionLabel"; "required": false; }; }, {}, never, never, true, never>;
@@ -1596,6 +2773,103 @@ declare class FormTextareaComponent implements ControlValueAccessor {
1596
2773
  static ɵcmp: i0.ɵɵComponentDeclaration<FormTextareaComponent, "form-textarea", never, { "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; }, {}, never, never, true, never>;
1597
2774
  }
1598
2775
 
2776
+ declare class NumberInputComponent implements ControlValueAccessor, Validator, OnChanges {
2777
+ transloco: TranslocoService;
2778
+ private injector;
2779
+ label: string;
2780
+ name: string;
2781
+ id: string;
2782
+ placeholder: string;
2783
+ required: boolean;
2784
+ readonly: boolean;
2785
+ min: number | null;
2786
+ max: number | null;
2787
+ step: number;
2788
+ fieldGroupClass: string;
2789
+ value: number | null;
2790
+ disabled: boolean;
2791
+ onChange: any;
2792
+ onTouched: any;
2793
+ private _ngControl;
2794
+ constructor(transloco: TranslocoService, injector: Injector);
2795
+ get ngControl(): NgControl | null;
2796
+ ngOnChanges(changes: SimpleChanges): void;
2797
+ validate(control: AbstractControl): ValidationErrors | null;
2798
+ writeValue(value: any): void;
2799
+ registerOnChange(fn: any): void;
2800
+ registerOnTouched(fn: any): void;
2801
+ setDisabledState(isDisabled: boolean): void;
2802
+ onInput(value: any): void;
2803
+ increment(): void;
2804
+ decrement(): void;
2805
+ get canIncrement(): boolean;
2806
+ get canDecrement(): boolean;
2807
+ get inputId(): string;
2808
+ get showError(): boolean;
2809
+ get errorMessage(): string;
2810
+ get fieldGroupClasses(): string;
2811
+ private clamp;
2812
+ private round;
2813
+ private minValidator;
2814
+ private maxValidator;
2815
+ static ɵfac: i0.ɵɵFactoryDeclaration<NumberInputComponent, never>;
2816
+ static ɵcmp: i0.ɵɵComponentDeclaration<NumberInputComponent, "number-input", never, { "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; }, {}, never, never, true, never>;
2817
+ }
2818
+
2819
+ declare class PhoneInputComponent implements ControlValueAccessor, Validator, OnChanges {
2820
+ private transloco;
2821
+ private injector;
2822
+ label: string;
2823
+ name: string;
2824
+ id: string;
2825
+ placeholder: string;
2826
+ required: boolean;
2827
+ readonly: boolean;
2828
+ maxNationalDigits: number | null;
2829
+ minNationalDigits: number | null;
2830
+ defaultCountry: string;
2831
+ fieldGroupClass: string;
2832
+ readonly countries: tickera_angular_components.PhoneCountry[];
2833
+ readonly phoneOptions: {
2834
+ search: string;
2835
+ name: string;
2836
+ isoCode: string;
2837
+ dialCode: string;
2838
+ }[];
2839
+ selectedIso: string;
2840
+ nationalNumber: string;
2841
+ disabled: boolean;
2842
+ onChange: any;
2843
+ onTouched: any;
2844
+ onValidatorChange: () => void;
2845
+ private _ngControl;
2846
+ constructor(transloco: TranslocoService, injector: Injector);
2847
+ get ngControl(): NgControl | null;
2848
+ get selectedCountry(): tickera_angular_components.PhoneCountry;
2849
+ get dialCode(): string;
2850
+ dialCodeOf(isoCode: string): string;
2851
+ get value(): string;
2852
+ ngOnChanges(changes: SimpleChanges): void;
2853
+ registerOnValidatorChange(fn: () => void): void;
2854
+ validate(control: AbstractControl): ValidationErrors | null;
2855
+ writeValue(value: string | null | undefined): void;
2856
+ registerOnChange(fn: any): void;
2857
+ registerOnTouched(fn: any): void;
2858
+ setDisabledState(isDisabled: boolean): void;
2859
+ onInput(event: Event): void;
2860
+ onCountryChange(isoCode: string): void;
2861
+ get inputId(): string;
2862
+ get showError(): boolean;
2863
+ get errorMessage(): string;
2864
+ get effectivePlaceholder(): string;
2865
+ get fieldGroupClasses(): string;
2866
+ flag(isoCode: string): string;
2867
+ private sanitize;
2868
+ private nationalDigits;
2869
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhoneInputComponent, never>;
2870
+ static ɵcmp: i0.ɵɵComponentDeclaration<PhoneInputComponent, "phone-input", never, { "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxNationalDigits": { "alias": "maxNationalDigits"; "required": false; }; "minNationalDigits": { "alias": "minNationalDigits"; "required": false; }; "defaultCountry": { "alias": "defaultCountry"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; }, {}, never, never, true, never>;
2871
+ }
2872
+
1599
2873
  declare class FormEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {
1600
2874
  ngControl: NgControl;
1601
2875
  private transloco;
@@ -1613,7 +2887,8 @@ declare class FormEditorComponent implements ControlValueAccessor, OnInit, OnDes
1613
2887
  onChange: any;
1614
2888
  onTouched: any;
1615
2889
  private subscription;
1616
- constructor(ngControl: NgControl, transloco: TranslocoService);
2890
+ isBrowser: boolean;
2891
+ constructor(ngControl: NgControl, transloco: TranslocoService, platformId: object);
1617
2892
  ngOnInit(): void;
1618
2893
  ngOnDestroy(): void;
1619
2894
  writeValue(value: any): void;
@@ -1624,7 +2899,7 @@ declare class FormEditorComponent implements ControlValueAccessor, OnInit, OnDes
1624
2899
  get showError(): boolean;
1625
2900
  get errorMessage(): string;
1626
2901
  get fieldGroupClasses(): string;
1627
- static ɵfac: i0.ɵɵFactoryDeclaration<FormEditorComponent, [{ optional: true; self: true; }, null]>;
2902
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormEditorComponent, [{ optional: true; self: true; }, null, null]>;
1628
2903
  static ɵcmp: i0.ɵɵComponentDeclaration<FormEditorComponent, "form-editor", never, { "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "toolbar": { "alias": "toolbar"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; }, {}, never, never, true, never>;
1629
2904
  }
1630
2905
 
@@ -1808,6 +3083,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1808
3083
  notFoundText: string;
1809
3084
  bindLabel: string;
1810
3085
  bindValue: string;
3086
+ disabled: boolean;
1811
3087
  value: any;
1812
3088
  onChange: any;
1813
3089
  onTouched: any;
@@ -1837,7 +3113,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1837
3113
  registerOnTouched(fn: any): void;
1838
3114
  setDisabledState(isDisabled: boolean): void;
1839
3115
  static ɵfac: i0.ɵɵFactoryDeclaration<AsyncSelectComponent, never>;
1840
- static ɵcmp: i0.ɵɵComponentDeclaration<AsyncSelectComponent, "async-select", never, { "config": { "alias": "config"; "required": false; }; "items": { "alias": "items"; "required": false; }; "parentId": { "alias": "parentId"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; }, {}, never, never, true, never>;
3116
+ static ɵcmp: i0.ɵɵComponentDeclaration<AsyncSelectComponent, "async-select", never, { "config": { "alias": "config"; "required": false; }; "items": { "alias": "items"; "required": false; }; "parentId": { "alias": "parentId"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
1841
3117
  }
1842
3118
 
1843
3119
  declare class ChangePasswordFormComponent {
@@ -2274,6 +3550,28 @@ declare class PriceZoneSelectComponent implements OnInit, OnDestroy, ControlValu
2274
3550
  static ɵcmp: i0.ɵɵComponentDeclaration<PriceZoneSelectComponent, "price-zone-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "showError": { "alias": "showError"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, { "priceZoneChange": "priceZoneChange"; }, never, never, true, never>;
2275
3551
  }
2276
3552
 
3553
+ declare class PerformanceTicketStatusBadgeComponent {
3554
+ ticket: PerformanceTicket;
3555
+ size: BadgeSize;
3556
+ protected get statusColors(): {
3557
+ text: string;
3558
+ bg: string;
3559
+ };
3560
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceTicketStatusBadgeComponent, never>;
3561
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceTicketStatusBadgeComponent, "performance-ticket-status-badge", never, { "ticket": { "alias": "ticket"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3562
+ }
3563
+
3564
+ declare class PerformanceStatusBadgeComponent {
3565
+ performance: Performance;
3566
+ size: BadgeSize;
3567
+ protected get statusColors(): {
3568
+ text: string;
3569
+ bg: string;
3570
+ };
3571
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceStatusBadgeComponent, never>;
3572
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceStatusBadgeComponent, "performance-status-badge", never, { "performance": { "alias": "performance"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3573
+ }
3574
+
2277
3575
  declare class DaySelectorGridComponent {
2278
3576
  private platformId;
2279
3577
  protected performanceService: PerformanceService;
@@ -2295,11 +3593,15 @@ declare class DaySelectorGridComponent {
2295
3593
  declare class PerformanceCardComponent {
2296
3594
  protected listEventService: PerformancesListEventsService;
2297
3595
  card: DailyPerformanceItem;
3596
+ linkText: string;
3597
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3598
+ linkQueryParams?: Record<string, any>;
2298
3599
  constructor(listEventService: PerformancesListEventsService);
3600
+ get badgeColor(): 'success' | 'error';
2299
3601
  onSelect(): void;
2300
3602
  isSelected(): boolean;
2301
3603
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardComponent, never>;
2302
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardComponent, "performance-card", never, { "card": { "alias": "card"; "required": true; }; }, {}, never, never, true, never>;
3604
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardComponent, "performance-card", never, { "card": { "alias": "card"; "required": true; }; "linkText": { "alias": "linkText"; "required": false; }; "linkUrlFn": { "alias": "linkUrlFn"; "required": false; }; "linkQueryParams": { "alias": "linkQueryParams"; "required": false; }; }, {}, never, never, true, never>;
2303
3605
  }
2304
3606
 
2305
3607
  declare class PerformanceCardListComponent {
@@ -2307,6 +3609,9 @@ declare class PerformanceCardListComponent {
2307
3609
  protected performanceService: PerformanceService;
2308
3610
  protected listEventService: PerformancesListEventsService;
2309
3611
  protected toastService: ToastService;
3612
+ linkText: string;
3613
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3614
+ linkQueryParams?: Record<string, any>;
2310
3615
  loadingData: WritableSignal<boolean>;
2311
3616
  performances: WritableSignal<DailyPerformanceItem[]>;
2312
3617
  constructor(platformId: object, performanceService: PerformanceService, listEventService: PerformancesListEventsService, toastService: ToastService);
@@ -2314,7 +3619,7 @@ declare class PerformanceCardListComponent {
2314
3619
  private loadData;
2315
3620
  get selectedDayDate(): string | null;
2316
3621
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardListComponent, never>;
2317
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardListComponent, "performance-card-list", never, {}, {}, never, never, true, never>;
3622
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardListComponent, "performance-card-list", never, { "linkText": { "alias": "linkText"; "required": false; }; "linkUrlFn": { "alias": "linkUrlFn"; "required": false; }; "linkQueryParams": { "alias": "linkQueryParams"; "required": false; }; }, {}, never, never, true, never>;
2318
3623
  }
2319
3624
 
2320
3625
  declare class PerformanceStepperComponent {
@@ -2343,9 +3648,9 @@ declare class ShowsFilterComponent {
2343
3648
  }
2344
3649
 
2345
3650
  interface PriceZoneItem {
2346
- colorClass: string;
3651
+ color: string;
2347
3652
  name: string;
2348
- seatsAvailable: number;
3653
+ available_seats: number;
2349
3654
  price: string;
2350
3655
  }
2351
3656
 
@@ -2361,5 +3666,376 @@ declare class ZonePriceListComponent {
2361
3666
  static ɵcmp: i0.ɵɵComponentDeclaration<ZonePriceListComponent, "zone-price-list", never, { "zones": { "alias": "zones"; "required": true; }; }, {}, never, never, true, never>;
2362
3667
  }
2363
3668
 
2364
- export { ADMIN_API_ROUTES, ALERT_ICONS, AdminSelectComponent, AdminService, ApiService, AppAlertComponent, AppButtonComponent, AppLinkButtonComponent, AppModalComponent, AsyncSelectComponent, AuditInformationComponent, BASE_BUTTON_CLASSES, BASE_INPUT_CLASSES, BUTTON_SIZES_CLASSES, BUTTON_VARIANT_CLASSES, CITY_API_ENDPOINTS, COUNTRY_API_ENDPOINTS, CUSTOMERS_API_ROUTES, ChangePasswordFormComponent, ChangePasswordFormService, CitiesService, CitySelectComponent, ColorPickerComponent, CorporateBondStatus, CountrySelectComponent, CountryService, CouponApplicability, CouponDiscountType, CustomerSelectComponent, CustomerService, DateInputComponent, DateService, DaySelectorGridComponent, DeleteConfirmationComponent, DeleteConfirmationService, DynamicTableComponent, ERROR_INPUT_CLASSES, EndDateGreaterThanStartValidator, FORM_ERROR_MESSAGES, FileType, FileUploadComponent, FileUploadPreviewComponent, FormEditorComponent, FormInputComponent, FormSelectComponent, FormTextareaComponent, GiftBondStatus, LanguageSwitcherComponent, LoadingModalService, LoadingmModalComponent, MinTodayValidator, MustMatchValidator, OrderItemType, OrderStatus, PERFORMANCES_API_ROUTES, PRICE_ZONES_API_ROUTES, PRODUCTS_API_ROUTES, PerformanceCardComponent, PerformanceCardListComponent, PerformanceMultiSelectComponent, PerformanceSelectComponent, PerformanceService, PerformanceStatus, PerformanceStepperComponent, PerformanceTicketStatus, PerformancesListEventsService, PriceZoneEventService, PriceZoneFormModalService, PriceZoneSelectComponent, PriceZoneService, ProductMultiSelectComponent, ProductSelectComponent, ProductService, RoomMapElementOrientation, RoomMapElementType, SHOWS_API_ROUTES, STATE_API_ENDPOINTS, ShowMultiSelectComponent, ShowSelectComponent, ShowService, ShowsFilterComponent, StateSelectComponent, StatesService, TICKERA_COMPONENTS_CONFIG, TickeraTranslocoLoader, ToastService, ToggleSwitchComponent, VENUES_API_ROUTES, ZonePriceItemComponent, ZonePriceListComponent, authInterceptor, formatCitiesResponseToSelect, getBrowserLanguage, getCustomerFullname, getStoredLanguage, parseJsonToFormDataAdvanced, provideTickeraComponents, resolveLanguage, setStoredLanguage, transformImageToFile };
2365
- export type { Admin, AdminsResponse, AsyncSelectConfig, Auditable, CitiesResponse, City, CityResponse, CorporateBond, CorporateBondCode, CorporateBondResponse, CountriesResponse, Country, CountryResponse, Coupon, CouponResponse, Customer, CustomerResponse, CustomersResponse, DailyPerformanceHall, DailyPerformanceItem, DailyPerformancePriceZone, DailyPerformanceShow, DailyPerformanceVenue, DailyPerformancesResponse, DeleteConfirmationOpen, DragDropEvent, DynamicTableHeader, ElementPropertiesTab, FetchCitiesParams, FetchDailyPerformancesParams, FetchShowsParams, FileUploadConfig, FindAllPriceZoneParams, GiftBond, GiftBondResponse, GiftBondsResponse, Hall, HallFloor, NumerationConfig, Order, OrderItem, OrderResponse, OrdersResponse, Performance, PerformanceAvailableDay, PerformanceBookingDataResponse, PerformanceResponse, PerformanceTicket, PerformancesAvailableDaysResponse, PerformancesResponseInterface, PriceZone, PriceZoneResponse, PriceZoneUpdateResponse, PriceZonesResponseInterface, Product, ProductResponse, ProductsResponseInterface, RoomMap, RoomMapBaseElement, RoomMapCanvasConfiguration, RoomMapCanvasElement, RoomMapChairPosition, RoomMapElementTemplate, RoomMapExitElement, RoomMapGridPosition, RoomMapPosition, RoomMapProductionAreaElement, RoomMapSeatDisplayState, RoomMapSeatElement, RoomMapSeatState, RoomMapSize, RoomMapStageElement, RoomMapTableElement, RoomMapUnavailableElement, RoomMapZoneElement, SelectOption, Show, ShowImage, ShowResponse, ShowType, ShowsResponseInterface, State, StateResponse, StatesResponse, TickeraComponentsConfig, UploadedFile, ValidateCorporateBondResponse, ValidateCouponResponse, ValidateGiftBondResponse, Venue, VenueImage };
3669
+ declare class TicketMapWidgetComponent {
3670
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetComponent, never>;
3671
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetComponent, "ticket-map-widget", never, {}, {}, never, ["*"], true, never>;
3672
+ }
3673
+
3674
+ declare class TicketMapWidgetHeaderComponent {
3675
+ title: string;
3676
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetHeaderComponent, never>;
3677
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetHeaderComponent, "ticket-map-widget-header", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, ["*"], true, never>;
3678
+ }
3679
+
3680
+ declare class TicketMapZoomControlsComponent {
3681
+ private zoomService;
3682
+ readonly currentZoom: i0.Signal<number>;
3683
+ readonly zoomPercentage: i0.Signal<string>;
3684
+ constructor(zoomService: TicketMapZoomService);
3685
+ zoomIn(): void;
3686
+ zoomOut(): void;
3687
+ resetZoom(): void;
3688
+ fitToContainer(): void;
3689
+ handleZoomAction(action: string): void;
3690
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomControlsComponent, never>;
3691
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapZoomControlsComponent, "ticket-map-zoom-controls", never, {}, {}, never, never, true, never>;
3692
+ }
3693
+
3694
+ declare class PerformanceTicketMapComponent implements OnDestroy, AfterViewInit {
3695
+ private platformId;
3696
+ protected bookingDataService: PerformanceBookingDataService;
3697
+ protected feedbackModalService: FeedbackModalService;
3698
+ protected selectionService: TicketSelectionService;
3699
+ protected zoomService: TicketMapZoomService;
3700
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3701
+ needsLoginError: EventEmitter<any>;
3702
+ readOnly: boolean;
3703
+ needsLogin: boolean;
3704
+ isLoggedIn: boolean;
3705
+ stageComponent?: StageComponent;
3706
+ protected tooltipData: i0.WritableSignal<TicketMapTooltipData | null>;
3707
+ private stageReady;
3708
+ private autoFitDone;
3709
+ private resizeObserver?;
3710
+ constructor(platformId: object, bookingDataService: PerformanceBookingDataService, feedbackModalService: FeedbackModalService, selectionService: TicketSelectionService, zoomService: TicketMapZoomService);
3711
+ protected get isBrowser(): boolean;
3712
+ ngAfterViewInit(): void;
3713
+ private setupResizeObserver;
3714
+ private syncStageToContainer;
3715
+ ngOnDestroy(): void;
3716
+ private getInternalPointer;
3717
+ protected selectHallFloor(floorId: number): void;
3718
+ protected handleStageClick(konvaEvent: any): void;
3719
+ protected handleStageMouseMove(konvaEvent: any): void;
3720
+ protected handleStageMouseLeave(): void;
3721
+ protected handleWheel(konvaEvent: any): void;
3722
+ protected trackByElementId(_index: number, item: ElementRenderData): number;
3723
+ protected trackByFloorId(_index: number, floor: HallFloorOption): HallFloorOption;
3724
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceTicketMapComponent, never>;
3725
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceTicketMapComponent, "performance-ticket-map", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "needsLogin": { "alias": "needsLogin"; "required": false; }; "isLoggedIn": { "alias": "isLoggedIn"; "required": false; }; }, { "selectionChange": "selectionChange"; "needsLoginError": "needsLoginError"; }, never, never, true, never>;
3726
+ }
3727
+
3728
+ declare class TicketMapPriceZonesComponent {
3729
+ title: string;
3730
+ protected bookingDataService: PerformanceBookingDataService;
3731
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapPriceZonesComponent, never>;
3732
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapPriceZonesComponent, "ticket-map-price-zones", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, never, true, never>;
3733
+ }
3734
+
3735
+ declare class TicketMapProductSelectionItemComponent {
3736
+ protected selectionService: TicketSelectionService;
3737
+ product: Product;
3738
+ constructor(selectionService: TicketSelectionService);
3739
+ get quantity(): number;
3740
+ get firstImage(): string | undefined;
3741
+ increment(): void;
3742
+ decrement(): void;
3743
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapProductSelectionItemComponent, never>;
3744
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapProductSelectionItemComponent, "ticket-map-product-selection-item", never, { "product": { "alias": "product"; "required": true; }; }, {}, never, never, true, never>;
3745
+ }
3746
+
3747
+ declare class TIcketMapProductSelectionComponent {
3748
+ private bookingDataService;
3749
+ readonly products: i0.Signal<tickera_angular_components.Product[]>;
3750
+ static ɵfac: i0.ɵɵFactoryDeclaration<TIcketMapProductSelectionComponent, never>;
3751
+ static ɵcmp: i0.ɵɵComponentDeclaration<TIcketMapProductSelectionComponent, "ticket-map-product-selection", never, {}, {}, never, never, true, never>;
3752
+ }
3753
+
3754
+ declare class TicketMapTotalsComponent {
3755
+ protected bookingDataService: PerformanceBookingDataService;
3756
+ protected selectionDetailsService: TicketSelectionDetailsService;
3757
+ protected selectionDiscountService: TicketSelectionDiscountService;
3758
+ protected selectionTotalsService: TicketSelectionTotalsService;
3759
+ protected selectionService: TicketSelectionService;
3760
+ private activatedRoute;
3761
+ title: string;
3762
+ buttonText: string;
3763
+ loadingButtonText: string;
3764
+ isLoading: boolean;
3765
+ onPurchaseClick: EventEmitter<void>;
3766
+ constructor(bookingDataService: PerformanceBookingDataService, selectionDetailsService: TicketSelectionDetailsService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, activatedRoute: ActivatedRoute);
3767
+ get serviceFee(): number;
3768
+ get performanceId(): number;
3769
+ get selectedTicketIds(): number[];
3770
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapTotalsComponent, never>;
3771
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapTotalsComponent, "ticket-map-totals", never, { "title": { "alias": "title"; "required": false; }; "buttonText": { "alias": "buttonText"; "required": false; }; "loadingButtonText": { "alias": "loadingButtonText"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; }, { "onPurchaseClick": "onPurchaseClick"; }, never, never, true, never>;
3772
+ }
3773
+
3774
+ declare class TicketMapWrapperComponent {
3775
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3776
+ needsLoginError: EventEmitter<any>;
3777
+ readOnly: boolean;
3778
+ needsLogin: boolean;
3779
+ isLoggedIn: boolean;
3780
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWrapperComponent, never>;
3781
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWrapperComponent, "ticket-map-wrapper", never, { "readOnly": { "alias": "readOnly"; "required": false; }; "needsLogin": { "alias": "needsLogin"; "required": false; }; "isLoggedIn": { "alias": "isLoggedIn"; "required": false; }; }, { "selectionChange": "selectionChange"; "needsLoginError": "needsLoginError"; }, never, never, true, never>;
3782
+ }
3783
+
3784
+ declare class SeatSelectionEmptySummaryComponent {
3785
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionEmptySummaryComponent, never>;
3786
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionEmptySummaryComponent, "seat-selection-empty-summary", never, {}, {}, never, never, true, never>;
3787
+ }
3788
+
3789
+ declare class SeatSelectionSummaryComponent {
3790
+ protected selectionService: TicketSelectionService;
3791
+ title: string;
3792
+ clearButtonText: string;
3793
+ constructor(selectionService: TicketSelectionService);
3794
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryComponent, never>;
3795
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryComponent, "seat-selection-summary", never, { "title": { "alias": "title"; "required": false; }; "clearButtonText": { "alias": "clearButtonText"; "required": false; }; }, {}, never, never, true, never>;
3796
+ }
3797
+
3798
+ declare class SeatSelectionSummaryItemComponent {
3799
+ protected selectionService: TicketSelectionService;
3800
+ item: PerformanceTicket;
3801
+ constructor(selectionService: TicketSelectionService);
3802
+ getItemTypeIcon: (ticket: PerformanceTicket) => string;
3803
+ removeItem(ticket: PerformanceTicket): void;
3804
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryItemComponent, never>;
3805
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryItemComponent, "seat-selection-summary-item", never, { "item": { "alias": "item"; "required": true; }; }, {}, never, never, true, never>;
3806
+ }
3807
+
3808
+ declare class ConfirmationOrderModalComponent {
3809
+ private confirmationOrderModalService;
3810
+ private selectionDiscountService;
3811
+ private selectionTotalsService;
3812
+ private selectionService;
3813
+ private bookingDataService;
3814
+ modalTitle: string;
3815
+ confirmButtonText: string;
3816
+ confirmButtonTextLoading: string;
3817
+ loading: boolean;
3818
+ onConfirm: EventEmitter<any>;
3819
+ constructor(confirmationOrderModalService: ConfirmationOrderModalService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, bookingDataService: PerformanceBookingDataService);
3820
+ get isOpen(): i0.WritableSignal<boolean>;
3821
+ get selectedCount(): number;
3822
+ get serviceFee(): number;
3823
+ get subtotalValue(): number;
3824
+ get ticketSubtotal(): number;
3825
+ get productSubtotal(): number;
3826
+ get productCount(): number;
3827
+ get totalValue(): number;
3828
+ get totalDiscounted(): number | null;
3829
+ get coupon(): tickera_angular_components.Coupon | null;
3830
+ get corporateBond(): tickera_angular_components.CorporateBond | null;
3831
+ get giftBond(): tickera_angular_components.GiftBondPurchase | null;
3832
+ onClose(): void;
3833
+ confirmOrder(): void;
3834
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalComponent, never>;
3835
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmationOrderModalComponent, "confirmation-order-modal", never, { "modalTitle": { "alias": "modalTitle"; "required": false; }; "confirmButtonText": { "alias": "confirmButtonText"; "required": false; }; "confirmButtonTextLoading": { "alias": "confirmButtonTextLoading"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, { "onConfirm": "onConfirm"; }, never, never, true, never>;
3836
+ }
3837
+
3838
+ declare class OrderInformationComponent {
3839
+ readonly transloco: TranslocoService;
3840
+ private readonly toastService;
3841
+ order: Order;
3842
+ showPayButton: boolean;
3843
+ createMpPreference?: (order: Order) => Observable<MercadoPagoPreference>;
3844
+ paymentLinkCreated: EventEmitter<MercadoPagoPreference>;
3845
+ isLoading: boolean;
3846
+ constructor(transloco: TranslocoService, toastService: ToastService);
3847
+ get showMpButton(): boolean;
3848
+ payWithMercadoPago(): void;
3849
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderInformationComponent, never>;
3850
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderInformationComponent, "order-information", never, { "order": { "alias": "order"; "required": true; }; "showPayButton": { "alias": "showPayButton"; "required": false; }; "createMpPreference": { "alias": "createMpPreference"; "required": false; }; }, { "paymentLinkCreated": "paymentLinkCreated"; }, never, never, true, never>;
3851
+ }
3852
+
3853
+ declare class OrderStatusBadgeComponent {
3854
+ protected transloco: TranslocoService;
3855
+ order: Order | RecentOrder;
3856
+ size: BadgeSize;
3857
+ constructor(transloco: TranslocoService);
3858
+ protected get statusColors(): {
3859
+ text: string;
3860
+ bg: string;
3861
+ };
3862
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderStatusBadgeComponent, never>;
3863
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderStatusBadgeComponent, "order-status-badge", never, { "order": { "alias": "order"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3864
+ }
3865
+
3866
+ declare class OrderItemTypeBadgeComponent {
3867
+ protected transloco: TranslocoService;
3868
+ item: OrderItem;
3869
+ size: BadgeSize;
3870
+ constructor(transloco: TranslocoService);
3871
+ protected get statusColors(): {
3872
+ text: string;
3873
+ bg: string;
3874
+ };
3875
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemTypeBadgeComponent, never>;
3876
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemTypeBadgeComponent, "order-item-type-badge", never, { "item": { "alias": "item"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3877
+ }
3878
+
3879
+ declare class OrderItemsComponent {
3880
+ private ticketQrModalService;
3881
+ order: Order;
3882
+ constructor(ticketQrModalService: TicketQrModalService);
3883
+ protected get orderItems(): Order['order_items'];
3884
+ protected get products(): Order['order_items'];
3885
+ protected get tickets(): Order['order_items'];
3886
+ protected get giftBonds(): Order['order_items'];
3887
+ protected get corporateBonds(): Order['order_items'];
3888
+ protected get showActionColumn(): boolean;
3889
+ protected itemTotal(quantity: number, price: number): number;
3890
+ protected hasDiscount(): boolean;
3891
+ protected get totals(): {
3892
+ giftBonds: number;
3893
+ corporateBonds: number;
3894
+ products: number;
3895
+ tickets: number;
3896
+ };
3897
+ openTicketQr(ticketUuid: string, description: string): void;
3898
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemsComponent, never>;
3899
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemsComponent, "order-items", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3900
+ }
3901
+
3902
+ declare class OrderDiscountAppliedComponent {
3903
+ order: Order;
3904
+ protected get discountInfo(): OrderDiscountInfo;
3905
+ protected get hasDiscount(): boolean;
3906
+ protected get discountPct(): number | null;
3907
+ protected get badgeColors(): {
3908
+ text: string;
3909
+ bg: string;
3910
+ };
3911
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderDiscountAppliedComponent, never>;
3912
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderDiscountAppliedComponent, "order-discount-applied", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3913
+ }
3914
+
3915
+ interface BillingField {
3916
+ label: string;
3917
+ value: string | number | null;
3918
+ }
3919
+ declare class OrderBillingInfoComponent {
3920
+ order: Order;
3921
+ protected get fields(): BillingField[];
3922
+ protected get hasFields(): boolean;
3923
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderBillingInfoComponent, never>;
3924
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderBillingInfoComponent, "order-billing-info", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3925
+ }
3926
+
3927
+ declare class OrderTransactionsComponent {
3928
+ private transactionDetailsModalService;
3929
+ order: Order;
3930
+ constructor(transactionDetailsModalService: OrderTransactionDetailsModalService);
3931
+ protected get transactions(): Transaction[];
3932
+ protected get hasTransactions(): boolean;
3933
+ protected get txColors(): Record<string, {
3934
+ text: string;
3935
+ bg: string;
3936
+ }>;
3937
+ protected openTransaction(transaction: Transaction): void;
3938
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionsComponent, never>;
3939
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderTransactionsComponent, "order-transactions", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3940
+ }
3941
+
3942
+ declare class OrderTransactionDetailsModalComponent {
3943
+ private modalService;
3944
+ isOpen: WritableSignal<boolean> | null;
3945
+ transaction: Transaction | null;
3946
+ get modalIsOpen(): WritableSignal<boolean>;
3947
+ get selectedTransaction(): WritableSignal<Transaction | null>;
3948
+ protected get txColors(): Record<TransactionStatus, {
3949
+ text: string;
3950
+ bg: string;
3951
+ }>;
3952
+ protected get gatewayResponse(): string;
3953
+ onClose(): void;
3954
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionDetailsModalComponent, never>;
3955
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderTransactionDetailsModalComponent, "order-transaction-details-modal", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "transaction": { "alias": "transaction"; "required": false; }; }, {}, never, never, true, never>;
3956
+ }
3957
+
3958
+ declare class TicketQrComponent implements OnInit, OnDestroy {
3959
+ private ticketQrService;
3960
+ private platformId;
3961
+ ticketUuid: string;
3962
+ qrCanvas: ElementRef<HTMLCanvasElement>;
3963
+ loading: i0.WritableSignal<boolean>;
3964
+ error: i0.WritableSignal<boolean>;
3965
+ refreshing: i0.WritableSignal<boolean>;
3966
+ countdown: i0.WritableSignal<number>;
3967
+ private destroy$;
3968
+ private refreshTimeout;
3969
+ private countdownInterval;
3970
+ private isFetching;
3971
+ constructor(ticketQrService: TicketQrService, platformId: Object);
3972
+ ngOnInit(): void;
3973
+ ngOnDestroy(): void;
3974
+ private onVisibilityChange;
3975
+ private onFocus;
3976
+ private refreshFromReenter;
3977
+ retry(): void;
3978
+ private clearTimers;
3979
+ private fetchAndRender;
3980
+ private scheduleRefresh;
3981
+ private startCountdown;
3982
+ private renderQr;
3983
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrComponent, never>;
3984
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrComponent, "performance-ticket-qr", never, { "ticketUuid": { "alias": "ticketUuid"; "required": true; }; }, {}, never, never, true, never>;
3985
+ }
3986
+
3987
+ declare class TicketQrModalComponent {
3988
+ private ticketQrModalService;
3989
+ constructor(ticketQrModalService: TicketQrModalService);
3990
+ get isOpen(): i0.WritableSignal<boolean>;
3991
+ get ticketUuid(): i0.WritableSignal<string | null>;
3992
+ get ticketDescription(): i0.WritableSignal<string | null>;
3993
+ onClose(): void;
3994
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalComponent, never>;
3995
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrModalComponent, "ticket-qr-modal", never, {}, {}, never, never, true, never>;
3996
+ }
3997
+
3998
+ declare class VipBalanceCardComponent {
3999
+ card: VipCard | null;
4000
+ static ɵfac: i0.ɵɵFactoryDeclaration<VipBalanceCardComponent, never>;
4001
+ static ɵcmp: i0.ɵɵComponentDeclaration<VipBalanceCardComponent, "vip-balance-card", never, { "card": { "alias": "card"; "required": false; }; }, {}, never, never, true, never>;
4002
+ }
4003
+
4004
+ declare class VipCardStatusBadgeComponent {
4005
+ protected readonly tranloco: TranslocoService;
4006
+ card: VipCard;
4007
+ get statusColor(): BadgeColor;
4008
+ get statusTranslationKey(): string;
4009
+ static ɵfac: i0.ɵɵFactoryDeclaration<VipCardStatusBadgeComponent, never>;
4010
+ static ɵcmp: i0.ɵɵComponentDeclaration<VipCardStatusBadgeComponent, "vip-card-status-badge", never, { "card": { "alias": "card"; "required": true; }; }, {}, never, never, true, never>;
4011
+ }
4012
+
4013
+ declare class VipRechargeModalComponent {
4014
+ private fb;
4015
+ title: string;
4016
+ submitLabel: string;
4017
+ loading: boolean;
4018
+ minAmount: number;
4019
+ isOpen: WritableSignal<boolean>;
4020
+ closeModal: EventEmitter<void>;
4021
+ confirm: EventEmitter<{
4022
+ amount: number;
4023
+ }>;
4024
+ rechargeForm: FormGroup;
4025
+ constructor(fb: FormBuilder);
4026
+ onClose(): void;
4027
+ onSubmit(): void;
4028
+ static ɵfac: i0.ɵɵFactoryDeclaration<VipRechargeModalComponent, never>;
4029
+ static ɵcmp: i0.ɵɵComponentDeclaration<VipRechargeModalComponent, "vip-recharge-modal", never, { "title": { "alias": "title"; "required": false; }; "submitLabel": { "alias": "submitLabel"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "minAmount": { "alias": "minAmount"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; }, { "closeModal": "closeModal"; "confirm": "confirm"; }, never, never, true, never>;
4030
+ }
4031
+
4032
+ declare class VipTransactionsTableComponent {
4033
+ transactions: VipTransaction[];
4034
+ loading: boolean;
4035
+ typeLabel(type: VipTransactionType): string;
4036
+ static ɵfac: i0.ɵɵFactoryDeclaration<VipTransactionsTableComponent, never>;
4037
+ static ɵcmp: i0.ɵɵComponentDeclaration<VipTransactionsTableComponent, "vip-transactions-table", never, { "transactions": { "alias": "transactions"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, {}, never, never, true, never>;
4038
+ }
4039
+
4040
+ export { ADMIN_API_ROUTES, ALERT_ICONS, AdminSelectComponent, AdminService, ApiService, AppAlertComponent, AppBadgeComponent, AppBreadcumbComponent, AppButtonComponent, AppLinkButtonComponent, AppModalComponent, AsyncSelectComponent, AuditInformationComponent, BASE_BUTTON_CLASSES, BASE_INPUT_CLASSES, BUTTON_SIZES_CLASSES, BUTTON_VARIANT_CLASSES, BaseModalService, CITY_API_ENDPOINTS, COUNTRY_API_ENDPOINTS, CUSTOMERS_API_ROUTES, ChangePasswordFormComponent, ChangePasswordFormService, CitiesService, CitySelectComponent, ColorPickerComponent, ConfirmationOrderModalComponent, ConfirmationOrderModalService, CorporateBondStatus, CountrySelectComponent, CountryService, CouponApplicability, CouponDiscountType, CouponStatus, CreatorType, CustomerSelectComponent, CustomerService, DEFAULT_STAGE_CONFIG, DOCUMENT_TYPES_OPTIONS, DateInputComponent, DateService, DaySelectorGridComponent, DeleteConfirmationComponent, DeleteConfirmationService, DynamicTableComponent, ERROR_INPUT_CLASSES, EndDateGreaterThanStartValidator, FORM_ERROR_MESSAGES, FeedbackModalComponent, FeedbackModalService, FileType, FileUploadComponent, FileUploadPreviewComponent, FormEditorComponent, FormInputComponent, FormSelectComponent, FormTextareaComponent, GiftBondPurchaseStatus, GiftBondStatus, KONVA_SHAPE_MAPPINGS, LanguageSwitcherComponent, MembershipStatus, MinTodayValidator, MustMatchValidator, NumberInputComponent, ORDER_DISCOUNT_COLORS, ORDER_ITEM_TYPES_COLORS, ORDER_STATUS_COLORS, OrderBillingInfoComponent, OrderDiscountAppliedComponent, OrderInformationComponent, OrderItemType, OrderItemTypeBadgeComponent, OrderItemsComponent, OrderStatus, OrderStatusBadgeComponent, OrderTransactionDetailsModalComponent, OrderTransactionDetailsModalService, OrderTransactionsComponent, PAYMENT_METHODS_OPTIONS, PERFORMANCES_API_ROUTES, PERFORMANCE_STATUS_COLORS, PERFORMANCE_TICKET_STATUS_COLORS, PHONE_COUNTRIES, PRICE_ZONES_API_ROUTES, PRODUCTS_API_ROUTES, PRODUCT_CATEGORIES_API_ROUTES, PRODUCT_TAGS_API_ROUTES, PRODUCT_TYPES_API_ROUTES, PaymentMethod, PerformanceBookingDataService, PerformanceCardComponent, PerformanceCardListComponent, PerformanceMultiSelectComponent, PerformanceSelectComponent, PerformanceService, PerformanceStatus, PerformanceStatusBadgeComponent, PerformanceStepperComponent, PerformanceTicketMapComponent, PerformanceTicketStatus, PerformanceTicketStatusBadgeComponent, PerformancesListEventsService, PhoneInputComponent, PriceZoneEventService, PriceZoneFormModalService, PriceZoneSelectComponent, PriceZoneService, ProductCategoryService, ProductMultiSelectComponent, ProductSelectComponent, ProductService, ProductTagService, ProductTypeService, RoomMapElementOrientation, RoomMapElementType, SHOWS_API_ROUTES, SHOW_TYPE_COLORS, STATE_API_ENDPOINTS, SeatSelectionEmptySummaryComponent, SeatSelectionSummaryComponent, SeatSelectionSummaryItemComponent, SelectedDiscountCardType, ShowCardComponent, ShowCardSkeletonComponent, ShowMultiSelectComponent, ShowSelectComponent, ShowService, ShowType, ShowTypeBadgeComponent, ShowsFilterComponent, StateSelectComponent, StatesService, TICKERA_COMPONENTS_CONFIG, TICKET_ELEMENT_TYPES, TICKET_MAP_GRID_SIZE, TICKET_MAP_LAST_TICKETS_LIMIT, TICKET_MAP_TITLE_HEIGHT, TICKET_STATUS_COLORS, TICKET_STATUS_FILLS, TICKET_STATUS_LABELS, TIcketMapProductSelectionComponent, TRANSACTION_STATUS_COLORS, TextExpandableComponent, TickeraTranslocoLoader, TicketMapPriceZonesComponent, TicketMapProductSelectionItemComponent, TicketMapTotalsComponent, TicketMapWidgetComponent, TicketMapWidgetHeaderComponent, TicketMapWrapperComponent, TicketMapZoomControlsComponent, TicketMapZoomService, TicketQrComponent, TicketQrModalComponent, TicketQrModalService, TicketQrService, TicketSelectionDetailsService, TicketSelectionDiscountService, TicketSelectionService, TicketSelectionTotalsService, ToastService, ToggleSwitchComponent, TransactionStatus, VENUES_API_ROUTES, VIP_CARDS_API_ROUTES, VipBalanceCardComponent, VipCardService, VipCardStatus, VipCardStatusBadgeComponent, VipRechargeModalComponent, VipTransactionType, VipTransactionsTableComponent, ZonePriceItemComponent, ZonePriceListComponent, authInterceptor, drawChairIcon, drawHappyFace, drawRoundedRect, drawWheelchairIcon, findElementAtPosition, findTicketAtPosition, formatCitiesResponseToSelect, generateExitScene, generateHallwayScene, generateProductionAreaScene, generateSeatBlockScene, generateSeatBlockTicketScene, generateStageScene, generateStairScene, generateTableScene, generateTableTicketScene, generateUnavailableSpaceScene, generateZoneScene, getBrowserLanguage, getCustomerFullname, getItemTypeIcon, getOrderDiscount, getStoredLanguage, numberToLetter, parseJsonToFormDataAdvanced, phoneCountryFlag, processElementsToRenderData, provideTickeraComponents, resolveLanguage, setStoredLanguage, tintColor, transformImageToFile, transformUrlParams };
4041
+ export type { ActivateVipCardParams, Admin, AdminsResponse, AsyncSelectConfig, Auditable, BadgeColor, BadgeSize, BreadcrumbStep, BreadcrumbTheme, CitiesResponse, City, CityResponse, CommonFetchAllParams, CorporateBond, CorporateBondCode, CorporateBondResponse, CountriesResponse, Country, CountryResponse, Coupon, CouponResponse, Customer, CustomerResponse, CustomersResponse, DailyPerformanceHall, DailyPerformanceItem, DailyPerformancePriceZone, DailyPerformanceShow, DailyPerformanceVenue, DailyPerformancesResponse, DeleteConfirmationOpen, DragDropEvent, DynamicTableHeader, ElementPropertiesTab, ElementRenderData, FeedbackModalElement, FeedbackModalType, FetchCitiesParams, FetchDailyPerformancesParams, FetchProductCategoriesParams, FetchProductTagsParams, FetchProductTypesParams, FetchProductsParams, FetchShowCategoriesParams, FetchShowGendersParams, FetchShowsParams, FetchVipCardsParams, FileUploadConfig, FindAllPerformancesParams, FindAllPriceZoneParams, GiftBond, GiftBondImage, GiftBondPurchase, GiftBondPurchaseResponse, GiftBondPurchasesResponse, GiftBondResponse, GiftBondsResponse, Hall, HallFloor, HallFloorOption, KonvaShapeConfig, Membership, MercadoPagoPreference, ModalSize, NumerationConfig, Order, OrderBillingInfo, OrderDiscountInfo, OrderDiscountType, OrderItem, OrderResponse, OrdersResponse, Performance, PerformanceAvailableDay, PerformanceBookingDataResponse, PerformanceResponse, PerformanceTicket, PerformancesAvailableDaysResponse, PerformancesResponseInterface, PhoneCountry, PriceZone, PriceZoneResponse, PriceZoneUpdateResponse, PriceZonesResponseInterface, Product, ProductCategoriesResponse, ProductCategory, ProductCategoryResponse, ProductImage, ProductResponse, ProductTag, ProductTagResponse, ProductTagsResponse, ProductTaxonomy, ProductType, ProductTypeResponse, ProductTypesResponse, ProductsResponseInterface, QrTokenData, QrTokenResponse, RecentOrder, RecentRoomMap, ReservePerformanceDto, RoomMap, RoomMapBaseElement, RoomMapCanvasConfiguration, RoomMapCanvasElement, RoomMapChairPosition, RoomMapElementTemplate, RoomMapExitElement, RoomMapGridPosition, RoomMapPosition, RoomMapProductionAreaElement, RoomMapSeatDisplayState, RoomMapSeatElement, RoomMapSeatState, RoomMapSize, RoomMapStageElement, RoomMapTableElement, RoomMapUnavailableElement, RoomMapZoneElement, SelectOption, SelectedDiscountCard, Show, ShowCategoriesResponse, ShowCategory, ShowCategoryResponse, ShowGender, ShowGenderResponse, ShowGendersResponse, ShowImage, ShowResponse, ShowsResponseInterface, State, StateResponse, StatesResponse, TextFontSize, TickeraComponentsConfig, TicketMapSeatPosition, TicketMapTableChairPosition, TicketMapTooltipData, TicketMapZoneQuantityState, TicketMapZoomConfig, Transaction, UploadedFile, ValidateCorporateBondResponse, ValidateCouponResponse, ValidateGiftBondResponse, Venue, VenueImage, VipCard, VipCardResponse, VipCardsResponse, VipCategorySnapshot, VipOrderResponse, VipTransaction, VipTransactionsResponse };