kupos-ui-components-lib 9.9.3 → 9.9.6

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.
Files changed (35) hide show
  1. package/dist/KuposUIComponent.d.ts +3 -0
  2. package/dist/components/ServiceItem/PeruServiceItemDesktop.d.ts +1 -1
  3. package/dist/components/ServiceItem/PeruServiceItemDesktop.js +156 -176
  4. package/dist/components/ServiceItem/ServiceItemDesktop.d.ts +1 -1
  5. package/dist/components/ServiceItem/ServiceItemDesktop.js +28 -12
  6. package/dist/components/ServiceItem/ServiceItemMobile.d.ts +1 -1
  7. package/dist/components/ServiceItem/ServiceItemMobile.js +43 -17
  8. package/dist/components/ServiceItem/mobileTypes.d.ts +48 -1
  9. package/dist/components/ServiceItem/types.d.ts +27 -1
  10. package/dist/styles.css +219 -13
  11. package/dist/ui/ExpendedDropDown/ExpandedDropdown.d.ts +1 -2
  12. package/dist/ui/ExpendedDropDown/ExpandedDropdown.js +2 -4
  13. package/dist/ui/FeatureServiceUI/FeatureServiceUi.js +19 -4
  14. package/dist/ui/OfferBanner.d.ts +2 -0
  15. package/dist/ui/OfferBanner.js +22 -15
  16. package/dist/ui/SeatSection/SeatSection.js +3 -3
  17. package/dist/utils/CommonService.d.ts +3 -0
  18. package/dist/utils/CommonService.js +18 -1
  19. package/package.json +1 -1
  20. package/src/KuposUIComponent.tsx +3 -0
  21. package/src/assets/images/anims/service_list/flame_anim.json +1 -0
  22. package/src/assets/images/anims/service_list/thunder_icon.json +1 -0
  23. package/src/assets/images/anims/service_list/users_anim.json +1 -0
  24. package/src/components/ServiceItem/PeruServiceItemDesktop.tsx +404 -277
  25. package/src/components/ServiceItem/ServiceItemDesktop.tsx +71 -8
  26. package/src/components/ServiceItem/ServiceItemMobile.tsx +387 -288
  27. package/src/components/ServiceItem/mobileTypes.ts +50 -7
  28. package/src/components/ServiceItem/types.ts +32 -1
  29. package/src/styles.css +15 -0
  30. package/src/ui/ExpendedDropDown/ExpandedDropdown.tsx +2 -4
  31. package/src/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.tsx +575 -0
  32. package/src/ui/FeatureServiceUI/FeatureServiceUi.tsx +634 -0
  33. package/src/ui/OfferBanner.tsx +71 -43
  34. package/src/ui/SeatSection/SeatSection.tsx +3 -3
  35. package/src/utils/CommonService.ts +26 -1
package/dist/styles.css CHANGED
@@ -33,6 +33,9 @@
33
33
  .-top-\[11px\] {
34
34
  top: calc(11px * -1);
35
35
  }
36
+ .-top-\[13px\] {
37
+ top: calc(13px * -1);
38
+ }
36
39
  .-top-\[18px\] {
37
40
  top: calc(18px * -1);
38
41
  }
@@ -60,9 +63,15 @@
60
63
  .top-\[88\%\] {
61
64
  top: 88%;
62
65
  }
66
+ .top-\[calc\(100\%\+10px\)\] {
67
+ top: calc(100% + 10px);
68
+ }
63
69
  .right-\[0px\] {
64
70
  right: 0px;
65
71
  }
72
+ .right-\[18px\] {
73
+ right: 18px;
74
+ }
66
75
  .-bottom-\[9\%\] {
67
76
  bottom: calc(9% * -1);
68
77
  }
@@ -75,6 +84,12 @@
75
84
  .-bottom-\[36px\] {
76
85
  bottom: calc(36px * -1);
77
86
  }
