tickera-angular-components 0.0.1-dev.7 → 0.0.1-dev.70

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,17 @@
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
3
  import { TranslocoLoader, TranslocoService } from '@jsverse/transloco';
4
4
  import * as rxjs from 'rxjs';
5
5
  import { Observable, Subject } from 'rxjs';
6
+ import { ShapeConfig, Shape } from 'konva/lib/Shape';
7
+ import { Context } from 'konva/lib/Context';
6
8
  import { ValidatorFn, FormGroup, FormBuilder, ControlValueAccessor, NgControl, Validator, AbstractControl, FormControl } from '@angular/forms';
7
9
  import { HttpClient, HttpInterceptorFn } from '@angular/common/http';
10
+ import { Stage } from 'konva/lib/Stage';
8
11
  import { Toolbar, Editor } from 'ngx-editor';
9
- import { Router } from '@angular/router';
12
+ import { Router, ActivatedRoute } from '@angular/router';
13
+ import { StageComponent } from 'ng2-konva';
14
+ import * as tickera_angular_components from 'tickera-angular-components';
10
15
 
11
16
  interface TickeraComponentsConfig {
12
17
  apiUrl: string;
@@ -14,6 +19,7 @@ interface TickeraComponentsConfig {
14
19
  defaultLang?: string;
15
20
  availableLangs?: string[];
16
21
  }
22
+
17
23
  declare const TICKERA_COMPONENTS_CONFIG: InjectionToken<TickeraComponentsConfig>;
18
24
  declare function provideTickeraComponents(config: TickeraComponentsConfig): EnvironmentProviders;
19
25
 
@@ -33,15 +39,6 @@ declare const ALERT_ICONS: {
33
39
  info: string;
34
40
  };
35
41
 
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
42
  declare const ADMIN_API_ROUTES: {
46
43
  FIND_ALL: string;
47
44
  CREATE: string;
@@ -65,10 +62,10 @@ declare const COUNTRY_API_ENDPOINTS: {
65
62
  delete: (id: number) => string;
66
63
  };
67
64
 
68
- declare const STATE_API_ENDPOINTS: {
65
+ declare const CUSTOMERS_API_ROUTES: {
69
66
  findAll: string;
70
67
  create: string;
71
- findById: (id: number) => string;
68
+ findOne: (id: number) => string;
72
69
  update: (id: number) => string;
73
70
  delete: (id: number) => string;
74
71
  };
@@ -90,12 +87,49 @@ declare const PERFORMANCES_API_ROUTES: {
90
87
  publicAvailablePerformances: string;
91
88
  };
92
89
 
90
+ declare const PRICE_ZONES_API_ROUTES: {
91
+ FIND_ALL: string;
92
+ CREATE: string;
93
+ findOneById: (id: number) => string;
94
+ update: (id: number) => string;
95
+ delete: (id: number) => string;
96
+ updateElements: (id: number) => string;
97
+ duplicate: (id: number) => string;
98
+ };
99
+
100
+ declare const PRODUCT_CATEGORIES_API_ROUTES: {
101
+ FIND_ALL: string;
102
+ CREATE: string;
103
+ findById: (id: number) => string;
104
+ update: (id: number) => string;
105
+ delete: (id: number) => string;
106
+ };
107
+
108
+ declare const PRODUCT_TAGS_API_ROUTES: {
109
+ FIND_ALL: string;
110
+ CREATE: string;
111
+ findById: (id: number) => string;
112
+ update: (id: number) => string;
113
+ delete: (id: number) => string;
114
+ };
115
+
116
+ declare const PRODUCT_TYPES_API_ROUTES: {
117
+ FIND_ALL: string;
118
+ CREATE: string;
119
+ findById: (id: number) => string;
120
+ update: (id: number) => string;
121
+ delete: (id: number) => string;
122
+ };
123
+
93
124
  declare const PRODUCTS_API_ROUTES: {
94
125
  FIND_ALL: string;
95
126
  CREATE: string;
96
127
  findOneById: (id: number) => string;
97
128
  update: (id: number) => string;
98
129
  delete: (id: number) => string;
130
+ fetchImages: (id: number) => string;
131
+ uploadImages: (id: number) => string;
132
+ deleteOneImage: (productId: number, imageId: number) => string;
99
133
  };
100
134
 
101
135
  declare const SHOWS_API_ROUTES: {
@@ -110,22 +144,12 @@ declare const SHOWS_API_ROUTES: {
110
144
  publicAvailablePerformances: string;
111
145
  };
112
146
 
113
- declare const CUSTOMERS_API_ROUTES: {
147
+ declare const STATE_API_ENDPOINTS: {
114
148
  findAll: string;
115
149
  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;
150
+ findById: (id: number) => string;
125
151
  update: (id: number) => string;
126
152
  delete: (id: number) => string;
127
- updateElements: (id: number) => string;
128
- duplicate: (id: number) => string;
129
153
  };
130
154
 
131
155
  declare const VENUES_API_ROUTES: {
@@ -139,152 +163,14 @@ declare const VENUES_API_ROUTES: {
139
163
  deleteOneImage: (venueId: number, imageId: number) => string;
140
164
  };
141
165
 
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 OrderItemType {
205
- TICKET = "TICKET",
206
- PRODUCT = "PRODUCT"
207
- }
208
-
209
- declare enum OrderStatus {
210
- PENDING = "PENDING",
211
- COMPLETED = "COMPLETED",
212
- FAILED = "FAILED",
213
- CANCELLED = "CANCELLED"
214
- }
215
-
216
- interface RoomMapPosition {
217
- x: number;
218
- y: number;
219
- }
220
-
221
- interface RoomMapSize {
222
- width: number;
223
- height: number;
224
- }
225
-
226
- interface RoomMapBaseElement {
227
- id: string;
228
- type: RoomMapElementType;
229
- position: RoomMapPosition;
230
- size: RoomMapSize;
231
- rotation: number;
232
- name?: string;
233
- isLocked: boolean;
234
- isVisible: boolean;
235
- zIndex: number;
236
- }
237
-
238
- interface RoomMapExitElement extends RoomMapBaseElement {
239
- type: RoomMapElementType.EXIT;
240
- exitName?: string;
241
- exitType: 'emergency' | 'regular';
242
- width: number;
243
- }
244
-
245
- interface RoomMapProductionAreaElement extends RoomMapBaseElement {
246
- type: RoomMapElementType.PRODUCTION_AREA;
247
- areaName?: string;
248
- areaType: 'lighting' | 'sound' | 'backstage' | 'orchestra' | 'custom';
249
- }
250
-
251
- interface RoomMapSeatElement extends RoomMapBaseElement {
252
- type: RoomMapElementType.SEAT_BLOCK;
253
- seatNumber?: string;
254
- isAvailable: boolean;
255
- priceCategory?: string;
256
- }
257
-
258
- interface RoomMapStageElement extends RoomMapBaseElement {
259
- type: RoomMapElementType.STAGE;
260
- stageName?: string;
261
- orientation: RoomMapElementOrientation;
262
- isMainStage: boolean;
263
- }
264
-
265
- interface RoomMapTableElement extends RoomMapBaseElement {
266
- type: RoomMapElementType.TABLE;
267
- tableNumber?: string;
268
- capacity: number;
269
- shape: 'round' | 'rectangular' | 'square';
270
- }
271
-
272
- interface RoomMapUnavailableElement extends RoomMapBaseElement {
273
- type: RoomMapElementType.UNAVAILABLE_SPACE;
274
- reason?: string;
275
- }
276
-
277
- interface RoomMapZoneElement extends RoomMapBaseElement {
278
- type: RoomMapElementType.ZONE;
279
- zoneName: string;
280
- zoneType: 'vip' | 'general' | 'premium' | 'balcony' | 'custom';
281
- color: string;
282
- capacity?: number;
283
- }
166
+ declare const BUTTON_VARIANT_CLASSES: Record<string, string>;
167
+ declare const BASE_BUTTON_CLASSES = "btn";
168
+ declare const BUTTON_SIZES_CLASSES: Record<string, string>;
284
169
 
285
- type RoomMapCanvasElement = RoomMapSeatElement | RoomMapTableElement | RoomMapZoneElement | RoomMapExitElement | RoomMapStageElement | RoomMapProductionAreaElement | RoomMapUnavailableElement;
170
+ declare const FORM_ERROR_MESSAGES: Record<string, string>;
286
171
 
287
- type RoomMapSeatDisplayState = 'normal' | 'accessible' | 'non_existent';
172
+ declare const BASE_INPUT_CLASSES: string;
173
+ declare const ERROR_INPUT_CLASSES: string;
288
174
 
289
175
  interface SelectOption {
290
176
  value: any;
@@ -292,7 +178,7 @@ interface SelectOption {
292
178
  disabled?: boolean;
293
179
  }
294
180
 
295
- interface Admin {
181
+ interface Admin extends Auditable {
296
182
  id: number;
297
183
  username: string;
298
184
  email: string;
@@ -308,16 +194,17 @@ interface Admin {
308
194
  reset_password_expires: Date;
309
195
  email_verified_at: Date;
310
196
  last_login: Date;
311
- created_at: Date;
312
- updated_at: Date;
313
- deleted_at: Date;
314
197
  }
315
198
 
316
199
  interface Auditable {
317
200
  created_at: Date;
318
201
  updated_at: Date;
202
+ deleted_at?: Date | null;
319
203
  is_published?: boolean;
320
204
  published_at?: Date;
205
+ published_by?: number;
206
+ deleted_by?: number;
207
+ deleted_by_admin?: Admin;
321
208
  created_by_admin?: Admin;
322
209
  updated_by_admin?: Admin;
323
210
  published_by_admin?: Admin;
@@ -360,20 +247,20 @@ interface AdminsResponse {
360
247
  }
361
248
 
362
249
  interface Country {
363
- id: string;
250
+ id: number;
364
251
  name: string;
365
252
  iso2: string;
366
253
  }
367
254
 
368
255
  interface State {
369
- id: string;
256
+ id: number;
370
257
  name: string;
371
258
  country_id: number;
372
259
  country?: Country;
373
260
  }
374
261
 
375
262
  interface City {
376
- id: string;
263
+ id: number;
377
264
  name: string;
378
265
  search_text: string | null;
379
266
  state_id: number;
@@ -412,27 +299,21 @@ interface Venue extends Auditable {
412
299
  images: VenueImage[];
413
300
  }
414
301
 
415
- interface HallFloor {
302
+ interface HallFloor extends Auditable {
416
303
  id: number;
417
304
  name: string;
418
305
  level: number;
419
306
  max_capacity: number;
420
307
  description: string;
421
308
  hall_id: number;
422
- created_at: Date;
423
- updated_at: Date;
424
- deleted_at: Date | null;
425
309
  }
426
310
 
427
- interface Hall {
311
+ interface Hall extends Auditable {
428
312
  id: number;
429
313
  name: string;
430
314
  venue_id: number;
431
315
  venue?: Venue;
432
316
  hall_floors?: HallFloor[];
433
- created_at: Date;
434
- updated_at: Date;
435
- deleted_at: Date | null;
436
317
  }
437
318
 
438
319
  interface CountryResponse {
@@ -486,7 +367,7 @@ interface FetchCitiesParams {
486
367
  search?: string;
487
368
  }
488
369
 
489
- interface Customer {
370
+ interface Customer extends Auditable {
490
371
  username: string;
491
372
  email: string;
492
373
  mobile: string;
@@ -517,9 +398,6 @@ interface Customer {
517
398
  membership_expires_at: Date | null;
518
399
  id: number;
519
400
  is_active: boolean;
520
- created_at: Date;
521
- updated_at: Date;
522
- deleted_at: Date | null;
523
401
  }
524
402
 
525
403
  interface CustomerResponse {
@@ -537,76 +415,324 @@ interface CustomersResponse {
537
415
  message: string;
538
416
  }
539
417
 
540
- type ShowType = 'play' | 'musical' | 'concert' | 'dance' | 'opera' | 'comedy' | 'other';
418
+ declare enum OrderItemType {
419
+ TICKET = "TICKET",
420
+ PRODUCT = "PRODUCT"
421
+ }
541
422
 
542
- interface ShowImage {
543
- id: number;
544
- path: string;
545
- full_url: string;
546
- original_name: string;
547
- extension: string;
548
- size: number;
549
- mime_type: string;
550
- width: number;
551
- height: number;
552
- show_id: number;
553
- created_at: Date;
423
+ declare enum OrderStatus {
424
+ ON_HOLD = "on-hold",
425
+ PENDING_PAYMENT = "pending-payment",
426
+ PROCESSING = "processing",
427
+ COMPLETED = "completed",
428
+ FAILED = "failed",
429
+ CANCELLED = "cancelled",
430
+ REFUNDED = "refunded"
554
431
  }
555
432
 
556
- interface Show extends Auditable {
557
- id: number;
558
- title: string;
559
- slug: string;
560
- description: string;
561
- duration_minutes: number | null;
562
- type_of_costs: string | null;
563
- service_fee: number | null;
564
- show_type: ShowType | null;
565
- pulep: string | null;
566
- minimum_age: number | null;
567
- show_category_id: number | null;
568
- default_room_map_id: number | null;
569
- published_at?: Date;
570
- is_published: boolean;
571
- images: ShowImage[];
572
- terms_and_conditions: string;
573
- performances_quantity?: number;
433
+ declare enum CreatorType {
434
+ ADMIN = "admin",
435
+ CUSTOMER = "customer"
574
436
  }
575
437
 
576
- interface ShowResponse {
438
+ declare enum PaymentMethod {
439
+ PAYROLL = "payroll",
440
+ CASH = "cash",
441
+ DATAFONO = "datafono",
442
+ INTERNAL_EXCHANGE = "internal_exchange",
443
+ CLIENT_EXCHANGE = "client_exchange",
444
+ MERCADO_PAGO = "mercado_pago"
445
+ }
446
+
447
+ declare enum RoomMapElementType {
448
+ SEAT_BLOCK = "seat_block",
449
+ TABLE = "table",
450
+ ZONE = "zone",
451
+ EXIT = "exit",
452
+ STAGE = "stage",
453
+ PRODUCTION_AREA = "production_area",
454
+ UNAVAILABLE_SPACE = "unavailable_space",
455
+ STAIR = "stair",
456
+ HALLWAY = "hallway"
457
+ }
458
+
459
+ interface RoomMapPosition {
460
+ x: number;
461
+ y: number;
462
+ }
463
+
464
+ interface RoomMapSize {
465
+ width: number;
466
+ height: number;
467
+ }
468
+
469
+ interface RoomMapBaseElement {
470
+ id: string;
471
+ type: RoomMapElementType;
472
+ position: RoomMapPosition;
473
+ size: RoomMapSize;
474
+ rotation: number;
475
+ name?: string;
476
+ isLocked: boolean;
477
+ isVisible: boolean;
478
+ zIndex: number;
479
+ }
480
+
481
+ interface RoomMapExitElement extends RoomMapBaseElement {
482
+ type: RoomMapElementType.EXIT;
483
+ exitName?: string;
484
+ exitType: 'emergency' | 'regular';
485
+ width: number;
486
+ }
487
+
488
+ interface RoomMapProductionAreaElement extends RoomMapBaseElement {
489
+ type: RoomMapElementType.PRODUCTION_AREA;
490
+ areaName?: string;
491
+ areaType: 'lighting' | 'sound' | 'backstage' | 'orchestra' | 'custom';
492
+ }
493
+
494
+ interface RoomMapSeatElement extends RoomMapBaseElement {
495
+ type: RoomMapElementType.SEAT_BLOCK;
496
+ seatNumber?: string;
497
+ isAvailable: boolean;
498
+ priceCategory?: string;
499
+ }
500
+
501
+ declare enum RoomMapElementOrientation {
502
+ TOP = "top",
503
+ RIGHT = "right",
504
+ BOTTOM = "bottom",
505
+ LEFT = "left",
506
+ CENTER = "center"
507
+ }
508
+
509
+ interface RoomMapStageElement extends RoomMapBaseElement {
510
+ type: RoomMapElementType.STAGE;
511
+ stageName?: string;
512
+ orientation: RoomMapElementOrientation;
513
+ isMainStage: boolean;
514
+ }
515
+
516
+ interface RoomMapTableElement extends RoomMapBaseElement {
517
+ type: RoomMapElementType.TABLE;
518
+ tableNumber?: string;
519
+ capacity: number;
520
+ shape: 'round' | 'rectangular' | 'square';
521
+ }
522
+
523
+ interface RoomMapUnavailableElement extends RoomMapBaseElement {
524
+ type: RoomMapElementType.UNAVAILABLE_SPACE;
525
+ reason?: string;
526
+ }
527
+
528
+ interface RoomMapZoneElement extends RoomMapBaseElement {
529
+ type: RoomMapElementType.ZONE;
530
+ zoneName: string;
531
+ zoneType: 'vip' | 'general' | 'premium' | 'balcony' | 'custom';
532
+ color: string;
533
+ capacity?: number;
534
+ }
535
+
536
+ type RoomMapCanvasElement = RoomMapSeatElement | RoomMapTableElement | RoomMapZoneElement | RoomMapExitElement | RoomMapStageElement | RoomMapProductionAreaElement | RoomMapUnavailableElement;
537
+
538
+ type RoomMapSeatDisplayState = 'normal' | 'accessible' | 'non_existent';
539
+
540
+ declare enum ShowType {
541
+ PLAY = "PLAY",
542
+ CONCERT = "CONCERT",
543
+ STAND_UP_COMEDY = "STAND_UP_COMEDY",
544
+ OPERA = "OPERA",
545
+ MUSICAL = "MUSICAL",
546
+ DANCE = "DANCE",
547
+ SPORT = "SPORT",
548
+ OTHER = "OTHER",
549
+ DEFAULT = "DEFAULT"
550
+ }
551
+
552
+ type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
553
+
554
+ type FeedbackModalType = 'loading' | 'success' | 'info' | 'warning' | 'error';
555
+
556
+ type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
557
+
558
+ interface FeedbackModalElement {
559
+ id: string;
560
+ type: FeedbackModalType;
561
+ title: string;
562
+ isOpen: WritableSignal<boolean>;
563
+ message?: string;
564
+ showHeader?: boolean;
565
+ showCloseButton?: boolean;
566
+ showTitle?: boolean;
567
+ closeModal?: void;
568
+ }
569
+
570
+ declare enum FileType {
571
+ IMAGE = "image",
572
+ PDF = "pdf",
573
+ EXCEL = "excel",
574
+ WORD = "word",
575
+ TEXT = "text",
576
+ DEFAULT = "default"
577
+ }
578
+
579
+ declare enum CouponApplicability {
580
+ GENERAL = "GENERAL",
581
+ CUSTOMER_EMAIL = "CUSTOMER_EMAIL",
582
+ MEMBERSHIP_TYPE = "MEMBERSHIP_TYPE",
583
+ SHOWS = "SHOWS",
584
+ PERFORMANCES = "PERFORMANCES"
585
+ }
586
+
587
+ declare enum CouponDiscountType {
588
+ PERCENTAGE = "PERCENTAGE",
589
+ FIXED = "FIXED"
590
+ }
591
+
592
+ declare enum CouponStatus {
593
+ ACTIVE = "ACTIVE",
594
+ INACTIVE = "INACTIVE",
595
+ EXPIRED = "EXPIRED",
596
+ CONSUMED = "CONSUMED"
597
+ }
598
+
599
+ declare enum CorporateBondStatus {
600
+ ACTIVE = "ACTIVE",
601
+ INACTIVE = "INACTIVE",
602
+ EXPIRED = "EXPIRED",
603
+ CONSUMED = "CONSUMED"
604
+ }
605
+
606
+ declare enum PerformanceStatus {
607
+ SCHEDULED = "scheduled",
608
+ OPEN = "open",
609
+ CLOSED = "closed",
610
+ CANCELLED = "cancelled",
611
+ COMPLETED = "completed",
612
+ POSTPONED = "postponed"
613
+ }
614
+
615
+ declare enum PerformanceTicketStatus {
616
+ AVAILABLE = "available",
617
+ RESERVED = "reserved",
618
+ SOLD = "sold",
619
+ BLOCKED = "blocked"
620
+ }
621
+
622
+ declare enum GiftBondStatus {
623
+ ACTIVE = "ACTIVE",
624
+ INACTIVE = "INACTIVE",
625
+ EXPIRED = "EXPIRED",
626
+ CONSUMED = "CONSUMED"
627
+ }
628
+
629
+ declare enum TransactionStatus {
630
+ PENDING = "PENDING",
631
+ APPROVED = "APPROVED",
632
+ REJECTED = "REJECTED",
633
+ ERROR = "ERROR"
634
+ }
635
+
636
+ interface FetchProductCategoriesParams {
637
+ name?: string;
638
+ slug?: string;
639
+ page?: number;
640
+ limit?: number;
641
+ search?: string;
642
+ }
643
+
644
+ interface ProductCategory extends Auditable {
645
+ id: number;
646
+ name: string;
647
+ slug: string;
648
+ }
649
+
650
+ interface ProductCategoriesResponse {
577
651
  statusCode: number;
578
- data: Show;
652
+ data: {
653
+ categories: ProductCategory[];
654
+ total: number;
655
+ };
579
656
  message: string;
580
657
  }
581
658
 
582
- interface ShowsResponseInterface {
659
+ interface ProductCategoryResponse {
660
+ statusCode: number;
661
+ data: ProductCategory;
662
+ message: string;
663
+ }
664
+
665
+ interface FetchProductTagsParams {
666
+ name?: string;
667
+ slug?: string;
668
+ page?: number;
669
+ limit?: number;
670
+ search?: string;
671
+ }
672
+
673
+ interface ProductTag extends Auditable {
674
+ id: number;
675
+ name: string;
676
+ slug: string;
677
+ }
678
+
679
+ interface ProductTagResponse {
680
+ statusCode: number;
681
+ data: ProductTag;
682
+ message: string;
683
+ }
684
+
685
+ interface ProductTagsResponse {
583
686
  statusCode: number;
584
687
  data: {
585
- shows: Show[];
688
+ tags: ProductTag[];
586
689
  total: number;
587
690
  };
588
691
  message: string;
589
692
  }
590
693
 
591
- interface FetchShowsParams {
694
+ interface FetchProductTypesParams {
695
+ name?: string;
696
+ slug?: string;
592
697
  page?: number;
593
698
  limit?: number;
594
699
  search?: string;
595
- date?: string;
596
700
  }
597
701
 
598
- interface PriceZone {
702
+ interface ProductType extends Auditable {
599
703
  id: number;
600
704
  name: string;
601
- color: string;
602
- normal_price: number | null;
603
- is_active: boolean;
604
- elements: any[];
605
- room_map_id: number | null;
705
+ slug: string;
706
+ }
707
+
708
+ interface ProductTypeResponse {
709
+ statusCode: number;
710
+ data: ProductType;
711
+ message: string;
712
+ }
713
+
714
+ interface ProductTypesResponse {
715
+ statusCode: number;
716
+ data: {
717
+ types: ProductType[];
718
+ total: number;
719
+ };
720
+ message: string;
721
+ }
722
+
723
+ interface ProductImage {
724
+ id: number;
725
+ path: string;
726
+ full_url: string;
727
+ original_name: string;
728
+ extension: string;
729
+ size: number;
730
+ mime_type: string;
731
+ width: number;
732
+ height: number;
733
+ product_id: number;
734
+ product: Product;
606
735
  created_at: Date;
607
- updated_at: Date;
608
- created_by: number;
609
- updated_by: number;
610
736
  }
611
737
 
612
738
  interface Product extends Auditable {
@@ -621,10 +747,34 @@ interface Product extends Auditable {
621
747
  is_limited_edition: boolean;
622
748
  is_active: boolean;
623
749
  deleted_at: Date | null;
624
- categories?: any[];
625
- tags?: any[];
626
- types?: any[];
627
- images?: any[];
750
+ categories?: ProductCategory[];
751
+ tags?: ProductTag[];
752
+ types?: ProductType[];
753
+ images?: ProductImage[];
754
+ }
755
+
756
+ interface ShowImage {
757
+ id: number;
758
+ path: string;
759
+ full_url: string;
760
+ original_name: string;
761
+ extension: string;
762
+ size: number;
763
+ mime_type: string;
764
+ width: number;
765
+ height: number;
766
+ show_id: number;
767
+ created_at: Date;
768
+ }
769
+
770
+ interface PriceZone extends Auditable {
771
+ id: number;
772
+ name: string;
773
+ color: string;
774
+ normal_price: number | null;
775
+ is_active: boolean;
776
+ elements: any[];
777
+ room_map_id: number | null;
628
778
  }
629
779
 
630
780
  interface NumerationConfig {
@@ -662,7 +812,7 @@ interface RoomMapElementTemplate {
662
812
  price_zone?: PriceZone;
663
813
  }
664
814
 
665
- interface RoomMap {
815
+ interface RoomMap extends Auditable {
666
816
  id: number;
667
817
  name: string;
668
818
  canvas_settings: {
@@ -678,8 +828,6 @@ interface RoomMap {
678
828
  related_product_ids: number[];
679
829
  products?: Product[];
680
830
  venue_name?: string;
681
- created_at: Date;
682
- updated_at: Date;
683
831
  }
684
832
 
685
833
  interface RoomMapCanvasConfiguration {
@@ -721,7 +869,7 @@ interface ElementPropertiesTab {
721
869
  elements_access: string[];
722
870
  }
723
871
 
724
- interface Performance {
872
+ interface Performance extends Auditable {
725
873
  id: number;
726
874
  start_time: Date | string;
727
875
  end_time: Date | string;
@@ -731,26 +879,32 @@ interface Performance {
731
879
  show?: Show;
732
880
  room_map: RoomMap;
733
881
  room_map_id: number;
734
- created_at: Date;
735
- updated_at: Date;
736
882
  }
737
883
 
738
- interface PerformanceResponse {
739
- statusCode: number;
740
- data: Performance;
741
- message: string;
742
- }
743
-
744
- interface PerformancesResponseInterface {
745
- statusCode: number;
746
- data: {
747
- performances: Performance[];
748
- total: number;
749
- };
750
- message: string;
884
+ interface Show extends Auditable {
885
+ id: number;
886
+ title: string;
887
+ slug: string;
888
+ description: string;
889
+ duration_minutes: number | null;
890
+ type_of_costs: string | null;
891
+ service_fee: number | null;
892
+ show_type: ShowType | null;
893
+ pulep: string | null;
894
+ minimum_age: number | null;
895
+ show_category_id: number | null;
896
+ default_room_map_id: number | null;
897
+ is_published: boolean;
898
+ images: ShowImage[];
899
+ terms_and_conditions: string;
900
+ performances_quantity?: number;
901
+ performances?: Performance[];
902
+ next_performance?: Performance;
903
+ days_of_week?: number[];
904
+ unique_start_times?: string[];
751
905
  }
752
906
 
753
- interface OrderItem {
907
+ interface OrderItem extends Auditable {
754
908
  id: number;
755
909
  order: Order;
756
910
  item_type: OrderItemType;
@@ -763,26 +917,21 @@ interface OrderItem {
763
917
  ticket_id?: number;
764
918
  ticket_uuid?: string;
765
919
  item: Show | Product;
766
- created_at: Date;
767
- updated_at: Date;
768
- created_by: number;
769
- updated_by: number;
770
920
  }
771
921
 
772
922
  interface Coupon extends Auditable {
773
923
  id: number;
774
924
  code: string;
925
+ billing_code: string;
775
926
  description?: string;
776
927
  discount_type: CouponDiscountType;
777
- discount_type_string?: string;
778
928
  discount_value: number;
779
- discount_value_string?: string;
780
929
  start_date: Date | null;
781
930
  end_date: Date | null;
782
931
  max_uses: number | null;
783
- max_uses_per_user?: number | null;
932
+ max_uses_per_customer?: number | null;
784
933
  uses_count: number;
785
- is_active: boolean;
934
+ status: CouponStatus;
786
935
  applicability_type: CouponApplicability;
787
936
  applicable_customer_emails: string[] | null;
788
937
  applicable_membership_types: string[] | null;
@@ -790,9 +939,11 @@ interface Coupon extends Auditable {
790
939
  applicable_performance_ids?: number[];
791
940
  applicable_price_zone_ids?: number[];
792
941
  applies_to_service_fee?: boolean;
942
+ orders?: Order[];
943
+ customers?: Customer[];
793
944
  }
794
945
 
795
- interface CorporateBond {
946
+ interface CorporateBond extends Auditable {
796
947
  id: number;
797
948
  name: string;
798
949
  description?: string;
@@ -803,10 +954,6 @@ interface CorporateBond {
803
954
  status: CorporateBondStatus;
804
955
  value: number;
805
956
  codes: CorporateBondCode[];
806
- created_at: Date;
807
- updated_at: Date;
808
- created_by: number;
809
- updated_by: number;
810
957
  }
811
958
 
812
959
  interface CorporateBondCode {
@@ -836,77 +983,305 @@ interface ValidateCorporateBondResponse {
836
983
  statusCode: number;
837
984
  }
838
985
 
839
- interface Order {
986
+ interface GiftBond extends Auditable {
840
987
  id: number;
841
988
  uuid: string;
989
+ name: string;
990
+ description?: string;
991
+ status: GiftBondStatus;
992
+ value: number;
842
993
  customer: Customer;
994
+ customer_id: number;
995
+ }
996
+
997
+ interface GiftBondResponse {
998
+ statusCode: number;
999
+ data: GiftBond;
1000
+ message: string;
1001
+ }
1002
+
1003
+ interface GiftBondsResponse {
1004
+ statusCode: number;
1005
+ data: {
1006
+ gift_bonds: GiftBond[];
1007
+ total: number;
1008
+ };
1009
+ message: string;
1010
+ }
1011
+
1012
+ interface ValidateGiftBondResponse {
1013
+ data: {
1014
+ valid: boolean;
1015
+ message: string;
1016
+ code: string;
1017
+ bond?: GiftBond;
1018
+ };
1019
+ statusCode: number;
1020
+ message: string;
1021
+ }
1022
+
1023
+ interface Transaction extends Auditable {
1024
+ id: number;
1025
+ status: TransactionStatus;
1026
+ amount: number;
1027
+ currency: string;
1028
+ payment_gateway: string;
1029
+ gateway_transaction_id: string;
1030
+ gateway_response: any;
1031
+ order: Order;
1032
+ }
1033
+
1034
+ interface Order extends Auditable {
1035
+ id: number;
1036
+ uuid: string;
1037
+ customer_id: number | null;
1038
+ customer: Customer | null;
843
1039
  customer_name?: string;
844
1040
  customer_email?: string;
845
1041
  order_items: OrderItem[];
846
1042
  order_items_quantity?: number;
1043
+ transactions: Transaction[];
1044
+ sub_total: number;
847
1045
  discount_amount: number;
848
1046
  total: number;
849
- total_discounted: number;
850
- sub_total: number;
851
1047
  sub_total_discounted: number;
1048
+ total_discounted: number;
852
1049
  service_fee: number;
853
1050
  service_fee_discounted: number;
854
1051
  coupon: Coupon;
855
1052
  coupon_snapshot: Record<string, any>;
856
- corporate_bond_code: CorporateBondCode;
857
- corporate_bond_code_snapshot: Record<string, any>;
858
1053
  status: OrderStatus;
859
1054
  show_snapshot: Record<string, any>;
860
1055
  performance_snapshot: Record<string, any>;
861
- created_at: Date;
862
- updated_at: Date;
863
- payment_method: string;
1056
+ payment_method: PaymentMethod;
864
1057
  terms_accepted: boolean;
865
1058
  data_processing_accepted: boolean;
866
- billing_info: Partial<Customer>;
1059
+ billing_info: Record<string, any>;
1060
+ corporate_bond_code_snapshot: Record<string, any>;
1061
+ gift_bond_snapshot: Record<string, any>;
1062
+ corporate_bond_code: CorporateBondCode | null;
1063
+ corporate_bond_code_id: number | null;
1064
+ gift_bond: GiftBond | null;
1065
+ gift_bond_id: number | null;
867
1066
  comments: string;
868
1067
  address_notes: string;
1068
+ mercado_pago_preference_id: string;
869
1069
  created_by: number;
1070
+ created_by_type: CreatorType;
870
1071
  updated_by: number;
1072
+ updated_by_type: CreatorType;
1073
+ }
1074
+
1075
+ interface OrderResponse {
1076
+ statusCode: number;
1077
+ data: Order;
1078
+ message: string;
1079
+ }
1080
+
1081
+ interface OrdersResponse {
1082
+ statusCode: number;
1083
+ data: {
1084
+ orders: Order[];
1085
+ total: number;
1086
+ };
1087
+ message: string;
1088
+ }
1089
+
1090
+ interface PerformanceTicket extends Auditable {
1091
+ id: number;
1092
+ uuid: string;
1093
+ is_accessible: boolean;
1094
+ performance_id: number;
1095
+ room_map_element_id: number;
1096
+ element_type: RoomMapElementType;
1097
+ seat_label: string | null;
1098
+ seat_numeration: string | null;
1099
+ normal_price: number;
1100
+ discount_price: number | null;
1101
+ presale_price: number | null;
1102
+ status: PerformanceTicketStatus;
1103
+ reserved_until: Date | null;
1104
+ order_id: number | null;
1105
+ customer_id: number | null;
1106
+ checked_in: boolean;
1107
+ checked_in_at: Date | null;
1108
+ order_items: OrderItem[];
1109
+ element_qty?: number;
1110
+ }
1111
+
1112
+ interface TicketMapSeatPosition {
1113
+ rowIndex: number;
1114
+ colIndex: number;
1115
+ seatLabel: string;
1116
+ }
1117
+
1118
+ interface TicketMapTableChairPosition {
1119
+ index: number;
1120
+ angle: number;
1121
+ x: number;
1122
+ y: number;
1123
+ }
1124
+
1125
+ interface ElementRenderData {
1126
+ elementId: number;
1127
+ hallFloorId: number | null;
1128
+ type: RoomMapElementType;
1129
+ shapeConfig: Record<string, any>;
1130
+ tickets: PerformanceTicket[];
1131
+ ticketByNumeration: Map<string, PerformanceTicket>;
1132
+ elementName: string;
1133
+ seatPositions?: TicketMapSeatPosition[][];
1134
+ chairPositions?: TicketMapTableChairPosition[];
1135
+ zoneCapacity?: number;
1136
+ }
1137
+
1138
+ interface TicketMapTooltipData {
1139
+ x: number;
1140
+ y: number;
1141
+ elementName: string;
1142
+ seatLabel: string | null;
1143
+ price: number;
1144
+ status: PerformanceTicketStatus;
1145
+ statusLabel: string;
1146
+ statusColor: string;
1147
+ isSelected: boolean;
1148
+ ticketId: number;
1149
+ }
1150
+
1151
+ interface TicketMapZoneQuantityState {
1152
+ elementId: number;
1153
+ selectedCount: number;
1154
+ maxCapacity: number;
1155
+ }
1156
+
1157
+ interface ReservePerformanceDto {
1158
+ ticket_ids: number[];
1159
+ products?: {
1160
+ id: number;
1161
+ quantity: number;
1162
+ }[];
1163
+ coupon_code?: string;
1164
+ gift_bond_code?: string;
1165
+ corporate_bond_code?: string;
1166
+ payment_method?: string;
1167
+ billing?: {
1168
+ first_name: string;
1169
+ last_name: string;
1170
+ email: string;
1171
+ mobile: string;
1172
+ document_type: string;
1173
+ document_number: string;
1174
+ address: string;
1175
+ city_id: number;
1176
+ postal_code?: string;
1177
+ address_notes?: string;
1178
+ terms_accepted: boolean;
1179
+ data_processing_accepted: boolean;
1180
+ comments?: string;
1181
+ };
1182
+ }
1183
+
1184
+ interface TicketMapZoomConfig {
1185
+ minZoom: number;
1186
+ maxZoom: number;
1187
+ zoomStep: number;
1188
+ scaleBy: number;
1189
+ }
1190
+
1191
+ interface HallFloorOption {
1192
+ id: number | null;
1193
+ name: string;
1194
+ }
1195
+
1196
+ declare enum SelectedDiscountCardType {
1197
+ COUPON = "COUPON",
1198
+ CORPORATE_BOND = "CORPORATE_BOND",
1199
+ GIFT_BOND = "GIFT_BOND"
1200
+ }
1201
+
1202
+ interface SelectedDiscountCard {
1203
+ name: string;
1204
+ type: SelectedDiscountCardType;
1205
+ value: number;
1206
+ }
1207
+
1208
+ interface FetchShowsParams {
1209
+ page?: number;
1210
+ limit?: number;
1211
+ search?: string;
1212
+ date?: string;
1213
+ }
1214
+
1215
+ interface ShowResponse {
1216
+ statusCode: number;
1217
+ data: Show;
1218
+ message: string;
1219
+ }
1220
+
1221
+ interface ShowsResponseInterface {
1222
+ statusCode: number;
1223
+ data: {
1224
+ shows: Show[];
1225
+ total: number;
1226
+ };
1227
+ message: string;
1228
+ }
1229
+
1230
+ interface ShowCategory extends Auditable {
1231
+ id: number;
1232
+ name: string;
1233
+ slug: string;
1234
+ }
1235
+
1236
+ interface ShowCategoriesResponse {
1237
+ statusCode: number;
1238
+ data: {
1239
+ categories: ShowCategory[];
1240
+ total: number;
1241
+ };
1242
+ message: string;
871
1243
  }
872
1244
 
873
- interface OrderResponse {
1245
+ interface ShowCategoryResponse {
874
1246
  statusCode: number;
875
- data: Order;
1247
+ data: ShowCategory;
876
1248
  message: string;
877
1249
  }
878
1250
 
879
- interface OrdersResponse {
1251
+ interface ShowGender extends Auditable {
1252
+ id: number;
1253
+ name: string;
1254
+ slug: string;
1255
+ }
1256
+
1257
+ interface ShowGenderResponse {
1258
+ statusCode: number;
1259
+ data: ShowGender;
1260
+ message: string;
1261
+ }
1262
+
1263
+ interface ShowGendersResponse {
880
1264
  statusCode: number;
881
1265
  data: {
882
- orders: Order[];
1266
+ genders: ShowGender[];
883
1267
  total: number;
884
1268
  };
885
1269
  message: string;
886
1270
  }
887
1271
 
888
- interface PerformanceTicket {
889
- id: number;
890
- uuid: string;
891
- is_accessible: boolean;
892
- performance_id: number;
893
- room_map_element_id: number;
894
- element_type: RoomMapElementType;
895
- seat_label: string | null;
896
- seat_numeration: string | null;
897
- normal_price: number;
898
- discount_price: number | null;
899
- presale_price: number | null;
900
- status: PerformanceTicketStatus;
901
- reserved_until: Date | null;
902
- order_id: number | null;
903
- customer_id: number | null;
904
- checked_in: boolean;
905
- checked_in_at: Date | null;
906
- order_items: OrderItem[];
907
- element_qty?: number;
908
- created_at: Date;
909
- updated_at: Date;
1272
+ interface PerformanceResponse {
1273
+ statusCode: number;
1274
+ data: Performance;
1275
+ message: string;
1276
+ }
1277
+
1278
+ interface PerformancesResponseInterface {
1279
+ statusCode: number;
1280
+ data: {
1281
+ performances: Performance[];
1282
+ total: number;
1283
+ };
1284
+ message: string;
910
1285
  }
911
1286
 
912
1287
  interface PerformanceBookingDataResponse {
@@ -990,6 +1365,13 @@ interface ProductResponse {
990
1365
  message: string;
991
1366
  }
992
1367
 
1368
+ interface ProductTaxonomy extends Auditable {
1369
+ id: number;
1370
+ name: string;
1371
+ slug: string;
1372
+ selected?: boolean;
1373
+ }
1374
+
993
1375
  interface ProductsResponseInterface {
994
1376
  statusCode: number;
995
1377
  data: {
@@ -1043,6 +1425,95 @@ interface ValidateCouponResponse {
1043
1425
  };
1044
1426
  }
1045
1427
 
1428
+ interface RecentOrder {
1429
+ id: number;
1430
+ customer_name: string;
1431
+ event: string;
1432
+ total: number;
1433
+ status: string;
1434
+ uuid: string;
1435
+ }
1436
+
1437
+ interface RecentRoomMap {
1438
+ id: number;
1439
+ name: string;
1440
+ capacity: number;
1441
+ created_at: Date;
1442
+ updated_at: Date;
1443
+ }
1444
+
1445
+ interface QrTokenData {
1446
+ token: string;
1447
+ expires_at: string;
1448
+ refresh_in: number;
1449
+ }
1450
+
1451
+ interface QrTokenResponse {
1452
+ statusCode: number;
1453
+ data: QrTokenData;
1454
+ message: string;
1455
+ }
1456
+
1457
+ declare const DOCUMENT_TYPES_OPTIONS: SelectOption[];
1458
+
1459
+ declare const PAYMENT_METHODS_OPTIONS: SelectOption[];
1460
+ declare const ORDER_STATUS_COLORS: Record<OrderStatus, {
1461
+ text: string;
1462
+ bg: string;
1463
+ }>;
1464
+ declare const ORDER_ITEM_TYPES_COLORS: Record<OrderItemType, {
1465
+ text: string;
1466
+ bg: string;
1467
+ }>;
1468
+
1469
+ declare const TICKET_MAP_LAST_TICKETS_LIMIT = 10;
1470
+ declare const TICKET_ELEMENT_TYPES: RoomMapElementType[];
1471
+ declare const DEFAULT_STAGE_CONFIG: {
1472
+ [x: string]: any;
1473
+ };
1474
+ declare const TICKET_STATUS_COLORS: Record<PerformanceTicketStatus, string>;
1475
+ declare const TICKET_STATUS_FILLS: Record<PerformanceTicketStatus, string>;
1476
+ declare const TICKET_STATUS_LABELS: Record<PerformanceTicketStatus, string>;
1477
+ declare const TICKET_MAP_GRID_SIZE = 30;
1478
+ declare const TICKET_MAP_TITLE_HEIGHT = 30;
1479
+
1480
+ interface KonvaShapeConfig {
1481
+ config: ShapeConfig;
1482
+ layer: 'background' | 'elements' | 'foreground' | 'overlay';
1483
+ }
1484
+
1485
+ declare function drawRoundedRect(con: Context, shape: Shape, x: number, y: number, width: number, height: number, cornerRadius: number): void;
1486
+
1487
+ declare const generateExitScene: (con: Context, shape: Shape) => void;
1488
+
1489
+ declare const generateHallwayScene: (con: Context, shape: Shape) => void;
1490
+
1491
+ declare const generateProductionAreaScene: (con: Context, shape: Shape) => void;
1492
+
1493
+ declare const generateSeatBlockScene: (con: Context, shape: Shape, numerationConfig?: {
1494
+ start_row_letter: string;
1495
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1496
+ start_column_number: number;
1497
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1498
+ }) => void;
1499
+
1500
+ declare const generateStageScene: (con: Context, shape: Shape) => void;
1501
+
1502
+ declare const generateStairScene: (con: Context, shape: Shape) => void;
1503
+
1504
+ declare const generateTableScene: (con: Context, shape: Shape) => void;
1505
+
1506
+ declare const generateUnavailableSpaceScene: (con: Context, shape: Shape) => void;
1507
+
1508
+ declare const generateZoneScene: (con: Context, shape: Shape) => void;
1509
+
1510
+ declare const KONVA_SHAPE_MAPPINGS: Record<RoomMapElementType, KonvaShapeConfig>;
1511
+
1512
+ declare const SHOW_TYPE_COLORS: Record<ShowType, {
1513
+ bg: string;
1514
+ text: string;
1515
+ }>;
1516
+
1046
1517
  declare const getCustomerFullname: (customer: Customer) => string;
1047
1518
 
1048
1519
  declare function parseJsonToFormDataAdvanced(imageGallery: any[]): FormData;
@@ -1050,10 +1521,42 @@ declare function parseJsonToFormDataAdvanced(imageGallery: any[]): FormData;
1050
1521
  declare const transformImageToFile: (image: ShowImage | VenueImage) => UploadedFile;
1051
1522
 
1052
1523
  declare const formatCitiesResponseToSelect: (res: CitiesResponse) => {
1053
- value: string;
1524
+ value: number;
1054
1525
  label: string;
1055
1526
  }[];
1056
1527
 
1528
+ declare function tintColor(hex: string, amount?: number): string;
1529
+
1530
+ declare const drawChairIcon: (con: Context, cx: number, cy: number, size: number) => void;
1531
+
1532
+ declare const drawHappyFace: (con: Context, cx: number, cy: number, size: number) => void;
1533
+
1534
+ declare const drawWheelchairIcon: (con: Context, shape: Shape, cx: number, cy: number, size: number, fillColor?: string, strokeColor?: string) => void;
1535
+
1536
+ declare const numberToLetter: (num: number) => string;
1537
+
1538
+ declare const getItemTypeIcon: (ticket: PerformanceTicket) => string;
1539
+
1540
+ declare const generateSeatBlockTicketScene: (con: Context, shape: Shape, numerationConfig?: {
1541
+ start_row_letter: string;
1542
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1543
+ start_column_number: number;
1544
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1545
+ }, ticketStatusMap?: Map<string, PerformanceTicketStatus>) => void;
1546
+
1547
+ declare const generateTableTicketScene: (con: Context, shape: Shape, chairTicketStatuses?: PerformanceTicketStatus[], tableSeats?: RoomMapSeatState[][]) => void;
1548
+
1549
+ declare function processElementsToRenderData(elements: RoomMapElementTemplate[], tickets: PerformanceTicket[], priceZones?: {
1550
+ id: number;
1551
+ color: string;
1552
+ }[]): ElementRenderData[];
1553
+ declare function findTicketAtPosition(renderData: ElementRenderData, relX: number, relY: number): PerformanceTicket | null;
1554
+ declare function findElementAtPosition(renderDataList: ElementRenderData[], stageX: number, stageY: number): {
1555
+ element: ElementRenderData;
1556
+ relX: number;
1557
+ relY: number;
1558
+ } | null;
1559
+
1057
1560
  declare function MinTodayValidator(controlName: string): ValidatorFn;
1058
1561
  declare function EndDateGreaterThanStartValidator(startDateControlName: string, endDateControlName: string): ValidatorFn;
1059
1562
 
@@ -1084,16 +1587,6 @@ declare class ToastService {
1084
1587
  static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
1085
1588
  }
1086
1589
 
1087
- declare class LoadingModalService {
1088
- title: WritableSignal<string>;
1089
- isOpen: WritableSignal<boolean>;
1090
- get modalIsOpen(): WritableSignal<boolean>;
1091
- open(title?: string): void;
1092
- close(): void;
1093
- static ɵfac: i0.ɵɵFactoryDeclaration<LoadingModalService, never>;
1094
- static ɵprov: i0.ɵɵInjectableDeclaration<LoadingModalService>;
1095
- }
1096
-
1097
1590
  declare class DeleteConfirmationService {
1098
1591
  title: WritableSignal<string>;
1099
1592
  resourceName: WritableSignal<string>;
@@ -1222,25 +1715,6 @@ declare class PerformancesListEventsService {
1222
1715
  static ɵprov: i0.ɵɵInjectableDeclaration<PerformancesListEventsService>;
1223
1716
  }
1224
1717
 
1225
- declare class ProductService {
1226
- private apiService;
1227
- private productsSubject;
1228
- products$: Observable<Product[]>;
1229
- constructor(apiService: ApiService);
1230
- fetchProducts(page: number, search: string): Observable<ProductsResponseInterface>;
1231
- loadProducts({ page, search }?: {
1232
- page?: number;
1233
- search?: string;
1234
- }): void;
1235
- getCurrentProducts(): Product[];
1236
- fetchOneById(id: number): Observable<ProductResponse>;
1237
- createOne(data: Product): Observable<any>;
1238
- updateOne(id: number, data: any): Observable<ProductResponse>;
1239
- deleteOne(id: number): Observable<any>;
1240
- static ɵfac: i0.ɵɵFactoryDeclaration<ProductService, never>;
1241
- static ɵprov: i0.ɵɵInjectableDeclaration<ProductService>;
1242
- }
1243
-
1244
1718
  declare class ShowService {
1245
1719
  private apiService;
1246
1720
  private showsSubject;
@@ -1321,6 +1795,322 @@ declare class PriceZoneFormModalService {
1321
1795
  static ɵprov: i0.ɵɵInjectableDeclaration<PriceZoneFormModalService>;
1322
1796
  }
1323
1797
 
1798
+ declare class ProductCategoryService {
1799
+ private apiService;
1800
+ constructor(apiService: ApiService);
1801
+ fetchCategories({ page, search, limit, }: FetchProductCategoriesParams): Observable<ProductCategoriesResponse>;
1802
+ fetchOneById(id: number): Observable<ProductCategoryResponse>;
1803
+ createOne(data: ProductCategory): Observable<any>;
1804
+ updateOne(id: number, data: ProductCategory): Observable<ProductCategoryResponse>;
1805
+ deleteOne(id: number): Observable<any>;
1806
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductCategoryService, never>;
1807
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductCategoryService>;
1808
+ }
1809
+
1810
+ declare class ProductTagService {
1811
+ private apiService;
1812
+ constructor(apiService: ApiService);
1813
+ fetchTags({ page, search, limit }: FetchProductTagsParams): Observable<ProductTagsResponse>;
1814
+ fetchOneById(id: number): Observable<ProductTagResponse>;
1815
+ createOne(data: ProductTag): Observable<any>;
1816
+ updateOne(id: number, data: ProductTag): Observable<ProductTagResponse>;
1817
+ deleteOne(id: number): Observable<any>;
1818
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTagService, never>;
1819
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTagService>;
1820
+ }
1821
+
1822
+ declare class ProductTypeService {
1823
+ private apiService;
1824
+ constructor(apiService: ApiService);
1825
+ fetchTypes({ page, search, limit }: FetchProductTypesParams): Observable<ProductTypesResponse>;
1826
+ fetchOneById(id: number): Observable<ProductTypeResponse>;
1827
+ createOne(data: ProductType): Observable<any>;
1828
+ updateOne(id: number, data: ProductType): Observable<ProductTypeResponse>;
1829
+ deleteOne(id: number): Observable<any>;
1830
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTypeService, never>;
1831
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTypeService>;
1832
+ }
1833
+
1834
+ interface FetchProductsParams {
1835
+ page?: number;
1836
+ limit?: number;
1837
+ search?: string;
1838
+ }
1839
+
1840
+ declare class ProductService {
1841
+ private apiService;
1842
+ private productsSubject;
1843
+ products$: Observable<Product[]>;
1844
+ constructor(apiService: ApiService);
1845
+ fetchProducts({ page, search, limit, }: FetchProductsParams): Observable<ProductsResponseInterface>;
1846
+ loadProducts(params: FetchProductsParams): void;
1847
+ getCurrentProducts(): Product[];
1848
+ fetchOneById(id: number): Observable<ProductResponse>;
1849
+ createOne(data: Product): Observable<any>;
1850
+ updateOne(id: number, data: any): Observable<ProductResponse>;
1851
+ deleteOne(id: number): Observable<any>;
1852
+ fetchImages(id: number): Observable<{
1853
+ data: ProductImage[];
1854
+ }>;
1855
+ uploadImages(id: number, files?: FormData): Observable<{
1856
+ data: ProductImage[];
1857
+ }>;
1858
+ deleteOneImage(productId: number, imageId: number): Observable<any>;
1859
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductService, never>;
1860
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductService>;
1861
+ }
1862
+
1863
+ declare class BaseModalService {
1864
+ readonly isOpen: WritableSignal<boolean>;
1865
+ get modalIsOpen(): WritableSignal<boolean>;
1866
+ open(): void;
1867
+ close(): void;
1868
+ }
1869
+
1870
+ declare class FeedbackModalService {
1871
+ private _modals;
1872
+ readonly modals: i0.Signal<FeedbackModalElement[]>;
1873
+ addModal(modal: FeedbackModalElement): void;
1874
+ removeModal(id: string): void;
1875
+ removeAllModals(): void;
1876
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalService, never>;
1877
+ static ɵprov: i0.ɵɵInjectableDeclaration<FeedbackModalService>;
1878
+ }
1879
+
1880
+ declare class PerformanceBookingDataService {
1881
+ private _show;
1882
+ private _performance;
1883
+ private _roomMap;
1884
+ private _hallFloors;
1885
+ private _selectedHallFloor;
1886
+ private _allRenderData;
1887
+ private _stageConfig;
1888
+ readonly show: i0.Signal<Show | null>;
1889
+ readonly hallFloors: i0.Signal<HallFloor[]>;
1890
+ readonly selectedHallFloor: i0.Signal<HallFloor | null>;
1891
+ readonly performance: i0.Signal<Performance | null>;
1892
+ readonly stageConfig: i0.Signal<{
1893
+ [x: string]: any;
1894
+ }>;
1895
+ readonly roomMap: i0.Signal<RoomMap | null>;
1896
+ readonly renderData: i0.Signal<ElementRenderData[]>;
1897
+ setPerformanceBookingData({ data }: PerformanceBookingDataResponse): void;
1898
+ setRoomMap(roomMap: RoomMap | null): void;
1899
+ setPerformance(performance: Performance | null): void;
1900
+ setShow(show: Show | null): void;
1901
+ setSelectedHallFloor(id: number): void;
1902
+ updateStageConfig(data: {
1903
+ [x: string]: any;
1904
+ }): void;
1905
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceBookingDataService, never>;
1906
+ static ɵprov: i0.ɵɵInjectableDeclaration<PerformanceBookingDataService>;
1907
+ }
1908
+
1909
+ declare class TicketSelectionDetailsService {
1910
+ private _customerEmail;
1911
+ private _customerId;
1912
+ private _paymentMethod;
1913
+ private _billingInformation;
1914
+ readonly customerEmail: i0.Signal<string | null>;
1915
+ readonly customerId: i0.Signal<number | null>;
1916
+ readonly paymentMethod: i0.Signal<string | null>;
1917
+ readonly billingInformation: i0.Signal<Customer | null>;
1918
+ setCustomerEmail(email: string | null): void;
1919
+ setCustomerId(id: number | null): void;
1920
+ setPaymentMethod(method: string | null): void;
1921
+ setBillingInformation(values: Customer): void;
1922
+ clearSelection(): void;
1923
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDetailsService, never>;
1924
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDetailsService>;
1925
+ }
1926
+
1927
+ declare class TicketSelectionDiscountService {
1928
+ private _coupon;
1929
+ private _corporateBond;
1930
+ private _corporateBondCode;
1931
+ private _giftBond;
1932
+ private _giftBondCode;
1933
+ readonly coupon: Signal<Coupon | null>;
1934
+ readonly corporateBond: Signal<CorporateBond | null>;
1935
+ readonly corporateBondCode: Signal<string | null>;
1936
+ readonly giftBond: Signal<GiftBond | null>;
1937
+ readonly giftBondCode: Signal<string | null>;
1938
+ readonly selectedDiscount: Signal<SelectedDiscountCard | null>;
1939
+ readonly selectedDiscountType: Signal<SelectedDiscountCardType | undefined>;
1940
+ readonly selectedDiscountValue: Signal<number | undefined>;
1941
+ setCoupon(coupon: Coupon | null): void;
1942
+ setCorporateBond(corporateBond: CorporateBond | null): void;
1943
+ setCorporateBondCode(code: string | null): void;
1944
+ setGiftBond(giftBond: GiftBond | null): void;
1945
+ setGiftBondCode(code: string | null): void;
1946
+ clearSelection(): void;
1947
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDiscountService, never>;
1948
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDiscountService>;
1949
+ }
1950
+
1951
+ declare class TicketSelectionTotalsService {
1952
+ private bookingDataService;
1953
+ private selectionService;
1954
+ private selectionDiscountService;
1955
+ readonly selectedProductEntries: i0.Signal<{
1956
+ id: number;
1957
+ quantity: number;
1958
+ }[]>;
1959
+ readonly selectedProductCount: i0.Signal<number>;
1960
+ readonly productSubtotal: i0.Signal<number>;
1961
+ readonly ticketSubtotal: i0.Signal<number>;
1962
+ readonly serviceFee: i0.Signal<number>;
1963
+ subtotalValue(): number;
1964
+ totalValue(): number;
1965
+ totalDiscounted(): number | null;
1966
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionTotalsService, never>;
1967
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionTotalsService>;
1968
+ }
1969
+
1970
+ declare class TicketSelectionService {
1971
+ private bookingDataService;
1972
+ private feedbackModalService;
1973
+ private selectionDetailsService;
1974
+ private selectionDiscountService;
1975
+ private _zoneQuantities;
1976
+ private _allTickets;
1977
+ private _selectedTickets;
1978
+ private _selectedBlockedTickets;
1979
+ private _products;
1980
+ private _productQuantities;
1981
+ readonly selectedTickets: i0.Signal<PerformanceTicket[]>;
1982
+ readonly selectedBlockedTickets: i0.Signal<PerformanceTicket[]>;
1983
+ readonly selectedCount: i0.Signal<number>;
1984
+ readonly blockedSelectedCount: i0.Signal<number>;
1985
+ readonly selectedTicketIds: i0.Signal<Set<PerformanceTicket>>;
1986
+ readonly selectedBlockedTicketIds: i0.Signal<number[]>;
1987
+ readonly selectedTicketIdList: i0.Signal<number[]>;
1988
+ readonly products: i0.Signal<Product[]>;
1989
+ readonly productQuantities: i0.Signal<Map<number, number>>;
1990
+ readonly selectedProductEntries: i0.Signal<{
1991
+ id: number;
1992
+ quantity: number;
1993
+ }[]>;
1994
+ readonly selectedProductCount: i0.Signal<number>;
1995
+ readonly serviceFee: i0.Signal<number>;
1996
+ setTickets(tickets: PerformanceTicket[]): void;
1997
+ setProducts(products: Product[]): void;
1998
+ updateProductQuantity(productId: number, delta: number): void;
1999
+ getProductQuantity(productId: number): number;
2000
+ private getListByStatus;
2001
+ setSelectedTickets(tickets: PerformanceTicket[]): void;
2002
+ toggle(ticket: PerformanceTicket): void;
2003
+ select(ticket: PerformanceTicket): void;
2004
+ deselect(ticket: PerformanceTicket): void;
2005
+ clearBlockedSelection(): void;
2006
+ clearSelection(): void;
2007
+ isSelected(ticket: PerformanceTicket): boolean;
2008
+ initZoneQuantity(elementId: number, maxCapacity: number): void;
2009
+ adjustZoneQuantity(elementId: number, delta: number): void;
2010
+ getZoneTickets(elementId: number): PerformanceTicket[];
2011
+ buildTooltipData(ticket: PerformanceTicket, elementName: string, seatLabel: string | null, x: number, y: number): TicketMapTooltipData;
2012
+ buildReservePerformanceDto(paymentMethod?: string, termsAccepted?: boolean, dataProcessingAccepted?: boolean): ReservePerformanceDto;
2013
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionService, never>;
2014
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionService>;
2015
+ }
2016
+
2017
+ declare class TicketMapZoomService {
2018
+ readonly currentZoom: i0.WritableSignal<number>;
2019
+ private stage?;
2020
+ private bookingDataService;
2021
+ private readonly defaultConfig;
2022
+ constructor();
2023
+ /**
2024
+ * Set the Konva stage instance
2025
+ */
2026
+ setStage(stage: Stage): void;
2027
+ /**
2028
+ * Zoom in by one step
2029
+ */
2030
+ zoomIn(): void;
2031
+ /**
2032
+ * Zoom out by one step
2033
+ */
2034
+ zoomOut(): void;
2035
+ /**
2036
+ * Reset zoom to 100%
2037
+ */
2038
+ resetZoom(): void;
2039
+ /**
2040
+ * Get current zoom as percentage string
2041
+ */
2042
+ getZoomPercentage(): string;
2043
+ /**
2044
+ * Get current zoom value
2045
+ */
2046
+ getCurrentZoom(): number;
2047
+ /**
2048
+ * Apply zoom with center point
2049
+ */
2050
+ private applyZoom;
2051
+ /**
2052
+ * Apply zoom scale with specific center point
2053
+ */
2054
+ private applyZoomScale;
2055
+ /**
2056
+ * Handle mouse wheel zoom toward the cursor position
2057
+ */
2058
+ handleWheelZoom(deltaY: number): void;
2059
+ /**
2060
+ * Fit the content bounds to fill the stage container
2061
+ */
2062
+ fitToContainer(padding?: number): void;
2063
+ /**
2064
+ * Get current stage position
2065
+ */
2066
+ getStagePosition(): {
2067
+ x: number;
2068
+ y: number;
2069
+ };
2070
+ /**
2071
+ * Set stage position (useful for programmatic panning)
2072
+ */
2073
+ setStagePosition(position: {
2074
+ x: number;
2075
+ y: number;
2076
+ }): void;
2077
+ /**
2078
+ * Fit the stage content bounds to the container, centering and scaling
2079
+ * to show the full content with optional padding.
2080
+ */
2081
+ fitToBounds(contentBounds: {
2082
+ x: number;
2083
+ y: number;
2084
+ width: number;
2085
+ height: number;
2086
+ }, containerWidth: number, containerHeight: number, padding?: number): void;
2087
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomService, never>;
2088
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketMapZoomService>;
2089
+ }
2090
+
2091
+ declare class ConfirmationOrderModalService extends BaseModalService {
2092
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalService, never>;
2093
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmationOrderModalService>;
2094
+ }
2095
+
2096
+ declare class TicketQrService {
2097
+ private apiService;
2098
+ constructor(apiService: ApiService);
2099
+ fetchQrToken(ticketUuid: string): Observable<QrTokenResponse>;
2100
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrService, never>;
2101
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrService>;
2102
+ }
2103
+
2104
+ declare class TicketQrModalService {
2105
+ isOpen: WritableSignal<boolean>;
2106
+ ticketUuid: WritableSignal<string | null>;
2107
+ ticketDescription: WritableSignal<string | null>;
2108
+ open(ticketUuid: string, description?: string): void;
2109
+ close(): void;
2110
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalService, never>;
2111
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrModalService>;
2112
+ }
2113
+
1324
2114
  declare const authInterceptor: HttpInterceptorFn;
1325
2115
 
1326
2116
  declare class AppButtonComponent {
@@ -1365,15 +2155,29 @@ declare class AppAlertComponent {
1365
2155
  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>;
1366
2156
  }
1367
2157
 
1368
- declare class LoadingmModalComponent {
1369
- private loadingModalService;
1370
- constructor(loadingModalService: LoadingModalService);
1371
- get isOpen(): i0.WritableSignal<boolean>;
1372
- get title(): i0.WritableSignal<string>;
2158
+ declare class FeedbackModalComponent implements OnChanges, OnDestroy {
2159
+ isOpen: WritableSignal<boolean>;
2160
+ type: FeedbackModalType;
2161
+ title: string;
2162
+ message: string;
2163
+ showHeader: boolean;
2164
+ showCloseButton: boolean;
2165
+ showTitle: boolean;
2166
+ autoClose: boolean;
2167
+ autoCloseDuration: number;
2168
+ buttonText: string;
2169
+ closed: EventEmitter<void>;
2170
+ private autoCloseTimeout;
2171
+ get defaultButtonText(): string;
2172
+ get resolvedButtonText(): string;
2173
+ get buttonVariant(): 'primary' | 'secondary';
2174
+ ngOnChanges(changes: SimpleChanges): void;
2175
+ ngOnDestroy(): void;
1373
2176
  closeModal(): void;
1374
- onCitySaved(): void;
1375
- static ɵfac: i0.ɵɵFactoryDeclaration<LoadingmModalComponent, never>;
1376
- static ɵcmp: i0.ɵɵComponentDeclaration<LoadingmModalComponent, "loading-modal", never, {}, {}, never, never, true, never>;
2177
+ private scheduleAutoClose;
2178
+ private clearAutoClose;
2179
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalComponent, never>;
2180
+ 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>;
1377
2181
  }
1378
2182
 
1379
2183
  declare class DeleteConfirmationComponent {
@@ -1396,12 +2200,27 @@ declare class DeleteConfirmationComponent {
1396
2200
  declare class AppModalComponent {
1397
2201
  title: string;
1398
2202
  disableClose: boolean;
2203
+ showHeader: boolean;
2204
+ showCloseButton: boolean;
2205
+ showTitle: boolean;
1399
2206
  isOpen: WritableSignal<boolean>;
1400
- size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
2207
+ size: ModalSize;
1401
2208
  closeModal: EventEmitter<void>;
1402
2209
  onCloseModal(): void;
2210
+ onKeydownEscape(): void;
1403
2211
  static ɵfac: i0.ɵɵFactoryDeclaration<AppModalComponent, never>;
1404
- 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>;
2212
+ 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>;
2213
+ }
2214
+
2215
+ declare class AppBadgeComponent {
2216
+ text: string;
2217
+ color: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
2218
+ size: BadgeSize;
2219
+ bordered: boolean;
2220
+ backgroundColor: string;
2221
+ textColor: string;
2222
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppBadgeComponent, never>;
2223
+ 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>;
1405
2224
  }
1406
2225
 
1407
2226
  declare class AuditInformationComponent {
@@ -1436,6 +2255,27 @@ declare class DynamicTableComponent {
1436
2255
  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>;
1437
2256
  }
1438
2257
 
2258
+ declare class ShowCardComponent {
2259
+ show: Show;
2260
+ linkText: string;
2261
+ linkUrlFn?: (show: Show) => string;
2262
+ linkQueryParams?: Record<string, any>;
2263
+ transloco: TranslocoService;
2264
+ dateService: DateService;
2265
+ get showTypeColor(): {
2266
+ bg: string;
2267
+ text: string;
2268
+ };
2269
+ formatTimeDate(date: string): Date;
2270
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardComponent, never>;
2271
+ 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>;
2272
+ }
2273
+
2274
+ declare class ShowCardSkeletonComponent {
2275
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardSkeletonComponent, never>;
2276
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowCardSkeletonComponent, "show-card-skeleton", never, {}, {}, never, never, true, never>;
2277
+ }
2278
+
1439
2279
  declare class LanguageSwitcherComponent {
1440
2280
  protected transloco: TranslocoService;
1441
2281
  availableLangs: string[];
@@ -1483,7 +2323,7 @@ declare class FormInputComponent implements ControlValueAccessor {
1483
2323
 
1484
2324
  declare class FormSelectComponent implements ControlValueAccessor {
1485
2325
  ngControl: NgControl;
1486
- private transloco;
2326
+ protected transloco: TranslocoService;
1487
2327
  label: string;
1488
2328
  name: string;
1489
2329
  id: string;
@@ -1507,7 +2347,6 @@ declare class FormSelectComponent implements ControlValueAccessor {
1507
2347
  get inputId(): string;
1508
2348
  get showError(): boolean;
1509
2349
  get errorMessage(): string;
1510
- get resolvedDefaultOptionLabel(): string;
1511
2350
  get fieldGroupClasses(): string;
1512
2351
  static ɵfac: i0.ɵɵFactoryDeclaration<FormSelectComponent, [{ optional: true; self: true; }, null]>;
1513
2352
  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>;
@@ -1757,6 +2596,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1757
2596
  notFoundText: string;
1758
2597
  bindLabel: string;
1759
2598
  bindValue: string;
2599
+ disabled: boolean;
1760
2600
  value: any;
1761
2601
  onChange: any;
1762
2602
  onTouched: any;
@@ -1786,7 +2626,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1786
2626
  registerOnTouched(fn: any): void;
1787
2627
  setDisabledState(isDisabled: boolean): void;
1788
2628
  static ɵfac: i0.ɵɵFactoryDeclaration<AsyncSelectComponent, never>;
1789
- 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>;
2629
+ 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>;
1790
2630
  }
1791
2631
 
1792
2632
  declare class ChangePasswordFormComponent {
@@ -2244,11 +3084,15 @@ declare class DaySelectorGridComponent {
2244
3084
  declare class PerformanceCardComponent {
2245
3085
  protected listEventService: PerformancesListEventsService;
2246
3086
  card: DailyPerformanceItem;
3087
+ linkText: string;
3088
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3089
+ linkQueryParams?: Record<string, any>;
2247
3090
  constructor(listEventService: PerformancesListEventsService);
3091
+ get badgeColor(): 'success' | 'error';
2248
3092
  onSelect(): void;
2249
3093
  isSelected(): boolean;
2250
3094
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardComponent, never>;
2251
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardComponent, "performance-card", never, { "card": { "alias": "card"; "required": true; }; }, {}, never, never, true, never>;
3095
+ 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>;
2252
3096
  }
2253
3097
 
2254
3098
  declare class PerformanceCardListComponent {
@@ -2256,6 +3100,9 @@ declare class PerformanceCardListComponent {
2256
3100
  protected performanceService: PerformanceService;
2257
3101
  protected listEventService: PerformancesListEventsService;
2258
3102
  protected toastService: ToastService;
3103
+ linkText: string;
3104
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3105
+ linkQueryParams?: Record<string, any>;
2259
3106
  loadingData: WritableSignal<boolean>;
2260
3107
  performances: WritableSignal<DailyPerformanceItem[]>;
2261
3108
  constructor(platformId: object, performanceService: PerformanceService, listEventService: PerformancesListEventsService, toastService: ToastService);
@@ -2263,7 +3110,7 @@ declare class PerformanceCardListComponent {
2263
3110
  private loadData;
2264
3111
  get selectedDayDate(): string | null;
2265
3112
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardListComponent, never>;
2266
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardListComponent, "performance-card-list", never, {}, {}, never, never, true, never>;
3113
+ 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>;
2267
3114
  }
2268
3115
 
2269
3116
  declare class PerformanceStepperComponent {
@@ -2292,9 +3139,9 @@ declare class ShowsFilterComponent {
2292
3139
  }
2293
3140
 
2294
3141
  interface PriceZoneItem {
2295
- colorClass: string;
3142
+ color: string;
2296
3143
  name: string;
2297
- seatsAvailable: number;
3144
+ available_seats: number;
2298
3145
  price: string;
2299
3146
  }
2300
3147
 
@@ -2310,5 +3157,261 @@ declare class ZonePriceListComponent {
2310
3157
  static ɵcmp: i0.ɵɵComponentDeclaration<ZonePriceListComponent, "zone-price-list", never, { "zones": { "alias": "zones"; "required": true; }; }, {}, never, never, true, never>;
2311
3158
  }
2312
3159
 
2313
- 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, 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 };
2314
- 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, 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, Venue, VenueImage };
3160
+ declare class TicketMapWidgetComponent {
3161
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetComponent, never>;
3162
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetComponent, "ticket-map-widget", never, {}, {}, never, ["*"], true, never>;
3163
+ }
3164
+
3165
+ declare class TicketMapWidgetHeaderComponent {
3166
+ title: string;
3167
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetHeaderComponent, never>;
3168
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetHeaderComponent, "ticket-map-widget-header", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, ["*"], true, never>;
3169
+ }
3170
+
3171
+ declare class TicketMapZoomControlsComponent {
3172
+ private zoomService;
3173
+ readonly currentZoom: i0.Signal<number>;
3174
+ readonly zoomPercentage: i0.Signal<string>;
3175
+ constructor(zoomService: TicketMapZoomService);
3176
+ zoomIn(): void;
3177
+ zoomOut(): void;
3178
+ resetZoom(): void;
3179
+ fitToContainer(): void;
3180
+ handleZoomAction(action: string): void;
3181
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomControlsComponent, never>;
3182
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapZoomControlsComponent, "ticket-map-zoom-controls", never, {}, {}, never, never, true, never>;
3183
+ }
3184
+
3185
+ declare class PerformanceTicketMapComponent implements OnDestroy, AfterViewInit {
3186
+ private platformId;
3187
+ protected bookingDataService: PerformanceBookingDataService;
3188
+ protected feedbackModalService: FeedbackModalService;
3189
+ protected selectionService: TicketSelectionService;
3190
+ protected zoomService: TicketMapZoomService;
3191
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3192
+ needsLoginError: EventEmitter<any>;
3193
+ readOnly: boolean;
3194
+ needsLogin: boolean;
3195
+ isLoggedIn: boolean;
3196
+ stageComponent?: StageComponent;
3197
+ protected tooltipData: i0.WritableSignal<TicketMapTooltipData | null>;
3198
+ private stageReady;
3199
+ private autoFitDone;
3200
+ private resizeObserver?;
3201
+ constructor(platformId: object, bookingDataService: PerformanceBookingDataService, feedbackModalService: FeedbackModalService, selectionService: TicketSelectionService, zoomService: TicketMapZoomService);
3202
+ protected get isBrowser(): boolean;
3203
+ ngAfterViewInit(): void;
3204
+ private setupResizeObserver;
3205
+ private syncStageToContainer;
3206
+ ngOnDestroy(): void;
3207
+ private getInternalPointer;
3208
+ protected selectHallFloor(floorId: number): void;
3209
+ protected handleStageClick(konvaEvent: any): void;
3210
+ protected handleStageMouseMove(konvaEvent: any): void;
3211
+ protected handleStageMouseLeave(): void;
3212
+ protected handleWheel(konvaEvent: any): void;
3213
+ protected trackByElementId(_index: number, item: ElementRenderData): number;
3214
+ protected trackByFloorId(_index: number, floor: HallFloorOption): HallFloorOption;
3215
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceTicketMapComponent, never>;
3216
+ 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>;
3217
+ }
3218
+
3219
+ declare class TicketMapPriceZonesComponent {
3220
+ title: string;
3221
+ protected bookingDataService: PerformanceBookingDataService;
3222
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapPriceZonesComponent, never>;
3223
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapPriceZonesComponent, "ticket-map-price-zones", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, never, true, never>;
3224
+ }
3225
+
3226
+ declare class TicketMapProductSelectionItemComponent {
3227
+ protected selectionService: TicketSelectionService;
3228
+ product: Product;
3229
+ constructor(selectionService: TicketSelectionService);
3230
+ get quantity(): number;
3231
+ get firstImage(): string | undefined;
3232
+ increment(): void;
3233
+ decrement(): void;
3234
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapProductSelectionItemComponent, never>;
3235
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapProductSelectionItemComponent, "ticket-map-product-selection-item", never, { "product": { "alias": "product"; "required": true; }; }, {}, never, never, true, never>;
3236
+ }
3237
+
3238
+ declare class TIcketMapProductSelectionComponent {
3239
+ private bookingDataService;
3240
+ readonly products: i0.Signal<tickera_angular_components.Product[]>;
3241
+ static ɵfac: i0.ɵɵFactoryDeclaration<TIcketMapProductSelectionComponent, never>;
3242
+ static ɵcmp: i0.ɵɵComponentDeclaration<TIcketMapProductSelectionComponent, "ticket-map-product-selection", never, {}, {}, never, never, true, never>;
3243
+ }
3244
+
3245
+ declare class TicketMapTotalsComponent {
3246
+ protected bookingDataService: PerformanceBookingDataService;
3247
+ protected selectionDetailsService: TicketSelectionDetailsService;
3248
+ protected selectionDiscountService: TicketSelectionDiscountService;
3249
+ protected selectionTotalsService: TicketSelectionTotalsService;
3250
+ protected selectionService: TicketSelectionService;
3251
+ private activatedRoute;
3252
+ title: string;
3253
+ buttonText: string;
3254
+ loadingButtonText: string;
3255
+ isLoading: boolean;
3256
+ onPurchaseClick: EventEmitter<void>;
3257
+ constructor(bookingDataService: PerformanceBookingDataService, selectionDetailsService: TicketSelectionDetailsService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, activatedRoute: ActivatedRoute);
3258
+ get serviceFee(): number;
3259
+ get performanceId(): number;
3260
+ get selectedTicketIds(): number[];
3261
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapTotalsComponent, never>;
3262
+ 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>;
3263
+ }
3264
+
3265
+ declare class TicketMapWrapperComponent {
3266
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3267
+ needsLoginError: EventEmitter<any>;
3268
+ readOnly: boolean;
3269
+ needsLogin: boolean;
3270
+ isLoggedIn: boolean;
3271
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWrapperComponent, never>;
3272
+ 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>;
3273
+ }
3274
+
3275
+ declare class SeatSelectionEmptySummaryComponent {
3276
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionEmptySummaryComponent, never>;
3277
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionEmptySummaryComponent, "seat-selection-empty-summary", never, {}, {}, never, never, true, never>;
3278
+ }
3279
+
3280
+ declare class SeatSelectionSummaryComponent {
3281
+ protected selectionService: TicketSelectionService;
3282
+ title: string;
3283
+ clearButtonText: string;
3284
+ constructor(selectionService: TicketSelectionService);
3285
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryComponent, never>;
3286
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryComponent, "seat-selection-summary", never, { "title": { "alias": "title"; "required": false; }; "clearButtonText": { "alias": "clearButtonText"; "required": false; }; }, {}, never, never, true, never>;
3287
+ }
3288
+
3289
+ declare class SeatSelectionSummaryItemComponent {
3290
+ protected selectionService: TicketSelectionService;
3291
+ item: PerformanceTicket;
3292
+ constructor(selectionService: TicketSelectionService);
3293
+ getItemTypeIcon: (ticket: PerformanceTicket) => string;
3294
+ removeItem(ticket: PerformanceTicket): void;
3295
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryItemComponent, never>;
3296
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryItemComponent, "seat-selection-summary-item", never, { "item": { "alias": "item"; "required": true; }; }, {}, never, never, true, never>;
3297
+ }
3298
+
3299
+ declare class ConfirmationOrderModalComponent {
3300
+ private confirmationOrderModalService;
3301
+ private selectionDiscountService;
3302
+ private selectionTotalsService;
3303
+ private selectionService;
3304
+ private bookingDataService;
3305
+ modalTitle: string;
3306
+ confirmButtonText: string;
3307
+ confirmButtonTextLoading: string;
3308
+ loading: boolean;
3309
+ onConfirm: EventEmitter<any>;
3310
+ constructor(confirmationOrderModalService: ConfirmationOrderModalService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, bookingDataService: PerformanceBookingDataService);
3311
+ get isOpen(): i0.WritableSignal<boolean>;
3312
+ get selectedCount(): number;
3313
+ get serviceFee(): number;
3314
+ get subtotalValue(): number;
3315
+ get ticketSubtotal(): number;
3316
+ get productSubtotal(): number;
3317
+ get productCount(): number;
3318
+ get totalValue(): number;
3319
+ get totalDiscounted(): number | null;
3320
+ get coupon(): tickera_angular_components.Coupon | null;
3321
+ get corporateBond(): tickera_angular_components.CorporateBond | null;
3322
+ get giftBond(): tickera_angular_components.GiftBond | null;
3323
+ onClose(): void;
3324
+ confirmOrder(): void;
3325
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalComponent, never>;
3326
+ 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>;
3327
+ }
3328
+
3329
+ declare class OrderInformationComponent {
3330
+ readonly transloco: TranslocoService;
3331
+ order: Order;
3332
+ constructor(transloco: TranslocoService);
3333
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderInformationComponent, never>;
3334
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderInformationComponent, "order-information", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3335
+ }
3336
+
3337
+ declare class OrderStatusBadgeComponent {
3338
+ protected transloco: TranslocoService;
3339
+ order: Order | RecentOrder;
3340
+ size: BadgeSize;
3341
+ constructor(transloco: TranslocoService);
3342
+ protected get statusColors(): {
3343
+ text: string;
3344
+ bg: string;
3345
+ };
3346
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderStatusBadgeComponent, never>;
3347
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderStatusBadgeComponent, "order-status-badge", never, { "order": { "alias": "order"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3348
+ }
3349
+
3350
+ declare class OrderItemTypeBadgeComponent {
3351
+ protected transloco: TranslocoService;
3352
+ item: OrderItem;
3353
+ size: BadgeSize;
3354
+ constructor(transloco: TranslocoService);
3355
+ protected get statusColors(): {
3356
+ text: string;
3357
+ bg: string;
3358
+ };
3359
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemTypeBadgeComponent, never>;
3360
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemTypeBadgeComponent, "order-item-type-badge", never, { "item": { "alias": "item"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3361
+ }
3362
+
3363
+ declare class OrderItemsComponent {
3364
+ private ticketQrModalService;
3365
+ order: Order;
3366
+ constructor(ticketQrModalService: TicketQrModalService);
3367
+ protected get orderItems(): Order['order_items'];
3368
+ protected get products(): Order['order_items'];
3369
+ protected get tickets(): Order['order_items'];
3370
+ protected itemTotal(quantity: number, price: number): number;
3371
+ protected hasDiscount(): boolean;
3372
+ protected get totals(): {
3373
+ products: number;
3374
+ tickets: number;
3375
+ };
3376
+ openTicketQr(ticketUuid: string, description: string): void;
3377
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemsComponent, never>;
3378
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemsComponent, "order-items", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3379
+ }
3380
+
3381
+ declare class TicketQrComponent implements OnInit, OnDestroy {
3382
+ private ticketQrService;
3383
+ ticketUuid: string;
3384
+ qrCanvas: ElementRef<HTMLCanvasElement>;
3385
+ loading: i0.WritableSignal<boolean>;
3386
+ error: i0.WritableSignal<boolean>;
3387
+ refreshing: i0.WritableSignal<boolean>;
3388
+ countdown: i0.WritableSignal<number>;
3389
+ private destroy$;
3390
+ private refreshTimeout;
3391
+ private countdownInterval;
3392
+ constructor(ticketQrService: TicketQrService);
3393
+ ngOnInit(): void;
3394
+ ngOnDestroy(): void;
3395
+ retry(): void;
3396
+ private clearTimers;
3397
+ private fetchAndRender;
3398
+ private scheduleRefresh;
3399
+ private startCountdown;
3400
+ private renderQr;
3401
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrComponent, never>;
3402
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrComponent, "performance-ticket-qr", never, { "ticketUuid": { "alias": "ticketUuid"; "required": true; }; }, {}, never, never, true, never>;
3403
+ }
3404
+
3405
+ declare class TicketQrModalComponent {
3406
+ private ticketQrModalService;
3407
+ constructor(ticketQrModalService: TicketQrModalService);
3408
+ get isOpen(): i0.WritableSignal<boolean>;
3409
+ get ticketUuid(): i0.WritableSignal<string | null>;
3410
+ get ticketDescription(): i0.WritableSignal<string | null>;
3411
+ onClose(): void;
3412
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalComponent, never>;
3413
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrModalComponent, "ticket-qr-modal", never, {}, {}, never, never, true, never>;
3414
+ }
3415
+
3416
+ export { ADMIN_API_ROUTES, ALERT_ICONS, AdminSelectComponent, AdminService, ApiService, AppAlertComponent, AppBadgeComponent, 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, GiftBondStatus, KONVA_SHAPE_MAPPINGS, LanguageSwitcherComponent, MinTodayValidator, MustMatchValidator, ORDER_ITEM_TYPES_COLORS, ORDER_STATUS_COLORS, OrderInformationComponent, OrderItemType, OrderItemTypeBadgeComponent, OrderItemsComponent, OrderStatus, OrderStatusBadgeComponent, PAYMENT_METHODS_OPTIONS, PERFORMANCES_API_ROUTES, 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, 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, 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, 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, getStoredLanguage, numberToLetter, parseJsonToFormDataAdvanced, processElementsToRenderData, provideTickeraComponents, resolveLanguage, setStoredLanguage, tintColor, transformImageToFile };
3417
+ export type { Admin, AdminsResponse, AsyncSelectConfig, Auditable, BadgeSize, 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, FindAllPriceZoneParams, GiftBond, GiftBondResponse, GiftBondsResponse, Hall, HallFloor, HallFloorOption, KonvaShapeConfig, ModalSize, NumerationConfig, Order, 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, TickeraComponentsConfig, TicketMapSeatPosition, TicketMapTableChairPosition, TicketMapTooltipData, TicketMapZoneQuantityState, TicketMapZoomConfig, Transaction, UploadedFile, ValidateCorporateBondResponse, ValidateCouponResponse, ValidateGiftBondResponse, Venue, VenueImage };