tickera-angular-components 0.0.1-dev.8 → 0.0.1-dev.80

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,330 @@ 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
+ GIFT_BOND = "GIFT_BOND"
422
+ }
541
423
 
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;
424
+ declare enum OrderStatus {
425
+ ON_HOLD = "on-hold",
426
+ PENDING_PAYMENT = "pending-payment",
427
+ PROCESSING = "processing",
428
+ COMPLETED = "completed",
429
+ FAILED = "failed",
430
+ CANCELLED = "cancelled",
431
+ REFUNDED = "refunded"
554
432
  }
555
433
 
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;
434
+ declare enum CreatorType {
435
+ ADMIN = "admin",
436
+ CUSTOMER = "customer"
574
437
  }
575
438
 
576
- interface ShowResponse {
439
+ declare enum PaymentMethod {
440
+ PAYROLL = "payroll",
441
+ CASH = "cash",
442
+ DATAFONO = "datafono",
443
+ INTERNAL_EXCHANGE = "internal_exchange",
444
+ CLIENT_EXCHANGE = "client_exchange",
445
+ MERCADO_PAGO = "mercado_pago"
446
+ }
447
+
448
+ declare enum RoomMapElementType {
449
+ SEAT_BLOCK = "seat_block",
450
+ TABLE = "table",
451
+ ZONE = "zone",
452
+ EXIT = "exit",
453
+ STAGE = "stage",
454
+ PRODUCTION_AREA = "production_area",
455
+ UNAVAILABLE_SPACE = "unavailable_space",
456
+ STAIR = "stair",
457
+ HALLWAY = "hallway"
458
+ }
459
+
460
+ interface RoomMapPosition {
461
+ x: number;
462
+ y: number;
463
+ }
464
+
465
+ interface RoomMapSize {
466
+ width: number;
467
+ height: number;
468
+ }
469
+
470
+ interface RoomMapBaseElement {
471
+ id: string;
472
+ type: RoomMapElementType;
473
+ position: RoomMapPosition;
474
+ size: RoomMapSize;
475
+ rotation: number;
476
+ name?: string;
477
+ isLocked: boolean;
478
+ isVisible: boolean;
479
+ zIndex: number;
480
+ }
481
+
482
+ interface RoomMapExitElement extends RoomMapBaseElement {
483
+ type: RoomMapElementType.EXIT;
484
+ exitName?: string;
485
+ exitType: 'emergency' | 'regular';
486
+ width: number;
487
+ }
488
+
489
+ interface RoomMapProductionAreaElement extends RoomMapBaseElement {
490
+ type: RoomMapElementType.PRODUCTION_AREA;
491
+ areaName?: string;
492
+ areaType: 'lighting' | 'sound' | 'backstage' | 'orchestra' | 'custom';
493
+ }
494
+
495
+ interface RoomMapSeatElement extends RoomMapBaseElement {
496
+ type: RoomMapElementType.SEAT_BLOCK;
497
+ seatNumber?: string;
498
+ isAvailable: boolean;
499
+ priceCategory?: string;
500
+ }
501
+
502
+ declare enum RoomMapElementOrientation {
503
+ TOP = "top",
504
+ RIGHT = "right",
505
+ BOTTOM = "bottom",
506
+ LEFT = "left",
507
+ CENTER = "center"
508
+ }
509
+
510
+ interface RoomMapStageElement extends RoomMapBaseElement {
511
+ type: RoomMapElementType.STAGE;
512
+ stageName?: string;
513
+ orientation: RoomMapElementOrientation;
514
+ isMainStage: boolean;
515
+ }
516
+
517
+ interface RoomMapTableElement extends RoomMapBaseElement {
518
+ type: RoomMapElementType.TABLE;
519
+ tableNumber?: string;
520
+ capacity: number;
521
+ shape: 'round' | 'rectangular' | 'square';
522
+ }
523
+
524
+ interface RoomMapUnavailableElement extends RoomMapBaseElement {
525
+ type: RoomMapElementType.UNAVAILABLE_SPACE;
526
+ reason?: string;
527
+ }
528
+
529
+ interface RoomMapZoneElement extends RoomMapBaseElement {
530
+ type: RoomMapElementType.ZONE;
531
+ zoneName: string;
532
+ zoneType: 'vip' | 'general' | 'premium' | 'balcony' | 'custom';
533
+ color: string;
534
+ capacity?: number;
535
+ }
536
+
537
+ type RoomMapCanvasElement = RoomMapSeatElement | RoomMapTableElement | RoomMapZoneElement | RoomMapExitElement | RoomMapStageElement | RoomMapProductionAreaElement | RoomMapUnavailableElement;
538
+
539
+ type RoomMapSeatDisplayState = 'normal' | 'accessible' | 'non_existent';
540
+
541
+ declare enum ShowType {
542
+ PLAY = "PLAY",
543
+ CONCERT = "CONCERT",
544
+ STAND_UP_COMEDY = "STAND_UP_COMEDY",
545
+ OPERA = "OPERA",
546
+ MUSICAL = "MUSICAL",
547
+ DANCE = "DANCE",
548
+ SPORT = "SPORT",
549
+ OTHER = "OTHER",
550
+ DEFAULT = "DEFAULT"
551
+ }
552
+
553
+ type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
554
+
555
+ type FeedbackModalType = 'loading' | 'success' | 'info' | 'warning' | 'error';
556
+
557
+ type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
558
+
559
+ interface FeedbackModalElement {
560
+ id: string;
561
+ type: FeedbackModalType;
562
+ title: string;
563
+ isOpen: WritableSignal<boolean>;
564
+ message?: string;
565
+ showHeader?: boolean;
566
+ showCloseButton?: boolean;
567
+ showTitle?: boolean;
568
+ closeModal?: void;
569
+ }
570
+
571
+ declare enum FileType {
572
+ IMAGE = "image",
573
+ PDF = "pdf",
574
+ EXCEL = "excel",
575
+ WORD = "word",
576
+ TEXT = "text",
577
+ DEFAULT = "default"
578
+ }
579
+
580
+ declare enum CouponApplicability {
581
+ GENERAL = "GENERAL",
582
+ CUSTOMER_EMAIL = "CUSTOMER_EMAIL",
583
+ MEMBERSHIP_TYPE = "MEMBERSHIP_TYPE",
584
+ SHOWS = "SHOWS",
585
+ PERFORMANCES = "PERFORMANCES"
586
+ }
587
+
588
+ declare enum CouponDiscountType {
589
+ PERCENTAGE = "PERCENTAGE",
590
+ FIXED = "FIXED"
591
+ }
592
+
593
+ declare enum CouponStatus {
594
+ ACTIVE = "ACTIVE",
595
+ INACTIVE = "INACTIVE",
596
+ EXPIRED = "EXPIRED",
597
+ CONSUMED = "CONSUMED"
598
+ }
599
+
600
+ declare enum CorporateBondStatus {
601
+ ACTIVE = "ACTIVE",
602
+ INACTIVE = "INACTIVE",
603
+ EXPIRED = "EXPIRED",
604
+ CONSUMED = "CONSUMED"
605
+ }
606
+
607
+ declare enum PerformanceStatus {
608
+ SCHEDULED = "scheduled",
609
+ OPEN = "open",
610
+ CLOSED = "closed",
611
+ CANCELLED = "cancelled",
612
+ COMPLETED = "completed",
613
+ POSTPONED = "postponed"
614
+ }
615
+
616
+ declare enum PerformanceTicketStatus {
617
+ AVAILABLE = "available",
618
+ RESERVED = "reserved",
619
+ SOLD = "sold",
620
+ BLOCKED = "blocked"
621
+ }
622
+
623
+ declare enum GiftBondStatus {
624
+ ACTIVE = "ACTIVE",
625
+ INACTIVE = "INACTIVE"
626
+ }
627
+
628
+ declare enum GiftBondPurchaseStatus {
629
+ AVAILABLE = "AVAILABLE",
630
+ REDEEMED = "REDEEMED",
631
+ EXPIRED = "EXPIRED",
632
+ CANCELLED = "CANCELLED"
633
+ }
634
+
635
+ declare enum TransactionStatus {
636
+ PENDING = "PENDING",
637
+ APPROVED = "APPROVED",
638
+ REJECTED = "REJECTED",
639
+ ERROR = "ERROR"
640
+ }
641
+
642
+ interface FetchProductCategoriesParams {
643
+ name?: string;
644
+ slug?: string;
645
+ page?: number;
646
+ limit?: number;
647
+ search?: string;
648
+ }
649
+
650
+ interface ProductCategory extends Auditable {
651
+ id: number;
652
+ name: string;
653
+ slug: string;
654
+ }
655
+
656
+ interface ProductCategoriesResponse {
577
657
  statusCode: number;
578
- data: Show;
658
+ data: {
659
+ categories: ProductCategory[];
660
+ total: number;
661
+ };
579
662
  message: string;
580
663
  }
581
664
 
582
- interface ShowsResponseInterface {
665
+ interface ProductCategoryResponse {
666
+ statusCode: number;
667
+ data: ProductCategory;
668
+ message: string;
669
+ }
670
+
671
+ interface FetchProductTagsParams {
672
+ name?: string;
673
+ slug?: string;
674
+ page?: number;
675
+ limit?: number;
676
+ search?: string;
677
+ }
678
+
679
+ interface ProductTag extends Auditable {
680
+ id: number;
681
+ name: string;
682
+ slug: string;
683
+ }
684
+
685
+ interface ProductTagResponse {
686
+ statusCode: number;
687
+ data: ProductTag;
688
+ message: string;
689
+ }
690
+
691
+ interface ProductTagsResponse {
583
692
  statusCode: number;
584
693
  data: {
585
- shows: Show[];
694
+ tags: ProductTag[];
586
695
  total: number;
587
696
  };
588
697
  message: string;
589
698
  }
590
699
 
591
- interface FetchShowsParams {
700
+ interface FetchProductTypesParams {
701
+ name?: string;
702
+ slug?: string;
592
703
  page?: number;
593
704
  limit?: number;
594
705
  search?: string;
595
- date?: string;
596
706
  }
597
707
 
598
- interface PriceZone {
708
+ interface ProductType extends Auditable {
599
709
  id: number;
600
710
  name: string;
601
- color: string;
602
- normal_price: number | null;
603
- is_active: boolean;
604
- elements: any[];
605
- room_map_id: number | null;
711
+ slug: string;
712
+ }
713
+
714
+ interface ProductTypeResponse {
715
+ statusCode: number;
716
+ data: ProductType;
717
+ message: string;
718
+ }
719
+
720
+ interface ProductTypesResponse {
721
+ statusCode: number;
722
+ data: {
723
+ types: ProductType[];
724
+ total: number;
725
+ };
726
+ message: string;
727
+ }
728
+
729
+ interface ProductImage {
730
+ id: number;
731
+ path: string;
732
+ full_url: string;
733
+ original_name: string;
734
+ extension: string;
735
+ size: number;
736
+ mime_type: string;
737
+ width: number;
738
+ height: number;
739
+ product_id: number;
740
+ product: Product;
606
741
  created_at: Date;
607
- updated_at: Date;
608
- created_by: number;
609
- updated_by: number;
610
742
  }
611
743
 
612
744
  interface Product extends Auditable {
@@ -621,10 +753,34 @@ interface Product extends Auditable {
621
753
  is_limited_edition: boolean;
622
754
  is_active: boolean;
623
755
  deleted_at: Date | null;
624
- categories?: any[];
625
- tags?: any[];
626
- types?: any[];
627
- images?: any[];
756
+ categories?: ProductCategory[];
757
+ tags?: ProductTag[];
758
+ types?: ProductType[];
759
+ images?: ProductImage[];
760
+ }
761
+
762
+ interface ShowImage {
763
+ id: number;
764
+ path: string;
765
+ full_url: string;
766
+ original_name: string;
767
+ extension: string;
768
+ size: number;
769
+ mime_type: string;
770
+ width: number;
771
+ height: number;
772
+ show_id: number;
773
+ created_at: Date;
774
+ }
775
+
776
+ interface PriceZone extends Auditable {
777
+ id: number;
778
+ name: string;
779
+ color: string;
780
+ normal_price: number | null;
781
+ is_active: boolean;
782
+ elements: any[];
783
+ room_map_id: number | null;
628
784
  }
629
785
 
630
786
  interface NumerationConfig {
@@ -662,7 +818,7 @@ interface RoomMapElementTemplate {
662
818
  price_zone?: PriceZone;
663
819
  }
664
820
 
665
- interface RoomMap {
821
+ interface RoomMap extends Auditable {
666
822
  id: number;
667
823
  name: string;
668
824
  canvas_settings: {
@@ -678,8 +834,6 @@ interface RoomMap {
678
834
  related_product_ids: number[];
679
835
  products?: Product[];
680
836
  venue_name?: string;
681
- created_at: Date;
682
- updated_at: Date;
683
837
  }
684
838
 
685
839
  interface RoomMapCanvasConfiguration {
@@ -721,7 +875,7 @@ interface ElementPropertiesTab {
721
875
  elements_access: string[];
722
876
  }
723
877
 
724
- interface Performance {
878
+ interface Performance extends Auditable {
725
879
  id: number;
726
880
  start_time: Date | string;
727
881
  end_time: Date | string;
@@ -731,26 +885,77 @@ interface Performance {
731
885
  show?: Show;
732
886
  room_map: RoomMap;
733
887
  room_map_id: number;
734
- created_at: Date;
735
- updated_at: Date;
736
888
  }
737
889
 
738
- interface PerformanceResponse {
890
+ interface ShowCategory extends Auditable {
891
+ id: number;
892
+ name: string;
893
+ slug: string;
894
+ }
895
+
896
+ interface ShowCategoriesResponse {
739
897
  statusCode: number;
740
- data: Performance;
898
+ data: {
899
+ categories: ShowCategory[];
900
+ total: number;
901
+ };
741
902
  message: string;
742
903
  }
743
904
 
744
- interface PerformancesResponseInterface {
905
+ interface ShowCategoryResponse {
906
+ statusCode: number;
907
+ data: ShowCategory;
908
+ message: string;
909
+ }
910
+
911
+ interface ShowGender extends Auditable {
912
+ id: number;
913
+ name: string;
914
+ slug: string;
915
+ }
916
+
917
+ interface ShowGenderResponse {
918
+ statusCode: number;
919
+ data: ShowGender;
920
+ message: string;
921
+ }
922
+
923
+ interface ShowGendersResponse {
745
924
  statusCode: number;
746
925
  data: {
747
- performances: Performance[];
926
+ genders: ShowGender[];
748
927
  total: number;
749
928
  };
750
929
  message: string;
751
930
  }
752
931
 
753
- interface OrderItem {
932
+ interface Show extends Auditable {
933
+ id: number;
934
+ title: string;
935
+ slug: string;
936
+ description: string;
937
+ duration_minutes: number | null;
938
+ type_of_costs: string | null;
939
+ service_fee: number | null;
940
+ show_type: ShowType | null;
941
+ pulep: string | null;
942
+ minimum_age: number | null;
943
+ show_gender: ShowGender | null;
944
+ show_gender_id: number | null;
945
+ show_category: ShowCategory | null;
946
+ show_category_id: number | null;
947
+ default_room_map_id: number | null;
948
+ is_published: boolean;
949
+ images: ShowImage[];
950
+ terms_and_conditions: string;
951
+ performances_quantity?: number;
952
+ performances?: Performance[];
953
+ next_performance?: Performance;
954
+ days_of_week?: number[];
955
+ unique_start_times?: string[];
956
+ }
957
+
958
+ interface OrderItem extends Auditable {
754
959
  id: number;
755
960
  order: Order;
756
961
  item_type: OrderItemType;
@@ -763,26 +968,21 @@ interface OrderItem {
763
968
  ticket_id?: number;
764
969
  ticket_uuid?: string;
765
970
  item: Show | Product;
766
- created_at: Date;
767
- updated_at: Date;
768
- created_by: number;
769
- updated_by: number;
770
971
  }
771
972
 
772
973
  interface Coupon extends Auditable {
773
974
  id: number;
774
975
  code: string;
976
+ billing_code: string;
775
977
  description?: string;
776
978
  discount_type: CouponDiscountType;
777
- discount_type_string?: string;
778
979
  discount_value: number;
779
- discount_value_string?: string;
780
980
  start_date: Date | null;
781
981
  end_date: Date | null;
782
982
  max_uses: number | null;
783
- max_uses_per_user?: number | null;
983
+ max_uses_per_customer?: number | null;
784
984
  uses_count: number;
785
- is_active: boolean;
985
+ status: CouponStatus;
786
986
  applicability_type: CouponApplicability;
787
987
  applicable_customer_emails: string[] | null;
788
988
  applicable_membership_types: string[] | null;
@@ -790,9 +990,11 @@ interface Coupon extends Auditable {
790
990
  applicable_performance_ids?: number[];
791
991
  applicable_price_zone_ids?: number[];
792
992
  applies_to_service_fee?: boolean;
993
+ orders?: Order[];
994
+ customers?: Customer[];
793
995
  }
794
996
 
795
- interface CorporateBond {
997
+ interface CorporateBond extends Auditable {
796
998
  id: number;
797
999
  name: string;
798
1000
  description?: string;
@@ -803,10 +1005,6 @@ interface CorporateBond {
803
1005
  status: CorporateBondStatus;
804
1006
  value: number;
805
1007
  codes: CorporateBondCode[];
806
- created_at: Date;
807
- updated_at: Date;
808
- created_by: number;
809
- updated_by: number;
810
1008
  }
811
1009
 
812
1010
  interface CorporateBondCode {
@@ -836,38 +1034,162 @@ interface ValidateCorporateBondResponse {
836
1034
  statusCode: number;
837
1035
  }
838
1036
 
839
- interface Order {
1037
+ interface GiftBondImage {
1038
+ id: number;
1039
+ path: string;
1040
+ full_url: string;
1041
+ original_name: string;
1042
+ extension: string;
1043
+ size: number;
1044
+ mime_type: string;
1045
+ width: number;
1046
+ height: number;
1047
+ is_featured: boolean;
1048
+ gift_bond_id: number;
1049
+ gift_bond: GiftBond;
1050
+ created_at: Date;
1051
+ }
1052
+
1053
+ interface GiftBond extends Auditable {
1054
+ id: number;
1055
+ name: string;
1056
+ description?: string;
1057
+ status: GiftBondStatus;
1058
+ value: number;
1059
+ page_content?: string;
1060
+ images?: GiftBondImage[];
1061
+ }
1062
+
1063
+ interface GiftBondResponse {
1064
+ statusCode: number;
1065
+ data: GiftBond;
1066
+ message: string;
1067
+ }
1068
+
1069
+ interface GiftBondsResponse {
1070
+ statusCode: number;
1071
+ data: {
1072
+ gift_bonds: GiftBond[];
1073
+ total: number;
1074
+ };
1075
+ message: string;
1076
+ }
1077
+
1078
+ interface GiftBondPurchase extends Auditable {
1079
+ id: number;
1080
+ code: string;
1081
+ original_value: number;
1082
+ used_value: number | null;
1083
+ lost_value: number | null;
1084
+ beneficiary_email: string;
1085
+ beneficiary: Customer | null;
1086
+ personalized_message: string | null;
1087
+ status: GiftBondPurchaseStatus;
1088
+ purchased_at: string;
1089
+ expires_at: string;
1090
+ redeemed_at: string | null;
1091
+ gift_bond_id: number;
1092
+ buyer_id: number;
1093
+ buyer: Admin;
1094
+ }
1095
+
1096
+ interface ValidateGiftBondResponse {
1097
+ data: {
1098
+ valid: boolean;
1099
+ message: string;
1100
+ code: string;
1101
+ bond?: GiftBondPurchase;
1102
+ };
1103
+ statusCode: number;
1104
+ message: string;
1105
+ }
1106
+
1107
+ interface GiftBondPurchaseResponse {
1108
+ statusCode: number;
1109
+ data: GiftBondPurchase;
1110
+ message: string;
1111
+ }
1112
+
1113
+ interface GiftBondPurchasesResponse {
1114
+ statusCode: number;
1115
+ data: {
1116
+ items: GiftBondPurchase[];
1117
+ total: number;
1118
+ };
1119
+ message: string;
1120
+ }
1121
+
1122
+ interface Transaction extends Auditable {
1123
+ id: number;
1124
+ status: TransactionStatus;
1125
+ amount: number;
1126
+ currency: string;
1127
+ payment_gateway: string;
1128
+ gateway_transaction_id: string;
1129
+ gateway_response: any;
1130
+ order: Order;
1131
+ }
1132
+
1133
+ interface OrderBillingInfo {
1134
+ first_name: string;
1135
+ last_name: string;
1136
+ email: string;
1137
+ mobile: string;
1138
+ document_type: string;
1139
+ document_number: string;
1140
+ address: string;
1141
+ city_id: number;
1142
+ postal_code?: string;
1143
+ address_notes?: string;
1144
+ payment_method: PaymentMethod;
1145
+ terms_accepted: boolean;
1146
+ data_processing_accepted: boolean;
1147
+ comments?: string;
1148
+ products?: Array<{
1149
+ id: number;
1150
+ quantity: number;
1151
+ }>;
1152
+ }
1153
+
1154
+ interface Order extends Auditable {
840
1155
  id: number;
841
1156
  uuid: string;
842
- customer: Customer;
1157
+ customer_id: number | null;
1158
+ customer: Customer | null;
843
1159
  customer_name?: string;
844
1160
  customer_email?: string;
845
1161
  order_items: OrderItem[];
846
1162
  order_items_quantity?: number;
847
- discount_amount: number;
1163
+ transactions: Transaction[];
1164
+ sub_total: number;
1165
+ discount_amount: number | null;
848
1166
  total: number;
1167
+ sub_total_discounted: number | null;
849
1168
  total_discounted: number;
850
- sub_total: number;
851
- sub_total_discounted: number;
852
- service_fee: number;
853
- service_fee_discounted: number;
854
- coupon: Coupon;
855
- coupon_snapshot: Record<string, any>;
856
- corporate_bond_code: CorporateBondCode;
857
- corporate_bond_code_snapshot: Record<string, any>;
1169
+ service_fee: number | null;
1170
+ service_fee_discounted: number | null;
1171
+ coupon: Coupon | null;
1172
+ coupon_snapshot: Record<string, any> | null;
858
1173
  status: OrderStatus;
859
- show_snapshot: Record<string, any>;
860
- performance_snapshot: Record<string, any>;
861
- created_at: Date;
862
- updated_at: Date;
863
- payment_method: string;
1174
+ show_snapshot: Record<string, any> | null;
1175
+ performance_snapshot: Record<string, any> | null;
1176
+ payment_method: PaymentMethod | null;
864
1177
  terms_accepted: boolean;
865
1178
  data_processing_accepted: boolean;
866
- billing_info: Partial<Customer>;
867
- comments: string;
868
- address_notes: string;
1179
+ billing_info: OrderBillingInfo | null;
1180
+ corporate_bond_code_snapshot: Record<string, any> | null;
1181
+ gift_bond_snapshot: Record<string, any> | null;
1182
+ corporate_bond_code: CorporateBondCode | null;
1183
+ corporate_bond_code_id: number | null;
1184
+ gift_bond: GiftBond | null;
1185
+ gift_bond_id: number | null;
1186
+ comments: string | null;
1187
+ address_notes: string | null;
1188
+ mercado_pago_preference_id: string;
869
1189
  created_by: number;
1190
+ created_by_type: CreatorType;
870
1191
  updated_by: number;
1192
+ updated_by_type: CreatorType;
871
1193
  }
872
1194
 
873
1195
  interface OrderResponse {
@@ -885,7 +1207,7 @@ interface OrdersResponse {
885
1207
  message: string;
886
1208
  }
887
1209
 
888
- interface PerformanceTicket {
1210
+ interface PerformanceTicket extends Auditable {
889
1211
  id: number;
890
1212
  uuid: string;
891
1213
  is_accessible: boolean;
@@ -905,8 +1227,139 @@ interface PerformanceTicket {
905
1227
  checked_in_at: Date | null;
906
1228
  order_items: OrderItem[];
907
1229
  element_qty?: number;
908
- created_at: Date;
909
- updated_at: Date;
1230
+ }
1231
+
1232
+ interface TicketMapSeatPosition {
1233
+ rowIndex: number;
1234
+ colIndex: number;
1235
+ seatLabel: string;
1236
+ }
1237
+
1238
+ interface TicketMapTableChairPosition {
1239
+ index: number;
1240
+ angle: number;
1241
+ x: number;
1242
+ y: number;
1243
+ }
1244
+
1245
+ interface ElementRenderData {
1246
+ elementId: number;
1247
+ hallFloorId: number | null;
1248
+ type: RoomMapElementType;
1249
+ shapeConfig: Record<string, any>;
1250
+ tickets: PerformanceTicket[];
1251
+ ticketByNumeration: Map<string, PerformanceTicket>;
1252
+ elementName: string;
1253
+ seatPositions?: TicketMapSeatPosition[][];
1254
+ chairPositions?: TicketMapTableChairPosition[];
1255
+ zoneCapacity?: number;
1256
+ }
1257
+
1258
+ interface TicketMapTooltipData {
1259
+ x: number;
1260
+ y: number;
1261
+ elementName: string;
1262
+ seatLabel: string | null;
1263
+ price: number;
1264
+ status: PerformanceTicketStatus;
1265
+ statusLabel: string;
1266
+ statusColor: string;
1267
+ isSelected: boolean;
1268
+ ticketId: number;
1269
+ }
1270
+
1271
+ interface TicketMapZoneQuantityState {
1272
+ elementId: number;
1273
+ selectedCount: number;
1274
+ maxCapacity: number;
1275
+ }
1276
+
1277
+ interface ReservePerformanceDto {
1278
+ ticket_ids: number[];
1279
+ products?: {
1280
+ id: number;
1281
+ quantity: number;
1282
+ }[];
1283
+ coupon_code?: string;
1284
+ gift_bond_code?: string;
1285
+ corporate_bond_code?: string;
1286
+ payment_method?: string;
1287
+ billing?: {
1288
+ first_name: string;
1289
+ last_name: string;
1290
+ email: string;
1291
+ mobile: string;
1292
+ document_type: string;
1293
+ document_number: string;
1294
+ address: string;
1295
+ city_id: number;
1296
+ postal_code?: string;
1297
+ address_notes?: string;
1298
+ terms_accepted: boolean;
1299
+ data_processing_accepted: boolean;
1300
+ comments?: string;
1301
+ };
1302
+ }
1303
+
1304
+ interface TicketMapZoomConfig {
1305
+ minZoom: number;
1306
+ maxZoom: number;
1307
+ zoomStep: number;
1308
+ scaleBy: number;
1309
+ }
1310
+
1311
+ interface HallFloorOption {
1312
+ id: number | null;
1313
+ name: string;
1314
+ }
1315
+
1316
+ declare enum SelectedDiscountCardType {
1317
+ COUPON = "COUPON",
1318
+ CORPORATE_BOND = "CORPORATE_BOND",
1319
+ GIFT_BOND = "GIFT_BOND"
1320
+ }
1321
+
1322
+ interface SelectedDiscountCard {
1323
+ name: string;
1324
+ type: SelectedDiscountCardType;
1325
+ value: number;
1326
+ }
1327
+
1328
+ interface FetchShowsParams {
1329
+ page?: number;
1330
+ limit?: number;
1331
+ search?: string;
1332
+ date?: string;
1333
+ }
1334
+
1335
+ interface ShowResponse {
1336
+ statusCode: number;
1337
+ data: Show;
1338
+ message: string;
1339
+ }
1340
+
1341
+ interface ShowsResponseInterface {
1342
+ statusCode: number;
1343
+ data: {
1344
+ shows: Show[];
1345
+ total: number;
1346
+ };
1347
+ message: string;
1348
+ }
1349
+
1350
+ interface PerformanceResponse {
1351
+ statusCode: number;
1352
+ data: Performance;
1353
+ message: string;
1354
+ }
1355
+
1356
+ interface PerformancesResponseInterface {
1357
+ statusCode: number;
1358
+ data: {
1359
+ performances: Performance[];
1360
+ total: number;
1361
+ };
1362
+ message: string;
910
1363
  }
911
1364
 
912
1365
  interface PerformanceBookingDataResponse {
@@ -990,6 +1443,13 @@ interface ProductResponse {
990
1443
  message: string;
991
1444
  }
992
1445
 
1446
+ interface ProductTaxonomy extends Auditable {
1447
+ id: number;
1448
+ name: string;
1449
+ slug: string;
1450
+ selected?: boolean;
1451
+ }
1452
+
993
1453
  interface ProductsResponseInterface {
994
1454
  statusCode: number;
995
1455
  data: {
@@ -1043,17 +1503,157 @@ interface ValidateCouponResponse {
1043
1503
  };
1044
1504
  }
1045
1505
 
1506
+ interface RecentOrder {
1507
+ id: number;
1508
+ customer_name: string;
1509
+ event: string;
1510
+ total: number;
1511
+ status: string;
1512
+ uuid: string;
1513
+ }
1514
+
1515
+ interface RecentRoomMap {
1516
+ id: number;
1517
+ name: string;
1518
+ capacity: number;
1519
+ created_at: Date;
1520
+ updated_at: Date;
1521
+ }
1522
+
1523
+ interface QrTokenData {
1524
+ token: string;
1525
+ expires_at: string;
1526
+ refresh_in: number;
1527
+ }
1528
+
1529
+ interface QrTokenResponse {
1530
+ statusCode: number;
1531
+ data: QrTokenData;
1532
+ message: string;
1533
+ }
1534
+
1535
+ declare const DOCUMENT_TYPES_OPTIONS: SelectOption[];
1536
+
1537
+ declare const PAYMENT_METHODS_OPTIONS: SelectOption[];
1538
+ declare const ORDER_STATUS_COLORS: Record<OrderStatus, {
1539
+ text: string;
1540
+ bg: string;
1541
+ }>;
1542
+ declare const ORDER_ITEM_TYPES_COLORS: Record<OrderItemType, {
1543
+ text: string;
1544
+ bg: string;
1545
+ }>;
1546
+ declare const ORDER_DISCOUNT_COLORS: Record<string, {
1547
+ text: string;
1548
+ bg: string;
1549
+ }>;
1550
+ declare const TRANSACTION_STATUS_COLORS: Record<TransactionStatus, {
1551
+ text: string;
1552
+ bg: string;
1553
+ }>;
1554
+
1555
+ declare const TICKET_MAP_LAST_TICKETS_LIMIT = 10;
1556
+ declare const TICKET_ELEMENT_TYPES: RoomMapElementType[];
1557
+ declare const DEFAULT_STAGE_CONFIG: {
1558
+ [x: string]: any;
1559
+ };
1560
+ declare const TICKET_STATUS_COLORS: Record<PerformanceTicketStatus, string>;
1561
+ declare const TICKET_STATUS_FILLS: Record<PerformanceTicketStatus, string>;
1562
+ declare const TICKET_STATUS_LABELS: Record<PerformanceTicketStatus, string>;
1563
+ declare const TICKET_MAP_GRID_SIZE = 30;
1564
+ declare const TICKET_MAP_TITLE_HEIGHT = 30;
1565
+
1566
+ interface KonvaShapeConfig {
1567
+ config: ShapeConfig;
1568
+ layer: 'background' | 'elements' | 'foreground' | 'overlay';
1569
+ }
1570
+
1571
+ declare function drawRoundedRect(con: Context, shape: Shape, x: number, y: number, width: number, height: number, cornerRadius: number): void;
1572
+
1573
+ declare const generateExitScene: (con: Context, shape: Shape) => void;
1574
+
1575
+ declare const generateHallwayScene: (con: Context, shape: Shape) => void;
1576
+
1577
+ declare const generateProductionAreaScene: (con: Context, shape: Shape) => void;
1578
+
1579
+ declare const generateSeatBlockScene: (con: Context, shape: Shape, numerationConfig?: {
1580
+ start_row_letter: string;
1581
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1582
+ start_column_number: number;
1583
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1584
+ }) => void;
1585
+
1586
+ declare const generateStageScene: (con: Context, shape: Shape) => void;
1587
+
1588
+ declare const generateStairScene: (con: Context, shape: Shape) => void;
1589
+
1590
+ declare const generateTableScene: (con: Context, shape: Shape) => void;
1591
+
1592
+ declare const generateUnavailableSpaceScene: (con: Context, shape: Shape) => void;
1593
+
1594
+ declare const generateZoneScene: (con: Context, shape: Shape) => void;
1595
+
1596
+ declare const KONVA_SHAPE_MAPPINGS: Record<RoomMapElementType, KonvaShapeConfig>;
1597
+
1598
+ declare const SHOW_TYPE_COLORS: Record<ShowType, {
1599
+ bg: string;
1600
+ text: string;
1601
+ }>;
1602
+
1046
1603
  declare const getCustomerFullname: (customer: Customer) => string;
1047
1604
 
1605
+ type OrderDiscountType = 'coupon' | 'corporate_bond' | 'gift_bond';
1606
+ interface OrderDiscountInfo {
1607
+ type: OrderDiscountType | null;
1608
+ code: string | null;
1609
+ name: string | null;
1610
+ value: number;
1611
+ discountType: 'percentage' | 'fixed' | null;
1612
+ icon: string;
1613
+ }
1614
+ declare function getOrderDiscount(order: Order): OrderDiscountInfo;
1615
+
1048
1616
  declare function parseJsonToFormDataAdvanced(imageGallery: any[]): FormData;
1049
1617
 
1050
1618
  declare const transformImageToFile: (image: ShowImage | VenueImage) => UploadedFile;
1051
1619
 
1052
1620
  declare const formatCitiesResponseToSelect: (res: CitiesResponse) => {
1053
- value: string;
1621
+ value: number;
1054
1622
  label: string;
1055
1623
  }[];
1056
1624
 
1625
+ declare function tintColor(hex: string, amount?: number): string;
1626
+
1627
+ declare const drawChairIcon: (con: Context, cx: number, cy: number, size: number) => void;
1628
+
1629
+ declare const drawHappyFace: (con: Context, cx: number, cy: number, size: number) => void;
1630
+
1631
+ declare const drawWheelchairIcon: (con: Context, shape: Shape, cx: number, cy: number, size: number, fillColor?: string, strokeColor?: string) => void;
1632
+
1633
+ declare const numberToLetter: (num: number) => string;
1634
+
1635
+ declare const getItemTypeIcon: (ticket: PerformanceTicket) => string;
1636
+
1637
+ declare const generateSeatBlockTicketScene: (con: Context, shape: Shape, numerationConfig?: {
1638
+ start_row_letter: string;
1639
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1640
+ start_column_number: number;
1641
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1642
+ }, ticketStatusMap?: Map<string, PerformanceTicketStatus>) => void;
1643
+
1644
+ declare const generateTableTicketScene: (con: Context, shape: Shape, chairTicketStatuses?: PerformanceTicketStatus[], tableSeats?: RoomMapSeatState[][]) => void;
1645
+
1646
+ declare function processElementsToRenderData(elements: RoomMapElementTemplate[], tickets: PerformanceTicket[], priceZones?: {
1647
+ id: number;
1648
+ color: string;
1649
+ }[]): ElementRenderData[];
1650
+ declare function findTicketAtPosition(renderData: ElementRenderData, relX: number, relY: number): PerformanceTicket | null;
1651
+ declare function findElementAtPosition(renderDataList: ElementRenderData[], stageX: number, stageY: number): {
1652
+ element: ElementRenderData;
1653
+ relX: number;
1654
+ relY: number;
1655
+ } | null;
1656
+
1057
1657
  declare function MinTodayValidator(controlName: string): ValidatorFn;
1058
1658
  declare function EndDateGreaterThanStartValidator(startDateControlName: string, endDateControlName: string): ValidatorFn;
1059
1659
 
@@ -1084,16 +1684,6 @@ declare class ToastService {
1084
1684
  static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
1085
1685
  }
1086
1686
 
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
1687
  declare class DeleteConfirmationService {
1098
1688
  title: WritableSignal<string>;
1099
1689
  resourceName: WritableSignal<string>;
@@ -1222,25 +1812,6 @@ declare class PerformancesListEventsService {
1222
1812
  static ɵprov: i0.ɵɵInjectableDeclaration<PerformancesListEventsService>;
1223
1813
  }
1224
1814
 
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
1815
  declare class ShowService {
1245
1816
  private apiService;
1246
1817
  private showsSubject;
@@ -1321,6 +1892,332 @@ declare class PriceZoneFormModalService {
1321
1892
  static ɵprov: i0.ɵɵInjectableDeclaration<PriceZoneFormModalService>;
1322
1893
  }
1323
1894
 
1895
+ declare class ProductCategoryService {
1896
+ private apiService;
1897
+ constructor(apiService: ApiService);
1898
+ fetchCategories({ page, search, limit, }: FetchProductCategoriesParams): Observable<ProductCategoriesResponse>;
1899
+ fetchOneById(id: number): Observable<ProductCategoryResponse>;
1900
+ createOne(data: ProductCategory): Observable<any>;
1901
+ updateOne(id: number, data: ProductCategory): Observable<ProductCategoryResponse>;
1902
+ deleteOne(id: number): Observable<any>;
1903
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductCategoryService, never>;
1904
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductCategoryService>;
1905
+ }
1906
+
1907
+ declare class ProductTagService {
1908
+ private apiService;
1909
+ constructor(apiService: ApiService);
1910
+ fetchTags({ page, search, limit }: FetchProductTagsParams): Observable<ProductTagsResponse>;
1911
+ fetchOneById(id: number): Observable<ProductTagResponse>;
1912
+ createOne(data: ProductTag): Observable<any>;
1913
+ updateOne(id: number, data: ProductTag): Observable<ProductTagResponse>;
1914
+ deleteOne(id: number): Observable<any>;
1915
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTagService, never>;
1916
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTagService>;
1917
+ }
1918
+
1919
+ declare class ProductTypeService {
1920
+ private apiService;
1921
+ constructor(apiService: ApiService);
1922
+ fetchTypes({ page, search, limit }: FetchProductTypesParams): Observable<ProductTypesResponse>;
1923
+ fetchOneById(id: number): Observable<ProductTypeResponse>;
1924
+ createOne(data: ProductType): Observable<any>;
1925
+ updateOne(id: number, data: ProductType): Observable<ProductTypeResponse>;
1926
+ deleteOne(id: number): Observable<any>;
1927
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTypeService, never>;
1928
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTypeService>;
1929
+ }
1930
+
1931
+ interface FetchProductsParams {
1932
+ page?: number;
1933
+ limit?: number;
1934
+ search?: string;
1935
+ }
1936
+
1937
+ declare class ProductService {
1938
+ private apiService;
1939
+ private productsSubject;
1940
+ products$: Observable<Product[]>;
1941
+ constructor(apiService: ApiService);
1942
+ fetchProducts({ page, search, limit, }: FetchProductsParams): Observable<ProductsResponseInterface>;
1943
+ loadProducts(params: FetchProductsParams): void;
1944
+ getCurrentProducts(): Product[];
1945
+ fetchOneById(id: number): Observable<ProductResponse>;
1946
+ createOne(data: Product): Observable<any>;
1947
+ updateOne(id: number, data: any): Observable<ProductResponse>;
1948
+ deleteOne(id: number): Observable<any>;
1949
+ fetchImages(id: number): Observable<{
1950
+ data: ProductImage[];
1951
+ }>;
1952
+ uploadImages(id: number, files?: FormData): Observable<{
1953
+ data: ProductImage[];
1954
+ }>;
1955
+ deleteOneImage(productId: number, imageId: number): Observable<any>;
1956
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductService, never>;
1957
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductService>;
1958
+ }
1959
+
1960
+ declare class BaseModalService {
1961
+ readonly isOpen: WritableSignal<boolean>;
1962
+ get modalIsOpen(): WritableSignal<boolean>;
1963
+ open(): void;
1964
+ close(): void;
1965
+ }
1966
+
1967
+ declare class FeedbackModalService {
1968
+ private _modals;
1969
+ readonly modals: i0.Signal<FeedbackModalElement[]>;
1970
+ addModal(modal: FeedbackModalElement): void;
1971
+ removeModal(id: string): void;
1972
+ removeAllModals(): void;
1973
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalService, never>;
1974
+ static ɵprov: i0.ɵɵInjectableDeclaration<FeedbackModalService>;
1975
+ }
1976
+
1977
+ declare class OrderTransactionDetailsModalService {
1978
+ readonly isOpen: WritableSignal<boolean>;
1979
+ transaction: WritableSignal<Transaction | null>;
1980
+ get modalIsOpen(): WritableSignal<boolean>;
1981
+ open(transaction: Transaction): void;
1982
+ close(): void;
1983
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionDetailsModalService, never>;
1984
+ static ɵprov: i0.ɵɵInjectableDeclaration<OrderTransactionDetailsModalService>;
1985
+ }
1986
+
1987
+ declare class PerformanceBookingDataService {
1988
+ private _show;
1989
+ private _performance;
1990
+ private _roomMap;
1991
+ private _hallFloors;
1992
+ private _selectedHallFloor;
1993
+ private _allRenderData;
1994
+ private _stageConfig;
1995
+ readonly show: i0.Signal<Show | null>;
1996
+ readonly hallFloors: i0.Signal<HallFloor[]>;
1997
+ readonly selectedHallFloor: i0.Signal<HallFloor | null>;
1998
+ readonly performance: i0.Signal<Performance | null>;
1999
+ readonly stageConfig: i0.Signal<{
2000
+ [x: string]: any;
2001
+ }>;
2002
+ readonly roomMap: i0.Signal<RoomMap | null>;
2003
+ readonly renderData: i0.Signal<ElementRenderData[]>;
2004
+ setPerformanceBookingData({ data }: PerformanceBookingDataResponse): void;
2005
+ setRoomMap(roomMap: RoomMap | null): void;
2006
+ setPerformance(performance: Performance | null): void;
2007
+ setShow(show: Show | null): void;
2008
+ setSelectedHallFloor(id: number): void;
2009
+ updateStageConfig(data: {
2010
+ [x: string]: any;
2011
+ }): void;
2012
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceBookingDataService, never>;
2013
+ static ɵprov: i0.ɵɵInjectableDeclaration<PerformanceBookingDataService>;
2014
+ }
2015
+
2016
+ declare class TicketSelectionDetailsService {
2017
+ private _customerEmail;
2018
+ private _customerId;
2019
+ private _paymentMethod;
2020
+ private _billingInformation;
2021
+ readonly customerEmail: i0.Signal<string | null>;
2022
+ readonly customerId: i0.Signal<number | null>;
2023
+ readonly paymentMethod: i0.Signal<string | null>;
2024
+ readonly billingInformation: i0.Signal<Customer | null>;
2025
+ setCustomerEmail(email: string | null): void;
2026
+ setCustomerId(id: number | null): void;
2027
+ setPaymentMethod(method: string | null): void;
2028
+ setBillingInformation(values: Customer): void;
2029
+ clearSelection(): void;
2030
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDetailsService, never>;
2031
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDetailsService>;
2032
+ }
2033
+
2034
+ declare class TicketSelectionDiscountService {
2035
+ private _coupon;
2036
+ private _corporateBond;
2037
+ private _corporateBondCode;
2038
+ private _giftBond;
2039
+ private _giftBondCode;
2040
+ readonly coupon: Signal<Coupon | null>;
2041
+ readonly corporateBond: Signal<CorporateBond | null>;
2042
+ readonly corporateBondCode: Signal<string | null>;
2043
+ readonly giftBond: Signal<GiftBondPurchase | null>;
2044
+ readonly giftBondCode: Signal<string | null>;
2045
+ readonly selectedDiscount: Signal<SelectedDiscountCard | null>;
2046
+ readonly selectedDiscountType: Signal<SelectedDiscountCardType | undefined>;
2047
+ readonly selectedDiscountValue: Signal<number | undefined>;
2048
+ setCoupon(coupon: Coupon | null): void;
2049
+ setCorporateBond(corporateBond: CorporateBond | null): void;
2050
+ setCorporateBondCode(code: string | null): void;
2051
+ setGiftBond(giftBond: GiftBondPurchase | null): void;
2052
+ setGiftBondCode(code: string | null): void;
2053
+ clearSelection(): void;
2054
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDiscountService, never>;
2055
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDiscountService>;
2056
+ }
2057
+
2058
+ declare class TicketSelectionTotalsService {
2059
+ private bookingDataService;
2060
+ private selectionService;
2061
+ private selectionDiscountService;
2062
+ readonly selectedProductEntries: i0.Signal<{
2063
+ id: number;
2064
+ quantity: number;
2065
+ }[]>;
2066
+ readonly selectedProductCount: i0.Signal<number>;
2067
+ readonly productSubtotal: i0.Signal<number>;
2068
+ readonly ticketSubtotal: i0.Signal<number>;
2069
+ readonly serviceFee: i0.Signal<number>;
2070
+ subtotalValue(): number;
2071
+ totalValue(): number;
2072
+ totalDiscounted(): number | null;
2073
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionTotalsService, never>;
2074
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionTotalsService>;
2075
+ }
2076
+
2077
+ declare class TicketSelectionService {
2078
+ private bookingDataService;
2079
+ private feedbackModalService;
2080
+ private selectionDetailsService;
2081
+ private selectionDiscountService;
2082
+ private _zoneQuantities;
2083
+ private _allTickets;
2084
+ private _selectedTickets;
2085
+ private _selectedBlockedTickets;
2086
+ private _products;
2087
+ private _productQuantities;
2088
+ readonly selectedTickets: i0.Signal<PerformanceTicket[]>;
2089
+ readonly selectedBlockedTickets: i0.Signal<PerformanceTicket[]>;
2090
+ readonly selectedCount: i0.Signal<number>;
2091
+ readonly blockedSelectedCount: i0.Signal<number>;
2092
+ readonly selectedTicketIds: i0.Signal<Set<PerformanceTicket>>;
2093
+ readonly selectedBlockedTicketIds: i0.Signal<number[]>;
2094
+ readonly selectedTicketIdList: i0.Signal<number[]>;
2095
+ readonly products: i0.Signal<Product[]>;
2096
+ readonly productQuantities: i0.Signal<Map<number, number>>;
2097
+ readonly selectedProductEntries: i0.Signal<{
2098
+ id: number;
2099
+ quantity: number;
2100
+ }[]>;
2101
+ readonly selectedProductCount: i0.Signal<number>;
2102
+ readonly serviceFee: i0.Signal<number>;
2103
+ setTickets(tickets: PerformanceTicket[]): void;
2104
+ setProducts(products: Product[]): void;
2105
+ updateProductQuantity(productId: number, delta: number): void;
2106
+ getProductQuantity(productId: number): number;
2107
+ private getListByStatus;
2108
+ setSelectedTickets(tickets: PerformanceTicket[]): void;
2109
+ toggle(ticket: PerformanceTicket): void;
2110
+ select(ticket: PerformanceTicket): void;
2111
+ deselect(ticket: PerformanceTicket): void;
2112
+ clearBlockedSelection(): void;
2113
+ clearSelection(): void;
2114
+ isSelected(ticket: PerformanceTicket): boolean;
2115
+ initZoneQuantity(elementId: number, maxCapacity: number): void;
2116
+ adjustZoneQuantity(elementId: number, delta: number): void;
2117
+ getZoneTickets(elementId: number): PerformanceTicket[];
2118
+ buildTooltipData(ticket: PerformanceTicket, elementName: string, seatLabel: string | null, x: number, y: number): TicketMapTooltipData;
2119
+ buildReservePerformanceDto(paymentMethod?: string, termsAccepted?: boolean, dataProcessingAccepted?: boolean): ReservePerformanceDto;
2120
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionService, never>;
2121
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionService>;
2122
+ }
2123
+
2124
+ declare class TicketMapZoomService {
2125
+ readonly currentZoom: i0.WritableSignal<number>;
2126
+ private stage?;
2127
+ private bookingDataService;
2128
+ private readonly defaultConfig;
2129
+ constructor();
2130
+ /**
2131
+ * Set the Konva stage instance
2132
+ */
2133
+ setStage(stage: Stage): void;
2134
+ /**
2135
+ * Zoom in by one step
2136
+ */
2137
+ zoomIn(): void;
2138
+ /**
2139
+ * Zoom out by one step
2140
+ */
2141
+ zoomOut(): void;
2142
+ /**
2143
+ * Reset zoom to 100%
2144
+ */
2145
+ resetZoom(): void;
2146
+ /**
2147
+ * Get current zoom as percentage string
2148
+ */
2149
+ getZoomPercentage(): string;
2150
+ /**
2151
+ * Get current zoom value
2152
+ */
2153
+ getCurrentZoom(): number;
2154
+ /**
2155
+ * Apply zoom with center point
2156
+ */
2157
+ private applyZoom;
2158
+ /**
2159
+ * Apply zoom scale with specific center point
2160
+ */
2161
+ private applyZoomScale;
2162
+ /**
2163
+ * Handle mouse wheel zoom toward the cursor position
2164
+ */
2165
+ handleWheelZoom(deltaY: number): void;
2166
+ /**
2167
+ * Fit the content bounds to fill the stage container
2168
+ */
2169
+ fitToContainer(padding?: number): void;
2170
+ /**
2171
+ * Get current stage position
2172
+ */
2173
+ getStagePosition(): {
2174
+ x: number;
2175
+ y: number;
2176
+ };
2177
+ /**
2178
+ * Set stage position (useful for programmatic panning)
2179
+ */
2180
+ setStagePosition(position: {
2181
+ x: number;
2182
+ y: number;
2183
+ }): void;
2184
+ /**
2185
+ * Fit the stage content bounds to the container, centering and scaling
2186
+ * to show the full content with optional padding.
2187
+ */
2188
+ fitToBounds(contentBounds: {
2189
+ x: number;
2190
+ y: number;
2191
+ width: number;
2192
+ height: number;
2193
+ }, containerWidth: number, containerHeight: number, padding?: number): void;
2194
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomService, never>;
2195
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketMapZoomService>;
2196
+ }
2197
+
2198
+ declare class ConfirmationOrderModalService extends BaseModalService {
2199
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalService, never>;
2200
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmationOrderModalService>;
2201
+ }
2202
+
2203
+ declare class TicketQrService {
2204
+ private apiService;
2205
+ constructor(apiService: ApiService);
2206
+ fetchQrToken(ticketUuid: string): Observable<QrTokenResponse>;
2207
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrService, never>;
2208
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrService>;
2209
+ }
2210
+
2211
+ declare class TicketQrModalService {
2212
+ isOpen: WritableSignal<boolean>;
2213
+ ticketUuid: WritableSignal<string | null>;
2214
+ ticketDescription: WritableSignal<string | null>;
2215
+ open(ticketUuid: string, description?: string): void;
2216
+ close(): void;
2217
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalService, never>;
2218
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrModalService>;
2219
+ }
2220
+
1324
2221
  declare const authInterceptor: HttpInterceptorFn;
1325
2222
 
1326
2223
  declare class AppButtonComponent {
@@ -1365,15 +2262,29 @@ declare class AppAlertComponent {
1365
2262
  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
2263
  }
1367
2264
 
1368
- declare class LoadingmModalComponent {
1369
- private loadingModalService;
1370
- constructor(loadingModalService: LoadingModalService);
1371
- get isOpen(): i0.WritableSignal<boolean>;
1372
- get title(): i0.WritableSignal<string>;
2265
+ declare class FeedbackModalComponent implements OnChanges, OnDestroy {
2266
+ isOpen: WritableSignal<boolean>;
2267
+ type: FeedbackModalType;
2268
+ title: string;
2269
+ message: string;
2270
+ showHeader: boolean;
2271
+ showCloseButton: boolean;
2272
+ showTitle: boolean;
2273
+ autoClose: boolean;
2274
+ autoCloseDuration: number;
2275
+ buttonText: string;
2276
+ closed: EventEmitter<void>;
2277
+ private autoCloseTimeout;
2278
+ get defaultButtonText(): string;
2279
+ get resolvedButtonText(): string;
2280
+ get buttonVariant(): 'primary' | 'secondary';
2281
+ ngOnChanges(changes: SimpleChanges): void;
2282
+ ngOnDestroy(): void;
1373
2283
  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>;
2284
+ private scheduleAutoClose;
2285
+ private clearAutoClose;
2286
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalComponent, never>;
2287
+ 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
2288
  }
1378
2289
 
1379
2290
  declare class DeleteConfirmationComponent {
@@ -1396,12 +2307,27 @@ declare class DeleteConfirmationComponent {
1396
2307
  declare class AppModalComponent {
1397
2308
  title: string;
1398
2309
  disableClose: boolean;
2310
+ showHeader: boolean;
2311
+ showCloseButton: boolean;
2312
+ showTitle: boolean;
1399
2313
  isOpen: WritableSignal<boolean>;
1400
- size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
2314
+ size: ModalSize;
1401
2315
  closeModal: EventEmitter<void>;
1402
2316
  onCloseModal(): void;
2317
+ onKeydownEscape(): void;
1403
2318
  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>;
2319
+ 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>;
2320
+ }
2321
+
2322
+ declare class AppBadgeComponent {
2323
+ text: string;
2324
+ color: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
2325
+ size: BadgeSize;
2326
+ bordered: boolean;
2327
+ backgroundColor: string;
2328
+ textColor: string;
2329
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppBadgeComponent, never>;
2330
+ 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
2331
  }
1406
2332
 
1407
2333
  declare class AuditInformationComponent {
@@ -1436,6 +2362,27 @@ declare class DynamicTableComponent {
1436
2362
  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
2363
  }
1438
2364
 
2365
+ declare class ShowCardComponent {
2366
+ show: Show;
2367
+ linkText: string;
2368
+ linkUrlFn?: (show: Show) => string;
2369
+ linkQueryParams?: Record<string, any>;
2370
+ transloco: TranslocoService;
2371
+ dateService: DateService;
2372
+ get showTypeColor(): {
2373
+ bg: string;
2374
+ text: string;
2375
+ };
2376
+ formatTimeDate(date: string): Date;
2377
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardComponent, never>;
2378
+ 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>;
2379
+ }
2380
+
2381
+ declare class ShowCardSkeletonComponent {
2382
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardSkeletonComponent, never>;
2383
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowCardSkeletonComponent, "show-card-skeleton", never, {}, {}, never, never, true, never>;
2384
+ }
2385
+
1439
2386
  declare class LanguageSwitcherComponent {
1440
2387
  protected transloco: TranslocoService;
1441
2388
  availableLangs: string[];
@@ -1483,7 +2430,7 @@ declare class FormInputComponent implements ControlValueAccessor {
1483
2430
 
1484
2431
  declare class FormSelectComponent implements ControlValueAccessor {
1485
2432
  ngControl: NgControl;
1486
- private transloco;
2433
+ protected transloco: TranslocoService;
1487
2434
  label: string;
1488
2435
  name: string;
1489
2436
  id: string;
@@ -1507,7 +2454,6 @@ declare class FormSelectComponent implements ControlValueAccessor {
1507
2454
  get inputId(): string;
1508
2455
  get showError(): boolean;
1509
2456
  get errorMessage(): string;
1510
- get resolvedDefaultOptionLabel(): string;
1511
2457
  get fieldGroupClasses(): string;
1512
2458
  static ɵfac: i0.ɵɵFactoryDeclaration<FormSelectComponent, [{ optional: true; self: true; }, null]>;
1513
2459
  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>;
@@ -1562,7 +2508,8 @@ declare class FormEditorComponent implements ControlValueAccessor, OnInit, OnDes
1562
2508
  onChange: any;
1563
2509
  onTouched: any;
1564
2510
  private subscription;
1565
- constructor(ngControl: NgControl, transloco: TranslocoService);
2511
+ isBrowser: boolean;
2512
+ constructor(ngControl: NgControl, transloco: TranslocoService, platformId: object);
1566
2513
  ngOnInit(): void;
1567
2514
  ngOnDestroy(): void;
1568
2515
  writeValue(value: any): void;
@@ -1573,7 +2520,7 @@ declare class FormEditorComponent implements ControlValueAccessor, OnInit, OnDes
1573
2520
  get showError(): boolean;
1574
2521
  get errorMessage(): string;
1575
2522
  get fieldGroupClasses(): string;
1576
- static ɵfac: i0.ɵɵFactoryDeclaration<FormEditorComponent, [{ optional: true; self: true; }, null]>;
2523
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormEditorComponent, [{ optional: true; self: true; }, null, null]>;
1577
2524
  static ɵcmp: i0.ɵɵComponentDeclaration<FormEditorComponent, "form-editor", never, { "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "toolbar": { "alias": "toolbar"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; }, {}, never, never, true, never>;
1578
2525
  }
1579
2526
 
@@ -1757,6 +2704,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1757
2704
  notFoundText: string;
1758
2705
  bindLabel: string;
1759
2706
  bindValue: string;
2707
+ disabled: boolean;
1760
2708
  value: any;
1761
2709
  onChange: any;
1762
2710
  onTouched: any;
@@ -1786,7 +2734,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1786
2734
  registerOnTouched(fn: any): void;
1787
2735
  setDisabledState(isDisabled: boolean): void;
1788
2736
  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>;
2737
+ 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
2738
  }
1791
2739
 
1792
2740
  declare class ChangePasswordFormComponent {
@@ -2244,11 +3192,15 @@ declare class DaySelectorGridComponent {
2244
3192
  declare class PerformanceCardComponent {
2245
3193
  protected listEventService: PerformancesListEventsService;
2246
3194
  card: DailyPerformanceItem;
3195
+ linkText: string;
3196
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3197
+ linkQueryParams?: Record<string, any>;
2247
3198
  constructor(listEventService: PerformancesListEventsService);
3199
+ get badgeColor(): 'success' | 'error';
2248
3200
  onSelect(): void;
2249
3201
  isSelected(): boolean;
2250
3202
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardComponent, never>;
2251
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardComponent, "performance-card", never, { "card": { "alias": "card"; "required": true; }; }, {}, never, never, true, never>;
3203
+ 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
3204
  }
2253
3205
 
2254
3206
  declare class PerformanceCardListComponent {
@@ -2256,6 +3208,9 @@ declare class PerformanceCardListComponent {
2256
3208
  protected performanceService: PerformanceService;
2257
3209
  protected listEventService: PerformancesListEventsService;
2258
3210
  protected toastService: ToastService;
3211
+ linkText: string;
3212
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3213
+ linkQueryParams?: Record<string, any>;
2259
3214
  loadingData: WritableSignal<boolean>;
2260
3215
  performances: WritableSignal<DailyPerformanceItem[]>;
2261
3216
  constructor(platformId: object, performanceService: PerformanceService, listEventService: PerformancesListEventsService, toastService: ToastService);
@@ -2263,7 +3218,7 @@ declare class PerformanceCardListComponent {
2263
3218
  private loadData;
2264
3219
  get selectedDayDate(): string | null;
2265
3220
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardListComponent, never>;
2266
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardListComponent, "performance-card-list", never, {}, {}, never, never, true, never>;
3221
+ 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
3222
  }
2268
3223
 
2269
3224
  declare class PerformanceStepperComponent {
@@ -2292,9 +3247,9 @@ declare class ShowsFilterComponent {
2292
3247
  }
2293
3248
 
2294
3249
  interface PriceZoneItem {
2295
- colorClass: string;
3250
+ color: string;
2296
3251
  name: string;
2297
- seatsAvailable: number;
3252
+ available_seats: number;
2298
3253
  price: string;
2299
3254
  }
2300
3255
 
@@ -2310,5 +3265,320 @@ declare class ZonePriceListComponent {
2310
3265
  static ɵcmp: i0.ɵɵComponentDeclaration<ZonePriceListComponent, "zone-price-list", never, { "zones": { "alias": "zones"; "required": true; }; }, {}, never, never, true, never>;
2311
3266
  }
2312
3267
 
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 };
3268
+ declare class TicketMapWidgetComponent {
3269
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetComponent, never>;
3270
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetComponent, "ticket-map-widget", never, {}, {}, never, ["*"], true, never>;
3271
+ }
3272
+
3273
+ declare class TicketMapWidgetHeaderComponent {
3274
+ title: string;
3275
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetHeaderComponent, never>;
3276
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetHeaderComponent, "ticket-map-widget-header", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, ["*"], true, never>;
3277
+ }
3278
+
3279
+ declare class TicketMapZoomControlsComponent {
3280
+ private zoomService;
3281
+ readonly currentZoom: i0.Signal<number>;
3282
+ readonly zoomPercentage: i0.Signal<string>;
3283
+ constructor(zoomService: TicketMapZoomService);
3284
+ zoomIn(): void;
3285
+ zoomOut(): void;
3286
+ resetZoom(): void;
3287
+ fitToContainer(): void;
3288
+ handleZoomAction(action: string): void;
3289
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomControlsComponent, never>;
3290
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapZoomControlsComponent, "ticket-map-zoom-controls", never, {}, {}, never, never, true, never>;
3291
+ }
3292
+
3293
+ declare class PerformanceTicketMapComponent implements OnDestroy, AfterViewInit {
3294
+ private platformId;
3295
+ protected bookingDataService: PerformanceBookingDataService;
3296
+ protected feedbackModalService: FeedbackModalService;
3297
+ protected selectionService: TicketSelectionService;
3298
+ protected zoomService: TicketMapZoomService;
3299
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3300
+ needsLoginError: EventEmitter<any>;
3301
+ readOnly: boolean;
3302
+ needsLogin: boolean;
3303
+ isLoggedIn: boolean;
3304
+ stageComponent?: StageComponent;
3305
+ protected tooltipData: i0.WritableSignal<TicketMapTooltipData | null>;
3306
+ private stageReady;
3307
+ private autoFitDone;
3308
+ private resizeObserver?;
3309
+ constructor(platformId: object, bookingDataService: PerformanceBookingDataService, feedbackModalService: FeedbackModalService, selectionService: TicketSelectionService, zoomService: TicketMapZoomService);
3310
+ protected get isBrowser(): boolean;
3311
+ ngAfterViewInit(): void;
3312
+ private setupResizeObserver;
3313
+ private syncStageToContainer;
3314
+ ngOnDestroy(): void;
3315
+ private getInternalPointer;
3316
+ protected selectHallFloor(floorId: number): void;
3317
+ protected handleStageClick(konvaEvent: any): void;
3318
+ protected handleStageMouseMove(konvaEvent: any): void;
3319
+ protected handleStageMouseLeave(): void;
3320
+ protected handleWheel(konvaEvent: any): void;
3321
+ protected trackByElementId(_index: number, item: ElementRenderData): number;
3322
+ protected trackByFloorId(_index: number, floor: HallFloorOption): HallFloorOption;
3323
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceTicketMapComponent, never>;
3324
+ 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>;
3325
+ }
3326
+
3327
+ declare class TicketMapPriceZonesComponent {
3328
+ title: string;
3329
+ protected bookingDataService: PerformanceBookingDataService;
3330
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapPriceZonesComponent, never>;
3331
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapPriceZonesComponent, "ticket-map-price-zones", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, never, true, never>;
3332
+ }
3333
+
3334
+ declare class TicketMapProductSelectionItemComponent {
3335
+ protected selectionService: TicketSelectionService;
3336
+ product: Product;
3337
+ constructor(selectionService: TicketSelectionService);
3338
+ get quantity(): number;
3339
+ get firstImage(): string | undefined;
3340
+ increment(): void;
3341
+ decrement(): void;
3342
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapProductSelectionItemComponent, never>;
3343
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapProductSelectionItemComponent, "ticket-map-product-selection-item", never, { "product": { "alias": "product"; "required": true; }; }, {}, never, never, true, never>;
3344
+ }
3345
+
3346
+ declare class TIcketMapProductSelectionComponent {
3347
+ private bookingDataService;
3348
+ readonly products: i0.Signal<tickera_angular_components.Product[]>;
3349
+ static ɵfac: i0.ɵɵFactoryDeclaration<TIcketMapProductSelectionComponent, never>;
3350
+ static ɵcmp: i0.ɵɵComponentDeclaration<TIcketMapProductSelectionComponent, "ticket-map-product-selection", never, {}, {}, never, never, true, never>;
3351
+ }
3352
+
3353
+ declare class TicketMapTotalsComponent {
3354
+ protected bookingDataService: PerformanceBookingDataService;
3355
+ protected selectionDetailsService: TicketSelectionDetailsService;
3356
+ protected selectionDiscountService: TicketSelectionDiscountService;
3357
+ protected selectionTotalsService: TicketSelectionTotalsService;
3358
+ protected selectionService: TicketSelectionService;
3359
+ private activatedRoute;
3360
+ title: string;
3361
+ buttonText: string;
3362
+ loadingButtonText: string;
3363
+ isLoading: boolean;
3364
+ onPurchaseClick: EventEmitter<void>;
3365
+ constructor(bookingDataService: PerformanceBookingDataService, selectionDetailsService: TicketSelectionDetailsService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, activatedRoute: ActivatedRoute);
3366
+ get serviceFee(): number;
3367
+ get performanceId(): number;
3368
+ get selectedTicketIds(): number[];
3369
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapTotalsComponent, never>;
3370
+ 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>;
3371
+ }
3372
+
3373
+ declare class TicketMapWrapperComponent {
3374
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3375
+ needsLoginError: EventEmitter<any>;
3376
+ readOnly: boolean;
3377
+ needsLogin: boolean;
3378
+ isLoggedIn: boolean;
3379
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWrapperComponent, never>;
3380
+ 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>;
3381
+ }
3382
+
3383
+ declare class SeatSelectionEmptySummaryComponent {
3384
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionEmptySummaryComponent, never>;
3385
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionEmptySummaryComponent, "seat-selection-empty-summary", never, {}, {}, never, never, true, never>;
3386
+ }
3387
+
3388
+ declare class SeatSelectionSummaryComponent {
3389
+ protected selectionService: TicketSelectionService;
3390
+ title: string;
3391
+ clearButtonText: string;
3392
+ constructor(selectionService: TicketSelectionService);
3393
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryComponent, never>;
3394
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryComponent, "seat-selection-summary", never, { "title": { "alias": "title"; "required": false; }; "clearButtonText": { "alias": "clearButtonText"; "required": false; }; }, {}, never, never, true, never>;
3395
+ }
3396
+
3397
+ declare class SeatSelectionSummaryItemComponent {
3398
+ protected selectionService: TicketSelectionService;
3399
+ item: PerformanceTicket;
3400
+ constructor(selectionService: TicketSelectionService);
3401
+ getItemTypeIcon: (ticket: PerformanceTicket) => string;
3402
+ removeItem(ticket: PerformanceTicket): void;
3403
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryItemComponent, never>;
3404
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryItemComponent, "seat-selection-summary-item", never, { "item": { "alias": "item"; "required": true; }; }, {}, never, never, true, never>;
3405
+ }
3406
+
3407
+ declare class ConfirmationOrderModalComponent {
3408
+ private confirmationOrderModalService;
3409
+ private selectionDiscountService;
3410
+ private selectionTotalsService;
3411
+ private selectionService;
3412
+ private bookingDataService;
3413
+ modalTitle: string;
3414
+ confirmButtonText: string;
3415
+ confirmButtonTextLoading: string;
3416
+ loading: boolean;
3417
+ onConfirm: EventEmitter<any>;
3418
+ constructor(confirmationOrderModalService: ConfirmationOrderModalService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, bookingDataService: PerformanceBookingDataService);
3419
+ get isOpen(): i0.WritableSignal<boolean>;
3420
+ get selectedCount(): number;
3421
+ get serviceFee(): number;
3422
+ get subtotalValue(): number;
3423
+ get ticketSubtotal(): number;
3424
+ get productSubtotal(): number;
3425
+ get productCount(): number;
3426
+ get totalValue(): number;
3427
+ get totalDiscounted(): number | null;
3428
+ get coupon(): tickera_angular_components.Coupon | null;
3429
+ get corporateBond(): tickera_angular_components.CorporateBond | null;
3430
+ get giftBond(): tickera_angular_components.GiftBondPurchase | null;
3431
+ onClose(): void;
3432
+ confirmOrder(): void;
3433
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalComponent, never>;
3434
+ 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>;
3435
+ }
3436
+
3437
+ declare class OrderInformationComponent {
3438
+ readonly transloco: TranslocoService;
3439
+ order: Order;
3440
+ constructor(transloco: TranslocoService);
3441
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderInformationComponent, never>;
3442
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderInformationComponent, "order-information", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3443
+ }
3444
+
3445
+ declare class OrderStatusBadgeComponent {
3446
+ protected transloco: TranslocoService;
3447
+ order: Order | RecentOrder;
3448
+ size: BadgeSize;
3449
+ constructor(transloco: TranslocoService);
3450
+ protected get statusColors(): {
3451
+ text: string;
3452
+ bg: string;
3453
+ };
3454
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderStatusBadgeComponent, never>;
3455
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderStatusBadgeComponent, "order-status-badge", never, { "order": { "alias": "order"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3456
+ }
3457
+
3458
+ declare class OrderItemTypeBadgeComponent {
3459
+ protected transloco: TranslocoService;
3460
+ item: OrderItem;
3461
+ size: BadgeSize;
3462
+ constructor(transloco: TranslocoService);
3463
+ protected get statusColors(): {
3464
+ text: string;
3465
+ bg: string;
3466
+ };
3467
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemTypeBadgeComponent, never>;
3468
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemTypeBadgeComponent, "order-item-type-badge", never, { "item": { "alias": "item"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3469
+ }
3470
+
3471
+ declare class OrderItemsComponent {
3472
+ private ticketQrModalService;
3473
+ order: Order;
3474
+ constructor(ticketQrModalService: TicketQrModalService);
3475
+ protected get orderItems(): Order['order_items'];
3476
+ protected get products(): Order['order_items'];
3477
+ protected get tickets(): Order['order_items'];
3478
+ protected get giftBonds(): Order['order_items'];
3479
+ protected get showActionColumn(): boolean;
3480
+ protected itemTotal(quantity: number, price: number): number;
3481
+ protected hasDiscount(): boolean;
3482
+ protected get totals(): {
3483
+ giftBonds: number;
3484
+ products: number;
3485
+ tickets: number;
3486
+ };
3487
+ openTicketQr(ticketUuid: string, description: string): void;
3488
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemsComponent, never>;
3489
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemsComponent, "order-items", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3490
+ }
3491
+
3492
+ declare class OrderDiscountAppliedComponent {
3493
+ order: Order;
3494
+ protected get discountInfo(): OrderDiscountInfo;
3495
+ protected get hasDiscount(): boolean;
3496
+ protected get discountPct(): number | null;
3497
+ protected get badgeColors(): {
3498
+ text: string;
3499
+ bg: string;
3500
+ };
3501
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderDiscountAppliedComponent, never>;
3502
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderDiscountAppliedComponent, "order-discount-applied", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3503
+ }
3504
+
3505
+ interface BillingField {
3506
+ label: string;
3507
+ value: string | number | null;
3508
+ }
3509
+ declare class OrderBillingInfoComponent {
3510
+ order: Order;
3511
+ protected get fields(): BillingField[];
3512
+ protected get hasFields(): boolean;
3513
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderBillingInfoComponent, never>;
3514
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderBillingInfoComponent, "order-billing-info", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3515
+ }
3516
+
3517
+ declare class OrderTransactionsComponent {
3518
+ private transactionDetailsModalService;
3519
+ order: Order;
3520
+ constructor(transactionDetailsModalService: OrderTransactionDetailsModalService);
3521
+ protected get transactions(): Transaction[];
3522
+ protected get hasTransactions(): boolean;
3523
+ protected get txColors(): Record<string, {
3524
+ text: string;
3525
+ bg: string;
3526
+ }>;
3527
+ protected openTransaction(transaction: Transaction): void;
3528
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionsComponent, never>;
3529
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderTransactionsComponent, "order-transactions", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3530
+ }
3531
+
3532
+ declare class OrderTransactionDetailsModalComponent {
3533
+ private modalService;
3534
+ isOpen: WritableSignal<boolean> | null;
3535
+ transaction: Transaction | null;
3536
+ get modalIsOpen(): WritableSignal<boolean>;
3537
+ get selectedTransaction(): WritableSignal<Transaction | null>;
3538
+ protected get txColors(): Record<TransactionStatus, {
3539
+ text: string;
3540
+ bg: string;
3541
+ }>;
3542
+ protected get gatewayResponse(): string;
3543
+ onClose(): void;
3544
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderTransactionDetailsModalComponent, never>;
3545
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderTransactionDetailsModalComponent, "order-transaction-details-modal", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "transaction": { "alias": "transaction"; "required": false; }; }, {}, never, never, true, never>;
3546
+ }
3547
+
3548
+ declare class TicketQrComponent implements OnInit, OnDestroy {
3549
+ private ticketQrService;
3550
+ ticketUuid: string;
3551
+ qrCanvas: ElementRef<HTMLCanvasElement>;
3552
+ loading: i0.WritableSignal<boolean>;
3553
+ error: i0.WritableSignal<boolean>;
3554
+ refreshing: i0.WritableSignal<boolean>;
3555
+ countdown: i0.WritableSignal<number>;
3556
+ private destroy$;
3557
+ private refreshTimeout;
3558
+ private countdownInterval;
3559
+ constructor(ticketQrService: TicketQrService);
3560
+ ngOnInit(): void;
3561
+ ngOnDestroy(): void;
3562
+ retry(): void;
3563
+ private clearTimers;
3564
+ private fetchAndRender;
3565
+ private scheduleRefresh;
3566
+ private startCountdown;
3567
+ private renderQr;
3568
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrComponent, never>;
3569
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrComponent, "performance-ticket-qr", never, { "ticketUuid": { "alias": "ticketUuid"; "required": true; }; }, {}, never, never, true, never>;
3570
+ }
3571
+
3572
+ declare class TicketQrModalComponent {
3573
+ private ticketQrModalService;
3574
+ constructor(ticketQrModalService: TicketQrModalService);
3575
+ get isOpen(): i0.WritableSignal<boolean>;
3576
+ get ticketUuid(): i0.WritableSignal<string | null>;
3577
+ get ticketDescription(): i0.WritableSignal<string | null>;
3578
+ onClose(): void;
3579
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalComponent, never>;
3580
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrModalComponent, "ticket-qr-modal", never, {}, {}, never, never, true, never>;
3581
+ }
3582
+
3583
+ 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, GiftBondPurchaseStatus, GiftBondStatus, KONVA_SHAPE_MAPPINGS, LanguageSwitcherComponent, MinTodayValidator, MustMatchValidator, ORDER_DISCOUNT_COLORS, ORDER_ITEM_TYPES_COLORS, ORDER_STATUS_COLORS, OrderBillingInfoComponent, OrderDiscountAppliedComponent, OrderInformationComponent, OrderItemType, OrderItemTypeBadgeComponent, OrderItemsComponent, OrderStatus, OrderStatusBadgeComponent, OrderTransactionDetailsModalComponent, OrderTransactionDetailsModalService, OrderTransactionsComponent, PAYMENT_METHODS_OPTIONS, PERFORMANCES_API_ROUTES, 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, TRANSACTION_STATUS_COLORS, TickeraTranslocoLoader, TicketMapPriceZonesComponent, TicketMapProductSelectionItemComponent, TicketMapTotalsComponent, TicketMapWidgetComponent, TicketMapWidgetHeaderComponent, TicketMapWrapperComponent, TicketMapZoomControlsComponent, TicketMapZoomService, TicketQrComponent, TicketQrModalComponent, TicketQrModalService, TicketQrService, TicketSelectionDetailsService, TicketSelectionDiscountService, TicketSelectionService, TicketSelectionTotalsService, ToastService, ToggleSwitchComponent, TransactionStatus, VENUES_API_ROUTES, ZonePriceItemComponent, ZonePriceListComponent, authInterceptor, drawChairIcon, drawHappyFace, drawRoundedRect, drawWheelchairIcon, findElementAtPosition, findTicketAtPosition, formatCitiesResponseToSelect, generateExitScene, generateHallwayScene, generateProductionAreaScene, generateSeatBlockScene, generateSeatBlockTicketScene, generateStageScene, generateStairScene, generateTableScene, generateTableTicketScene, generateUnavailableSpaceScene, generateZoneScene, getBrowserLanguage, getCustomerFullname, getItemTypeIcon, getOrderDiscount, getStoredLanguage, numberToLetter, parseJsonToFormDataAdvanced, processElementsToRenderData, provideTickeraComponents, resolveLanguage, setStoredLanguage, tintColor, transformImageToFile };
3584
+ 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, GiftBondImage, GiftBondPurchase, GiftBondPurchaseResponse, GiftBondPurchasesResponse, GiftBondResponse, GiftBondsResponse, Hall, HallFloor, HallFloorOption, KonvaShapeConfig, ModalSize, NumerationConfig, Order, OrderBillingInfo, OrderDiscountInfo, OrderDiscountType, OrderItem, OrderResponse, OrdersResponse, Performance, PerformanceAvailableDay, PerformanceBookingDataResponse, PerformanceResponse, PerformanceTicket, PerformancesAvailableDaysResponse, PerformancesResponseInterface, PriceZone, PriceZoneResponse, PriceZoneUpdateResponse, PriceZonesResponseInterface, Product, ProductCategoriesResponse, ProductCategory, ProductCategoryResponse, ProductImage, ProductResponse, ProductTag, ProductTagResponse, ProductTagsResponse, ProductTaxonomy, ProductType, ProductTypeResponse, ProductTypesResponse, ProductsResponseInterface, QrTokenData, QrTokenResponse, RecentOrder, RecentRoomMap, ReservePerformanceDto, RoomMap, RoomMapBaseElement, RoomMapCanvasConfiguration, RoomMapCanvasElement, RoomMapChairPosition, RoomMapElementTemplate, RoomMapExitElement, RoomMapGridPosition, RoomMapPosition, RoomMapProductionAreaElement, RoomMapSeatDisplayState, RoomMapSeatElement, RoomMapSeatState, RoomMapSize, RoomMapStageElement, RoomMapTableElement, RoomMapUnavailableElement, RoomMapZoneElement, SelectOption, SelectedDiscountCard, Show, ShowCategoriesResponse, ShowCategory, ShowCategoryResponse, ShowGender, ShowGenderResponse, ShowGendersResponse, ShowImage, ShowResponse, ShowsResponseInterface, State, StateResponse, StatesResponse, TickeraComponentsConfig, TicketMapSeatPosition, TicketMapTableChairPosition, TicketMapTooltipData, TicketMapZoneQuantityState, TicketMapZoomConfig, Transaction, UploadedFile, ValidateCorporateBondResponse, ValidateCouponResponse, ValidateGiftBondResponse, Venue, VenueImage };