87
+ .-bottom-\[44px\] {
88
+ bottom: calc(44px * -1);
89
+ }
90
+ .bottom-\[11px\] {
91
+ bottom: 11px;
92
+ }
78
93
  .bottom-\[35px\] {
79
94
  bottom: 35px;
80
95
  }
@@ -168,9 +183,15 @@
168
183
  .m-\[auto\] {
169
184
  margin: auto;
170
185
  }
186
+ .mx-\[6px\] {
187
+ margin-inline: 6px;
188
+ }
171
189
  .mx-auto {
172
190
  margin-inline: auto;
173
191
  }
192
+ .my-\[8px\] {
193
+ margin-block: 8px;
194
+ }
174
195
  .-mt-\[15px\] {
175
196
  margin-top: calc(15px * -1);
176
197
  }
@@ -189,15 +210,27 @@
189
210
  .mt-\[5px\] {
190
211
  margin-top: 5px;
191
212
  }
213
+ .mt-\[6px\] {
214
+ margin-top: 6px;
215
+ }
192
216
  .mt-\[10px\] {
193
217
  margin-top: 10px;
194
218
  }
219
+ .mt-\[12px\] {
220
+ margin-top: 12px;
221
+ }
195
222
  .mt-\[13px\] {
196
223
  margin-top: 13px;
197
224
  }
225
+ .mt-\[14px\] {
226
+ margin-top: 14px;
227
+ }
198
228
  .mt-\[15px\] {
199
229
  margin-top: 15px;
200
230
  }
231
+ .mt-\[16px\] {
232
+ margin-top: 16px;
233
+ }
201
234
  .mt-\[20px\] {
202
235
  margin-top: 20px;
203
236
  }
@@ -285,9 +318,6 @@
285
318
  .ml-\[10px\] {
286
319
  margin-left: 10px;
287
320
  }
288
- .ml-\[12px\] {
289
- margin-left: 12px;
290
- }
291
321
  .ml-\[50px\] {
292
322
  margin-left: 50px;
293
323
  }
@@ -324,6 +354,9 @@
324
354
  .h-\[12px\] {
325
355
  height: 12px;
326
356
  }
357
+ .h-\[13px\] {
358
+ height: 13px;
359
+ }
327
360
  .h-\[14px\] {
328
361
  height: 14px;
329
362
  }
@@ -342,6 +375,9 @@
342
375
  .h-\[24px\] {
343
376
  height: 24px;
344
377
  }
378
+ .h-\[26px\] {
379
+ height: 26px;
380
+ }
345
381
  .h-\[30px\] {
346
382
  height: 30px;
347
383
  }
@@ -369,6 +405,9 @@
369
405
  .w-\[12px\] {
370
406
  width: 12px;
371
407
  }
408
+ .w-\[13px\] {
409
+ width: 13px;
410
+ }
372
411
  .w-\[14px\] {
373
412
  width: 14px;
374
413
  }
@@ -381,6 +420,9 @@
381
420
  .w-\[20px\] {
382
421
  width: 20px;
383
422
  }
423
+ .w-\[26px\] {
424
+ width: 26px;
425
+ }
384
426
  .w-\[50\%\] {
385
427
  width: 50%;
386
428
  }
@@ -408,12 +450,6 @@
408
450
  .w-\[115px\] {
409
451
  width: 115px;
410
452
  }
411
- .w-\[120px\] {
412
- width: 120px;
413
- }
414
- .w-\[130px\] {
415
- width: 130px;
416
- }
417
453
  .w-\[150px\] {
418
454
  width: 150px;
419
455
  }
@@ -452,6 +488,12 @@
452
488
  .max-w-\[165px\] {
453
489
  max-width: 165px;
454
490
  }
491
+ .max-w-\[220px\] {
492
+ max-width: 220px;
493
+ }
494
+ .max-w-full {
495
+ max-width: 100%;
496
+ }
455
497
  .min-w-\[75px\] {
456
498
  min-width: 75px;
457
499
  }
@@ -473,6 +515,9 @@
473
515
  --tw-translate-y: -10px;
474
516
  translate: var(--tw-translate-x) var(--tw-translate-y);
