tickera-angular-components 0.0.1-dev.10 → 0.0.1-dev.100

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';
8
+ import { ShapeConfig, Shape } from 'konva/lib/Shape';
9
+ import { Context } from 'konva/lib/Context';
6
10
  import { ValidatorFn, FormGroup, FormBuilder, ControlValueAccessor, NgControl, Validator, AbstractControl, FormControl } from '@angular/forms';
7
11
  import { HttpClient, HttpInterceptorFn } from '@angular/common/http';
12
+ import { Stage } from 'konva/lib/Stage';
8
13
  import { Toolbar, Editor } from 'ngx-editor';
9
- import { Router } from '@angular/router';
14
+ import { Router, ActivatedRoute } from '@angular/router';
15
+ import { StageComponent } from 'ng2-konva';
16
+ import * as tickera_angular_components from 'tickera-angular-components';
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,14 @@ 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
- }
267
-
268
- interface RoomMapStageElement extends RoomMapBaseElement {
269
- type: RoomMapElementType.STAGE;
270
- stageName?: string;
271
- orientation: RoomMapElementOrientation;
272
- isMainStage: boolean;
273
- }
274
-
275
- interface RoomMapTableElement extends RoomMapBaseElement {
276
- type: RoomMapElementType.TABLE;
277
- tableNumber?: string;
278
- capacity: number;
279
- shape: 'round' | 'rectangular' | 'square';
280
- }
281
-
282
- interface RoomMapUnavailableElement extends RoomMapBaseElement {
283
- type: RoomMapElementType.UNAVAILABLE_SPACE;
284
- reason?: string;
285
- }
286
-
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;
293
- }
169
+ declare const BUTTON_VARIANT_CLASSES: Record<string, string>;
170
+ declare const BASE_BUTTON_CLASSES = "btn";
171
+ declare const BUTTON_SIZES_CLASSES: Record<string, string>;
294
172
 
295
- type RoomMapCanvasElement = RoomMapSeatElement | RoomMapTableElement | RoomMapZoneElement | RoomMapExitElement | RoomMapStageElement | RoomMapProductionAreaElement | RoomMapUnavailableElement;
173
+ declare const FORM_ERROR_MESSAGES: Record<string, string>;
296
174
 
297
- type RoomMapSeatDisplayState = 'normal' | 'accessible' | 'non_existent';
175
+ declare const BASE_INPUT_CLASSES: string;
176
+ declare const ERROR_INPUT_CLASSES: string;
298
177
 
