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

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,329 @@ interface CustomersResponse {
537
415
  message: string;
538
416
  }
539
417
 
540
- type ShowType = 'play' | 'musical' | 'concert' | 'dance' | 'opera' | 'comedy' | 'other';
418
+ declare enum OrderItemType {
419
+ TICKET = "TICKET",
420
+ PRODUCT = "PRODUCT"
421
+ }
541
422
 
542
- interface ShowImage {
543
- id: number;
544
- path: string;
545
- full_url: string;
546
- original_name: string;
547
- extension: string;
548
- size: number;
549
- mime_type: string;
550
- width: number;
551
- height: number;
552
- show_id: number;
553
- created_at: Date;
423
+ declare enum OrderStatus {
424
+ ON_HOLD = "on-hold",
425
+ PENDING_PAYMENT = "pending-payment",
426
+ PROCESSING = "processing",
427
+ COMPLETED = "completed",
428
+ FAILED = "failed",
429
+ CANCELLED = "cancelled",
430
+ REFUNDED = "refunded"
554
431
  }
555
432
 
556
- interface Show extends Auditable {
557
- id: number;
558
- title: string;
559
- slug: string;
560
- description: string;
561
- duration_minutes: number | null;
562
- type_of_costs: string | null;
563
- service_fee: number | null;
564
- show_type: ShowType | null;
565
- pulep: string | null;
566
- minimum_age: number | null;
567
- show_category_id: number | null;
568
- default_room_map_id: number | null;
569
- published_at?: Date;
570
- is_published: boolean;
571
- images: ShowImage[];
572
- terms_and_conditions: string;
573
- performances_quantity?: number;
433
+ declare enum CreatorType {
434
+ ADMIN = "admin",
435
+ CUSTOMER = "customer"
574
436
  }
575
437
 
576
- interface ShowResponse {
438
+ declare enum PaymentMethod {
439
+ PAYROLL = "payroll",
440
+ CASH = "cash",
441
+ DATAFONO = "datafono",
442
+ INTERNAL_EXCHANGE = "internal_exchange",
443
+ CLIENT_EXCHANGE = "client_exchange",
444
+ MERCADO_PAGO = "mercado_pago"
445
+ }
446
+
447
+ declare enum RoomMapElementType {
448
+ SEAT_BLOCK = "seat_block",
449
+ TABLE = "table",
450
+ ZONE = "zone",
451
+ EXIT = "exit",
452
+ STAGE = "stage",
453
+ PRODUCTION_AREA = "production_area",
454
+ UNAVAILABLE_SPACE = "unavailable_space",
455
+ STAIR = "stair",
456
+ HALLWAY = "hallway"
457
+ }
458
+
459
+ interface RoomMapPosition {
460
+ x: number;
461
+ y: number;
462
+ }
463
+
464
+ interface RoomMapSize {
465
+ width: number;
466
+ height: number;
467
+ }
468
+
469
+ interface RoomMapBaseElement {
470
+ id: string;
471
+ type: RoomMapElementType;
472
+ position: RoomMapPosition;
473
+ size: RoomMapSize;
474
+ rotation: number;
475
+ name?: string;
476
+ isLocked: boolean;
477
+ isVisible: boolean;
478
+ zIndex: number;
479
+ }
480
+
481
+ interface RoomMapExitElement extends RoomMapBaseElement {
482
+ type: RoomMapElementType.EXIT;
483
+ exitName?: string;
484
+ exitType: 'emergency' | 'regular';
485
+ width: number;
486
+ }
487
+
488
+ interface RoomMapProductionAreaElement extends RoomMapBaseElement {
489
+ type: RoomMapElementType.PRODUCTION_AREA;
490
+ areaName?: string;
491
+ areaType: 'lighting' | 'sound' | 'backstage' | 'orchestra' | 'custom';
492
+ }
493
+
494
+ interface RoomMapSeatElement extends RoomMapBaseElement {
495
+ type: RoomMapElementType.SEAT_BLOCK;
496
+ seatNumber?: string;
497
+ isAvailable: boolean;
498
+ priceCategory?: string;
499
+ }
500
+
501
+ declare enum RoomMapElementOrientation {
502
+ TOP = "top",
503
+ RIGHT = "right",
504
+ BOTTOM = "bottom",
505
+ LEFT = "left",
506
+ CENTER = "center"
507
+ }
508
+
509
+ interface RoomMapStageElement extends RoomMapBaseElement {
510
+ type: RoomMapElementType.STAGE;
511
+ stageName?: string;
512
+ orientation: RoomMapElementOrientation;
513
+ isMainStage: boolean;
514
+ }
515
+
516
+ interface RoomMapTableElement extends RoomMapBaseElement {
517
+ type: RoomMapElementType.TABLE;
518
+ tableNumber?: string;
519
+ capacity: number;
520
+ shape: 'round' | 'rectangular' | 'square';
521
+ }
522
+
523
+ interface RoomMapUnavailableElement extends RoomMapBaseElement {
524
+ type: RoomMapElementType.UNAVAILABLE_SPACE;
525
+ reason?: string;
526
+ }
527
+
528
+ interface RoomMapZoneElement extends RoomMapBaseElement {
529
+ type: RoomMapElementType.ZONE;
530
+ zoneName: string;
531
+ zoneType: 'vip' | 'general' | 'premium' | 'balcony' | 'custom';
532
+ color: string;
533
+ capacity?: number;
534
+ }
535
+
536
+ type RoomMapCanvasElement = RoomMapSeatElement | RoomMapTableElement | RoomMapZoneElement | RoomMapExitElement | RoomMapStageElement | RoomMapProductionAreaElement | RoomMapUnavailableElement;
537
+
538
+ type RoomMapSeatDisplayState = 'normal' | 'accessible' | 'non_existent';
539
+
540
+ declare enum ShowType {
541
+ PLAY = "PLAY",
542
+ CONCERT = "CONCERT",
543
+ STAND_UP_COMEDY = "STAND_UP_COMEDY",
544
+ OPERA = "OPERA",
545
+ MUSICAL = "MUSICAL",
546
+ DANCE = "DANCE",
547
+ SPORT = "SPORT",
548
+ OTHER = "OTHER",
549
+ DEFAULT = "DEFAULT"
550
+ }
551
+
552
+ type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
553
+
554
+ type FeedbackModalType = 'loading' | 'success' | 'info' | 'warning' | 'error';
555
+
556
+ type BadgeSize = 'xs' | 'sm' | 'md' | 'lg';
557
+
558
+ interface FeedbackModalElement {
559
+ id: string;
560
+ type: FeedbackModalType;
561
+ title: string;
562
+ isOpen: WritableSignal<boolean>;
563
+ message?: string;
564
+ showHeader?: boolean;
565
+ showCloseButton?: boolean;
566
+ showTitle?: boolean;
567
+ closeModal?: void;
568
+ }
569
+
570
+ declare enum FileType {
571
+ IMAGE = "image",
572
+ PDF = "pdf",
573
+ EXCEL = "excel",
574
+ WORD = "word",
575
+ TEXT = "text",
576
+ DEFAULT = "default"
577
+ }
578
+
579
+ declare enum CouponApplicability {
580
+ GENERAL = "GENERAL",
581
+ CUSTOMER_EMAIL = "CUSTOMER_EMAIL",
582
+ MEMBERSHIP_TYPE = "MEMBERSHIP_TYPE",
583
+ SHOWS = "SHOWS",
584
+ PERFORMANCES = "PERFORMANCES"
585
+ }
586
+
587
+ declare enum CouponDiscountType {
588
+ PERCENTAGE = "PERCENTAGE",
589
+ FIXED = "FIXED"
590
+ }
591
+
592
+ declare enum CouponStatus {
593
+ ACTIVE = "ACTIVE",
594
+ INACTIVE = "INACTIVE",
595
+ EXPIRED = "EXPIRED",
596
+ CONSUMED = "CONSUMED"
597
+ }
598
+
599
+ declare enum CorporateBondStatus {
600
+ ACTIVE = "ACTIVE",
601
+ INACTIVE = "INACTIVE",
602
+ EXPIRED = "EXPIRED",
603
+ CONSUMED = "CONSUMED"
604
+ }
605
+
606
+ declare enum PerformanceStatus {
607
+ SCHEDULED = "scheduled",
608
+ OPEN = "open",
609
+ CLOSED = "closed",
610
+ CANCELLED = "cancelled",
611
+ COMPLETED = "completed",
612
+ POSTPONED = "postponed"
613
+ }
614
+
615
+ declare enum PerformanceTicketStatus {
616
+ AVAILABLE = "available",
617
+ RESERVED = "reserved",
618
+ SOLD = "sold",
619
+ BLOCKED = "blocked"
620
+ }
621
+
622
+ declare enum GiftBondStatus {
623
+ ACTIVE = "ACTIVE",
624
+ INACTIVE = "INACTIVE"
625
+ }
626
+
627
+ declare enum GiftBondPurchaseStatus {
628
+ AVAILABLE = "AVAILABLE",
629
+ REDEEMED = "REDEEMED",
630
+ EXPIRED = "EXPIRED",
631
+ CANCELLED = "CANCELLED"
632
+ }
633
+
634
+ declare enum TransactionStatus {
635
+ PENDING = "PENDING",
636
+ APPROVED = "APPROVED",
637
+ REJECTED = "REJECTED",
638
+ ERROR = "ERROR"
639
+ }
640
+
641
+ interface FetchProductCategoriesParams {
642
+ name?: string;
643
+ slug?: string;
644
+ page?: number;
645
+ limit?: number;
646
+ search?: string;
647
+ }
648
+
649
+ interface ProductCategory extends Auditable {
650
+ id: number;
651
+ name: string;
652
+ slug: string;
653
+ }
654
+
655
+ interface ProductCategoriesResponse {
577
656
  statusCode: number;
578
- data: Show;
657
+ data: {
658
+ categories: ProductCategory[];
659
+ total: number;
660
+ };
579
661
  message: string;
580
662
  }
581
663
 
582
- interface ShowsResponseInterface {
664
+ interface ProductCategoryResponse {
665
+ statusCode: number;
666
+ data: ProductCategory;
667
+ message: string;
668
+ }
669
+
670
+ interface FetchProductTagsParams {
671
+ name?: string;
672
+ slug?: string;
673
+ page?: number;
674
+ limit?: number;
675
+ search?: string;
676
+ }
677
+
678
+ interface ProductTag extends Auditable {
679
+ id: number;
680
+ name: string;
681
+ slug: string;
682
+ }
683
+
684
+ interface ProductTagResponse {
685
+ statusCode: number;
686
+ data: ProductTag;
687
+ message: string;
688
+ }
689
+
690
+ interface ProductTagsResponse {
583
691
  statusCode: number;
584
692
  data: {
585
- shows: Show[];
693
+ tags: ProductTag[];
586
694
  total: number;
587
695
  };
588
696
  message: string;
589
697
  }
590
698
 
591
- interface FetchShowsParams {
699
+ interface FetchProductTypesParams {
700
+ name?: string;
701
+ slug?: string;
592
702
  page?: number;
593
703
  limit?: number;
594
704
  search?: string;
595
- date?: string;
596
705
  }
597
706
 
598
- interface PriceZone {
707
+ interface ProductType extends Auditable {
599
708
  id: number;
600
709
  name: string;
601
- color: string;
602
- normal_price: number | null;
603
- is_active: boolean;
604
- elements: any[];
605
- room_map_id: number | null;
710
+ slug: string;
711
+ }
712
+
713
+ interface ProductTypeResponse {
714
+ statusCode: number;
715
+ data: ProductType;
716
+ message: string;
717
+ }
718
+
719
+ interface ProductTypesResponse {
720
+ statusCode: number;
721
+ data: {
722
+ types: ProductType[];
723
+ total: number;
724
+ };
725
+ message: string;
726
+ }
727
+
728
+ interface ProductImage {
729
+ id: number;
730
+ path: string;
731
+ full_url: string;
732
+ original_name: string;
733
+ extension: string;
734
+ size: number;
735
+ mime_type: string;
736
+ width: number;
737
+ height: number;
738
+ product_id: number;
739
+ product: Product;
606
740
  created_at: Date;
607
- updated_at: Date;
608
- created_by: number;
609
- updated_by: number;
610
741
  }
611
742
 
612
743
  interface Product extends Auditable {
@@ -621,10 +752,34 @@ interface Product extends Auditable {
621
752
  is_limited_edition: boolean;
622
753
  is_active: boolean;
623
754
  deleted_at: Date | null;
624
- categories?: any[];
625
- tags?: any[];
626
- types?: any[];
627
- images?: any[];
755
+ categories?: ProductCategory[];
756
+ tags?: ProductTag[];
757
+ types?: ProductType[];
758
+ images?: ProductImage[];
759
+ }
760
+
761
+ interface ShowImage {
762
+ id: number;
763
+ path: string;
764
+ full_url: string;
765
+ original_name: string;
766
+ extension: string;
767
+ size: number;
768
+ mime_type: string;
769
+ width: number;
770
+ height: number;
771
+ show_id: number;
772
+ created_at: Date;
773
+ }
774
+
775
+ interface PriceZone extends Auditable {
776
+ id: number;
777
+ name: string;
778
+ color: string;
779
+ normal_price: number | null;
780
+ is_active: boolean;
781
+ elements: any[];
782
+ room_map_id: number | null;
628
783
  }
629
784
 
630
785
  interface NumerationConfig {
@@ -662,7 +817,7 @@ interface RoomMapElementTemplate {
662
817
  price_zone?: PriceZone;
663
818
  }
664
819
 
665
- interface RoomMap {
820
+ interface RoomMap extends Auditable {
666
821
  id: number;
667
822
  name: string;
668
823
  canvas_settings: {
@@ -678,8 +833,6 @@ interface RoomMap {
678
833
  related_product_ids: number[];
679
834
  products?: Product[];
680
835
  venue_name?: string;
681
- created_at: Date;
682
- updated_at: Date;
683
836
  }
684
837
 
685
838
  interface RoomMapCanvasConfiguration {
@@ -721,7 +874,7 @@ interface ElementPropertiesTab {
721
874
  elements_access: string[];
722
875
  }
723
876
 
724
- interface Performance {
877
+ interface Performance extends Auditable {
725
878
  id: number;
726
879
  start_time: Date | string;
727
880
  end_time: Date | string;
@@ -731,26 +884,32 @@ interface Performance {
731
884
  show?: Show;
732
885
  room_map: RoomMap;
733
886
  room_map_id: number;
734
- created_at: Date;
735
- updated_at: Date;
736
- }
737
-
738
- interface PerformanceResponse {
739
- statusCode: number;
740
- data: Performance;
741
- message: string;
742
887
  }
743
888
 
744
- interface PerformancesResponseInterface {
745
- statusCode: number;
746
- data: {
747
- performances: Performance[];
748
- total: number;
749
- };
750
- message: string;
889
+ interface Show extends Auditable {
890
+ id: number;
891
+ title: string;
892
+ slug: string;
893
+ description: string;
894
+ duration_minutes: number | null;
895
+ type_of_costs: string | null;
896
+ service_fee: number | null;
897
+ show_type: ShowType | null;
898
+ pulep: string | null;
899
+ minimum_age: number | null;
900
+ show_category_id: number | null;
901
+ default_room_map_id: number | null;
902
+ is_published: boolean;
903
+ images: ShowImage[];
904
+ terms_and_conditions: string;
905
+ performances_quantity?: number;
906
+ performances?: Performance[];
907
+ next_performance?: Performance;
908
+ days_of_week?: number[];
909
+ unique_start_times?: string[];
751
910
  }
752
911
 
753
- interface OrderItem {
912
+ interface OrderItem extends Auditable {
754
913
  id: number;
755
914
  order: Order;
756
915
  item_type: OrderItemType;
@@ -763,26 +922,21 @@ interface OrderItem {
763
922
  ticket_id?: number;
764
923
  ticket_uuid?: string;
765
924
  item: Show | Product;
766
- created_at: Date;
767
- updated_at: Date;
768
- created_by: number;
769
- updated_by: number;
770
925
  }
771
926
 
772
927
  interface Coupon extends Auditable {
773
928
  id: number;
774
929
  code: string;
930
+ billing_code: string;
775
931
  description?: string;
776
932
  discount_type: CouponDiscountType;
777
- discount_type_string?: string;
778
933
  discount_value: number;
779
- discount_value_string?: string;
780
934
  start_date: Date | null;
781
935
  end_date: Date | null;
782
936
  max_uses: number | null;
783
- max_uses_per_user?: number | null;
937
+ max_uses_per_customer?: number | null;
784
938
  uses_count: number;
785
- is_active: boolean;
939
+ status: CouponStatus;
786
940
  applicability_type: CouponApplicability;
787
941
  applicable_customer_emails: string[] | null;
788
942
  applicable_membership_types: string[] | null;
@@ -790,9 +944,11 @@ interface Coupon extends Auditable {
790
944
  applicable_performance_ids?: number[];
791
945
  applicable_price_zone_ids?: number[];
792
946
  applies_to_service_fee?: boolean;
947
+ orders?: Order[];
948
+ customers?: Customer[];
793
949
  }
794
950
 
795
- interface CorporateBond {
951
+ interface CorporateBond extends Auditable {
796
952
  id: number;
797
953
  name: string;
798
954
  description?: string;
@@ -803,10 +959,6 @@ interface CorporateBond {
803
959
  status: CorporateBondStatus;
804
960
  value: number;
805
961
  codes: CorporateBondCode[];
806
- created_at: Date;
807
- updated_at: Date;
808
- created_by: number;
809
- updated_by: number;
810
962
  }
811
963
 
812
964
  interface CorporateBondCode {
@@ -836,77 +988,333 @@ interface ValidateCorporateBondResponse {
836
988
  statusCode: number;
837
989
  }
838
990
 
839
- interface Order {
991
+ interface GiftBond extends Auditable {
992
+ id: number;
993
+ name: string;
994
+ description?: string;
995
+ status: GiftBondStatus;
996
+ value: number;
997
+ }
998
+
999
+ interface GiftBondResponse {
1000
+ statusCode: number;
1001
+ data: GiftBond;
1002
+ message: string;
1003
+ }
1004
+
1005
+ interface GiftBondsResponse {
1006
+ statusCode: number;
1007
+ data: {
1008
+ gift_bonds: GiftBond[];
1009
+ total: number;
1010
+ };
1011
+ message: string;
1012
+ }
1013
+
1014
+ interface ValidateGiftBondResponse {
1015
+ data: {
1016
+ valid: boolean;
1017
+ message: string;
1018
+ code: string;
1019
+ bond?: GiftBond;
1020
+ };
1021
+ statusCode: number;
1022
+ message: string;
1023
+ }
1024
+
1025
+ interface GiftBondPurchase extends Auditable {
1026
+ id: number;
1027
+ code: string;
1028
+ original_value: number;
1029
+ used_value?: number;
1030
+ lost_value?: number;
1031
+ beneficiary_email: string;
1032
+ personalized_message?: string;
1033
+ status: GiftBondPurchaseStatus;
1034
+ purchased_at: string;
1035
+ expires_at: string;
1036
+ redeemed_at?: string;
1037
+ gift_bond_id: number;
1038
+ buyer_id: number;
1039
+ }
1040
+
1041
+ interface GiftBondPurchaseResponse {
1042
+ statusCode: number;
1043
+ data: GiftBondPurchase;
1044
+ message: string;
1045
+ }
1046
+
1047
+ interface GiftBondPurchasesResponse {
1048
+ statusCode: number;
1049
+ data: {
1050
+ items: GiftBondPurchase[];
1051
+ total: number;
1052
+ };
1053
+ message: string;
1054
+ }
1055
+
1056
+ interface Transaction extends Auditable {
1057
+ id: number;
1058
+ status: TransactionStatus;
1059
+ amount: number;
1060
+ currency: string;
1061
+ payment_gateway: string;
1062
+ gateway_transaction_id: string;
1063
+ gateway_response: any;
1064
+ order: Order;
1065
+ }
1066
+
1067
+ interface Order extends Auditable {
840
1068
  id: number;
841
1069
  uuid: string;
842
- customer: Customer;
1070
+ customer_id: number | null;
1071
+ customer: Customer | null;
843
1072
  customer_name?: string;
844
1073
  customer_email?: string;
845
1074
  order_items: OrderItem[];
846
1075
  order_items_quantity?: number;
1076
+ transactions: Transaction[];
1077
+ sub_total: number;
847
1078
  discount_amount: number;
848
1079
  total: number;
849
- total_discounted: number;
850
- sub_total: number;
851
1080
  sub_total_discounted: number;
1081
+ total_discounted: number;
852
1082
  service_fee: number;
853
1083
  service_fee_discounted: number;
854
1084
  coupon: Coupon;
855
1085
  coupon_snapshot: Record<string, any>;
856
- corporate_bond_code: CorporateBondCode;
857
- corporate_bond_code_snapshot: Record<string, any>;
858
1086
  status: OrderStatus;
859
1087
  show_snapshot: Record<string, any>;
860
1088
  performance_snapshot: Record<string, any>;
861
- created_at: Date;
862
- updated_at: Date;
863
- payment_method: string;
1089
+ payment_method: PaymentMethod;
864
1090
  terms_accepted: boolean;
865
1091
  data_processing_accepted: boolean;
866
- billing_info: Partial<Customer>;
1092
+ billing_info: Record<string, any>;
1093
+ corporate_bond_code_snapshot: Record<string, any>;
1094
+ gift_bond_snapshot: Record<string, any>;
1095
+ corporate_bond_code: CorporateBondCode | null;
1096
+ corporate_bond_code_id: number | null;
1097
+ gift_bond: GiftBond | null;
1098
+ gift_bond_id: number | null;
867
1099
  comments: string;
868
1100
  address_notes: string;
1101
+ mercado_pago_preference_id: string;
869
1102
  created_by: number;
1103
+ created_by_type: CreatorType;
870
1104
  updated_by: number;
1105
+ updated_by_type: CreatorType;
1106
+ }
1107
+
1108
+ interface OrderResponse {
1109
+ statusCode: number;
1110
+ data: Order;
1111
+ message: string;
1112
+ }
1113
+
1114
+ interface OrdersResponse {
1115
+ statusCode: number;
1116
+ data: {
1117
+ orders: Order[];
1118
+ total: number;
1119
+ };
1120
+ message: string;
1121
+ }
1122
+
1123
+ interface PerformanceTicket extends Auditable {
1124
+ id: number;
1125
+ uuid: string;
1126
+ is_accessible: boolean;
1127
+ performance_id: number;
1128
+ room_map_element_id: number;
1129
+ element_type: RoomMapElementType;
1130
+ seat_label: string | null;
1131
+ seat_numeration: string | null;
1132
+ normal_price: number;
1133
+ discount_price: number | null;
1134
+ presale_price: number | null;
1135
+ status: PerformanceTicketStatus;
1136
+ reserved_until: Date | null;
1137
+ order_id: number | null;
1138
+ customer_id: number | null;
1139
+ checked_in: boolean;
1140
+ checked_in_at: Date | null;
1141
+ order_items: OrderItem[];
1142
+ element_qty?: number;
1143
+ }
1144
+
1145
+ interface TicketMapSeatPosition {
1146
+ rowIndex: number;
1147
+ colIndex: number;
1148
+ seatLabel: string;
1149
+ }
1150
+
1151
+ interface TicketMapTableChairPosition {
1152
+ index: number;
1153
+ angle: number;
1154
+ x: number;
1155
+ y: number;
1156
+ }
1157
+
1158
+ interface ElementRenderData {
1159
+ elementId: number;
1160
+ hallFloorId: number | null;
1161
+ type: RoomMapElementType;
1162
+ shapeConfig: Record<string, any>;
1163
+ tickets: PerformanceTicket[];
1164
+ ticketByNumeration: Map<string, PerformanceTicket>;
1165
+ elementName: string;
1166
+ seatPositions?: TicketMapSeatPosition[][];
1167
+ chairPositions?: TicketMapTableChairPosition[];
1168
+ zoneCapacity?: number;
1169
+ }
1170
+
1171
+ interface TicketMapTooltipData {
1172
+ x: number;
1173
+ y: number;
1174
+ elementName: string;
1175
+ seatLabel: string | null;
1176
+ price: number;
1177
+ status: PerformanceTicketStatus;
1178
+ statusLabel: string;
1179
+ statusColor: string;
1180
+ isSelected: boolean;
1181
+ ticketId: number;
1182
+ }
1183
+
1184
+ interface TicketMapZoneQuantityState {
1185
+ elementId: number;
1186
+ selectedCount: number;
1187
+ maxCapacity: number;
1188
+ }
1189
+
1190
+ interface ReservePerformanceDto {
1191
+ ticket_ids: number[];
1192
+ products?: {
1193
+ id: number;
1194
+ quantity: number;
1195
+ }[];
1196
+ coupon_code?: string;
1197
+ gift_bond_code?: string;
1198
+ corporate_bond_code?: string;
1199
+ payment_method?: string;
1200
+ billing?: {
1201
+ first_name: string;
1202
+ last_name: string;
1203
+ email: string;
1204
+ mobile: string;
1205
+ document_type: string;
1206
+ document_number: string;
1207
+ address: string;
1208
+ city_id: number;
1209
+ postal_code?: string;
1210
+ address_notes?: string;
1211
+ terms_accepted: boolean;
1212
+ data_processing_accepted: boolean;
1213
+ comments?: string;
1214
+ };
1215
+ }
1216
+
1217
+ interface TicketMapZoomConfig {
1218
+ minZoom: number;
1219
+ maxZoom: number;
1220
+ zoomStep: number;
1221
+ scaleBy: number;
1222
+ }
1223
+
1224
+ interface HallFloorOption {
1225
+ id: number | null;
1226
+ name: string;
1227
+ }
1228
+
1229
+ declare enum SelectedDiscountCardType {
1230
+ COUPON = "COUPON",
1231
+ CORPORATE_BOND = "CORPORATE_BOND",
1232
+ GIFT_BOND = "GIFT_BOND"
1233
+ }
1234
+
1235
+ interface SelectedDiscountCard {
1236
+ name: string;
1237
+ type: SelectedDiscountCardType;
1238
+ value: number;
1239
+ }
1240
+
1241
+ interface FetchShowsParams {
1242
+ page?: number;
1243
+ limit?: number;
1244
+ search?: string;
1245
+ date?: string;
1246
+ }
1247
+
1248
+ interface ShowResponse {
1249
+ statusCode: number;
1250
+ data: Show;
1251
+ message: string;
1252
+ }
1253
+
1254
+ interface ShowsResponseInterface {
1255
+ statusCode: number;
1256
+ data: {
1257
+ shows: Show[];
1258
+ total: number;
1259
+ };
1260
+ message: string;
1261
+ }
1262
+
1263
+ interface ShowCategory extends Auditable {
1264
+ id: number;
1265
+ name: string;
1266
+ slug: string;
1267
+ }
1268
+
1269
+ interface ShowCategoriesResponse {
1270
+ statusCode: number;
1271
+ data: {
1272
+ categories: ShowCategory[];
1273
+ total: number;
1274
+ };
1275
+ message: string;
871
1276
  }
872
1277
 
873
- interface OrderResponse {
1278
+ interface ShowCategoryResponse {
874
1279
  statusCode: number;
875
- data: Order;
1280
+ data: ShowCategory;
876
1281
  message: string;
877
1282
  }
878
1283
 
879
- interface OrdersResponse {
1284
+ interface ShowGender extends Auditable {
1285
+ id: number;
1286
+ name: string;
1287
+ slug: string;
1288
+ }
1289
+
1290
+ interface ShowGenderResponse {
1291
+ statusCode: number;
1292
+ data: ShowGender;
1293
+ message: string;
1294
+ }
1295
+
1296
+ interface ShowGendersResponse {
880
1297
  statusCode: number;
881
1298
  data: {
882
- orders: Order[];
1299
+ genders: ShowGender[];
883
1300
  total: number;
884
1301
  };
885
1302
  message: string;
886
1303
  }
887
1304
 
888
- interface PerformanceTicket {
889
- id: number;
890
- uuid: string;
891
- is_accessible: boolean;
892
- performance_id: number;
893
- room_map_element_id: number;
894
- element_type: RoomMapElementType;
895
- seat_label: string | null;
896
- seat_numeration: string | null;
897
- normal_price: number;
898
- discount_price: number | null;
899
- presale_price: number | null;
900
- status: PerformanceTicketStatus;
901
- reserved_until: Date | null;
902
- order_id: number | null;
903
- customer_id: number | null;
904
- checked_in: boolean;
905
- checked_in_at: Date | null;
906
- order_items: OrderItem[];
907
- element_qty?: number;
908
- created_at: Date;
909
- updated_at: Date;
1305
+ interface PerformanceResponse {
1306
+ statusCode: number;
1307
+ data: Performance;
1308
+ message: string;
1309
+ }
1310
+
1311
+ interface PerformancesResponseInterface {
1312
+ statusCode: number;
1313
+ data: {
1314
+ performances: Performance[];
1315
+ total: number;
1316
+ };
1317
+ message: string;
910
1318
  }
911
1319
 
912
1320
  interface PerformanceBookingDataResponse {
@@ -990,6 +1398,13 @@ interface ProductResponse {
990
1398
  message: string;
991
1399
  }
992
1400
 
1401
+ interface ProductTaxonomy extends Auditable {
1402
+ id: number;
1403
+ name: string;
1404
+ slug: string;
1405
+ selected?: boolean;
1406
+ }
1407
+
993
1408
  interface ProductsResponseInterface {
994
1409
  statusCode: number;
995
1410
  data: {
@@ -1043,6 +1458,95 @@ interface ValidateCouponResponse {
1043
1458
  };
1044
1459
  }
1045
1460
 
1461
+ interface RecentOrder {
1462
+ id: number;
1463
+ customer_name: string;
1464
+ event: string;
1465
+ total: number;
1466
+ status: string;
1467
+ uuid: string;
1468
+ }
1469
+
1470
+ interface RecentRoomMap {
1471
+ id: number;
1472
+ name: string;
1473
+ capacity: number;
1474
+ created_at: Date;
1475
+ updated_at: Date;
1476
+ }
1477
+
1478
+ interface QrTokenData {
1479
+ token: string;
1480
+ expires_at: string;
1481
+ refresh_in: number;
1482
+ }
1483
+
1484
+ interface QrTokenResponse {
1485
+ statusCode: number;
1486
+ data: QrTokenData;
1487
+ message: string;
1488
+ }
1489
+
1490
+ declare const DOCUMENT_TYPES_OPTIONS: SelectOption[];
1491
+
1492
+ declare const PAYMENT_METHODS_OPTIONS: SelectOption[];
1493
+ declare const ORDER_STATUS_COLORS: Record<OrderStatus, {
1494
+ text: string;
1495
+ bg: string;
1496
+ }>;
1497
+ declare const ORDER_ITEM_TYPES_COLORS: Record<OrderItemType, {
1498
+ text: string;
1499
+ bg: string;
1500
+ }>;
1501
+
1502
+ declare const TICKET_MAP_LAST_TICKETS_LIMIT = 10;
1503
+ declare const TICKET_ELEMENT_TYPES: RoomMapElementType[];
1504
+ declare const DEFAULT_STAGE_CONFIG: {
1505
+ [x: string]: any;
1506
+ };
1507
+ declare const TICKET_STATUS_COLORS: Record<PerformanceTicketStatus, string>;
1508
+ declare const TICKET_STATUS_FILLS: Record<PerformanceTicketStatus, string>;
1509
+ declare const TICKET_STATUS_LABELS: Record<PerformanceTicketStatus, string>;
1510
+ declare const TICKET_MAP_GRID_SIZE = 30;
1511
+ declare const TICKET_MAP_TITLE_HEIGHT = 30;
1512
+
1513
+ interface KonvaShapeConfig {
1514
+ config: ShapeConfig;
1515
+ layer: 'background' | 'elements' | 'foreground' | 'overlay';
1516
+ }
1517
+
1518
+ declare function drawRoundedRect(con: Context, shape: Shape, x: number, y: number, width: number, height: number, cornerRadius: number): void;
1519
+
1520
+ declare const generateExitScene: (con: Context, shape: Shape) => void;
1521
+
1522
+ declare const generateHallwayScene: (con: Context, shape: Shape) => void;
1523
+
1524
+ declare const generateProductionAreaScene: (con: Context, shape: Shape) => void;
1525
+
1526
+ declare const generateSeatBlockScene: (con: Context, shape: Shape, numerationConfig?: {
1527
+ start_row_letter: string;
1528
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1529
+ start_column_number: number;
1530
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1531
+ }) => void;
1532
+
1533
+ declare const generateStageScene: (con: Context, shape: Shape) => void;
1534
+
1535
+ declare const generateStairScene: (con: Context, shape: Shape) => void;
1536
+
1537
+ declare const generateTableScene: (con: Context, shape: Shape) => void;
1538
+
1539
+ declare const generateUnavailableSpaceScene: (con: Context, shape: Shape) => void;
1540
+
1541
+ declare const generateZoneScene: (con: Context, shape: Shape) => void;
1542
+
1543
+ declare const KONVA_SHAPE_MAPPINGS: Record<RoomMapElementType, KonvaShapeConfig>;
1544
+
1545
+ declare const SHOW_TYPE_COLORS: Record<ShowType, {
1546
+ bg: string;
1547
+ text: string;
1548
+ }>;
1549
+
1046
1550
  declare const getCustomerFullname: (customer: Customer) => string;
1047
1551
 
1048
1552
  declare function parseJsonToFormDataAdvanced(imageGallery: any[]): FormData;
@@ -1050,10 +1554,42 @@ declare function parseJsonToFormDataAdvanced(imageGallery: any[]): FormData;
1050
1554
  declare const transformImageToFile: (image: ShowImage | VenueImage) => UploadedFile;
1051
1555
 
1052
1556
  declare const formatCitiesResponseToSelect: (res: CitiesResponse) => {
1053
- value: string;
1557
+ value: number;
1054
1558
  label: string;
1055
1559
  }[];
1056
1560
 
1561
+ declare function tintColor(hex: string, amount?: number): string;
1562
+
1563
+ declare const drawChairIcon: (con: Context, cx: number, cy: number, size: number) => void;
1564
+
1565
+ declare const drawHappyFace: (con: Context, cx: number, cy: number, size: number) => void;
1566
+
1567
+ declare const drawWheelchairIcon: (con: Context, shape: Shape, cx: number, cy: number, size: number, fillColor?: string, strokeColor?: string) => void;
1568
+
1569
+ declare const numberToLetter: (num: number) => string;
1570
+
1571
+ declare const getItemTypeIcon: (ticket: PerformanceTicket) => string;
1572
+
1573
+ declare const generateSeatBlockTicketScene: (con: Context, shape: Shape, numerationConfig?: {
1574
+ start_row_letter: string;
1575
+ row_order: "TOP_TO_BOTTOM" | "BOTTOM_TO_TOP";
1576
+ start_column_number: number;
1577
+ column_order: "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT";
1578
+ }, ticketStatusMap?: Map<string, PerformanceTicketStatus>) => void;
1579
+
1580
+ declare const generateTableTicketScene: (con: Context, shape: Shape, chairTicketStatuses?: PerformanceTicketStatus[], tableSeats?: RoomMapSeatState[][]) => void;
1581
+
1582
+ declare function processElementsToRenderData(elements: RoomMapElementTemplate[], tickets: PerformanceTicket[], priceZones?: {
1583
+ id: number;
1584
+ color: string;
1585
+ }[]): ElementRenderData[];
1586
+ declare function findTicketAtPosition(renderData: ElementRenderData, relX: number, relY: number): PerformanceTicket | null;
1587
+ declare function findElementAtPosition(renderDataList: ElementRenderData[], stageX: number, stageY: number): {
1588
+ element: ElementRenderData;
1589
+ relX: number;
1590
+ relY: number;
1591
+ } | null;
1592
+
1057
1593
  declare function MinTodayValidator(controlName: string): ValidatorFn;
1058
1594
  declare function EndDateGreaterThanStartValidator(startDateControlName: string, endDateControlName: string): ValidatorFn;
1059
1595
 
@@ -1084,16 +1620,6 @@ declare class ToastService {
1084
1620
  static ɵprov: i0.ɵɵInjectableDeclaration<ToastService>;
1085
1621
  }
1086
1622
 
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
1623
  declare class DeleteConfirmationService {
1098
1624
  title: WritableSignal<string>;
1099
1625
  resourceName: WritableSignal<string>;
@@ -1222,25 +1748,6 @@ declare class PerformancesListEventsService {
1222
1748
  static ɵprov: i0.ɵɵInjectableDeclaration<PerformancesListEventsService>;
1223
1749
  }
1224
1750
 
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
1751
  declare class ShowService {
1245
1752
  private apiService;
1246
1753
  private showsSubject;
@@ -1321,6 +1828,322 @@ declare class PriceZoneFormModalService {
1321
1828
  static ɵprov: i0.ɵɵInjectableDeclaration<PriceZoneFormModalService>;
1322
1829
  }
1323
1830
 
1831
+ declare class ProductCategoryService {
1832
+ private apiService;
1833
+ constructor(apiService: ApiService);
1834
+ fetchCategories({ page, search, limit, }: FetchProductCategoriesParams): Observable<ProductCategoriesResponse>;
1835
+ fetchOneById(id: number): Observable<ProductCategoryResponse>;
1836
+ createOne(data: ProductCategory): Observable<any>;
1837
+ updateOne(id: number, data: ProductCategory): Observable<ProductCategoryResponse>;
1838
+ deleteOne(id: number): Observable<any>;
1839
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductCategoryService, never>;
1840
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductCategoryService>;
1841
+ }
1842
+
1843
+ declare class ProductTagService {
1844
+ private apiService;
1845
+ constructor(apiService: ApiService);
1846
+ fetchTags({ page, search, limit }: FetchProductTagsParams): Observable<ProductTagsResponse>;
1847
+ fetchOneById(id: number): Observable<ProductTagResponse>;
1848
+ createOne(data: ProductTag): Observable<any>;
1849
+ updateOne(id: number, data: ProductTag): Observable<ProductTagResponse>;
1850
+ deleteOne(id: number): Observable<any>;
1851
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTagService, never>;
1852
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTagService>;
1853
+ }
1854
+
1855
+ declare class ProductTypeService {
1856
+ private apiService;
1857
+ constructor(apiService: ApiService);
1858
+ fetchTypes({ page, search, limit }: FetchProductTypesParams): Observable<ProductTypesResponse>;
1859
+ fetchOneById(id: number): Observable<ProductTypeResponse>;
1860
+ createOne(data: ProductType): Observable<any>;
1861
+ updateOne(id: number, data: ProductType): Observable<ProductTypeResponse>;
1862
+ deleteOne(id: number): Observable<any>;
1863
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductTypeService, never>;
1864
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductTypeService>;
1865
+ }
1866
+
1867
+ interface FetchProductsParams {
1868
+ page?: number;
1869
+ limit?: number;
1870
+ search?: string;
1871
+ }
1872
+
1873
+ declare class ProductService {
1874
+ private apiService;
1875
+ private productsSubject;
1876
+ products$: Observable<Product[]>;
1877
+ constructor(apiService: ApiService);
1878
+ fetchProducts({ page, search, limit, }: FetchProductsParams): Observable<ProductsResponseInterface>;
1879
+ loadProducts(params: FetchProductsParams): void;
1880
+ getCurrentProducts(): Product[];
1881
+ fetchOneById(id: number): Observable<ProductResponse>;
1882
+ createOne(data: Product): Observable<any>;
1883
+ updateOne(id: number, data: any): Observable<ProductResponse>;
1884
+ deleteOne(id: number): Observable<any>;
1885
+ fetchImages(id: number): Observable<{
1886
+ data: ProductImage[];
1887
+ }>;
1888
+ uploadImages(id: number, files?: FormData): Observable<{
1889
+ data: ProductImage[];
1890
+ }>;
1891
+ deleteOneImage(productId: number, imageId: number): Observable<any>;
1892
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProductService, never>;
1893
+ static ɵprov: i0.ɵɵInjectableDeclaration<ProductService>;
1894
+ }
1895
+
1896
+ declare class BaseModalService {
1897
+ readonly isOpen: WritableSignal<boolean>;
1898
+ get modalIsOpen(): WritableSignal<boolean>;
1899
+ open(): void;
1900
+ close(): void;
1901
+ }
1902
+
1903
+ declare class FeedbackModalService {
1904
+ private _modals;
1905
+ readonly modals: i0.Signal<FeedbackModalElement[]>;
1906
+ addModal(modal: FeedbackModalElement): void;
1907
+ removeModal(id: string): void;
1908
+ removeAllModals(): void;
1909
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalService, never>;
1910
+ static ɵprov: i0.ɵɵInjectableDeclaration<FeedbackModalService>;
1911
+ }
1912
+
1913
+ declare class PerformanceBookingDataService {
1914
+ private _show;
1915
+ private _performance;
1916
+ private _roomMap;
1917
+ private _hallFloors;
1918
+ private _selectedHallFloor;
1919
+ private _allRenderData;
1920
+ private _stageConfig;
1921
+ readonly show: i0.Signal<Show | null>;
1922
+ readonly hallFloors: i0.Signal<HallFloor[]>;
1923
+ readonly selectedHallFloor: i0.Signal<HallFloor | null>;
1924
+ readonly performance: i0.Signal<Performance | null>;
1925
+ readonly stageConfig: i0.Signal<{
1926
+ [x: string]: any;
1927
+ }>;
1928
+ readonly roomMap: i0.Signal<RoomMap | null>;
1929
+ readonly renderData: i0.Signal<ElementRenderData[]>;
1930
+ setPerformanceBookingData({ data }: PerformanceBookingDataResponse): void;
1931
+ setRoomMap(roomMap: RoomMap | null): void;
1932
+ setPerformance(performance: Performance | null): void;
1933
+ setShow(show: Show | null): void;
1934
+ setSelectedHallFloor(id: number): void;
1935
+ updateStageConfig(data: {
1936
+ [x: string]: any;
1937
+ }): void;
1938
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceBookingDataService, never>;
1939
+ static ɵprov: i0.ɵɵInjectableDeclaration<PerformanceBookingDataService>;
1940
+ }
1941
+
1942
+ declare class TicketSelectionDetailsService {
1943
+ private _customerEmail;
1944
+ private _customerId;
1945
+ private _paymentMethod;
1946
+ private _billingInformation;
1947
+ readonly customerEmail: i0.Signal<string | null>;
1948
+ readonly customerId: i0.Signal<number | null>;
1949
+ readonly paymentMethod: i0.Signal<string | null>;
1950
+ readonly billingInformation: i0.Signal<Customer | null>;
1951
+ setCustomerEmail(email: string | null): void;
1952
+ setCustomerId(id: number | null): void;
1953
+ setPaymentMethod(method: string | null): void;
1954
+ setBillingInformation(values: Customer): void;
1955
+ clearSelection(): void;
1956
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDetailsService, never>;
1957
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDetailsService>;
1958
+ }
1959
+
1960
+ declare class TicketSelectionDiscountService {
1961
+ private _coupon;
1962
+ private _corporateBond;
1963
+ private _corporateBondCode;
1964
+ private _giftBond;
1965
+ private _giftBondCode;
1966
+ readonly coupon: Signal<Coupon | null>;
1967
+ readonly corporateBond: Signal<CorporateBond | null>;
1968
+ readonly corporateBondCode: Signal<string | null>;
1969
+ readonly giftBond: Signal<GiftBond | null>;
1970
+ readonly giftBondCode: Signal<string | null>;
1971
+ readonly selectedDiscount: Signal<SelectedDiscountCard | null>;
1972
+ readonly selectedDiscountType: Signal<SelectedDiscountCardType | undefined>;
1973
+ readonly selectedDiscountValue: Signal<number | undefined>;
1974
+ setCoupon(coupon: Coupon | null): void;
1975
+ setCorporateBond(corporateBond: CorporateBond | null): void;
1976
+ setCorporateBondCode(code: string | null): void;
1977
+ setGiftBond(giftBond: GiftBond | null): void;
1978
+ setGiftBondCode(code: string | null): void;
1979
+ clearSelection(): void;
1980
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionDiscountService, never>;
1981
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionDiscountService>;
1982
+ }
1983
+
1984
+ declare class TicketSelectionTotalsService {
1985
+ private bookingDataService;
1986
+ private selectionService;
1987
+ private selectionDiscountService;
1988
+ readonly selectedProductEntries: i0.Signal<{
1989
+ id: number;
1990
+ quantity: number;
1991
+ }[]>;
1992
+ readonly selectedProductCount: i0.Signal<number>;
1993
+ readonly productSubtotal: i0.Signal<number>;
1994
+ readonly ticketSubtotal: i0.Signal<number>;
1995
+ readonly serviceFee: i0.Signal<number>;
1996
+ subtotalValue(): number;
1997
+ totalValue(): number;
1998
+ totalDiscounted(): number | null;
1999
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionTotalsService, never>;
2000
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionTotalsService>;
2001
+ }
2002
+
2003
+ declare class TicketSelectionService {
2004
+ private bookingDataService;
2005
+ private feedbackModalService;
2006
+ private selectionDetailsService;
2007
+ private selectionDiscountService;
2008
+ private _zoneQuantities;
2009
+ private _allTickets;
2010
+ private _selectedTickets;
2011
+ private _selectedBlockedTickets;
2012
+ private _products;
2013
+ private _productQuantities;
2014
+ readonly selectedTickets: i0.Signal<PerformanceTicket[]>;
2015
+ readonly selectedBlockedTickets: i0.Signal<PerformanceTicket[]>;
2016
+ readonly selectedCount: i0.Signal<number>;
2017
+ readonly blockedSelectedCount: i0.Signal<number>;
2018
+ readonly selectedTicketIds: i0.Signal<Set<PerformanceTicket>>;
2019
+ readonly selectedBlockedTicketIds: i0.Signal<number[]>;
2020
+ readonly selectedTicketIdList: i0.Signal<number[]>;
2021
+ readonly products: i0.Signal<Product[]>;
2022
+ readonly productQuantities: i0.Signal<Map<number, number>>;
2023
+ readonly selectedProductEntries: i0.Signal<{
2024
+ id: number;
2025
+ quantity: number;
2026
+ }[]>;
2027
+ readonly selectedProductCount: i0.Signal<number>;
2028
+ readonly serviceFee: i0.Signal<number>;
2029
+ setTickets(tickets: PerformanceTicket[]): void;
2030
+ setProducts(products: Product[]): void;
2031
+ updateProductQuantity(productId: number, delta: number): void;
2032
+ getProductQuantity(productId: number): number;
2033
+ private getListByStatus;
2034
+ setSelectedTickets(tickets: PerformanceTicket[]): void;
2035
+ toggle(ticket: PerformanceTicket): void;
2036
+ select(ticket: PerformanceTicket): void;
2037
+ deselect(ticket: PerformanceTicket): void;
2038
+ clearBlockedSelection(): void;
2039
+ clearSelection(): void;
2040
+ isSelected(ticket: PerformanceTicket): boolean;
2041
+ initZoneQuantity(elementId: number, maxCapacity: number): void;
2042
+ adjustZoneQuantity(elementId: number, delta: number): void;
2043
+ getZoneTickets(elementId: number): PerformanceTicket[];
2044
+ buildTooltipData(ticket: PerformanceTicket, elementName: string, seatLabel: string | null, x: number, y: number): TicketMapTooltipData;
2045
+ buildReservePerformanceDto(paymentMethod?: string, termsAccepted?: boolean, dataProcessingAccepted?: boolean): ReservePerformanceDto;
2046
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketSelectionService, never>;
2047
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketSelectionService>;
2048
+ }
2049
+
2050
+ declare class TicketMapZoomService {
2051
+ readonly currentZoom: i0.WritableSignal<number>;
2052
+ private stage?;
2053
+ private bookingDataService;
2054
+ private readonly defaultConfig;
2055
+ constructor();
2056
+ /**
2057
+ * Set the Konva stage instance
2058
+ */
2059
+ setStage(stage: Stage): void;
2060
+ /**
2061
+ * Zoom in by one step
2062
+ */
2063
+ zoomIn(): void;
2064
+ /**
2065
+ * Zoom out by one step
2066
+ */
2067
+ zoomOut(): void;
2068
+ /**
2069
+ * Reset zoom to 100%
2070
+ */
2071
+ resetZoom(): void;
2072
+ /**
2073
+ * Get current zoom as percentage string
2074
+ */
2075
+ getZoomPercentage(): string;
2076
+ /**
2077
+ * Get current zoom value
2078
+ */
2079
+ getCurrentZoom(): number;
2080
+ /**
2081
+ * Apply zoom with center point
2082
+ */
2083
+ private applyZoom;
2084
+ /**
2085
+ * Apply zoom scale with specific center point
2086
+ */
2087
+ private applyZoomScale;
2088
+ /**
2089
+ * Handle mouse wheel zoom toward the cursor position
2090
+ */
2091
+ handleWheelZoom(deltaY: number): void;
2092
+ /**
2093
+ * Fit the content bounds to fill the stage container
2094
+ */
2095
+ fitToContainer(padding?: number): void;
2096
+ /**
2097
+ * Get current stage position
2098
+ */
2099
+ getStagePosition(): {
2100
+ x: number;
2101
+ y: number;
2102
+ };
2103
+ /**
2104
+ * Set stage position (useful for programmatic panning)
2105
+ */
2106
+ setStagePosition(position: {
2107
+ x: number;
2108
+ y: number;
2109
+ }): void;
2110
+ /**
2111
+ * Fit the stage content bounds to the container, centering and scaling
2112
+ * to show the full content with optional padding.
2113
+ */
2114
+ fitToBounds(contentBounds: {
2115
+ x: number;
2116
+ y: number;
2117
+ width: number;
2118
+ height: number;
2119
+ }, containerWidth: number, containerHeight: number, padding?: number): void;
2120
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomService, never>;
2121
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketMapZoomService>;
2122
+ }
2123
+
2124
+ declare class ConfirmationOrderModalService extends BaseModalService {
2125
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalService, never>;
2126
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfirmationOrderModalService>;
2127
+ }
2128
+
2129
+ declare class TicketQrService {
2130
+ private apiService;
2131
+ constructor(apiService: ApiService);
2132
+ fetchQrToken(ticketUuid: string): Observable<QrTokenResponse>;
2133
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrService, never>;
2134
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrService>;
2135
+ }
2136
+
2137
+ declare class TicketQrModalService {
2138
+ isOpen: WritableSignal<boolean>;
2139
+ ticketUuid: WritableSignal<string | null>;
2140
+ ticketDescription: WritableSignal<string | null>;
2141
+ open(ticketUuid: string, description?: string): void;
2142
+ close(): void;
2143
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalService, never>;
2144
+ static ɵprov: i0.ɵɵInjectableDeclaration<TicketQrModalService>;
2145
+ }
2146
+
1324
2147
  declare const authInterceptor: HttpInterceptorFn;
1325
2148
 
1326
2149
  declare class AppButtonComponent {
@@ -1365,15 +2188,29 @@ declare class AppAlertComponent {
1365
2188
  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
2189
  }
1367
2190
 
1368
- declare class LoadingmModalComponent {
1369
- private loadingModalService;
1370
- constructor(loadingModalService: LoadingModalService);
1371
- get isOpen(): i0.WritableSignal<boolean>;
1372
- get title(): i0.WritableSignal<string>;
2191
+ declare class FeedbackModalComponent implements OnChanges, OnDestroy {
2192
+ isOpen: WritableSignal<boolean>;
2193
+ type: FeedbackModalType;
2194
+ title: string;
2195
+ message: string;
2196
+ showHeader: boolean;
2197
+ showCloseButton: boolean;
2198
+ showTitle: boolean;
2199
+ autoClose: boolean;
2200
+ autoCloseDuration: number;
2201
+ buttonText: string;
2202
+ closed: EventEmitter<void>;
2203
+ private autoCloseTimeout;
2204
+ get defaultButtonText(): string;
2205
+ get resolvedButtonText(): string;
2206
+ get buttonVariant(): 'primary' | 'secondary';
2207
+ ngOnChanges(changes: SimpleChanges): void;
2208
+ ngOnDestroy(): void;
1373
2209
  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>;
2210
+ private scheduleAutoClose;
2211
+ private clearAutoClose;
2212
+ static ɵfac: i0.ɵɵFactoryDeclaration<FeedbackModalComponent, never>;
2213
+ 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
2214
  }
1378
2215
 
1379
2216
  declare class DeleteConfirmationComponent {
@@ -1396,12 +2233,27 @@ declare class DeleteConfirmationComponent {
1396
2233
  declare class AppModalComponent {
1397
2234
  title: string;
1398
2235
  disableClose: boolean;
2236
+ showHeader: boolean;
2237
+ showCloseButton: boolean;
2238
+ showTitle: boolean;
1399
2239
  isOpen: WritableSignal<boolean>;
1400
- size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl';
2240
+ size: ModalSize;
1401
2241
  closeModal: EventEmitter<void>;
1402
2242
  onCloseModal(): void;
2243
+ onKeydownEscape(): void;
1403
2244
  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>;
2245
+ 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>;
2246
+ }
2247
+
2248
+ declare class AppBadgeComponent {
2249
+ text: string;
2250
+ color: 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info';
2251
+ size: BadgeSize;
2252
+ bordered: boolean;
2253
+ backgroundColor: string;
2254
+ textColor: string;
2255
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppBadgeComponent, never>;
2256
+ 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
2257
  }
1406
2258
 
1407
2259
  declare class AuditInformationComponent {
@@ -1436,6 +2288,27 @@ declare class DynamicTableComponent {
1436
2288
  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
2289
  }
1438
2290
 
2291
+ declare class ShowCardComponent {
2292
+ show: Show;
2293
+ linkText: string;
2294
+ linkUrlFn?: (show: Show) => string;
2295
+ linkQueryParams?: Record<string, any>;
2296
+ transloco: TranslocoService;
2297
+ dateService: DateService;
2298
+ get showTypeColor(): {
2299
+ bg: string;
2300
+ text: string;
2301
+ };
2302
+ formatTimeDate(date: string): Date;
2303
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardComponent, never>;
2304
+ 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>;
2305
+ }
2306
+
2307
+ declare class ShowCardSkeletonComponent {
2308
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShowCardSkeletonComponent, never>;
2309
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShowCardSkeletonComponent, "show-card-skeleton", never, {}, {}, never, never, true, never>;
2310
+ }
2311
+
1439
2312
  declare class LanguageSwitcherComponent {
1440
2313
  protected transloco: TranslocoService;
1441
2314
  availableLangs: string[];
@@ -1483,7 +2356,7 @@ declare class FormInputComponent implements ControlValueAccessor {
1483
2356
 
1484
2357
  declare class FormSelectComponent implements ControlValueAccessor {
1485
2358
  ngControl: NgControl;
1486
- private transloco;
2359
+ protected transloco: TranslocoService;
1487
2360
  label: string;
1488
2361
  name: string;
1489
2362
  id: string;
@@ -1507,7 +2380,6 @@ declare class FormSelectComponent implements ControlValueAccessor {
1507
2380
  get inputId(): string;
1508
2381
  get showError(): boolean;
1509
2382
  get errorMessage(): string;
1510
- get resolvedDefaultOptionLabel(): string;
1511
2383
  get fieldGroupClasses(): string;
1512
2384
  static ɵfac: i0.ɵɵFactoryDeclaration<FormSelectComponent, [{ optional: true; self: true; }, null]>;
1513
2385
  static ɵcmp: i0.ɵɵComponentDeclaration<FormSelectComponent, "form-select", never, { "label": { "alias": "label"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "options": { "alias": "options"; "required": false; }; "fieldGroupClass": { "alias": "fieldGroupClass"; "required": false; }; "showDefaultOption": { "alias": "showDefaultOption"; "required": false; }; "defaultOptionLabel": { "alias": "defaultOptionLabel"; "required": false; }; }, {}, never, never, true, never>;
@@ -1757,6 +2629,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1757
2629
  notFoundText: string;
1758
2630
  bindLabel: string;
1759
2631
  bindValue: string;
2632
+ disabled: boolean;
1760
2633
  value: any;
1761
2634
  onChange: any;
1762
2635
  onTouched: any;
@@ -1786,7 +2659,7 @@ declare class AsyncSelectComponent implements OnInit, OnDestroy, OnChanges, Cont
1786
2659
  registerOnTouched(fn: any): void;
1787
2660
  setDisabledState(isDisabled: boolean): void;
1788
2661
  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>;
2662
+ 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
2663
  }
1791
2664
 
1792
2665
  declare class ChangePasswordFormComponent {
@@ -2244,11 +3117,15 @@ declare class DaySelectorGridComponent {
2244
3117
  declare class PerformanceCardComponent {
2245
3118
  protected listEventService: PerformancesListEventsService;
2246
3119
  card: DailyPerformanceItem;
3120
+ linkText: string;
3121
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3122
+ linkQueryParams?: Record<string, any>;
2247
3123
  constructor(listEventService: PerformancesListEventsService);
3124
+ get badgeColor(): 'success' | 'error';
2248
3125
  onSelect(): void;
2249
3126
  isSelected(): boolean;
2250
3127
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardComponent, never>;
2251
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardComponent, "performance-card", never, { "card": { "alias": "card"; "required": true; }; }, {}, never, never, true, never>;
3128
+ 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
3129
  }
2253
3130
 
2254
3131
  declare class PerformanceCardListComponent {
@@ -2256,6 +3133,9 @@ declare class PerformanceCardListComponent {
2256
3133
  protected performanceService: PerformanceService;
2257
3134
  protected listEventService: PerformancesListEventsService;
2258
3135
  protected toastService: ToastService;
3136
+ linkText: string;
3137
+ linkUrlFn?: (card: DailyPerformanceItem) => string;
3138
+ linkQueryParams?: Record<string, any>;
2259
3139
  loadingData: WritableSignal<boolean>;
2260
3140
  performances: WritableSignal<DailyPerformanceItem[]>;
2261
3141
  constructor(platformId: object, performanceService: PerformanceService, listEventService: PerformancesListEventsService, toastService: ToastService);
@@ -2263,7 +3143,7 @@ declare class PerformanceCardListComponent {
2263
3143
  private loadData;
2264
3144
  get selectedDayDate(): string | null;
2265
3145
  static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceCardListComponent, never>;
2266
- static ɵcmp: i0.ɵɵComponentDeclaration<PerformanceCardListComponent, "performance-card-list", never, {}, {}, never, never, true, never>;
3146
+ 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
3147
  }
2268
3148
 
2269
3149
  declare class PerformanceStepperComponent {
@@ -2292,9 +3172,9 @@ declare class ShowsFilterComponent {
2292
3172
  }
2293
3173
 
2294
3174
  interface PriceZoneItem {
2295
- colorClass: string;
3175
+ color: string;
2296
3176
  name: string;
2297
- seatsAvailable: number;
3177
+ available_seats: number;
2298
3178
  price: string;
2299
3179
  }
2300
3180
 
@@ -2310,5 +3190,261 @@ declare class ZonePriceListComponent {
2310
3190
  static ɵcmp: i0.ɵɵComponentDeclaration<ZonePriceListComponent, "zone-price-list", never, { "zones": { "alias": "zones"; "required": true; }; }, {}, never, never, true, never>;
2311
3191
  }
2312
3192
 
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 };
3193
+ declare class TicketMapWidgetComponent {
3194
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetComponent, never>;
3195
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetComponent, "ticket-map-widget", never, {}, {}, never, ["*"], true, never>;
3196
+ }
3197
+
3198
+ declare class TicketMapWidgetHeaderComponent {
3199
+ title: string;
3200
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWidgetHeaderComponent, never>;
3201
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapWidgetHeaderComponent, "ticket-map-widget-header", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, ["*"], true, never>;
3202
+ }
3203
+
3204
+ declare class TicketMapZoomControlsComponent {
3205
+ private zoomService;
3206
+ readonly currentZoom: i0.Signal<number>;
3207
+ readonly zoomPercentage: i0.Signal<string>;
3208
+ constructor(zoomService: TicketMapZoomService);
3209
+ zoomIn(): void;
3210
+ zoomOut(): void;
3211
+ resetZoom(): void;
3212
+ fitToContainer(): void;
3213
+ handleZoomAction(action: string): void;
3214
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapZoomControlsComponent, never>;
3215
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapZoomControlsComponent, "ticket-map-zoom-controls", never, {}, {}, never, never, true, never>;
3216
+ }
3217
+
3218
+ declare class PerformanceTicketMapComponent implements OnDestroy, AfterViewInit {
3219
+ private platformId;
3220
+ protected bookingDataService: PerformanceBookingDataService;
3221
+ protected feedbackModalService: FeedbackModalService;
3222
+ protected selectionService: TicketSelectionService;
3223
+ protected zoomService: TicketMapZoomService;
3224
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3225
+ needsLoginError: EventEmitter<any>;
3226
+ readOnly: boolean;
3227
+ needsLogin: boolean;
3228
+ isLoggedIn: boolean;
3229
+ stageComponent?: StageComponent;
3230
+ protected tooltipData: i0.WritableSignal<TicketMapTooltipData | null>;
3231
+ private stageReady;
3232
+ private autoFitDone;
3233
+ private resizeObserver?;
3234
+ constructor(platformId: object, bookingDataService: PerformanceBookingDataService, feedbackModalService: FeedbackModalService, selectionService: TicketSelectionService, zoomService: TicketMapZoomService);
3235
+ protected get isBrowser(): boolean;
3236
+ ngAfterViewInit(): void;
3237
+ private setupResizeObserver;
3238
+ private syncStageToContainer;
3239
+ ngOnDestroy(): void;
3240
+ private getInternalPointer;
3241
+ protected selectHallFloor(floorId: number): void;
3242
+ protected handleStageClick(konvaEvent: any): void;
3243
+ protected handleStageMouseMove(konvaEvent: any): void;
3244
+ protected handleStageMouseLeave(): void;
3245
+ protected handleWheel(konvaEvent: any): void;
3246
+ protected trackByElementId(_index: number, item: ElementRenderData): number;
3247
+ protected trackByFloorId(_index: number, floor: HallFloorOption): HallFloorOption;
3248
+ static ɵfac: i0.ɵɵFactoryDeclaration<PerformanceTicketMapComponent, never>;
3249
+ 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>;
3250
+ }
3251
+
3252
+ declare class TicketMapPriceZonesComponent {
3253
+ title: string;
3254
+ protected bookingDataService: PerformanceBookingDataService;
3255
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapPriceZonesComponent, never>;
3256
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapPriceZonesComponent, "ticket-map-price-zones", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, never, true, never>;
3257
+ }
3258
+
3259
+ declare class TicketMapProductSelectionItemComponent {
3260
+ protected selectionService: TicketSelectionService;
3261
+ product: Product;
3262
+ constructor(selectionService: TicketSelectionService);
3263
+ get quantity(): number;
3264
+ get firstImage(): string | undefined;
3265
+ increment(): void;
3266
+ decrement(): void;
3267
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapProductSelectionItemComponent, never>;
3268
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketMapProductSelectionItemComponent, "ticket-map-product-selection-item", never, { "product": { "alias": "product"; "required": true; }; }, {}, never, never, true, never>;
3269
+ }
3270
+
3271
+ declare class TIcketMapProductSelectionComponent {
3272
+ private bookingDataService;
3273
+ readonly products: i0.Signal<tickera_angular_components.Product[]>;
3274
+ static ɵfac: i0.ɵɵFactoryDeclaration<TIcketMapProductSelectionComponent, never>;
3275
+ static ɵcmp: i0.ɵɵComponentDeclaration<TIcketMapProductSelectionComponent, "ticket-map-product-selection", never, {}, {}, never, never, true, never>;
3276
+ }
3277
+
3278
+ declare class TicketMapTotalsComponent {
3279
+ protected bookingDataService: PerformanceBookingDataService;
3280
+ protected selectionDetailsService: TicketSelectionDetailsService;
3281
+ protected selectionDiscountService: TicketSelectionDiscountService;
3282
+ protected selectionTotalsService: TicketSelectionTotalsService;
3283
+ protected selectionService: TicketSelectionService;
3284
+ private activatedRoute;
3285
+ title: string;
3286
+ buttonText: string;
3287
+ loadingButtonText: string;
3288
+ isLoading: boolean;
3289
+ onPurchaseClick: EventEmitter<void>;
3290
+ constructor(bookingDataService: PerformanceBookingDataService, selectionDetailsService: TicketSelectionDetailsService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, activatedRoute: ActivatedRoute);
3291
+ get serviceFee(): number;
3292
+ get performanceId(): number;
3293
+ get selectedTicketIds(): number[];
3294
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapTotalsComponent, never>;
3295
+ 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>;
3296
+ }
3297
+
3298
+ declare class TicketMapWrapperComponent {
3299
+ selectionChange: EventEmitter<PerformanceTicket[]>;
3300
+ needsLoginError: EventEmitter<any>;
3301
+ readOnly: boolean;
3302
+ needsLogin: boolean;
3303
+ isLoggedIn: boolean;
3304
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketMapWrapperComponent, never>;
3305
+ 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>;
3306
+ }
3307
+
3308
+ declare class SeatSelectionEmptySummaryComponent {
3309
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionEmptySummaryComponent, never>;
3310
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionEmptySummaryComponent, "seat-selection-empty-summary", never, {}, {}, never, never, true, never>;
3311
+ }
3312
+
3313
+ declare class SeatSelectionSummaryComponent {
3314
+ protected selectionService: TicketSelectionService;
3315
+ title: string;
3316
+ clearButtonText: string;
3317
+ constructor(selectionService: TicketSelectionService);
3318
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryComponent, never>;
3319
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryComponent, "seat-selection-summary", never, { "title": { "alias": "title"; "required": false; }; "clearButtonText": { "alias": "clearButtonText"; "required": false; }; }, {}, never, never, true, never>;
3320
+ }
3321
+
3322
+ declare class SeatSelectionSummaryItemComponent {
3323
+ protected selectionService: TicketSelectionService;
3324
+ item: PerformanceTicket;
3325
+ constructor(selectionService: TicketSelectionService);
3326
+ getItemTypeIcon: (ticket: PerformanceTicket) => string;
3327
+ removeItem(ticket: PerformanceTicket): void;
3328
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeatSelectionSummaryItemComponent, never>;
3329
+ static ɵcmp: i0.ɵɵComponentDeclaration<SeatSelectionSummaryItemComponent, "seat-selection-summary-item", never, { "item": { "alias": "item"; "required": true; }; }, {}, never, never, true, never>;
3330
+ }
3331
+
3332
+ declare class ConfirmationOrderModalComponent {
3333
+ private confirmationOrderModalService;
3334
+ private selectionDiscountService;
3335
+ private selectionTotalsService;
3336
+ private selectionService;
3337
+ private bookingDataService;
3338
+ modalTitle: string;
3339
+ confirmButtonText: string;
3340
+ confirmButtonTextLoading: string;
3341
+ loading: boolean;
3342
+ onConfirm: EventEmitter<any>;
3343
+ constructor(confirmationOrderModalService: ConfirmationOrderModalService, selectionDiscountService: TicketSelectionDiscountService, selectionTotalsService: TicketSelectionTotalsService, selectionService: TicketSelectionService, bookingDataService: PerformanceBookingDataService);
3344
+ get isOpen(): i0.WritableSignal<boolean>;
3345
+ get selectedCount(): number;
3346
+ get serviceFee(): number;
3347
+ get subtotalValue(): number;
3348
+ get ticketSubtotal(): number;
3349
+ get productSubtotal(): number;
3350
+ get productCount(): number;
3351
+ get totalValue(): number;
3352
+ get totalDiscounted(): number | null;
3353
+ get coupon(): tickera_angular_components.Coupon | null;
3354
+ get corporateBond(): tickera_angular_components.CorporateBond | null;
3355
+ get giftBond(): tickera_angular_components.GiftBond | null;
3356
+ onClose(): void;
3357
+ confirmOrder(): void;
3358
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationOrderModalComponent, never>;
3359
+ 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>;
3360
+ }
3361
+
3362
+ declare class OrderInformationComponent {
3363
+ readonly transloco: TranslocoService;
3364
+ order: Order;
3365
+ constructor(transloco: TranslocoService);
3366
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderInformationComponent, never>;
3367
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderInformationComponent, "order-information", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3368
+ }
3369
+
3370
+ declare class OrderStatusBadgeComponent {
3371
+ protected transloco: TranslocoService;
3372
+ order: Order | RecentOrder;
3373
+ size: BadgeSize;
3374
+ constructor(transloco: TranslocoService);
3375
+ protected get statusColors(): {
3376
+ text: string;
3377
+ bg: string;
3378
+ };
3379
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderStatusBadgeComponent, never>;
3380
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderStatusBadgeComponent, "order-status-badge", never, { "order": { "alias": "order"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3381
+ }
3382
+
3383
+ declare class OrderItemTypeBadgeComponent {
3384
+ protected transloco: TranslocoService;
3385
+ item: OrderItem;
3386
+ size: BadgeSize;
3387
+ constructor(transloco: TranslocoService);
3388
+ protected get statusColors(): {
3389
+ text: string;
3390
+ bg: string;
3391
+ };
3392
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemTypeBadgeComponent, never>;
3393
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemTypeBadgeComponent, "order-item-type-badge", never, { "item": { "alias": "item"; "required": true; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
3394
+ }
3395
+
3396
+ declare class OrderItemsComponent {
3397
+ private ticketQrModalService;
3398
+ order: Order;
3399
+ constructor(ticketQrModalService: TicketQrModalService);
3400
+ protected get orderItems(): Order['order_items'];
3401
+ protected get products(): Order['order_items'];
3402
+ protected get tickets(): Order['order_items'];
3403
+ protected itemTotal(quantity: number, price: number): number;
3404
+ protected hasDiscount(): boolean;
3405
+ protected get totals(): {
3406
+ products: number;
3407
+ tickets: number;
3408
+ };
3409
+ openTicketQr(ticketUuid: string, description: string): void;
3410
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderItemsComponent, never>;
3411
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrderItemsComponent, "order-items", never, { "order": { "alias": "order"; "required": true; }; }, {}, never, never, true, never>;
3412
+ }
3413
+
3414
+ declare class TicketQrComponent implements OnInit, OnDestroy {
3415
+ private ticketQrService;
3416
+ ticketUuid: string;
3417
+ qrCanvas: ElementRef<HTMLCanvasElement>;
3418
+ loading: i0.WritableSignal<boolean>;
3419
+ error: i0.WritableSignal<boolean>;
3420
+ refreshing: i0.WritableSignal<boolean>;
3421
+ countdown: i0.WritableSignal<number>;
3422
+ private destroy$;
3423
+ private refreshTimeout;
3424
+ private countdownInterval;
3425
+ constructor(ticketQrService: TicketQrService);
3426
+ ngOnInit(): void;
3427
+ ngOnDestroy(): void;
3428
+ retry(): void;
3429
+ private clearTimers;
3430
+ private fetchAndRender;
3431
+ private scheduleRefresh;
3432
+ private startCountdown;
3433
+ private renderQr;
3434
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrComponent, never>;
3435
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrComponent, "performance-ticket-qr", never, { "ticketUuid": { "alias": "ticketUuid"; "required": true; }; }, {}, never, never, true, never>;
3436
+ }
3437
+
3438
+ declare class TicketQrModalComponent {
3439
+ private ticketQrModalService;
3440
+ constructor(ticketQrModalService: TicketQrModalService);
3441
+ get isOpen(): i0.WritableSignal<boolean>;
3442
+ get ticketUuid(): i0.WritableSignal<string | null>;
3443
+ get ticketDescription(): i0.WritableSignal<string | null>;
3444
+ onClose(): void;
3445
+ static ɵfac: i0.ɵɵFactoryDeclaration<TicketQrModalComponent, never>;
3446
+ static ɵcmp: i0.ɵɵComponentDeclaration<TicketQrModalComponent, "ticket-qr-modal", never, {}, {}, never, never, true, never>;
3447
+ }
3448
+
3449
+ 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_ITEM_TYPES_COLORS, ORDER_STATUS_COLORS, OrderInformationComponent, OrderItemType, OrderItemTypeBadgeComponent, OrderItemsComponent, OrderStatus, OrderStatusBadgeComponent, PAYMENT_METHODS_OPTIONS, PERFORMANCES_API_ROUTES, PRICE_ZONES_API_ROUTES, PRODUCTS_API_ROUTES, PRODUCT_CATEGORIES_API_ROUTES, PRODUCT_TAGS_API_ROUTES, PRODUCT_TYPES_API_ROUTES, PaymentMethod, PerformanceBookingDataService, PerformanceCardComponent, PerformanceCardListComponent, PerformanceMultiSelectComponent, PerformanceSelectComponent, PerformanceService, PerformanceStatus, PerformanceStepperComponent, PerformanceTicketMapComponent, PerformanceTicketStatus, PerformancesListEventsService, PriceZoneEventService, PriceZoneFormModalService, PriceZoneSelectComponent, PriceZoneService, ProductCategoryService, ProductMultiSelectComponent, ProductSelectComponent, ProductService, ProductTagService, ProductTypeService, RoomMapElementOrientation, RoomMapElementType, SHOWS_API_ROUTES, SHOW_TYPE_COLORS, STATE_API_ENDPOINTS, SeatSelectionEmptySummaryComponent, SeatSelectionSummaryComponent, SeatSelectionSummaryItemComponent, SelectedDiscountCardType, ShowCardComponent, ShowCardSkeletonComponent, ShowMultiSelectComponent, ShowSelectComponent, ShowService, ShowType, ShowsFilterComponent, StateSelectComponent, StatesService, TICKERA_COMPONENTS_CONFIG, TICKET_ELEMENT_TYPES, TICKET_MAP_GRID_SIZE, TICKET_MAP_LAST_TICKETS_LIMIT, TICKET_MAP_TITLE_HEIGHT, TICKET_STATUS_COLORS, TICKET_STATUS_FILLS, TICKET_STATUS_LABELS, TIcketMapProductSelectionComponent, TickeraTranslocoLoader, TicketMapPriceZonesComponent, TicketMapProductSelectionItemComponent, TicketMapTotalsComponent, TicketMapWidgetComponent, TicketMapWidgetHeaderComponent, TicketMapWrapperComponent, TicketMapZoomControlsComponent, TicketMapZoomService, TicketQrComponent, TicketQrModalComponent, TicketQrModalService, TicketQrService, TicketSelectionDetailsService, TicketSelectionDiscountService, TicketSelectionService, TicketSelectionTotalsService, ToastService, ToggleSwitchComponent, TransactionStatus, VENUES_API_ROUTES, ZonePriceItemComponent, ZonePriceListComponent, authInterceptor, drawChairIcon, drawHappyFace, drawRoundedRect, drawWheelchairIcon, findElementAtPosition, findTicketAtPosition, formatCitiesResponseToSelect, generateExitScene, generateHallwayScene, generateProductionAreaScene, generateSeatBlockScene, generateSeatBlockTicketScene, generateStageScene, generateStairScene, generateTableScene, generateTableTicketScene, generateUnavailableSpaceScene, generateZoneScene, getBrowserLanguage, getCustomerFullname, getItemTypeIcon, getStoredLanguage, numberToLetter, parseJsonToFormDataAdvanced, processElementsToRenderData, provideTickeraComponents, resolveLanguage, setStoredLanguage, tintColor, transformImageToFile };
3450
+ 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, GiftBondPurchase, GiftBondPurchaseResponse, GiftBondPurchasesResponse, GiftBondResponse, GiftBondsResponse, Hall, HallFloor, HallFloorOption, KonvaShapeConfig, ModalSize, NumerationConfig, Order, OrderItem, OrderResponse, OrdersResponse, Performance, PerformanceAvailableDay, PerformanceBookingDataResponse, PerformanceResponse, PerformanceTicket, PerformancesAvailableDaysResponse, PerformancesResponseInterface, PriceZone, PriceZoneResponse, PriceZoneUpdateResponse, PriceZonesResponseInterface, Product, ProductCategoriesResponse, ProductCategory, ProductCategoryResponse, ProductImage, ProductResponse, ProductTag, ProductTagResponse, ProductTagsResponse, ProductTaxonomy, ProductType, ProductTypeResponse, ProductTypesResponse, ProductsResponseInterface, QrTokenData, QrTokenResponse, RecentOrder, RecentRoomMap, ReservePerformanceDto, RoomMap, RoomMapBaseElement, RoomMapCanvasConfiguration, RoomMapCanvasElement, RoomMapChairPosition, RoomMapElementTemplate, RoomMapExitElement, RoomMapGridPosition, RoomMapPosition, RoomMapProductionAreaElement, RoomMapSeatDisplayState, RoomMapSeatElement, RoomMapSeatState, RoomMapSize, RoomMapStageElement, RoomMapTableElement, RoomMapUnavailableElement, RoomMapZoneElement, SelectOption, SelectedDiscountCard, Show, ShowCategoriesResponse, ShowCategory, ShowCategoryResponse, ShowGender, ShowGenderResponse, ShowGendersResponse, ShowImage, ShowResponse, ShowsResponseInterface, State, StateResponse, StatesResponse, TickeraComponentsConfig, TicketMapSeatPosition, TicketMapTableChairPosition, TicketMapTooltipData, TicketMapZoneQuantityState, TicketMapZoomConfig, Transaction, UploadedFile, ValidateCorporateBondResponse, ValidateCouponResponse, ValidateGiftBondResponse, Venue, VenueImage };