475
517
  }
518
+ .rotate-0 {
519
+ rotate: 0deg;
520
+ }
476
521
  .rotate-180 {
477
522
  rotate: 180deg;
478
523
  }
@@ -482,6 +527,9 @@
482
527
  .cursor-default {
483
528
  cursor: default;
484
529
  }
530
+ .cursor-not-allowed {
531
+ cursor: not-allowed;
532
+ }
485
533
  .cursor-pointer {
486
534
  cursor: pointer;
487
535
  }
@@ -494,12 +542,21 @@
494
542
  .grid-cols-2 {
495
543
  grid-template-columns: repeat(2, minmax(0, 1fr));
496
544
  }
545
+ .grid-cols-3 {
546
+ grid-template-columns: repeat(3, minmax(0, 1fr));
547
+ }
548
+ .grid-cols-4 {
549
+ grid-template-columns: repeat(4, minmax(0, 1fr));
550
+ }
497
551
  .grid-cols-\[0\.8fr_auto_26\%_1fr\] {
498
552
  grid-template-columns: 0.8fr auto 26% 1fr;
499
553
  }
500
554
  .grid-cols-\[1\.5fr_1fr_auto\] {
501
555
  grid-template-columns: 1.5fr 1fr auto;
502
556
  }
557
+ .grid-cols-\[25\%_48\%_27\%\] {
558
+ grid-template-columns: 25% 48% 27%;
559
+ }
503
560
  .grid-cols-\[26px_auto_26\%_1fr\] {
504
561
  grid-template-columns: 26px auto 26% 1fr;
505
562
  }
@@ -527,6 +584,9 @@
527
584
  .items-start {
528
585
  align-items: flex-start;
529
586
  }
587
+ .items-stretch {
588
+ align-items: stretch;
589
+ }
530
590
  .justify-between {
531
591
  justify-content: space-between;
532
592
  }
@@ -569,6 +629,12 @@
569
629
  .gap-\[14px\] {
570
630
  gap: 14px;
571
631
  }
632
+ .gap-\[16px\] {
633
+ gap: 16px;
634
+ }
635
+ .gap-\[20px\] {
636
+ gap: 20px;
637
+ }
572
638
  .gap-x-\[2\%\] {
573
639
  -moz-column-gap: 2%;
574
640
  column-gap: 2%;
@@ -577,12 +643,20 @@
577
643
  -moz-column-gap: 8px;
578
644
  column-gap: 8px;
579
645
  }
646
+ .truncate {
647
+ overflow: hidden;
648
+ text-overflow: ellipsis;
649
+ white-space: nowrap;
650
+ }
580
651
  .overflow-hidden {
581
652
  overflow: hidden;
582
653
  }
583
654
  .overflow-y-hidden {
584
655
  overflow-y: hidden;
585
656
  }
657
+ .rounded-\[4px\] {
658
+ border-radius: 4px;
659
+ }
586
660
  .rounded-\[8px\] {
587
661
  border-radius: 8px;
588
662
  }
@@ -595,6 +669,9 @@
595
669
  .rounded-\[15px\] {
596
670
  border-radius: 15px;
597
671
  }
672
+ .rounded-\[16px\] {
673
+ border-radius: 16px;
674
+ }
598
675
  .rounded-\[18px\] {
599
676
  border-radius: 18px;
600
677
  }
@@ -638,6 +715,10 @@
638
715
  border-top-style: var(--tw-border-style);
639
716
  border-top-width: 8px;
640
717
  }
718
+ .border-r {
719
+ border-right-style: var(--tw-border-style);
720
+ border-right-width: 1px;
721
+ }
641
722
  .border-r-8 {
642
723
  border-right-style: var(--tw-border-style);
643
724
  border-right-width: 8px;
@@ -666,6 +747,10 @@
666
747
  border-bottom-style: var(--tw-border-style);
667
748
  border-bottom-width: 8px;
668
749
  }