299
178
  interface SelectOption {
300
179
  value: any;
@@ -302,7 +181,7 @@ interface SelectOption {
302
181
  disabled?: boolean;
303
182
  }
304
183
 
305
- interface Admin {
184
+ interface Admin extends Auditable {
306
185
  id: number;
307
186
  username: string;
308
187
  email: string;
@@ -318,16 +197,17 @@ interface Admin {
318
197
  reset_password_expires: Date;
319
198
  email_verified_at: Date;
320
199
  last_login: Date;
321
- created_at: Date;
322
- updated_at: Date;
323
- deleted_at: Date;
324
200
  }
325
201
 
326
202
  interface Auditable {
327
203
  created_at: Date;
328
204
  updated_at: Date;
205
+ deleted_at?: Date | null;
329
206
  is_published?: boolean;
330
207
  published_at?: Date;
208
+ published_by?: number;
209
+ deleted_by?: number;
210
+ deleted_by_admin?: Admin;
331
211
  created_by_admin?: Admin;
332
212
  updated_by_admin?: Admin;
333
213
  published_by_admin?: Admin;
@@ -370,20 +250,20 @@ interface AdminsResponse {
370
250
  }
371
251
 
372
252
  interface Country {
373
- id: string;
253
+ id: number;
374
254
  name: string;
375
255
  iso2: string;
376
256
  }
377
257
 
378
258
  interface State {
379
- id: string;
259
+ id: number;
380
260
  name: string;
381
261
  country_id: number;
382
262
  country?: Country;
383
263
  }
384
264
 
385
265
  interface City {
386
- id: string;
266
+ id: number;
387
267
  name: string;
388
268
  search_text: string | null;
389
269
  state_id: number;
@@ -422,27 +302,21 @@ interface Venue extends Auditable {
422
302
  images: VenueImage[];
423
303
  }
424
304
 
425
- interface HallFloor {
305
+ interface HallFloor extends Auditable {
426
306
  id: number;
427
307
  name: string;
428
308
  level: number;
429
309
  max_capacity: number;
430
310
  description: string;
431
311
  hall_id: number;
432
- created_at: Date;
433
- updated_at: Date;
434
- deleted_at: Date | null;
435
312
  }
436
313
 
437
- interface Hall {
314
+ interface Hall extends Auditable {
438
315
  id: number;
439
316
  name: string;
440
317
  venue_id: number;
441
318
  venue?: Venue;
442
319
  hall_floors?: HallFloor[];
443
- created_at: Date;
444
- updated_at: Date;
445
- deleted_at: Date | null;
446
320
  }
447
321
 
448
322
  interface CountryResponse {
@@ -496,7 +370,7 @@ interface FetchCitiesParams {
496
370
  search?: string;
497
371
  }
498
372
 
499
- interface Customer {
373
+ interface Customer extends Auditable {
500
374
  username: string;
501
375
  email: string;
502
376
  mobile: string;
@@ -527,9 +401,6 @@ interface Customer {
527
401
  membership_expires_at: Date | null;
528
402
  id: number;
529
403
  is_active: boolean;
530
- created_at: Date;
531
- updated_at: Date;
532
- deleted_at: Date | null;
533
404
  }
534
405
 
535
406
  interface CustomerResponse {
@@ -547,76 +418,342 @@ interface CustomersResponse {
547
418
  message: string;
548
419
  }
549
420
 
550
- type ShowType = 'play' | 'musical' | 'concert' | 'dance' | 'opera' | 'comedy' | 'other';
421
+ interface BreadcrumbStep {
422
+ label: string;
423
+ href?: string;
424
+ icon?: string;
425
+ }
551
426
 
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;
427
+ declare enum OrderItemType {
428
+ TICKET = "TICKET",
429
+ PRODUCT = "PRODUCT",
430
+ GIFT_BOND = "GIFT_BOND"
564
431
  }
565
432
 
566
- interface Show extends Auditable {
567
- id: number;
568
- title: string;
569
- 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;
433
+ declare enum OrderStatus {
434
+ ON_HOLD = "on-hold",
435
+ PENDING_PAYMENT = "pending-payment",
436
+ PROCESSING = "processing",
437
+ COMPLETED = "completed",
438
+ FAILED = "failed",
439
+ CANCELLED = "cancelled",
440
+ REFUNDED = "refunded"
584
441
  }
585
442
 
586
- interface ShowResponse {
443
+ declare enum CreatorType {
444
+ ADMIN = "admin",
445
+ CUSTOMER = "customer"
446
+ }
447
+
448
+ declare enum PaymentMethod {
449
+ PAYROLL = "payroll",
450
+ CASH = "cash",
451
+ DATAFONO = "datafono",
452
+ INTERNAL_EXCHANGE = "internal_exchange",
453
+ CLIENT_EXCHANGE = "client_exchange",
454
+ MERCADO_PAGO = "mercado_pago"
455
+ }
456
+
457
+ declare enum RoomMapElementType {
458
+ SEAT_BLOCK = "seat_block",
459
+ TABLE = "table",
460
+ ZONE = "zone",
461
+ EXIT = "exit",
462
+ STAGE = "stage",
463
+ PRODUCTION_AREA = "production_area",
464
+ UNAVAILABLE_SPACE = "unavailable_space",
465
+ STAIR = "stair",
466
+ HALLWAY = "hallway"
467
+ }
468
+
469
+ interface RoomMapPosition {
470
+ x: number;
471
+ y: number;
472
+ }
473
+
474
+ interface RoomMapSize {
475
+ width: number;
476
+ height: number;
477
+ }
478
+
479
+ interface RoomMapBaseElement {
480
+ id: string;
481
+ type: RoomMapElementType;
482
+ position: RoomMapPosition;
483
+ size: RoomMapSize;
484
+ rotation: number;
485
+ name?: string;
486
+ isLocked: boolean;
487
+ isVisible: boolean;
488
+ zIndex: number;
489
+ }
490
+
491
+ interface RoomMapExitElement extends RoomMapBaseElement {
492
+ type: RoomMapElementType.EXIT;
493
+ exitName?: string;
494
+ exitType: 'emergency' | 'regular';
495
+ width: number;
496
+ }
497
+
498
+ interface RoomMapProductionAreaElement extends RoomMapBaseElement {
499
+ type: RoomMapElementType.PRODUCTION_AREA;
500
+ areaName?: string;
501
+ areaType: 'lighting' | 'sound' | 'backstage' | 'orchestra' | 'custom';
502
+ }
503
+
504
+ interface RoomMapSeatElement extends RoomMapBaseElement {
505
+ type: RoomMapElementType.SEAT_BLOCK;
506
+ seatNumber?: string;
507
+ isAvailable: boolean;
508
+ priceCategory?: string;
509
+ }
510
+
511
+ declare enum RoomMapElementOrientation {
512
+ TOP = "top",
513
+ RIGHT = "right",
514
+ BOTTOM = "bottom",
515
+ LEFT = "left",
516
+ CENTER = "center"
517
+ }
518
+
519
+ interface RoomMapStageElement extends RoomMapBaseElement {
520
+ type: RoomMapElementType.STAGE;
521
+ stageName?: string;
522
+ orientation: RoomMapElementOrientation;
523
+ isMainStage: boolean;
524
+ }
525
+
526
+ interface RoomMapTableElement extends RoomMapBaseElement {
527
+ type: RoomMapElementType.TABLE;
528
+ tableNumber?: string;
529
+ capacity: number;
530
+ shape: 'round' | 'rectangular' | 'square';
531
+ }
532
+
533
+ interface RoomMapUnavailableElement extends RoomMapBaseElement {
534
+ type: RoomMapElementType.UNAVAILABLE_SPACE;
535
+ reason?: string;
536
+ }
537
+
538
+ interface RoomMapZoneElement extends RoomMapBaseElement {
539
+ type: RoomMapElementType.ZONE;
540
+ zoneName: string;
541
+ zoneType: 'vip' | 'general' | 'premium' | 'balcony' | 'custom';
542
+ color: string;
543
+ capacity?: number;
544
+ }
545
+
546
+ type RoomMapCanvasElement = RoomMapSeatElement | RoomMapTableElement | RoomMapZoneElement | RoomMapExitElement | RoomMapStageElement | RoomMapProductionAreaElement | RoomMapUnavailableElement;
547
+
548
+ type RoomMapSeatDisplayState = 'normal' | 'accessible' | 'non_existent';
549
+
550
+ declare enum ShowType {
551
+ PLAY = "PLAY",
552
+ CONCERT = "CONCERT",
553
+ STAND_UP_COMEDY = "STAND_UP_COMEDY",
554
+ OPERA = "OPERA",
555
+ MUSICAL = "MUSICAL",
556
+ DANCE = "DANCE",
557
+ SPORT = "SPORT",
558
+ OTHER = "OTHER",
559
+ DEFAULT = "DEFAULT"
560
+ }
561
+
562
+ type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
563
+
564
+ type FeedbackModalType = 'loading' | 'success' | 'info' | 'warning' | 'error';
565
+
566
+ type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
567
+
568
+ type BadgeColor = 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
569
+
570
+ type BreadcrumbTheme = 'light' | 'dark';
571
+
572
+ type TextFontSize = 'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl';
573
+
574
+ interface FeedbackModalElement {
575
+ id: string;
576
+ type: FeedbackModalType;
577
+ title: string;
578
+ isOpen: WritableSignal<boolean>;
579
+ message?: string;
580
+ showHeader?: boolean;
581
+ showCloseButton?: boolean;
582
+ showTitle?: boolean;
583
+ closeModal?: void;
584
+ }
585
+
586
+ declare enum FileType {
587
+ IMAGE = "image",
588
+ PDF = "pdf",
589
+ EXCEL = "excel",
590
+ WORD = "word",
591
+ TEXT = "text",
592
+ DEFAULT = "default"
593
+ }
594
+
595
+ declare enum CouponApplicability {
596
+ GENERAL = "GENERAL",
597
+ CUSTOMER_EMAIL = "CUSTOMER_EMAIL",
598
+ MEMBERSHIP_TYPE = "MEMBERSHIP_TYPE",
599
+ SHOWS = "SHOWS",
600
+ PERFORMANCES = "PERFORMANCES"
601
+ }
602
+
603
+ declare enum CouponDiscountType {
604
+ PERCENTAGE = "PERCENTAGE",
605
+ FIXED = "FIXED"
606
+ }
607
+
608
+ declare enum CouponStatus {
609
+ ACTIVE = "ACTIVE",
610
+ INACTIVE = "INACTIVE",
611
+ EXPIRED = "EXPIRED",
612
+ CONSUMED = "CONSUMED"
613
+ }
614
+
615
+ declare enum CorporateBondStatus {
616
+ ACTIVE = "ACTIVE",
617
+ INACTIVE = "INACTIVE",
618
+ EXPIRED = "EXPIRED",
619
+ CONSUMED = "CONSUMED"
620
+ }
621
+
622
+ declare enum PerformanceStatus {
623
+ SCHEDULED = "scheduled",
624
+ OPEN = "open",
625
+ CLOSED = "closed",
626
+ CANCELLED = "cancelled",
627
+ COMPLETED = "completed",
628
+ POSTPONED = "postponed"
629
+ }
630
+
631
+ declare enum PerformanceTicketStatus {
632
+ AVAILABLE = "available",
633
+ RESERVED = "reserved",
634
+ SOLD = "sold",
635
+ BLOCKED = "blocked"
636
+ }
637
+
638
+ declare enum GiftBondStatus {
639
+ ACTIVE = "ACTIVE",
640
+ INACTIVE = "INACTIVE"
641
+ }
642
+
643
+ declare enum GiftBondPurchaseStatus {
644
+ AVAILABLE = "AVAILABLE",
645
+ REDEEMED = "REDEEMED",
646
+ EXPIRED = "EXPIRED",
647
+ CANCELLED = "CANCELLED"
648
+ }
649
+
650
+ declare enum TransactionStatus {
651
+ PENDING = "PENDING",
652
+ APPROVED = "APPROVED",
653
+ REJECTED = "REJECTED",
654
+ ERROR = "ERROR"
655
+ }
656
+
657
+ interface FetchProductCategoriesParams {
658
+ name?: string;
659
+ slug?: string;
660
+ page?: number;
661
+ limit?: number;
662
+ search?: string;
663
+ }
664
+
665
+ interface ProductCategory extends Auditable {
666
+ id: number;
667
+ name: string;
668
+ slug: string;
669
+ }
670
+
671
+ interface ProductCategoriesResponse {
587
672
  statusCode: number;
588
- data: Show;
673
+ data: {
674
+ categories: ProductCategory[];
675
+ total: number;
676
+ };
589
677
  message: string;
590
678
  }
591
679
 
592
- interface ShowsResponseInterface {
680
+ interface ProductCategoryResponse {
681
+ statusCode: number;
682
+ data: ProductCategory;
683
+ message: string;
684
+ }
685
+
686
+ interface FetchProductTagsParams {
687
+ name?: string;
688
+ slug?: string;
689
+ page?: number;
690
+ limit?: number;
691
+ search?: string;
692
+ }
693
+
694
+ interface ProductTag extends Auditable {
695
+ id: number;
696
+ name: string;
697
+ slug: string;
698
+ }
699
+
700
+ interface ProductTagResponse {
701
+ statusCode: number;
702
+ data: ProductTag;
703
+ message: string;
704
+ }
705
+
706
+ interface ProductTagsResponse {
593
707
  statusCode: number;
594
708
  data: {
595
- shows: Show[];
709
+ tags: ProductTag[];
596
710
  total: number;
597
711
  };
598
712
  message: string;
599
713
  }
600
714
 
601
- interface FetchShowsParams {
715
+ interface FetchProductTypesParams {
716
+ name?: string;
717
+ slug?: string;
602
718
  page?: number;
603
719
  limit?: number;
604
720
  search?: string;
605
- date?: string;
606
721
  }
607
722
 
608
- interface PriceZone {
723
+ interface ProductType extends Auditable {
609
724
  id: number;
610
725
  name: string;
611
- color: string;
612
- normal_price: number | null;
613
- is_active: boolean;
614
- elements: any[];
615
- room_map_id: number | null;
726
+ slug: string;
727
+ }
728
+
729
+ interface ProductTypeResponse {
730
+ statusCode: number;
731
+ data: ProductType;
732
+ message: string;
733
+ }
734
+
735
+ interface ProductTypesResponse {
736
+ statusCode: number;
737
+ data: {
738
+ types: ProductType[];
739
+ total: number;
740
+ };
741
+ message: string;
742
+ }
743
+
744
+ interface ProductImage {
745
+ id: number;
746
+ path: string;
747
+ full_url: string;
748
+ original_name: string;
749
+ extension: string;
750
+ size: number;
751
+ mime_type: string;
752
+ width: number;
753
+ height: number;
754
+ product_id: number;
755
+ product: Product;
616
756
  created_at: Date;
617
- updated_at: Date;
618
- created_by: number;
619
- updated_by: number;
620
757
  }
621
758
 
622
759
  interface Product extends Auditable {
@@ -630,11 +767,35 @@ interface Product extends Auditable {
630
767
  sku?: string;
631
768
  is_limited_edition: boolean;
632
769
  is_active: boolean;
633
- deleted_at: Date | null;
634
- categories?: any[];
635
- tags?: any[];
636
- types?: any[];
637
- images?: any[];
770
+ deleted_at: Date | null;
771
+ categories?: ProductCategory[];
772
+ tags?: ProductTag[];
773
+ types?: ProductType[];
774
+ images?: ProductImage[];
775
+ }
776
+
777
+ interface ShowImage {
778
+ id: number;
779
+ path: string;
780
+ full_url: string;
781
+ original_name: string;
782
+ extension: string;
783
+ size: number;
784
+ mime_type: string;
785
+ width: number;
786
+ height: number;
787
+ show_id: number;
788
+ created_at: Date;
789
+ }
790
+
791
+ interface PriceZone extends Auditable {
792
+ id: number;
793
+ name: string;
794
+ color: string;
795
+ normal_price: number | null;
796
+ is_active: boolean;
797
+ elements: any[];
798
+ room_map_id: number | null;
638
799
  }
639
800
 
640
801
  interface NumerationConfig {
@@ -672,7 +833,7 @@ interface RoomMapElementTemplate {
672
833
  price_zone?: PriceZone;
673
834
  }
674
835
 
675
- interface RoomMap {
836
+ interface RoomMap extends Auditable {
676
837
  id: number;
677
838
  name: string;
678
839
  canvas_settings: {
@@ -688,8 +849,6 @@ interface RoomMap {
688
849
  related_product_ids: number[];
689
850
  products?: Product[];
690
851
  venue_name?: string;
691
- created_at: Date;
692
- updated_at: Date;
693
852
  }
694
853
 
695
854
  interface RoomMapCanvasConfiguration {
@@ -731,7 +890,7 @@ interface ElementPropertiesTab {
731
890
  elements_access: string[];
732
891
  }
733
892
 
734
- interface Performance {
893
+ interface Performance extends Auditable {
735
894
  id: number;
736
895
  start_time: Date | string;
737
896
  end_time: Date | string;
@@ -741,26 +900,83 @@ interface Performance {
741
900
  show?: Show;
742
901
  room_map: RoomMap;
743
902
  room_map_id: number;
744
- created_at: Date;
745
- updated_at: Date;
903
+ performance_tickets?: PerformanceTicket[];
904
+ can_delete?: boolean;
905
+ can_cancel?: boolean;
906
+ can_modify?: boolean;
907
+ can_reserve?: boolean;
746
908
  }
747
909
 
748
- interface PerformanceResponse {
910
+ interface ShowCategory extends Auditable {
911
+ id: number;
912
+ name: string;
913
+ slug: string;
914
+ }
915
+
916
+ interface ShowCategoriesResponse {
749
917
  statusCode: number;
750
- data: Performance;
918
+ data: {
919
+ categories: ShowCategory[];
920
+ total: number;
921
+ };
751
922
  message: string;
752
923
  }
753
924
 
754
- interface PerformancesResponseInterface {
925
+ interface ShowCategoryResponse {
926
+ statusCode: number;
927
+ data: ShowCategory;
928
+ message: string;
929
+ }
930
+
931
+ interface ShowGender extends Auditable {
932
+ id: number;
933
+ name: string;
934
+ slug: string;
935
+ }
936
+
937
+ interface ShowGenderResponse {
938
+ statusCode: number;
939
+ data: ShowGender;
940
+ message: string;
941
+ }
942
+
943
+ interface ShowGendersResponse {
755
944
  statusCode: number;
756
945
  data: {
757
- performances: Performance[];
946
+ genders: ShowGender[];
758
947
  total: number;
759
948
  };
760
949
  message: string;
761
950
  }
762
951
 
763
- interface OrderItem {
952
+ interface Show extends Auditable {
953
+ id: number;
954
+ title: string;
955
+ slug: string;
956
+ description: string;
957
+ duration_minutes: number | null;
958
+ type_of_costs: string | null;
959
+ service_fee: number | null;
960
+ show_type: ShowType | null;
961
+ pulep: string | null;
962
+ minimum_age: number | null;
963
+ show_gender?: ShowGender | null;
964
+ show_gender_id: number | null;
965
+ show_category?: ShowCategory | null;
966
+ show_category_id: number | null;
967
+ default_room_map?: RoomMap | null;
968
+ default_room_map_id: number | null;
969
+ is_published: boolean;
970
+ images: ShowImage[];
971
+ terms_and_conditions: string | null;
972
+ performances_quantity?: number;
973
+ performances?: Performance[];
974
+ next_performance?: Performance;
975
+ days_of_week?: number[];
976
+ unique_start_times?: string[];
977
+ }
978
+
979
+ interface OrderItem extends Auditable {
764
980
  id: number;
765
981
  order: Order;
766
982
  item_type: OrderItemType;
@@ -773,26 +989,21 @@ interface OrderItem {
773
989
  ticket_id?: number;
774
990
  ticket_uuid?: string;
775
991
  item: Show | Product;
776
- created_at: Date;
777
- updated_at: Date;
778
- created_by: number;
779
- updated_by: number;
780
992
  }
781
993
 
782
994
  interface Coupon extends Auditable {
783
995
  id: number;
784
996
  code: string;
997
+ billing_code: string;
785
998
  description?: string;
786
999
  discount_type: CouponDiscountType;
787
- discount_type_string?: string;
788
1000
  discount_value: number;
789
- discount_value_string?: string;
790
1001
  start_date: Date | null;
791
1002
  end_date: Date | null;
792
1003
  max_uses: number | null;
793
- max_uses_per_user?: number | null;
1004
+ max_uses_per_customer?: number | null;
794
1005
  uses_count: number;
795
- is_active: boolean;
1006
+ status: CouponStatus;
796
1007
  applicability_type: CouponApplicability;
797
1008
  applicable_customer_emails: string[] | null;
798
1009
  applicable_membership_types: string[] | null;
@@ -800,9 +1011,11 @@ interface Coupon extends Auditable {
800
1011
  applicable_performance_ids?: number[];
801
1012
  applicable_price_zone_ids?: number[];
802
1013
  applies_to_service_fee?: boolean;
1014
+ orders?: Order[];
1015
+ customers?: Customer[];
803
1016
  }
804
1017
 
805
- interface CorporateBond {
1018
+ interface CorporateBond extends Auditable {
806
1019
  id: number;
807
1020
  name: string;
808
1021
  description?: string;
@@ -813,10 +1026,6 @@ interface CorporateBond {
813
1026
  status: CorporateBondStatus;
814
1027
  value: number;
815
1028
  codes: CorporateBondCode[];
816
- created_at: Date;
817
- updated_at: Date;
818
- created_by: number;
819
- updated_by: number;
820
1029
  }
821
1030
 
822
1031
  interface CorporateBondCode {
@@ -846,38 +1055,168 @@ interface ValidateCorporateBondResponse {
846
1055
  statusCode: number;
847
1056
  }
848
1057
 
849
- interface Order {
1058
+ interface GiftBondImage {
1059
+ id: number;
1060
+ path: string;
1061
+ full_url: string;
1062
+ original_name: string;
1063
+ extension: string;
1064
+ size: number;
1065
+ mime_type: string;
1066
+ width: number;
1067
+ height: number;
1068
+ is_featured: boolean;
1069
+ gift_bond_id: number;
1070
+ gift_bond: GiftBond;
1071
+ created_at: Date;
1072
+ }
1073
+
1074
+ interface GiftBond extends Auditable {
1075
+ id: number;
1076
+ name: string;
1077
+ description?: string;
1078
+ slug?: string;
1079
+ status: GiftBondStatus;
1080
+ value: number;
1081
+ page_content?: string;
1082
+ images?: GiftBondImage[];
1083
+ }
1084
+
1085
+ interface GiftBondResponse {
1086
+ statusCode: number;
1087
+ data: GiftBond;
1088
+ message: string;
1089
+ }
1090
+
1091
+ interface GiftBondsResponse {
1092
+ statusCode: number;
1093
+ data: {
1094
+ gift_bonds: GiftBond[];
1095
+ total: number;
1096
+ };
1097
+ message: string;
1098
+ }
1099
+
1100
+ interface GiftBondPurchase extends Auditable {
1101
+ id: number;
1102
+ code: string;
1103
+ original_value: number;
1104
+ used_value: number | null;
1105
+ lost_value: number | null;
1106
+ beneficiary_email: string;
1107
+ beneficiary: Customer | null;
1108
+ personalized_message: string | null;
1109
+ status: GiftBondPurchaseStatus;
1110
+ purchased_at: string;
1111
+ expires_at: string;
1112
+ redeemed_at: string | null;
1113
+ gift_bond?: GiftBond;
1114
+ gift_bond_id: number;
1115
+ buyer_customer_id: number;
1116
+ buyer: Customer;
1117
+ order: Order | null;
1118
+ order_id: number;
1119
+ redemption_order_id: number | null;
1120
+ redemption_order: Order | null;
1121
+ }
1122
+
1123
+ interface ValidateGiftBondResponse {
1124
+ data: {
1125
+ valid: boolean;
1126
+ message: string;
1127
+ code: string;
1128
+ bond?: GiftBondPurchase;
1129
+ };
1130
+ statusCode: number;
1131
+ message: string;
1132
+ }
1133
+
1134
+ interface GiftBondPurchaseResponse {
1135
+ statusCode: number;
1136
+ data: GiftBondPurchase;
1137
+ message: string;
1138
+ }
1139
+
1140
+ interface GiftBondPurchasesResponse {
1141
+ statusCode: number;
1142
+ data: {
1143
+ items: GiftBondPurchase[];
1144
+ total: number;
1145
+ };
1146
+ message: string;
1147
+ }
1148
+
1149
+ interface Transaction extends Auditable {
1150
+ id: number;
1151
+ status: TransactionStatus;
1152
+ amount: number;
1153
+ currency: string;
1154
+ payment_gateway: string;
1155
+ gateway_transaction_id: string;
1156
+ gateway_response: any;
1157
+ order: Order;
1158
+ }
1159
+
1160
+ interface OrderBillingInfo {
1161
+ first_name: string;
1162
+ last_name: string;
1163
+ email: string;
1164
+ mobile: string;
1165
+ document_type: string;
1166
+ document_number: string;
1167
+ address: string;
1168
+ city_id: number;
1169
+ postal_code?: string;
1170
+ address_notes?: string;
1171
+ payment_method: PaymentMethod;
1172
+ terms_accepted: boolean;
1173
+ data_processing_accepted: boolean;
1174
+ comments?: string;
1175
+ products?: Array<{
1176
+ id: number;
1177
+ quantity: number;
1178
+ }>;
1179
+ }
1180
+
1181
+ interface Order extends Auditable {
850
1182
  id: number;
851
1183
  uuid: string;
852
- customer: Customer;
1184
+ customer_id: number | null;
1185
+ customer: Customer | null;
853
1186
  customer_name?: string;
854
1187
  customer_email?: string;
855
1188
  order_items: OrderItem[];
856
1189
  order_items_quantity?: number;
857
- discount_amount: number;
1190
+ transactions: Transaction[];
1191
+ sub_total: number;
1192
+ discount_amount: number | null;
858
1193
  total: number;
1194
+ sub_total_discounted: number | null;
859
1195
  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>;
1196
+ service_fee: number | null;
1197
+ service_fee_discounted: number | null;
1198
+ coupon: Coupon | null;
1199
+ coupon_snapshot: Record<string, any> | null;
868
1200
  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;
1201
+ show_snapshot: Record<string, any> | null;
1202
+ performance_snapshot: Record<string, any> | null;
1203
+ payment_method: PaymentMethod | null;
874
1204
  terms_accepted: boolean;
875
1205
  data_processing_accepted: boolean;
876
- billing_info: Partial<Customer>;
877
- comments: string;
878
- address_notes: string;
1206
+ billing_info: OrderBillingInfo | null;
1207
+ corporate_bond_code_snapshot: Record<string, any> | null;
1208
+ gift_bond_snapshot: Record<string, any> | null;
1209
+ corporate_bond_code: CorporateBondCode | null;
1210
+ corporate_bond_code_id: number | null;
1211
+ gift_bond: GiftBond | null;
1212
+ gift_bond_id: number | null;
1213
+ comments: string | null;
1214
+ address_notes: string | null;
1215
+ mercado_pago_preference_id: string;
879
1216
  created_by: number;
1217
+ created_by_type: CreatorType;
880
1218
  updated_by: number;
1219
+ updated_by_type: CreatorType;
881
1220
  }
882
1221
 
883
1222
  interface OrderResponse {
@@ -895,7 +1234,13 @@ interface OrdersResponse {
895
1234
  message: string;
896
1235
  }
897
1236
 
898
- interface PerformanceTicket {
1237
+ interface MercadoPagoPreference {
1238
+ id: string;
1239
+ init_point: string;
1240
+ sandbox_init_point: string;
1241
+ }
1242
+
1243
+ interface PerformanceTicket extends Auditable {
899
1244
  id: number;
900
1245
  uuid: string;
901
1246
  is_accessible: boolean;
@@ -915,8 +1260,133 @@ interface PerformanceTicket {
915
1260
  checked_in_at: Date | null;
916
1261
  order_items: OrderItem[];
917
1262
  element_qty?: number;
918
- created_at: Date;
919
- updated_at: Date;
1263
+ }
1264
+
1265
+ interface TicketMapSeatPosition {
1266
+ rowIndex: number;
1267
+ colIndex: number;
1268
+ seatLabel: string;
1269
+ }
1270
+
1271
+ interface TicketMapTableChairPosition {
1272
+ index: number;
1273
+ angle: number;
1274
+ x: number;
1275
+ y: number;
1276
+ }
1277
+
1278
+ interface ElementRenderData {
1279
+ elementId: number;
1280
+ hallFloorId: number | null;
1281
+ type: RoomMapElementType;
1282
+ shapeConfig: Record<string, any>;
1283
+ tickets: PerformanceTicket[];
1284
+ ticketByNumeration: Map<string, PerformanceTicket>;
1285
+ elementName: string;
1286
+ seatPositions?: TicketMapSeatPosition[][];
1287
+ chairPositions?: TicketMapTableChairPosition[];
1288
+ zoneCapacity?: number;
1289
+ }
1290
+
1291
+ interface TicketMapTooltipData {
1292
+ x: number;
1293
+ y: number;
1294
+ elementName: string;
1295
+ seatLabel: string | null;
1296
+ price: number;
1297
+ status: PerformanceTicketStatus;
1298
+ statusLabel: string;
1299
+ statusColor: string;
1300
+ isSelected: boolean;
1301
+ ticketId: number;
1302
+ }
1303
+
1304
+ interface TicketMapZoneQuantityState {
1305
+ elementId: number;
1306
+ selectedCount: number;
1307
+ maxCapacity: number;
1308
+ }
1309
+
1310
+ interface ReservePerformanceDto {
1311
+ ticket_ids: number[];
1312
+ products?: {
1313
+ id: number;
1314
+ quantity: number;
1315
+ }[];
1316
+ coupon_code?: string;
1317
+ gift_bond_code?: string;
1318
+ corporate_bond_code?: string;
1319
+ payment_method?: string;
1320
+ billing?: {
1321
+ first_name: string;
1322
+ last_name: string;
1323
+ email: string;
1324
+ mobile: string;
1325
+ document_type: string;
1326
+ document_number: string;
1327
+ address: string;
1328
+ city_id: number;
1329
+ postal_code?: string;
1330
+ address_notes?: string;
1331
+ terms_accepted: boolean;
1332
+ data_processing_accepted: boolean;
1333
+ comments?: string;
1334
+ };
1335
+ }
1336
+
1337
+ interface TicketMapZoomConfig {
1338
+ minZoom: number;
1339
+ maxZoom: number;
1340
+ zoomStep: number;
1341
+ scaleBy: number;
1342
+ }
1343
+
1344
+ interface HallFloorOption {
1345
+ id: number | null;
1346
+ name: string;
1347
+ }
1348
+
1349
+ declare enum SelectedDiscountCardType {
1350
+ COUPON = "COUPON",
1351
+ CORPORATE_BOND = "CORPORATE_BOND",
1352
+ GIFT_BOND = "GIFT_BOND"
1353
+ }
1354
+
1355
+ interface SelectedDiscountCard {
1356
+ name: string;
1357
+ type: SelectedDiscountCardType;
1358
+ value: number;
1359
+ }
1360
+
1361
+ interface FetchShowsParams {
1362
+ page?: number;
1363
+ limit?: number;
1364
+ search?: string;
1365
+ date?: string;
1366
+ }
1367
+
1368
+ interface ShowResponse {
1369
+ statusCode: number;
1370
+ data: Show;
1371
+ message: string;
1372
+ }
1373
+
1374
+ interface ShowsResponseInterface {
1375
+ statusCode: number;
1376
+ data: {
1377
+ shows: Show[];
1378
+ total: number;
1379
+ };
1380
+ message: string;
1381
+ }
1382
+
1383
+ interface FindAllPerformancesParams {
1384
+ roomMapId?: number;
1385
+ showId?: number;
1386
+ hallId?: number;
1387
+ page?: number;
1388
+ search?: string;
1389
+ limit?: number;
920
1390
  }
921
1391
 
922
1392
  interface PerformanceBookingDataResponse {
@@ -930,6 +1400,12 @@ interface PerformanceBookingDataResponse {
930
1400
  message: string;
931
1401
  }
932
1402
 
1403
+ interface PerformanceResponse {
1404
+ statusCode: number;
1405
+ data: Performance;
1406
+ message: string;
1407
+ }
1408
+
933
1409
  interface PerformanceAvailableDay {
934
1410
  date: string;
935
1411
  count: number;
@@ -942,6 +1418,15 @@ interface PerformancesAvailableDaysResponse {
942
1418
  message: string;
943
1419
  }
944
1420
 
1421
+ interface PerformancesResponseInterface {
1422
+ statusCode: number;
1423
+ data: {
1424
+ performances: Performance[];
1425
+ total: number;
1426
+ };
1427
+ message: string;
1428
+ }
1429
+
945
1430
  interface DailyPerformanceHall {
946
1431
  name: string | null;
947
1432
  }
@@ -1000,6 +1485,13 @@ interface ProductResponse {
1000
1485
  message: string;
1001
1486
  }
1002
1487
 
1488
+ interface ProductTaxonomy extends Auditable {
1489
+ id: number;
1490
+ name: string;
1491
+ slug: string;
1492
+ selected?: boolean;
1493
+ }
1494
+
1003
1495
  interface ProductsResponseInterface {
1004
1496
  statusCode: number;
1005
1497
  data: {
@@ -1027,58 +1519,17 @@ interface PriceZoneUpdateResponse {
1027
1519
  interface PriceZonesResponseInterface {
1028
1520
  statusCode: number;
1029
1521
  data: {
1030
- price_zones: PriceZone[];
1031
- total: number;
1032
- };
1033
- message: string;
1034
- }
1035
-
1036
- interface FindAllPriceZoneParams {
1037
- roomMapId?: number;
1038
- page?: number;
1039
- search?: string;
1040
- limit?: number;
1041
- }
1042
-
1043
- interface GiftBond {
1044
- id: number;
1045
- uuid: string;
1046
- name: string;
1047
- description?: string;
1048
- status: GiftBondStatus;
1049
- value: number;
1050
- customer: Customer;
1051
- customer_id: number;
1052
- created_at: Date;
1053
- updated_at: Date;
1054
- created_by: number;
1055
- updated_by: number;
1056
- }
1057
-
1058
- interface GiftBondResponse {
1059
- statusCode: number;
1060
- data: GiftBond;
1061
- message: string;
1062
- }
1063
-
1064
- interface GiftBondsResponse {
1065
- statusCode: number;
1066
- data: {
1067
- gift_bonds: GiftBond[];
1522
+ price_zones: PriceZone[];
1068
1523
  total: number;
1069
1524
  };
1070
1525
  message: string;
1071
1526
  }
1072
1527
 
1073
- interface ValidateGiftBondResponse {
1074
- data: {
1075
- valid: boolean;
1076
- message: string;
1077
- code: string;
1078
- bond?: GiftBond;
1079
- };
1080
- statusCode: number;
1081
- message: string;
1528
+ interface FindAllPriceZoneParams {
1529
+ roomMapId?: number;
1530
+ page?: number;
1531
+ search?: string;
1532
+ limit?: number;
1082
1533
  }
1083
1534
 
1084
1535
  interface CouponResponse {
@@ -1094,17 +1545,162 @@ interface ValidateCouponResponse {
1094
1545
  };
1095
1546
  }
1096
1547
 
1548
+ interface RecentOrder {
1549
+ id: number;
1550
+ customer_name: string;
1551
+ event: string;
1552
+ total: number;
1553
+ status: string;
1554
+ uuid: string;
1555
+ }
1556
+
1557
+ interface RecentRoomMap {
1558
+ id: number;
1559
+ name: string;
1560
+ capacity: number;
1561
+ created_at: Date;
1562
+ updated_at: Date;
1563
+ }
1564
+
1565
+ interface QrTokenData {
1566
+ token: string;
1567
+ expires_at: string;
1568
+ refresh_in: number;
1569
+ }
1570
+
1571
+ interface QrTokenResponse {
1572
+ statusCode: number;
1573
+ data: QrTokenData;
1574
+ message: string;
1575
+ }
1576
+
1577
+ declare const DOCUMENT_TYPES_OPTIONS: SelectOption[];
1578
+
1579
+ declare const PAYMENT_METHODS_OPTIONS: SelectOption[];
1580
+ declare const ORDER_STATUS_COLORS: Record<OrderStatus, {
1581
+ text: string;
1582
+ bg: string;
1583
+ }>;
1584
+ declare const ORDER_ITEM_TYPES_COLORS: Record<OrderItemType, {
1585
+ text: string;
1586
+ bg: string;
1587
+ }>;
1588
+ declare const ORDER_DISCOUNT_COLORS: Record<string, {
1589
+ text: string;
1590
+ bg: string;
1591
+ }>;
1592
+ declare const TRANSACTION_STATUS_COLORS: Record<TransactionStatus, {
1593
+ text: string;
1594
+ bg: string;
1595
+ }>;
1596
+
1597
+ declare const PERFORMANCE_STATUS_COLORS: Record<PerformanceStatus, {
1598
+ text: string;
1599
+ bg: string;
1600
+ }>;
1601
+
1602
+ declare const TICKET_MAP_LAST_TICKETS_LIMIT = 10;
1603
+ declare const TICKET_ELEMENT_TYPES: RoomMapElementType[];
1604
+ declare const DEFAULT_STAGE_CONFIG: {
1605
+ [x: string]: any;
1606
+ };
1607
+ declare const TICKET_STATUS_COLORS: Record<PerformanceTicketStatus, string>;
1608
+ declare const TICKET_STATUS_FILLS: Record<PerformanceTicketStatus, string>;
1609
+ declare const TICKET_STATUS_LABELS: Record<PerformanceTicketStatus, string>;
1610
+ declare const TICKET_MAP_GRID_SIZE = 30;
1611
+ declare const TICKET_MAP_TITLE_HEIGHT = 30;
1612
+
1613
+ interface KonvaShapeConfig {
1614
+ config: ShapeConfig;
1615
+ layer: 'background' | 'elements' | 'foreground' | 'overlay';
1616
+ }
1617
+
1618
+ declare function drawRoundedRect(con: Context, shape: Shape, x: number, y: number, width: number, height: number, cornerRadius: number): void;
1619
+
1620
+ declare const generateExitScene: (con: Context, shape: Shape) => void;
1621
+
1622
+ declare const generateHallwayScene: (con: Context, shape: Shape) => void;
1623
+
1624
+ declare const generateProductionAreaScene: (con: Context, shape: Shape) => void;
1625
+
1626
+ declare const generateSeatBlockScene: (con: Context, shape: Shape, numerationConfig?: {
1627
+ start_row_letter: string;
1628
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1629
+ start_column_number: number;
1630
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1631
+ }) => void;
1632
+
1633
+ declare const generateStageScene: (con: Context, shape: Shape) => void;
1634
+
1635
+ declare const generateStairScene: (con: Context, shape: Shape) => void;
1636
+
1637
+ declare const generateTableScene: (con: Context, shape: Shape) => void;
1638
+
1639
+ declare const generateUnavailableSpaceScene: (con: Context, shape: Shape) => void;
1640
+
1641
+ declare const generateZoneScene: (con: Context, shape: Shape) => void;
1642
+
1643
+ declare const KONVA_SHAPE_MAPPINGS: Record<RoomMapElementType, KonvaShapeConfig>;
1644
+
1645
+ declare const SHOW_TYPE_COLORS: Record<ShowType, {
1646
+ bg: string;
1647
+ text: string;
1648
+ }>;
1649
+
1097
1650
  declare const getCustomerFullname: (customer: Customer) => string;
1098
1651
 
1652
+ type OrderDiscountType = 'coupon' | 'corporate_bond' | 'gift_bond';
1653
+ interface OrderDiscountInfo {
1654
+ type: OrderDiscountType | null;
1655
+ code: string | null;
1656
+ name: string | null;
1657
+ value: number;
1658
+ discountType: 'percentage' | 'fixed' | null;
1659
+ icon: string;
1660
+ }
1661
+ declare function getOrderDiscount(order: Order): OrderDiscountInfo;
1662
+
1099
1663
  declare function parseJsonToFormDataAdvanced(imageGallery: any[]): FormData;
1100
1664
 
1101
1665
  declare const transformImageToFile: (image: ShowImage | VenueImage) => UploadedFile;
1102
1666
 
1103
1667
  declare const formatCitiesResponseToSelect: (res: CitiesResponse) => {
1104
- value: string;
1668
+ value: number;
1105
1669
  label: string;
1106
1670
  }[];
1107
1671
 
1672
+ declare function tintColor(hex: string, amount?: number): string;
1673
+
1674
+ declare const drawChairIcon: (con: Context, cx: number, cy: number, size: number) => void;
1675
+
1676
+ declare const drawHappyFace: (con: Context, cx: number, cy: number, size: number) => void;
1677
+
1678
+ declare const drawWheelchairIcon: (con: Context, shape: Shape, cx: number, cy: number, size: number, fillColor?: string, strokeColor?: string) => void;
1679
+
1680
+ declare const numberToLetter: (num: number) => string;
1681
+
1682
+ declare const getItemTypeIcon: (ticket: PerformanceTicket) => string;
1683
+
1684
+ declare const generateSeatBlockTicketScene: (con: Context, shape: Shape, numerationConfig?: {
1685
+ start_row_letter: string;
1686
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1687
+ start_column_number: number;
1688
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1689
+ }, ticketStatusMap?: Map<string, PerformanceTicketStatus>) => void;
1690
+
1691
+ declare const generateTableTicketScene: (con: Context, shape: Shape, chairTicketStatuses?: PerformanceTicketStatus[], tableSeats?: RoomMapSeatState[][]) => void;
1692
+
1693
+ declare function processElementsToRenderData(elements: RoomMapElementTemplate[], tickets: PerformanceTicket[], priceZones?: {
1694
+ id: number;
1695
+ color: string;
1696
+ }[]): ElementRenderData[];
1697
+ declare function findTicketAtPosition(renderData: ElementRenderData, relX: number, relY: number): PerformanceTicket | null;
1698
+ declare function findElementAtPosition(renderDataList: ElementRenderData[], stageX: number, stageY: number): {
1699
+ element: ElementRenderData;
1700
+ relX: number;
1701
+ relY: number;
1702
+ } | null;
1703
+
1108
1704
  declare function MinTodayValidator(controlName: string): ValidatorFn;
1109
1705
  declare function EndDateGreaterThanStartValidator(startDateControlName: string, endDateControlName: string): ValidatorFn;
1110
1706
 
@@ -1135,16 +1731,6 @@ declare class ToastService {
1135
1731
  static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
1136
1732
  }
1137
1733
 
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
1734
  declare class DeleteConfirmationService {
1149
1735
  title: WritableSignal<string>;
1150
1736
  resourceName: WritableSignal<string>;
@@ -1235,7 +1821,7 @@ declare class PerformanceService {
1235
1821
  private performancesSubject;
1236
1822
  performances$: Observable<Performance[]>;
1237
1823
  constructor(apiService: ApiService);
1238
- fetchPerformances(showId?: number, search?: string): Observable<PerformancesResponseInterface>;
1824
+ fetchPerformances({ showId, roomMapId, hallId, search, page, limit, }: FindAllPerformancesParams): Observable<PerformancesResponseInterface>;
1239
1825
  fetchDailyPerformances({ show_id, search, limit, date, }: FetchDailyPerformancesParams): Observable<DailyPerformancesResponse>;
1240
1826
  loadPerformances({ showId, search }?: {
1241
1827
  showId?: number;
@@ -1243,7 +1829,7 @@ declare class PerformanceService {
1243
1829
  }): void;
1244
1830
  getCurrentPerformances(): Performance[];
1245
1831
  fetchOneById(id: number): Observable<PerformanceResponse>;
1246
- fetchOneBookingData(id: number): Observable<PerformanceBookingDataResponse>;
1832
+ fetchOneBookingData(id: number, isAdmin?: boolean): Observable<PerformanceBookingDataResponse>;
1247
1833
  fetchAvailableDays(params?: {
1248
1834
  show_id?: number;
1249
1835
  }): Observable<PerformancesAvailableDaysResponse>;
@@ -1273,25 +1859,6 @@ declare class PerformancesListEventsService {
1273
1859
  static ɵprov: i0.ɵɵInjectableDeclaration<PerformancesListEventsService>;
1274
1860
  }
1275
1861
 
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
1862
  declare class ShowService {
1296
1863
  private apiService;
1297
1864
  private showsSubject;
@@ -1372,6 +1939,334 @@ declare class PriceZoneFormModalService {
1372
1939
  static ɵprov: i0.ɵɵInjectableDeclaration<PriceZoneFormModalService>;
1373
1940
  }
1374
1941
 
1942
+ declare class ProductCategoryService {
1943
+ private apiService;
1944
+ constructor(apiService: ApiService);
1945
+ fetchCategories({ page, search, limit, }: FetchProductCategoriesParams): Observable<ProductCategoriesResponse>;
1946
+ fetchOneById(id: number): Observable<ProductCategoryResponse>;
1947
+ createOne(data: ProductCategory): Observable<any>;
1948
+ updateOne(id: number, data: ProductCategory): Observable<ProductCategoryResponse>;
1949
+ deleteOne(id: number): Observable<any>;
1950
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductCategoryService, never>;
1951
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductCategoryService>;
1952
+ }
1953
+
1954
+ declare class ProductTagService {
1955
+ private apiService;
1956
+ constructor(apiService: ApiService);
1957
+ fetchTags({ page, search, limit }: FetchProductTagsParams): Observable<ProductTagsResponse>;
1958
+ fetchOneById(id: number): Observable<ProductTagResponse>;
1959
+ createOne(data: ProductTag): Observable<any>;
1960
+ updateOne(id: number, data: ProductTag): Observable<ProductTagResponse>;
1961
+ deleteOne(id: number): Observable<any>;
1962
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTagService, never>;
1963
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTagService>;
1964
+ }
1965
+
1966
+ declare class ProductTypeService {
1967
+ private apiService;
1968
+ constructor(apiService: ApiService);
1969
+ fetchTypes({ page, search, limit }: FetchProductTypesParams): Observable<ProductTypesResponse>;
1970
+ fetchOneById(id: number): Observable<ProductTypeResponse>;
1971
+ createOne(data: ProductType): Observable<any>;
1972
+ updateOne(id: number, data: ProductType): Observable<ProductTypeResponse>;
1973
+ deleteOne(id: number): Observable<any>;
1974
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTypeService, never>;
1975
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTypeService>;
1976
+ }
1977
+
1978
+ interface FetchProductsParams {
1979
+ page?: number;
1980
+ limit?: number;
1981
+ search?: string;
1982
+ }
1983
+
1984
+ declare class ProductService {
1985
+ private apiService;
1986
+ private productsSubject;
1987
+ products$: Observable<Product[]>;
1988
+ constructor(apiService: ApiService);
1989
+ fetchProducts({ page, search, limit, }: FetchProductsParams): Observable<ProductsResponseInterface>;
1990
+ loadProducts(params: FetchProductsParams): void;
1991
+ getCurrentProducts(): Product[];
1992
+ fetchOneById(id: number): Observable<ProductResponse>;
1993
+ createOne(data: Product): Observable<any>;
1994
+ updateOne(id: number, data: any): Observable<ProductResponse>;
1995
+ deleteOne(id: number): Observable<any>;
1996
+ fetchImages(id: number): Observable<{
1997
+ data: ProductImage[];
1998
+ }>;
1999
+ uploadImages(id: number, files?: FormData): Observable<{
2000
+ data: ProductImage[];
2001
+ }>;
2002
+ deleteOneImage(productId: number, imageId: number): Observable<any>;
2003
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductService, never>;
2004
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductService>;
2005
+ }
2006
+
2007
+ declare class BaseModalService {
2008
+ readonly isOpen: WritableSignal<boolean>;
2009
+ get modalIsOpen(): WritableSignal<boolean>;
2010
+ open(): void;
2011
+ close(): void;
2012
+ }
2013
+
2014
+ declare class FeedbackModalService {
2015
+ private _modals;
2016
+ readonly modals: i0.Signal<FeedbackModalElement[]>;
2017
+ addModal(modal: FeedbackModalElement): void;
2018
+ removeModal(id: string): void;
2019
+ removeAllModals(): void;
2020
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalService, never>;
2021
+ static ɵprov: i0.ɵɵInjectableDeclaration<FeedbackModalService>;
2022
+ }
2023
+
2024
+ declare class OrderTransactionDetailsModalService {
2025
+ readonly isOpen: WritableSignal<boolean>;
2026
+ transaction: WritableSignal<Transaction | null>;
2027
+ get modalIsOpen(): WritableSignal<boolean>;
2028
+ open(transaction: Transaction): void;
2029
+ close(): void;
2030
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionDetailsModalService, never>;
2031
+ static ɵprov: i0.ɵɵInjectableDeclaration<OrderTransactionDetailsModalService>;
2032
+ }
2033
+
2034
+ declare class PerformanceBookingDataService {
2035
+ private _show;
2036
+ private _performance;
2037
+ private _roomMap;
2038
+ private _hallFloors;
2039
+ private _selectedHallFloor;
2040
+ private _allRenderData;
2041
+ private _stageConfig;
2042
+ readonly show: i0.Signal<Show | null>;
2043
+ readonly hallFloors: i0.Signal<HallFloor[]>;
2044
+ readonly selectedHallFloor: i0.Signal<HallFloor | null>;
2045
+ readonly performance: i0.Signal<Performance | null>;
2046
+ readonly stageConfig: i0.Signal<{
2047
+ [x: string]: any;
2048
+ }>;
2049
+ readonly roomMap: i0.Signal<RoomMap | null>;
2050
+ readonly renderData: i0.Signal<ElementRenderData[]>;
2051
+ setPerformanceBookingData({ data }: PerformanceBookingDataResponse): void;
2052
+ setRoomMap(roomMap: RoomMap | null): void;
2053
+ setAllRenderData(data: ElementRenderData[]): void;
2054
+ setPerformance(performance: Performance | null): void;
2055
+ setShow(show: Show | null): void;
2056
+ setHallFloors(data: HallFloor[]): void;
2057
+ setSelectedHallFloor(id: number): void;
2058
+ updateStageConfig(data: {
2059
+ [x: string]: any;
2060
+ }): void;
2061
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceBookingDataService, never>;
2062
+ static ɵprov: i0.ɵɵInjectableDeclaration<PerformanceBookingDataService>;
2063
+ }
2064
+
2065
+ declare class TicketSelectionDetailsService {
2066
+ private _customerEmail;
2067
+ private _customerId;
2068
+ private _paymentMethod;
2069
+ private _billingInformation;
2070
+ readonly customerEmail: i0.Signal<string | null>;
2071
+ readonly customerId: i0.Signal<number | null>;
2072
+ readonly paymentMethod: i0.Signal<string | null>;
2073
+ readonly billingInformation: i0.Signal<Customer | null>;
2074
+ setCustomerEmail(email: string | null): void;
2075
+ setCustomerId(id: number | null): void;
2076
+ setPaymentMethod(method: string | null): void;
2077
+ setBillingInformation(values: Customer): void;
2078
+ clearSelection(): void;
2079
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDetailsService, never>;
2080
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDetailsService>;
2081
+ }
2082
+
2083
+ declare class TicketSelectionDiscountService {
2084
+ private _coupon;
2085
+ private _corporateBond;
2086
+ private _corporateBondCode;
2087
+ private _giftBond;
2088
+ private _giftBondCode;
2089
+ readonly coupon: Signal<Coupon | null>;
2090
+ readonly corporateBond: Signal<CorporateBond | null>;
2091
+ readonly corporateBondCode: Signal<string | null>;
2092
+ readonly giftBond: Signal<GiftBondPurchase | null>;
2093
+ readonly giftBondCode: Signal<string | null>;
2094
+ readonly selectedDiscount: Signal<SelectedDiscountCard | null>;
2095
+ readonly selectedDiscountType: Signal<SelectedDiscountCardType | undefined>;
2096
+ readonly selectedDiscountValue: Signal<number | undefined>;
2097
+ setCoupon(coupon: Coupon | null): void;
2098
+ setCorporateBond(corporateBond: CorporateBond | null): void;
2099
+ setCorporateBondCode(code: string | null): void;
2100
+ setGiftBond(giftBond: GiftBondPurchase | null): void;
2101
+ setGiftBondCode(code: string | null): void;
2102
+ clearSelection(): void;
2103
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDiscountService, never>;
2104
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDiscountService>;
2105
+ }
2106
+
2107
+ declare class TicketSelectionTotalsService {
2108
+ private bookingDataService;
2109
+ private selectionService;
2110
+ private selectionDiscountService;
2111
+ readonly selectedProductEntries: i0.Signal<{
2112
+ id: number;
2113
+ quantity: number;
2114
+ }[]>;
2115
+ readonly selectedProductCount: i0.Signal<number>;
2116
+ readonly productSubtotal: i0.Signal<number>;
2117
+ readonly ticketSubtotal: i0.Signal<number>;
2118
+ readonly serviceFee: i0.Signal<number>;
2119
+ subtotalValue(): number;
2120
+ totalValue(): number;
2121
+ totalDiscounted(): number | null;
2122
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionTotalsService, never>;
2123
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionTotalsService>;
2124
+ }
2125
+
2126
+ declare class TicketSelectionService {
2127
+ private bookingDataService;
2128
+ private feedbackModalService;
2129
+ private selectionDetailsService;
2130
+ private selectionDiscountService;
2131
+ private _zoneQuantities;
2132
+ private _allTickets;
2133
+ private _selectedTickets;
2134
+ private _selectedBlockedTickets;
2135
+ private _products;
2136
+ private _productQuantities;
2137
+ readonly selectedTickets: i0.Signal<PerformanceTicket[]>;
2138
+ readonly selectedBlockedTickets: i0.Signal<PerformanceTicket[]>;
2139
+ readonly selectedCount: i0.Signal<number>;
2140
+ readonly blockedSelectedCount: i0.Signal<number>;
2141
+ readonly selectedTicketIds: i0.Signal<Set<PerformanceTicket>>;
2142
+ readonly selectedBlockedTicketIds: i0.Signal<number[]>;
2143
+ readonly selectedTicketIdList: i0.Signal<number[]>;
2144
+ readonly products: i0.Signal<Product[]>;
2145
+ readonly productQuantities: i0.Signal<Map<number, number>>;
2146
+ readonly selectedProductEntries: i0.Signal<{
2147
+ id: number;
2148
+ quantity: number;
2149
+ }[]>;
2150
+ readonly selectedProductCount: i0.Signal<number>;
2151
+ readonly serviceFee: i0.Signal<number>;
2152
+ setTickets(tickets: PerformanceTicket[]): void;
2153
+ setProducts(products: Product[]): void;
2154
+ updateProductQuantity(productId: number, delta: number): void;
2155
+ getProductQuantity(productId: number): number;
2156
+ private getListByStatus;
2157
+ setSelectedTickets(tickets: PerformanceTicket[]): void;
2158
+ toggle(ticket: PerformanceTicket): void;
2159
+ select(ticket: PerformanceTicket): void;
2160
+ deselect(ticket: PerformanceTicket): void;
2161
+ clearBlockedSelection(): void;
2162
+ clearSelection(): void;
2163
+ isSelected(ticket: PerformanceTicket): boolean;
2164
+ initZoneQuantity(elementId: number, maxCapacity: number): void;
2165
+ adjustZoneQuantity(elementId: number, delta: number): void;
2166
+ getZoneTickets(elementId: number): PerformanceTicket[];
2167
+ buildTooltipData(ticket: PerformanceTicket, elementName: string, seatLabel: string | null, x: number, y: number): TicketMapTooltipData;
2168
+ buildReservePerformanceDto(paymentMethod?: string, termsAccepted?: boolean, dataProcessingAccepted?: boolean): ReservePerformanceDto;
2169
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionService, never>;
2170
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionService>;
2171
+ }
2172
+
2173
+ declare class TicketMapZoomService {
2174
+ readonly currentZoom: i0.WritableSignal<number>;
2175
+ private stage?;
2176
+ private bookingDataService;
2177
+ private readonly defaultConfig;
2178
+ constructor();
2179
+ /**
2180
+ * Set the Konva stage instance
2181
+ */
2182
+ setStage(stage: Stage): void;
2183
+ /**
2184
+ * Zoom in by one step
2185
+ */
2186
+ zoomIn(): void;
2187
+ /**
2188
+ * Zoom out by one step
2189
+ */
2190
+ zoomOut(): void;
2191
+ /**
2192
+ * Reset zoom to 100%
2193
+ */
2194
+ resetZoom(): void;
2195
+ /**
2196
+ * Get current zoom as percentage string
2197
+ */
2198
+ getZoomPercentage(): string;
2199
+ /**
2200
+ * Get current zoom value
2201
+ */
2202
+ getCurrentZoom(): number;
2203
+ /**
2204
+ * Apply zoom with center point
2205
+ */
2206
+ private applyZoom;
2207
+ /**
2208
+ * Apply zoom scale with specific center point
2209
+ */
2210
+ private applyZoomScale;
2211
+ /**
2212
+ * Handle mouse wheel zoom toward the cursor position
2213
+ */
2214
+ handleWheelZoom(deltaY: number): void;
2215
+ /**
2216
+ * Fit the content bounds to fill the stage container
2217
+ */
2218
+ fitToContainer(padding?: number): void;
2219
+ /**
2220
+ * Get current stage position
2221
+ */
2222
+ getStagePosition(): {
2223
+ x: number;
2224
+ y: number;
2225
+ };
2226
+ /**
2227
+ * Set stage position (useful for programmatic panning)
2228
+ */
2229
+ setStagePosition(position: {
2230
+ x: number;
2231
+ y: number;
2232
+ }): void;
2233
+ /**
2234
+ * Fit the stage content bounds to the container, centering and scaling
2235
+ * to show the full content with optional padding.
2236
+ */
2237
+ fitToBounds(contentBounds: {
2238
+ x: number;
2239
+ y: number;
2240
+ width: number;
2241
+ height: number;
2242
+ }, containerWidth: number, containerHeight: number, padding?: number): void;
2243
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomService, never>;
2244
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketMapZoomService>;
2245
+ }
2246
+
2247
+ declare class ConfirmationOrderModalService extends BaseModalService {
2248
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalService, never>;
2249
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmationOrderModalService>;
2250
+ }
2251
+
2252
+ declare class TicketQrService {
2253
+ private apiService;
2254
+ constructor(apiService: ApiService);
2255
+ fetchQrToken(ticketUuid: string): Observable<QrTokenResponse>;
2256
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrService, never>;
2257
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrService>;
2258
+ }
2259
+
2260
+ declare class TicketQrModalService {
2261
+ isOpen: WritableSignal<boolean>;
2262
+ ticketUuid: WritableSignal<string | null>;
2263
+ ticketDescription: WritableSignal<string | null>;
2264
+ open(ticketUuid: string, description?: string): void;
2265
+ close(): void;
2266
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalService, never>;
2267
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrModalService>;
2268
+ }
2269
+
1375
2270
  declare const authInterceptor: HttpInterceptorFn;
1376
2271
 
1377
2272
  declare class AppButtonComponent {
@@ -1384,10 +2279,11 @@ declare class AppButtonComponent {
1384
2279
  size: 'xs' | 'sm' | 'md' | 'lg';
1385
2280
  loadingText: string;
1386
2281
  icon: string;
2282
+ tooltip: string;
1387
2283
  handleClick(): void;
1388
2284
  get buttonClasses(): string;
1389
2285
  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>;
2286
+ 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
2287
  }
1392
2288
 
1393
2289
  declare class AppLinkButtonComponent {
@@ -1401,9 +2297,10 @@ declare class AppLinkButtonComponent {
1401
2297
  queryParams: Record<string, any>;
1402
2298
  size: 'xs' | 'sm' | 'md' | 'lg';
1403
2299
  variant: 'primary' | 'secondary' | 'tertiary' | 'success' | 'transparent';
2300
+ tooltip: string;
1404
2301
  get buttonClasses(): string;
1405
2302
  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>;
2303
+ 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
2304
  }
1408
2305
 
1409
2306
  declare class AppAlertComponent {
@@ -1416,15 +2313,29 @@ declare class AppAlertComponent {
1416
2313
  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
2314
  }
1418
2315
 
1419
- declare class LoadingmModalComponent {
1420
- private loadingModalService;
1421
- constructor(loadingModalService: LoadingModalService);
1422
- get isOpen(): i0.WritableSignal<boolean>;
1423
- get title(): i0.WritableSignal<string>;
2316
+ declare class FeedbackModalComponent implements OnChanges, OnDestroy {
2317
+ isOpen: WritableSignal<boolean>;
2318
+ type: FeedbackModalType;
2319
+ title: string;
2320
+ message: string;
2321
+ showHeader: boolean;
2322
+ showCloseButton: boolean;
2323
+ showTitle: boolean;
2324
+ autoClose: boolean;
2325
+ autoCloseDuration: number;
2326
+ buttonText: string;
2327
+ closed: EventEmitter<void>;
2328
+ private autoCloseTimeout;
2329
+ get defaultButtonText(): string;
2330
+ get resolvedButtonText(): string;
2331
+ get buttonVariant(): 'primary' | 'secondary';
2332
+ ngOnChanges(changes: SimpleChanges): void;
2333
+ ngOnDestroy(): void;
1424
2334
  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>;
2335
+ private scheduleAutoClose;
2336
+ private clearAutoClose;
2337
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalComponent, never>;
2338
+ 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
2339
  }
1429
2340
 
1430
2341
  declare class DeleteConfirmationComponent {
@@ -1447,12 +2358,27 @@ declare class DeleteConfirmationComponent {
1447
2358
  declare class AppModalComponent {
1448
2359
  title: string;
1449
2360
  disableClose: boolean;
2361
+ showHeader: boolean;
2362
+ showCloseButton: boolean;
2363
+ showTitle: boolean;
1450
2364
  isOpen: WritableSignal<boolean>;
1451
- size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
2365
+ size: ModalSize;
1452
2366
  closeModal: EventEmitter<void>;
1453
2367
  onCloseModal(): void;
2368
+ onKeydownEscape(): void;
1454
2369
  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>;
2370
+ 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; }; "isOpen": { "alias": "isOpen"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "closeModal": "closeModal"; }, never, ["*"], true, never>;
2371
+ }
2372
+
2373
+ declare class AppBadgeComponent {
2374
+ text: string;
2375
+ color: BadgeColor;
2376
+ size: BadgeSize;
2377
+ bordered: boolean;
2378
+ backgroundColor: string;
2379
+ textColor: string;
2380
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppBadgeComponent, never>;
2381
+ 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
2382
  }
1457
2383
 
1458
2384
  declare class AuditInformationComponent {
@@ -1487,6 +2413,64 @@ declare class DynamicTableComponent {
1487
2413
  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>;
1488
2414
  }
1489
2415
 
2416
+ declare class TextExpandableComponent implements OnChanges {
2417
+ text: string;
2418
+ maxLength: number;
2419
+ fontSize: TextFontSize;
2420
+ allowHtml: boolean;
2421
+ maxLines?: number;
2422
+ protected expanded: boolean;
2423
+ ngOnChanges(): void;
2424
+ get plainText(): string;
2425
+ get truncated(): boolean;
2426
+ get visibleText(): string;
2427
+ get lines(): number;
2428
+ toggleExpanded(): void;
2429
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextExpandableComponent, never>;
2430
+ 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>;
2431
+ }
2432
+
2433
+ declare class ShowCardComponent {
2434
+ show: Show;
2435
+ linkText: string;
2436
+ linkUrlFn?: (show: Show) => string;
2437
+ linkQueryParams?: Record<string, any>;
2438
+ transloco: TranslocoService;
2439
+ dateService: DateService;
2440
+ get showTypeColor(): {
2441
+ bg: string;
2442
+ text: string;
2443
+ };
2444
+ formatTimeDate(date: string): Date;
2445
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardComponent, never>;
2446
+ 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>;
2447
+ }
2448
+
2449
+ declare class ShowTypeBadgeComponent {
2450
+ show: Show;
2451
+ size: BadgeSize;
2452
+ transloco: TranslocoService;
2453
+ get showTypeColor(): {
2454
+ bg: string;
2455
+ text: string;
2456
+ };
2457
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowTypeBadgeComponent, never>;
2458
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowTypeBadgeComponent, "show-type-badge", never, { "show": { "alias": "show"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
2459
+ }
2460
+
2461
+ declare class ShowCardSkeletonComponent {
2462
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardSkeletonComponent, never>;
2463
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowCardSkeletonComponent, "show-card-skeleton", never, {}, {}, never, never, true, never>;
2464
+ }
2465
+
2466
+ declare class AppBreadcumbComponent {
2467
+ homeUrl: string | undefined;
2468
+ steps: BreadcrumbStep[];
2469
+ theme: BreadcrumbTheme;
2470
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppBreadcumbComponent, never>;
2471
+ 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>;
2472
+ }
2473
+
1490
2474
  declare class LanguageSwitcherComponent {
1491
2475
  protected transloco: TranslocoService;
1492
2476
  availableLangs: string[];
@@ -1534,7 +2518,7 @@ declare class FormInputComponent implements ControlValueAccessor {
1534
2518
 
1535
2519
  declare class FormSelectComponent implements ControlValueAccessor {
1536
2520
  ngControl: NgControl;
1537
- private transloco;
2521
+ protected transloco: TranslocoService;
1538
2522
  label: string;
1539
2523
  name: string;
1540
2524
  id: string;
@@ -1558,7 +2542,6 @@ declare class FormSelectComponent implements ControlValueAccessor {
1558
2542
  get inputId(): string;
1559
2543
  get showError(): boolean;
1560
2544
  get errorMessage(): string;
1561
- get resolvedDefaultOptionLabel(): string;
1562
2545
  get fieldGroupClasses(): string;
1563
2546
  static ɵfac: i0.ɵɵFactoryDeclaration<FormSelectComponent, [{ optional: true; self: true; }, null]>;
1564
2547
  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>;
@@ -1613,7 +2596,8 @@ declare class FormEditorComponent implements ControlValueAccessor, OnInit, OnDes
1613
2596
  onChange: any;
1614
2597
  onTouched: any;
1615
2598
  private subscription;
1616
- constructor(ngControl: NgControl, transloco: TranslocoService);
2599
+ isBrowser: boolean;
2600
+ constructor(ngControl: NgControl, transloco: TranslocoService, platformId: object);
1617
2601
  ngOnInit(): void;
1618
2602
  ngOnDestroy(): void;
1619
2603
  writeValue(value: any): void;
@@ -1624,7 +2608,7 @@ declare class FormEditorComponent implements ControlValueAccessor, OnInit, OnDes
1624
2608
  get showError(): boolean;
1625
2609
  get errorMessage(): string;
1626
2610
  get fieldGroupClasses(): string;
1627
- static ɵfac: i0.ɵɵFactoryDeclaration<FormEditorComponent, [{ optional: true; self: true; }, null]>;
2611
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormEditorComponent, [{ optional: true; self: true; }, null, null]>;
1628
2612
  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
2613
  }
1630
2614
 
@@ -1808,6 +2792,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1808
2792
  notFoundText: string;
1809
2793
  bindLabel: string;
1810
2794
  bindValue: string;
2795
+ disabled: boolean;
1811
2796
  value: any;
1812
2797
  onChange: any;
1813
2798
  onTouched: any;
@@ -1837,7 +2822,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1837
2822
  registerOnTouched(fn: any): void;
1838
2823
  setDisabledState(isDisabled: boolean): void;
1839
2824
  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>;
2825
+ 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
2826
  }
1842
2827
 
1843
2828
  declare class ChangePasswordFormComponent {
@@ -2274,6 +3259,17 @@ declare class PriceZoneSelectComponent implements OnInit, OnDestroy, ControlValu
2274
3259
  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
3260
  }
2276
3261
 
3262
+ declare class PerformanceStatusBadgeComponent {
3263
+ performance: Performance;
3264
+ size: BadgeSize;
3265
+ protected get statusColors(): {
3266
+ text: string;
3267
+ bg: string;
3268
+ };
3269
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceStatusBadgeComponent, never>;
3270
+ static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceStatusBadgeComponent, "performance-status-badge", never, { "performance": { "alias": "performance"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3271
+ }
3272
+
2277
3273
  declare class DaySelectorGridComponent {
2278
3274
  private platformId;
2279
3275
  protected performanceService: PerformanceService;
@@ -2295,11 +3291,15 @@ declare class DaySelectorGridComponent {
2295
3291
  declare class PerformanceCardComponent {
2296
3292
  protected listEventService: PerformancesListEventsService;
2297
3293
  card: DailyPerformanceItem;
3294
+ linkText: string;
3295
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3296
+ linkQueryParams?: Record<string, any>;
2298
3297
  constructor(listEventService: PerformancesListEventsService);
3298
+ get badgeColor(): 'success' | 'error';
2299
3299
  onSelect(): void;
2300
3300
  isSelected(): boolean;
2301
3301
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardComponent, never>;
2302
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardComponent, "performance-card", never, { "card": { "alias": "card"; "required": true; }; }, {}, never, never, true, never>;
3302
+ 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
3303
  }
2304
3304
 
2305
3305
  declare class PerformanceCardListComponent {
@@ -2307,6 +3307,9 @@ declare class PerformanceCardListComponent {
2307
3307
  protected performanceService: PerformanceService;
2308
3308
  protected listEventService: PerformancesListEventsService;
2309
3309
  protected toastService: ToastService;
3310
+ linkText: string;
3311
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3312
+ linkQueryParams?: Record<string, any>;
2310
3313
  loadingData: WritableSignal<boolean>;
2311
3314
  performances: WritableSignal<DailyPerformanceItem[]>;
2312
3315
  constructor(platformId: object, performanceService: PerformanceService, listEventService: PerformancesListEventsService, toastService: ToastService);
@@ -2314,7 +3317,7 @@ declare class PerformanceCardListComponent {
2314
3317
  private loadData;
2315
3318
  get selectedDayDate(): string | null;
2316
3319
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardListComponent, never>;
2317
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardListComponent, "performance-card-list", never, {}, {}, never, never, true, never>;
3320
+ 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
3321
  }
2319
3322
 
2320
3323
  declare class PerformanceStepperComponent {
@@ -2343,9 +3346,9 @@ declare class ShowsFilterComponent {
2343
3346
  }
2344
3347
 
2345
3348
  interface PriceZoneItem {
2346
- colorClass: string;
3349
+ color: string;
2347
3350
  name: string;
2348
- seatsAvailable: number;
3351
+ available_seats: number;
2349
3352
  price: string;
2350
3353
  }
2351
3354
 
@@ -2361,5 +3364,327 @@ declare class ZonePriceListComponent {
2361
3364
  static ɵcmp: i0.ɵɵComponentDeclaration<ZonePriceListComponent, "zone-price-list", never, { "zones": { "alias": "zones"; "required": true; }; }, {}, never, never, true, never>;
2362
3365
  }
2363
3366
 
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 };
3367
+ declare class TicketMapWidgetComponent {
3368
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetComponent, never>;
3369
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetComponent, "ticket-map-widget", never, {}, {}, never, ["*"], true, never>;
3370
+ }
3371
+
3372
+ declare class TicketMapWidgetHeaderComponent {
3373
+ title: string;
3374
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetHeaderComponent, never>;
3375
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetHeaderComponent, "ticket-map-widget-header", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, ["*"], true, never>;
3376
+ }
3377
+
3378
+ declare class TicketMapZoomControlsComponent {
3379
+ private zoomService;
3380
+ readonly currentZoom: i0.Signal<number>;
3381
+ readonly zoomPercentage: i0.Signal<string>;
3382
+ constructor(zoomService: TicketMapZoomService);
3383
+ zoomIn(): void;
3384
+ zoomOut(): void;
3385
+ resetZoom(): void;
3386
+ fitToContainer(): void;
3387
+ handleZoomAction(action: string): void;
3388
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomControlsComponent, never>;
3389
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapZoomControlsComponent, "ticket-map-zoom-controls", never, {}, {}, never, never, true, never>;
3390
+ }
3391
+
3392
+ declare class PerformanceTicketMapComponent implements OnDestroy, AfterViewInit {
3393
+ private platformId;
3394
+ protected bookingDataService: PerformanceBookingDataService;
3395
+ protected feedbackModalService: FeedbackModalService;
3396
+ protected selectionService: TicketSelectionService;
3397
+ protected zoomService: TicketMapZoomService;
3398
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3399
+ needsLoginError: EventEmitter<any>;
3400
+ readOnly: boolean;
3401
+ needsLogin: boolean;
3402
+ isLoggedIn: boolean;
3403
+ stageComponent?: StageComponent;
3404
+ protected tooltipData: i0.WritableSignal<TicketMapTooltipData | null>;
3405
+ private stageReady;
3406
+ private autoFitDone;
3407
+ private resizeObserver?;
3408
+ constructor(platformId: object, bookingDataService: PerformanceBookingDataService, feedbackModalService: FeedbackModalService, selectionService: TicketSelectionService, zoomService: TicketMapZoomService);
3409
+ protected get isBrowser(): boolean;
3410
+ ngAfterViewInit(): void;
3411
+ private setupResizeObserver;
3412
+ private syncStageToContainer;
3413
+ ngOnDestroy(): void;
3414
+ private getInternalPointer;
3415
+ protected selectHallFloor(floorId: number): void;
3416
+ protected handleStageClick(konvaEvent: any): void;
3417
+ protected handleStageMouseMove(konvaEvent: any): void;
3418
+ protected handleStageMouseLeave(): void;
3419
+ protected handleWheel(konvaEvent: any): void;
3420
+ protected trackByElementId(_index: number, item: ElementRenderData): number;
3421
+ protected trackByFloorId(_index: number, floor: HallFloorOption): HallFloorOption;
3422
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceTicketMapComponent, never>;
3423
+ 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>;
3424
+ }
3425
+
3426
+ declare class TicketMapPriceZonesComponent {
3427
+ title: string;
3428
+ protected bookingDataService: PerformanceBookingDataService;
3429
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapPriceZonesComponent, never>;
3430
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapPriceZonesComponent, "ticket-map-price-zones", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, never, true, never>;
3431
+ }
3432
+
3433
+ declare class TicketMapProductSelectionItemComponent {
3434
+ protected selectionService: TicketSelectionService;
3435
+ product: Product;
3436
+ constructor(selectionService: TicketSelectionService);
3437
+ get quantity(): number;
3438
+ get firstImage(): string | undefined;
3439
+ increment(): void;
3440
+ decrement(): void;
3441
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapProductSelectionItemComponent, never>;
3442
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapProductSelectionItemComponent, "ticket-map-product-selection-item", never, { "product": { "alias": "product"; "required": true; }; }, {}, never, never, true, never>;
3443
+ }
3444
+
3445
+ declare class TIcketMapProductSelectionComponent {
3446
+ private bookingDataService;
3447
+ readonly products: i0.Signal<tickera_angular_components.Product[]>;
3448
+ static ɵfac: i0.ɵɵFactoryDeclaration<TIcketMapProductSelectionComponent, never>;
3449
+ static ɵcmp: i0.ɵɵComponentDeclaration<TIcketMapProductSelectionComponent, "ticket-map-product-selection", never, {}, {}, never, never, true, never>;
3450
+ }
3451
+
3452
+ declare class TicketMapTotalsComponent {
3453
+ protected bookingDataService: PerformanceBookingDataService;
3454
+ protected selectionDetailsService: TicketSelectionDetailsService;
3455
+ protected selectionDiscountService: TicketSelectionDiscountService;
3456
+ protected selectionTotalsService: TicketSelectionTotalsService;
3457
+ protected selectionService: TicketSelectionService;
3458
+ private activatedRoute;
3459
+ title: string;
3460
+ buttonText: string;
3461
+ loadingButtonText: string;
3462
+ isLoading: boolean;
3463
+ onPurchaseClick: EventEmitter<void>;
3464
+ constructor(bookingDataService: PerformanceBookingDataService, selectionDetailsService: TicketSelectionDetailsService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, activatedRoute: ActivatedRoute);
3465
+ get serviceFee(): number;
3466
+ get performanceId(): number;
3467
+ get selectedTicketIds(): number[];
3468
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapTotalsComponent, never>;
3469
+ 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>;
3470
+ }
3471
+
3472
+ declare class TicketMapWrapperComponent {
3473
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3474
+ needsLoginError: EventEmitter<any>;
3475
+ readOnly: boolean;
3476
+ needsLogin: boolean;
3477
+ isLoggedIn: boolean;
3478
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWrapperComponent, never>;
3479
+ 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>;
3480
+ }
3481
+
3482
+ declare class SeatSelectionEmptySummaryComponent {
3483
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionEmptySummaryComponent, never>;
3484
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionEmptySummaryComponent, "seat-selection-empty-summary", never, {}, {}, never, never, true, never>;
3485
+ }
3486
+
3487
+ declare class SeatSelectionSummaryComponent {
3488
+ protected selectionService: TicketSelectionService;
3489
+ title: string;
3490
+ clearButtonText: string;
3491
+ constructor(selectionService: TicketSelectionService);
3492
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryComponent, never>;
3493
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryComponent, "seat-selection-summary", never, { "title": { "alias": "title"; "required": false; }; "clearButtonText": { "alias": "clearButtonText"; "required": false; }; }, {}, never, never, true, never>;
3494
+ }
3495
+
3496
+ declare class SeatSelectionSummaryItemComponent {
3497
+ protected selectionService: TicketSelectionService;
3498
+ item: PerformanceTicket;
3499
+ constructor(selectionService: TicketSelectionService);
3500
+ getItemTypeIcon: (ticket: PerformanceTicket) => string;
3501
+ removeItem(ticket: PerformanceTicket): void;
3502
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryItemComponent, never>;
3503
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryItemComponent, "seat-selection-summary-item", never, { "item": { "alias": "item"; "required": true; }; }, {}, never, never, true, never>;
3504
+ }
3505
+
3506
+ declare class ConfirmationOrderModalComponent {
3507
+ private confirmationOrderModalService;
3508
+ private selectionDiscountService;
3509
+ private selectionTotalsService;
3510
+ private selectionService;
3511
+ private bookingDataService;
3512
+ modalTitle: string;
3513
+ confirmButtonText: string;
3514
+ confirmButtonTextLoading: string;
3515
+ loading: boolean;
3516
+ onConfirm: EventEmitter<any>;
3517
+ constructor(confirmationOrderModalService: ConfirmationOrderModalService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, bookingDataService: PerformanceBookingDataService);
3518
+ get isOpen(): i0.WritableSignal<boolean>;
3519
+ get selectedCount(): number;
3520
+ get serviceFee(): number;
3521
+ get subtotalValue(): number;
3522
+ get ticketSubtotal(): number;
3523
+ get productSubtotal(): number;
3524
+ get productCount(): number;
3525
+ get totalValue(): number;
3526
+ get totalDiscounted(): number | null;
3527
+ get coupon(): tickera_angular_components.Coupon | null;
3528
+ get corporateBond(): tickera_angular_components.CorporateBond | null;
3529
+ get giftBond(): tickera_angular_components.GiftBondPurchase | null;
3530
+ onClose(): void;
3531
+ confirmOrder(): void;
3532
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalComponent, never>;
3533
+ 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>;
3534
+ }
3535
+
3536
+ declare class OrderInformationComponent {
3537
+ readonly transloco: TranslocoService;
3538
+ private readonly toastService;
3539
+ order: Order;
3540
+ showPayButton: boolean;
3541
+ createMpPreference?: (order: Order) => Observable<MercadoPagoPreference>;
3542
+ paymentLinkCreated: EventEmitter<Order>;
3543
+ isLoading: boolean;
3544
+ constructor(transloco: TranslocoService, toastService: ToastService);
3545
+ get showMpButton(): boolean;
3546
+ payWithMercadoPago(): void;
3547
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderInformationComponent, never>;
3548
+ 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>;
3549
+ }
3550
+
3551
+ declare class OrderStatusBadgeComponent {
3552
+ protected transloco: TranslocoService;
3553
+ order: Order | RecentOrder;
3554
+ size: BadgeSize;
3555
+ constructor(transloco: TranslocoService);
3556
+ protected get statusColors(): {
3557
+ text: string;
3558
+ bg: string;
3559
+ };
3560
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderStatusBadgeComponent, never>;
3561
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderStatusBadgeComponent, "order-status-badge", never, { "order": { "alias": "order"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3562
+ }
3563
+
3564
+ declare class OrderItemTypeBadgeComponent {
3565
+ protected transloco: TranslocoService;
3566
+ item: OrderItem;
3567
+ size: BadgeSize;
3568
+ constructor(transloco: TranslocoService);
3569
+ protected get statusColors(): {
3570
+ text: string;
3571
+ bg: string;
3572
+ };
3573
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemTypeBadgeComponent, never>;
3574
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemTypeBadgeComponent, "order-item-type-badge", never, { "item": { "alias": "item"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3575
+ }
3576
+
3577
+ declare class OrderItemsComponent {
3578
+ private ticketQrModalService;
3579
+ order: Order;
3580
+ constructor(ticketQrModalService: TicketQrModalService);
3581
+ protected get orderItems(): Order['order_items'];
3582
+ protected get products(): Order['order_items'];
3583
+ protected get tickets(): Order['order_items'];
3584
+ protected get giftBonds(): Order['order_items'];
3585
+ protected get showActionColumn(): boolean;
3586
+ protected itemTotal(quantity: number, price: number): number;
3587
+ protected hasDiscount(): boolean;
3588
+ protected get totals(): {
3589
+ giftBonds: number;
3590
+ products: number;
3591
+ tickets: number;
3592
+ };
3593
+ openTicketQr(ticketUuid: string, description: string): void;
3594
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemsComponent, never>;
3595
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemsComponent, "order-items", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3596
+ }
3597
+
3598
+ declare class OrderDiscountAppliedComponent {
3599
+ order: Order;
3600
+ protected get discountInfo(): OrderDiscountInfo;
3601
+ protected get hasDiscount(): boolean;
3602
+ protected get discountPct(): number | null;
3603
+ protected get badgeColors(): {
3604
+ text: string;
3605
+ bg: string;
3606
+ };
3607
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderDiscountAppliedComponent, never>;
3608
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderDiscountAppliedComponent, "order-discount-applied", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3609
+ }
3610
+
3611
+ interface BillingField {
3612
+ label: string;
3613
+ value: string | number | null;
3614
+ }
3615
+ declare class OrderBillingInfoComponent {
3616
+ order: Order;
3617
+ protected get fields(): BillingField[];
3618
+ protected get hasFields(): boolean;
3619
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderBillingInfoComponent, never>;
3620
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderBillingInfoComponent, "order-billing-info", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3621
+ }
3622
+
3623
+ declare class OrderTransactionsComponent {
3624
+ private transactionDetailsModalService;
3625
+ order: Order;
3626
+ constructor(transactionDetailsModalService: OrderTransactionDetailsModalService);
3627
+ protected get transactions(): Transaction[];
3628
+ protected get hasTransactions(): boolean;
3629
+ protected get txColors(): Record<string, {
3630
+ text: string;
3631
+ bg: string;
3632
+ }>;
3633
+ protected openTransaction(transaction: Transaction): void;
3634
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionsComponent, never>;
3635
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderTransactionsComponent, "order-transactions", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3636
+ }
3637
+
3638
+ declare class OrderTransactionDetailsModalComponent {
3639
+ private modalService;
3640
+ isOpen: WritableSignal<boolean> | null;
3641
+ transaction: Transaction | null;
3642
+ get modalIsOpen(): WritableSignal<boolean>;
3643
+ get selectedTransaction(): WritableSignal<Transaction | null>;
3644
+ protected get txColors(): Record<TransactionStatus, {
3645
+ text: string;
3646
+ bg: string;
3647
+ }>;
3648
+ protected get gatewayResponse(): string;
3649
+ onClose(): void;
3650
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionDetailsModalComponent, never>;
3651
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderTransactionDetailsModalComponent, "order-transaction-details-modal", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "transaction": { "alias": "transaction"; "required": false; }; }, {}, never, never, true, never>;
3652
+ }
3653
+
3654
+ declare class TicketQrComponent implements OnInit, OnDestroy {
3655
+ private ticketQrService;
3656
+ ticketUuid: string;
3657
+ qrCanvas: ElementRef<HTMLCanvasElement>;
3658
+ loading: i0.WritableSignal<boolean>;
3659
+ error: i0.WritableSignal<boolean>;
3660
+ refreshing: i0.WritableSignal<boolean>;
3661
+ countdown: i0.WritableSignal<number>;
3662
+ private destroy$;
3663
+ private refreshTimeout;
3664
+ private countdownInterval;
3665
+ constructor(ticketQrService: TicketQrService);
3666
+ ngOnInit(): void;
3667
+ ngOnDestroy(): void;
3668
+ retry(): void;
3669
+ private clearTimers;
3670
+ private fetchAndRender;
3671
+ private scheduleRefresh;
3672
+ private startCountdown;
3673
+ private renderQr;
3674
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrComponent, never>;
3675
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrComponent, "performance-ticket-qr", never, { "ticketUuid": { "alias": "ticketUuid"; "required": true; }; }, {}, never, never, true, never>;
3676
+ }
3677
+
3678
+ declare class TicketQrModalComponent {
3679
+ private ticketQrModalService;
3680
+ constructor(ticketQrModalService: TicketQrModalService);
3681
+ get isOpen(): i0.WritableSignal<boolean>;
3682
+ get ticketUuid(): i0.WritableSignal<string | null>;
3683
+ get ticketDescription(): i0.WritableSignal<string | null>;
3684
+ onClose(): void;
3685
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalComponent, never>;
3686
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrModalComponent, "ticket-qr-modal", never, {}, {}, never, never, true, never>;
3687
+ }
3688
+
3689
+ 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, MinTodayValidator, MustMatchValidator, 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, 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, PerformancesListEventsService, 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, 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, processElementsToRenderData, provideTickeraComponents, resolveLanguage, setStoredLanguage, tintColor, transformImageToFile };
3690
+ export type { Admin, AdminsResponse, AsyncSelectConfig, Auditable, BadgeColor, BadgeSize, BreadcrumbStep, BreadcrumbTheme, CitiesResponse, City, CityResponse, 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, FetchShowsParams, FileUploadConfig, FindAllPerformancesParams, FindAllPriceZoneParams, GiftBond, GiftBondImage, GiftBondPurchase, GiftBondPurchaseResponse, GiftBondPurchasesResponse, GiftBondResponse, GiftBondsResponse, Hall, HallFloor, HallFloorOption, KonvaShapeConfig, MercadoPagoPreference, ModalSize, NumerationConfig, Order, OrderBillingInfo, OrderDiscountInfo, OrderDiscountType, OrderItem, OrderResponse, OrdersResponse, Performance, PerformanceAvailableDay, PerformanceBookingDataResponse, PerformanceResponse, PerformanceTicket, PerformancesAvailableDaysResponse, PerformancesResponseInterface, 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 };