750
+ .border-l {
751
+ border-left-style: var(--tw-border-style);
752
+ border-left-width: 1px;
753
+ }
669
754
  .border-l-8 {
670
755
  border-left-style: var(--tw-border-style);
671
756
  border-left-width: 8px;
@@ -682,6 +767,9 @@
682
767
  --tw-border-style: none;
683
768
  border-style: none;
684
769
  }
770
+ .border-\[\#363c48\] {
771
+ border-color: #363c48;
772
+ }
685
773
  .border-\[\#ccc\] {
686
774
  border-color: #ccc;
687
775
  }
@@ -700,9 +788,24 @@
700
788
  .border-l-transparent {
701
789
  border-left-color: transparent;
702
790
  }
791
+ .bg-\[\#0C1421\] {
792
+ background-color: #0C1421;
793
+ }
794
+ .bg-\[\#2d374d\] {
795
+ background-color: #2d374d;
796
+ }
797
+ .bg-\[\#222b3d\] {
798
+ background-color: #222b3d;
799
+ }
703
800
  .bg-\[\#E6E6E6\] {
704
801
  background-color: #E6E6E6;
705
802
  }
803
+ .bg-\[\#FF5C60\] {
804
+ background-color: #FF5C60;
805
+ }
806
+ .bg-\[\#FF8F45\] {
807
+ background-color: #FF8F45;
808
+ }
706
809
  .bg-\[\#FFF2F2\] {
707
810
  background-color: #FFF2F2;
708
811
  }
@@ -721,6 +824,9 @@
721
824
  .bg-\[lightgray\] {
722
825
  background-color: lightgray;
723
826
  }
827
+ .bg-transparent {
828
+ background-color: transparent;
829
+ }
724
830
  .bg-\[length\:200\%_200\%\] {
725
831
  background-size: 200% 200%;
726
832
  }
@@ -743,9 +849,15 @@
743
849
  .p-\[10px_15px\] {
744
850
  padding: 10px 15px;
745
851
  }
852
+ .p-\[14px\] {
853
+ padding: 14px;
854
+ }
746
855
  .p-\[15px\] {
747
856
  padding: 15px;
748
857
  }
858
+ .p-\[15px_15px\] {
859
+ padding: 15px 15px;
860
+ }
749
861
  .p-\[16px_20px\] {
750
862
  padding: 16px 20px;
751
863
  }
@@ -776,9 +888,18 @@
776
888
  .px-\[15px\] {
777
889
  padding-inline: 15px;
778
890
  }
891
+ .px-\[16px\] {
892
+ padding-inline: 16px;
893
+ }
779
894
  .px-\[20px\] {
780
895
  padding-inline: 20px;
781
896
  }
897
+ .px-\[22px\] {
898
+ padding-inline: 22px;
899
+ }
900
+ .py-\[2px\] {
901
+ padding-block: 2px;
902
+ }
782
903
  .py-\[4px\] {
783
904
  padding-block: 4px;
784
905
  }
@@ -791,6 +912,9 @@
791
912
  .py-\[8px\] {
792
913
  padding-block: 8px;
793
914
  }
915
+ .py-\[9px\] {
916
+ padding-block: 9px;
917
+ }
794
918
  .py-\[10px\] {
795
919
  padding-block: 10px;
796
920
  }
@@ -803,8 +927,8 @@
803
927
  .pt-\[6px\] {
804
928
  padding-top: 6px;
805
929
  }
806
- .pt-\[10px\] {
807
- padding-top: 10px;
930
+ .pt-\[14px\] {
931
+ padding-top: 14px;
808
932
  }
809
933
  .pt-\[20px\] {
810
934
  padding-top: 20px;
@@ -821,6 +945,9 @@
821
945
  .pt-\[50px\] {
822
946
  padding-top: 50px;
823
947
  }
948
+ .pr-\[10px\] {
949
+ padding-right: 10px;
950
+ }
824
951
  .pr-\[15px\] {
825
952
  padding-right: 15px;
826
953
  }
@@ -830,6 +957,9 @@
830
957
  .pr-\[22px\] {
831
958
  padding-right: 22px;
832
959
  }
960
+ .pb-\[6px\] {
961
+ padding-bottom: 6px;
962
+ }
833
963
  .pb-\[7px\] {
834
964
  padding-bottom: 7px;
835
965
  }
@@ -848,6 +978,9 @@
848
978
  .pl-\[6px\] {
849
979
  padding-left: 6px;
850
980
  }
981
+ .pl-\[22px\] {
982
+ padding-left: 22px;
983
+ }
851
984
  .text-center {
852
985
  text-align: center;
853
986
  }
@@ -884,6 +1017,9 @@
884
1017
  .text-\[14px\] {
885
1018
  font-size: 14px;
886
1019
  }
1020
+ .text-\[16px\] {
1021
+ font-size: 16px;
1022
+ }
887
1023
  .text-\[17\.33px\] {
888
1024
  font-size: 17.33px;
889
1025
  }
@@ -896,6 +1032,15 @@
896
1032
  .text-\[22px\] {
897
1033
  font-size: 22px;
898
1034
  }
1035
+ .text-\[24px\] {
1036
+ font-size: 24px;
1037
+ }
1038
+ .text-\[26px\] {
1039
+ font-size: 26px;
1040
+ }
1041
+ .text-\[28px\] {
1042
+ font-size: 28px;
1043
+ }
899
1044
  .text-\[42px\] {
900
1045
  font-size: 42px;
901
1046
  }
@@ -903,6 +1048,10 @@
903
1048
  --tw-leading: 1.3;
904
1049
  line-height: 1.3;
905
1050
  }
1051
+ .leading-\[14px\] {
1052
+ --tw-leading: 14px;
1053
+ line-height: 14px;
1054
+ }
906
1055
  .leading-\[20px\] {
907
1056
  --tw-leading: 20px;
908
1057
  line-height: 20px;
@@ -923,6 +1072,10 @@
923
1072
  --tw-leading: 1;
924
1073
  line-height: 1;
925
1074
  }
1075
+ .font-\[9px\] {
1076
+ --tw-font-weight: 9px;
1077
+ font-weight: 9px;
1078
+ }
926
1079
  .font-\[14px\] {
927
1080
  --tw-font-weight: 14px;
928
1081
  font-weight: 14px;
@@ -944,12 +1097,30 @@
944
1097
  .whitespace-nowrap {
945
1098
  white-space: nowrap;
946
1099
  }
1100
+ .text-\[\#1a1a1a\] {
1101
+ color: #1a1a1a;
1102
+ }
1103
+ .text-\[\#4a4a4a\] {
1104
+ color: #4a4a4a;
1105
+ }
947
1106
  .text-\[\#9f9f9f\] {
948
1107
  color: #9f9f9f;
949
1108
  }
1109
+ .text-\[\#666\] {
1110
+ color: #666;
1111
+ }
1112
+ .text-\[\#272727\] {
1113
+ color: #272727;
1114
+ }
950
1115
  .text-\[\#464647\] {
951
1116
  color: #464647;
952
1117
  }
1118
+ .text-\[\#FF5C60\] {
1119
+ color: #FF5C60;
1120
+ }
1121
+ .text-\[\#FF8F45\] {
1122
+ color: #FF8F45;
1123
+ }
953
1124
  .text-\[\#c0c0c0\] {
954
1125
  color: #c0c0c0;
955
1126
  }
@@ -965,8 +1136,8 @@
965
1136
  .text-\[\#fff\] {
966
1137
  color: #fff;
967
1138
  }
968
- .text-\[red\] {
969
- color: red;
1139
+ .text-\[white\] {
1140
+ color: white;
970
1141
  }
971
1142
  .capitalize {
972
1143
  text-transform: capitalize;
@@ -987,9 +1158,16 @@
987
1158
  .opacity-0 {
988
1159
  opacity: 0%;
989
1160
  }
1161
+ .opacity-50 {
1162
+ opacity: 50%;
1163
+ }
990
1164
  .opacity-100 {
991
1165
  opacity: 100%;
992
1166
  }
1167
+ .outline {
1168
+ outline-style: var(--tw-outline-style);
1169
+ outline-width: 1px;
1170
+ }
993
1171
  .grayscale {
994
1172
  --tw-grayscale: grayscale(100%);
995
1173
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
@@ -1017,6 +1195,10 @@
1017
1195
  transition-timing-function: var(--tw-ease, ease);
1018
1196
  transition-duration: var(--tw-duration, 0s);
1019
1197
  }
1198
+ .duration-200 {
1199
+ --tw-duration: 200ms;
1200
+ transition-duration: 200ms;
1201
+ }
1020
1202
  .duration-300 {
1021
1203
  --tw-duration: 300ms;
1022
1204
  transition-duration: 300ms;
@@ -1025,6 +1207,11 @@
1025
1207
  --tw-outline-style: none;
1026
1208
  outline-style: none;
1027
1209
  }
1210
+ .select-none {
1211
+ -webkit-user-select: none;
1212
+ -moz-user-select: none;
1213
+ user-select: none;
1214
+ }
1028
1215
  .group-hover\:block {
1029
1216
  &:is(:where(.group):hover *) {
1030
1217
  @media (hover: hover) {
@@ -1164,6 +1351,19 @@
1164
1351
  .hide-scrollbar::-webkit-scrollbar {
1165
1352
  display: none;
1166
1353
  }
1354
+ .kupos-time-dd > summary {
1355
+ list-style: none;
1356
+ }
1357
+ .kupos-time-dd > summary::-webkit-details-marker {
1358
+ display: none;
1359
+ }
1360
+ .kupos-time-chevron {
1361
+ transition: transform 200ms ease;
1362
+ flex-shrink: 0;
1363
+ }
1364
+ .kupos-time-dd[open] .kupos-time-chevron {
1365
+ transform: rotate(180deg);
1366
+ }
1167
1367
  .hide-scrollbar {
1168
1368
  -ms-overflow-style: none;
1169
1369
  scrollbar-width: none;
@@ -1236,6 +1436,11 @@
1236
1436
  syntax: "*";
1237
1437
  inherits: false;
1238
1438
  }
1439
+ @property --tw-outline-style {
1440
+ syntax: "*";
1441
+ inherits: false;
1442
+ initial-value: solid;
1443
+ }
1239
1444
  @property --tw-blur {
1240
1445
  syntax: "*";
1241
1446
  inherits: false;
@@ -1327,6 +1532,7 @@
1327
1532
  --tw-numeric-figure: initial;
1328
1533
  --tw-numeric-spacing: initial;
1329
1534
  --tw-numeric-fraction: initial;
1535
+ --tw-outline-style: solid;
1330
1536
  --tw-blur: initial;
1331
1537
  --tw-brightness: initial;
1332
1538
  --tw-contrast: initial;
@@ -14,7 +14,6 @@ interface ExpandedDropdownProps {
14
14
  ladiesBookedSeats?: string;
15
15
  isDpEnabled?: boolean;
16
16
  renderIcon?: any;
17
- operatorLabel?: string;
18
17
  }
19
- declare function ExpandedDropdown({ serviceItem, isPeru, translation, getAnimationIcon, isChangeTicket, isSoldOut, ladiesBookedSeats, isDpEnabled, renderIcon, operatorLabel, }: ExpandedDropdownProps): React.ReactElement;
18
+ declare function ExpandedDropdown({ serviceItem, isPeru, translation, getAnimationIcon, isChangeTicket, isSoldOut, ladiesBookedSeats, isDpEnabled, renderIcon, }: ExpandedDropdownProps): React.ReactElement;
20
19
  export default ExpandedDropdown;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- function ExpandedDropdown({ serviceItem, isPeru = false, translation = {}, getAnimationIcon, isChangeTicket = false, isSoldOut, ladiesBookedSeats, isDpEnabled, renderIcon, operatorLabel, }) {
2
+ function ExpandedDropdown({ serviceItem, isPeru = false, translation = {}, getAnimationIcon, isChangeTicket = false, isSoldOut, ladiesBookedSeats, isDpEnabled, renderIcon, }) {
3
3
  const hasPetInfo = serviceItem.pet_seat_info &&
4
4
  Object.keys(serviceItem.pet_seat_info).length > 0;
5
5
  return (React.createElement("div", { className: "px-[15px] pt-[26px] pb-[14px] -mt-[16px] pt-[35px] relative -z-9", style: {
@@ -18,9 +18,7 @@ function ExpandedDropdown({ serviceItem, isPeru = false, translation = {}, getAn
18
18
  (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.change_ticket_hours) || 6,
19
19
  " horas antes"),
20
20
  " ",
21
- "de la salida del bus. El monto ser\u00E1 reembolsado a tu billetera",
22
- " ", operatorLabel !== null && operatorLabel !== void 0 ? operatorLabel : "kupospay",
23
- "."))) : (React.createElement("div", { className: "flex gap-[8px] text-[13.33px]" },
21
+ "de la salida del bus. El monto ser\u00E1 reembolsado a tu billetera kupospay."))) : (React.createElement("div", { className: "flex gap-[8px] text-[13.33px]" },
24
22
  React.createElement("span", null, renderIcon("changeTicketIcon", "16px")),
25
23
  React.createElement("span", null,
26
24
  React.createElement("span", null,
@@ -67,6 +67,7 @@ const FeatureServiceUi = ({ serviceItem, showTopLabel, isSoldOut, getAnimationIc
67
67
  isFeatureDropDownExpand === true;
68
68
  const isThisTimeDropdownOpen = isTimeDropdownOpen === serviceItem.id;
69
69
  const canDecreaseTicketQuantity = ticketQuantity > 1;
70
+ const canIncreaseTicketQuantity = ticketQuantity < maxSeatsPerBooking;
70
71
  const departures = (_d = (_c = wowDealData === null || wowDealData === void 0 ? void 0 : wowDealData.services) === null || _c === void 0 ? void 0 : _c.map((s) => s.departure_time)) === null || _d === void 0 ? void 0 : _d.filter(Boolean);
71
72
  let departureRange = `Entre ${dealWindowFrom} y ${dealWindowTo}`;
72
73
  if (departures === null || departures === void 0 ? void 0 : departures.length) {
@@ -170,7 +171,13 @@ const FeatureServiceUi = ({ serviceItem, showTopLabel, isSoldOut, getAnimationIc
170
171
  React.createElement("img", { src: (_f = serviceItem.icons) === null || _f === void 0 ? void 0 : _f.whiteDestination, alt: "destination", className: `w-[14px] h-[14px] shrink-0 ${isSoldOut ? "grayscale" : ""}`, style: { opacity: isSoldOut ? 0.5 : 1 } }),
171
172
  React.createElement("span", { className: "text-[13px] bold-text" }, cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.label.split(",")[0]))),
172
173
  React.createElement("div", { className: "flex flex-col gap-[8px]" },
173
- React.createElement("div", { className: "text-[12px] bold-text" }, travelDate ? new Date(travelDate).toLocaleDateString('es-CL', { weekday: 'long', day: 'numeric', month: 'long' }) : 'Viernes 23 de mayo'),
174
+ React.createElement("div", { className: "text-[12px] bold-text" }, travelDate
175
+ ? new Date(travelDate).toLocaleDateString("es-CL", {
176
+ weekday: "long",
177
+ day: "numeric",
178
+ month: "long",
179
+ })
180
+ : "Viernes 23 de mayo"),
174
181
  React.createElement("div", { className: "bold-text text-[12px] text-white" }, departureRange)),
175
182
  React.createElement("div", { className: "flex flex-col items-start gap-[10px] text-[12px] " },
176
183
  React.createElement("div", { className: "flex items-justify gap-[8px]" },
@@ -198,7 +205,9 @@ const FeatureServiceUi = ({ serviceItem, showTopLabel, isSoldOut, getAnimationIc
198
205
  } },
199
206
  React.createElement("img", { src: op.logo, alt: op.name, onError: (e) => {
200
207
  var _a;
201
- e.currentTarget.src = ((_a = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.operator_details) === null || _a === void 0 ? void 0 : _a[0]) || "/images/service-list/bus-icon.svg";
208
+ e.currentTarget.src =
209
+ ((_a = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.operator_details) === null || _a === void 0 ? void 0 : _a[0]) ||
210
+ "/images/service-list/bus-icon.svg";
202
211
  }, className: `h-[24px] max-w-full object-contain ${isSoldOut ? "grayscale" : ""}` }),
203
212
  React.createElement("span", { className: "text-[11px] truncate max-w-full text-center" }, op.name),
204
213
  React.createElement("div", { className: "bg-[#FF8F45] text-white text-[12px] font-bold px-[10px] py-[4px] rounded-[4px] bold-text whitespace-nowrap" },
@@ -260,8 +269,14 @@ const FeatureServiceUi = ({ serviceItem, showTopLabel, isSoldOut, getAnimationIc
260
269
  ? "cursor-pointer bg-[#2d374d]"
261
270
  : "cursor-not-allowed bg-[#222b3d] opacity-50"}` }, "-"),
262
271
  React.createElement("span", { className: "bold-text text-[14px] text-white" }, ticketQuantity),
263
- React.createElement("button", { type: "button", "aria-label": "Aumentar pasajes", onClick: () => onIncreaseTicketQuantity === null || onIncreaseTicketQuantity === void 0 ? void 0 : onIncreaseTicketQuantity(serviceItem), className: "flex h-[26px] w-[26px] cursor-pointer items-center justify-center rounded-full border-none bg-[#2d374d] text-[16px] leading-none text-white" }, "+"))),
264
- React.createElement("button", { type: "button", onClick: onBookButtonPress, className: "flex items-center gap-[6px] px-[20px] py-[10px] rounded-[16px] text-white bold-text text-[13px] mt-[4px] justify-center border-none cursor-pointer text-center", style: {
272
+ React.createElement("button", { type: "button", "aria-label": "Aumentar pasajes", disabled: !canIncreaseTicketQuantity, onClick: () => onIncreaseTicketQuantity === null || onIncreaseTicketQuantity === void 0 ? void 0 : onIncreaseTicketQuantity(serviceItem), className: `flex h-[26px] w-[26px] items-center justify-center rounded-full border-none text-[16px] leading-none text-white ${canIncreaseTicketQuantity
273
+ ? "cursor-pointer bg-[#2d374d]"
274
+ : "cursor-not-allowed bg-[#222b3d] opacity-50"}` }, "+")),
275
+ !canIncreaseTicketQuantity && (React.createElement("span", { className: "text-[10px] text-[#FF5C60]" },
276
+ "m\u00E1x. ",
277
+ maxSeatsPerBooking,
278
+ " pasajes"))),
279
+ React.createElement("button", { type: "button", onClick: () => onBookButtonPress === null || onBookButtonPress === void 0 ? void 0 : onBookButtonPress(ticketQuantity, serviceItem), className: "flex items-center gap-[6px] px-[20px] py-[10px] rounded-[16px] text-white bold-text text-[13px] mt-[4px] justify-center border-none cursor-pointer text-center", style: {
265
280
  backgroundColor: "#FF5C60",
266
281
  whiteSpace: "nowrap",
267
282
  } },
@@ -10,6 +10,8 @@ interface OfferBannerProps {
10
10
  viewersConfig: ServiceItemProps["viewersConfig"];
11
11
  getAnimationIcon: (name: string) => any;
12
12
  showLoginOption?: boolean;
13
+ isNewUiEnabled?: boolean;
14
+ colors: any;
13
15
  }
14
16
  declare const OfferBanner: React.FC<OfferBannerProps>;
15
17
  export default OfferBanner;