kupos-ui-components-lib 9.7.10 → 9.8.1

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 (27) hide show
  1. package/dist/KuposUIComponent.d.ts +0 -3
  2. package/dist/assets/images/anims/service_list/flame_anim.json +1 -0
  3. package/dist/components/ServiceItem/ServiceItemDesktop.d.ts +1 -1
  4. package/dist/components/ServiceItem/ServiceItemDesktop.js +21 -17
  5. package/dist/components/ServiceItem/ServiceItemMobile.d.ts +1 -1
  6. package/dist/components/ServiceItem/ServiceItemMobile.js +7 -16
  7. package/dist/components/ServiceItem/mobileTypes.d.ts +0 -32
  8. package/dist/components/ServiceItem/types.d.ts +7 -22
  9. package/dist/styles.css +0 -206
  10. package/dist/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.js +10 -5
  11. package/dist/ui/FeatureServiceUI/FeatureServiceUi.js +16 -8
  12. package/dist/ui/SeatSection/SeatSection.d.ts +5 -1
  13. package/dist/ui/SeatSection/SeatSection.js +26 -6
  14. package/dist/utils/CommonService.js +1 -11
  15. package/package.json +1 -1
  16. package/src/KuposUIComponent.tsx +0 -3
  17. package/src/components/ServiceItem/ServiceItemDesktop.tsx +38 -51
  18. package/src/components/ServiceItem/ServiceItemMobile.tsx +286 -340
  19. package/src/components/ServiceItem/mobileTypes.ts +1 -29
  20. package/src/components/ServiceItem/types.ts +7 -23
  21. package/src/styles.css +0 -15
  22. package/src/ui/SeatSection/SeatSection.tsx +56 -11
  23. package/src/utils/CommonService.ts +1 -13
  24. package/src/assets/images/anims/service_list/thunder_icon.json +0 -1
  25. package/src/assets/images/anims/service_list/users_anim.json +0 -1
  26. package/src/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.tsx +0 -525
  27. package/src/ui/FeatureServiceUI/FeatureServiceUi.tsx +0 -555
package/dist/styles.css CHANGED
@@ -60,15 +60,9 @@
60
60
  .top-\[88\%\] {
61
61
  top: 88%;
62
62
  }
63
- .top-\[calc\(100\%\+10px\)\] {
64
- top: calc(100% + 10px);
65
- }
66
63
  .right-\[0px\] {
67
64
  right: 0px;
68
65
  }
69
- .right-\[18px\] {
70
- right: 18px;
71
- }
72
66
  .-bottom-\[9\%\] {
73
67
  bottom: calc(9% * -1);
74
68
  }
@@ -81,9 +75,6 @@
81
75
  .-bottom-\[36px\] {
82
76
  bottom: calc(36px * -1);
83
77
  }
84
- .bottom-\[11px\] {
85
- bottom: 11px;
86
- }
87
78
  .bottom-\[35px\] {
88
79
  bottom: 35px;
89
80
  }
@@ -177,18 +168,9 @@
177
168
  .m-\[auto\] {
178
169
  margin: auto;
179
170
  }
180
- .mx-\[10px\] {
181
- margin-inline: 10px;
182
- }
183
171
  .mx-auto {
184
172
  margin-inline: auto;
185
173
  }
186
- .my-\[8px\] {
187
- margin-block: 8px;
188
- }
189
- .my-\[14px\] {
190
- margin-block: 14px;
191
- }
192
174
  .-mt-\[15px\] {
193
175
  margin-top: calc(15px * -1);
194
176
  }
@@ -207,27 +189,15 @@
207
189
  .mt-\[5px\] {
208
190
  margin-top: 5px;
209
191
  }
210
- .mt-\[6px\] {
211
- margin-top: 6px;
212
- }
213
192
  .mt-\[10px\] {
214
193
  margin-top: 10px;
215
194
  }
216
- .mt-\[12px\] {
217
- margin-top: 12px;
218
- }
219
195
  .mt-\[13px\] {
220
196
  margin-top: 13px;
221
197
  }
222
- .mt-\[14px\] {
223
- margin-top: 14px;
224
- }
225
198
  .mt-\[15px\] {
226
199
  margin-top: 15px;
227
200
  }
228
- .mt-\[16px\] {
229
- margin-top: 16px;
230
- }
231
201
  .mt-\[20px\] {
232
202
  margin-top: 20px;
233
203
  }
@@ -375,9 +345,6 @@
375
345
  .h-\[30px\] {
376
346
  height: 30px;
377
347
  }
378
- .h-\[34px\] {
379
- height: 34px;
380
- }
381
348
  .h-\[100\%\] {
382
349
  height: 100%;
383
350
  }
@@ -414,9 +381,6 @@
414
381
  .w-\[20px\] {
415
382
  width: 20px;
416
383
  }
417
- .w-\[34px\] {
418
- width: 34px;
419
- }
420
384
  .w-\[50\%\] {
421
385
  width: 50%;
422
386
  }
@@ -485,12 +449,6 @@
485
449
  .max-w-\[165px\] {
486
450
  max-width: 165px;
487
451
  }
488
- .max-w-\[220px\] {
489
- max-width: 220px;
490
- }
491
- .max-w-full {
492
- max-width: 100%;
493
- }
494
452
  .min-w-\[75px\] {
495
453
  min-width: 75px;
496
454
  }
@@ -512,9 +470,6 @@
512
470
  --tw-translate-y: -10px;
513
471
  translate: var(--tw-translate-x) var(--tw-translate-y);
514
472
  }
515
- .rotate-0 {
516
- rotate: 0deg;
517
- }
518
473
  .rotate-180 {
519
474
  rotate: 180deg;
520
475
  }
@@ -524,9 +479,6 @@
524
479
  .cursor-default {
525
480
  cursor: default;
526
481
  }
527
- .cursor-not-allowed {
528
- cursor: not-allowed;
529
- }
530
482
  .cursor-pointer {
531
483
  cursor: pointer;
532
484
  }
@@ -539,21 +491,12 @@
539
491
  .grid-cols-2 {
540
492
  grid-template-columns: repeat(2, minmax(0, 1fr));
541
493
  }
542
- .grid-cols-3 {
543
- grid-template-columns: repeat(3, minmax(0, 1fr));
544
- }
545
- .grid-cols-4 {
546
- grid-template-columns: repeat(4, minmax(0, 1fr));
547
- }
548
494
  .grid-cols-\[0\.8fr_auto_26\%_1fr\] {
549
495
  grid-template-columns: 0.8fr auto 26% 1fr;
550
496
  }
551
497
  .grid-cols-\[1\.5fr_1fr_auto\] {
552
498
  grid-template-columns: 1.5fr 1fr auto;
553
499
  }
554
- .grid-cols-\[25\%_48\%_27\%\] {
555
- grid-template-columns: 25% 48% 27%;
556
- }
557
500
  .grid-cols-\[26px_auto_26\%_1fr\] {
558
501
  grid-template-columns: 26px auto 26% 1fr;
559
502
  }
@@ -581,9 +524,6 @@
581
524
  .items-start {
582
525
  align-items: flex-start;
583
526
  }
584
- .items-stretch {
585
- align-items: stretch;
586
- }
587
527
  .justify-between {
588
528
  justify-content: space-between;
589
529
  }
@@ -626,12 +566,6 @@
626
566
  .gap-\[14px\] {
627
567
  gap: 14px;
628
568
  }
629
- .gap-\[16px\] {
630
- gap: 16px;
631
- }
632
- .gap-\[20px\] {
633
- gap: 20px;
634
- }
635
569
  .gap-x-\[2\%\] {
636
570
  -moz-column-gap: 2%;
637
571
  column-gap: 2%;
@@ -640,20 +574,12 @@
640
574
  -moz-column-gap: 8px;
641
575
  column-gap: 8px;
642
576
  }
643
- .truncate {
644
- overflow: hidden;
645
- text-overflow: ellipsis;
646
- white-space: nowrap;
647
- }
648
577
  .overflow-hidden {
649
578
  overflow: hidden;
650
579
  }
651
580
  .overflow-y-hidden {
652
581
  overflow-y: hidden;
653
582
  }
654
- .rounded-\[4px\] {
655
- border-radius: 4px;
656
- }
657
583
  .rounded-\[8px\] {
658
584
  border-radius: 8px;
659
585
  }
@@ -666,9 +592,6 @@
666
592
  .rounded-\[15px\] {
667
593
  border-radius: 15px;
668
594
  }
669
- .rounded-\[16px\] {
670
- border-radius: 16px;
671
- }
672
595
  .rounded-\[18px\] {
673
596
  border-radius: 18px;
674
597
  }
@@ -712,10 +635,6 @@
712
635
  border-top-style: var(--tw-border-style);
713
636
  border-top-width: 8px;
714
637
  }
715
- .border-r {
716
- border-right-style: var(--tw-border-style);
717
- border-right-width: 1px;
718
- }
719
638
  .border-r-8 {
720
639
  border-right-style: var(--tw-border-style);
721
640
  border-right-width: 8px;
@@ -744,10 +663,6 @@
744
663
  border-bottom-style: var(--tw-border-style);
745
664
  border-bottom-width: 8px;
746
665
  }
747
- .border-l {
748
- border-left-style: var(--tw-border-style);
749
- border-left-width: 1px;
750
- }
751
666
  .border-l-8 {
752
667
  border-left-style: var(--tw-border-style);
753
668
  border-left-width: 8px;
@@ -764,9 +679,6 @@
764
679
  --tw-border-style: none;
765
680
  border-style: none;
766
681
  }
767
- .border-\[\#363c48\] {
768
- border-color: #363c48;
769
- }
770
682
  .border-\[\#ccc\] {
771
683
  border-color: #ccc;
772
684
  }
@@ -785,24 +697,9 @@
785
697
  .border-l-transparent {
786
698
  border-left-color: transparent;
787
699
  }
788
- .bg-\[\#0C1421\] {
789
- background-color: #0C1421;
790
- }
791
- .bg-\[\#2d374d\] {
792
- background-color: #2d374d;
793
- }
794
- .bg-\[\#222b3d\] {
795
- background-color: #222b3d;
796
- }
797
700
  .bg-\[\#E6E6E6\] {
798
701
  background-color: #E6E6E6;
799
702
  }
800
- .bg-\[\#FF5C60\] {
801
- background-color: #FF5C60;
802
- }
803
- .bg-\[\#FF8F45\] {
804
- background-color: #FF8F45;
805
- }
806
703
  .bg-\[\#FFF2F2\] {
807
704
  background-color: #FFF2F2;
808
705
  }
@@ -821,9 +718,6 @@
821
718
  .bg-\[lightgray\] {
822
719
  background-color: lightgray;
823
720
  }
824
- .bg-transparent {
825
- background-color: transparent;
826
- }
827
721
  .bg-\[length\:200\%_200\%\] {
828
722
  background-size: 200% 200%;
829
723
  }
@@ -846,9 +740,6 @@
846
740
  .p-\[10px_15px\] {
847
741
  padding: 10px 15px;
848
742
  }
849
- .p-\[14px\] {
850
- padding: 14px;
851
- }
852
743
  .p-\[15px\] {
853
744
  padding: 15px;
854
745
  }
@@ -882,18 +773,9 @@
882
773
  .px-\[15px\] {
883
774
  padding-inline: 15px;
884
775
  }
885
- .px-\[16px\] {
886
- padding-inline: 16px;
887
- }
888
776
  .px-\[20px\] {
889
777
  padding-inline: 20px;
890
778
  }
891
- .px-\[22px\] {
892
- padding-inline: 22px;
893
- }
894
- .py-\[2px\] {
895
- padding-block: 2px;
896
- }
897
779
  .py-\[4px\] {
898
780
  padding-block: 4px;
899
781
  }
@@ -906,9 +788,6 @@
906
788
  .py-\[8px\] {
907
789
  padding-block: 8px;
908
790
  }
909
- .py-\[9px\] {
910
- padding-block: 9px;
911
- }
912
791
  .py-\[10px\] {
913
792
  padding-block: 10px;
914
793
  }
@@ -924,9 +803,6 @@
924
803
  .pt-\[10px\] {
925
804
  padding-top: 10px;
926
805
  }
927
- .pt-\[14px\] {
928
- padding-top: 14px;
929
- }
930
806
  .pt-\[20px\] {
931
807
  padding-top: 20px;
932
808
  }
@@ -942,9 +818,6 @@
942
818
  .pt-\[50px\] {
943
819
  padding-top: 50px;
944
820
  }
945
- .pr-\[10px\] {
946
- padding-right: 10px;
947
- }
948
821
  .pr-\[15px\] {
949
822
  padding-right: 15px;
950
823
  }
@@ -954,9 +827,6 @@
954
827
  .pr-\[22px\] {
955
828
  padding-right: 22px;
956
829
  }
957
- .pb-\[6px\] {
958
- padding-bottom: 6px;
959
- }
960
830
  .pb-\[7px\] {
961
831
  padding-bottom: 7px;
962
832
  }
@@ -975,9 +845,6 @@
975
845
  .pl-\[6px\] {
976
846
  padding-left: 6px;
977
847
  }
978
- .pl-\[22px\] {
979
- padding-left: 22px;
980
- }
981
848
  .text-center {
982
849
  text-align: center;
983
850
  }
@@ -1023,21 +890,9 @@
1023
890
  .text-\[18px\] {
1024
891
  font-size: 18px;
1025
892
  }
1026
- .text-\[20px\] {
1027
- font-size: 20px;
1028
- }
1029
893
  .text-\[22px\] {
1030
894
  font-size: 22px;
1031
895
  }
1032
- .text-\[25px\] {
1033
- font-size: 25px;
1034
- }
1035
- .text-\[26px\] {
1036
- font-size: 26px;
1037
- }
1038
- .text-\[28px\] {
1039
- font-size: 28px;
1040
- }
1041
896
  .text-\[42px\] {
1042
897
  font-size: 42px;
1043
898
  }
@@ -1045,10 +900,6 @@
1045
900
  --tw-leading: 1.3;
1046
901
  line-height: 1.3;
1047
902
  }
1048
- .leading-\[14px\] {
1049
- --tw-leading: 14px;
1050
- line-height: 14px;
1051
- }
1052
903
  .leading-\[20px\] {
1053
904
  --tw-leading: 20px;
1054
905
  line-height: 20px;
@@ -1069,10 +920,6 @@
1069
920
  --tw-leading: 1;
1070
921
  line-height: 1;
1071
922
  }
1072
- .font-\[9px\] {
1073
- --tw-font-weight: 9px;
1074
- font-weight: 9px;
1075
- }
1076
923
  .font-\[14px\] {
1077
924
  --tw-font-weight: 14px;
1078
925
  font-weight: 14px;
@@ -1094,27 +941,12 @@
1094
941
  .whitespace-nowrap {
1095
942
  white-space: nowrap;
1096
943
  }
1097
- .text-\[\#1a1a1a\] {
1098
- color: #1a1a1a;
1099
- }
1100
- .text-\[\#4a4a4a\] {
1101
- color: #4a4a4a;
1102
- }
1103
944
  .text-\[\#9f9f9f\] {
1104
945
  color: #9f9f9f;
1105
946
  }
1106
- .text-\[\#666\] {
1107
- color: #666;
1108
- }
1109
- .text-\[\#272727\] {
1110
- color: #272727;
1111
- }
1112
947
  .text-\[\#464647\] {
1113
948
  color: #464647;
1114
949
  }
1115
- .text-\[\#FF8F45\] {
1116
- color: #FF8F45;
1117
- }
1118
950
  .text-\[\#c0c0c0\] {
1119
951
  color: #c0c0c0;
1120
952
  }
@@ -1133,9 +965,6 @@
1133
965
  .text-\[red\] {
1134
966
  color: red;
1135
967
  }
1136
- .text-\[white\] {
1137
- color: white;
1138
- }
1139
968
  .capitalize {
1140
969
  text-transform: capitalize;
1141
970
  }
@@ -1155,16 +984,9 @@
1155
984
  .opacity-0 {
1156
985
  opacity: 0%;
1157
986
  }
1158
- .opacity-50 {
1159
- opacity: 50%;
1160
- }
1161
987
  .opacity-100 {
1162
988
  opacity: 100%;
1163
989
  }
1164
- .outline {
1165
- outline-style: var(--tw-outline-style);
1166
- outline-width: 1px;
1167
- }
1168
990
  .grayscale {
1169
991
  --tw-grayscale: grayscale(100%);
1170
992
  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,);
@@ -1192,10 +1014,6 @@
1192
1014
  transition-timing-function: var(--tw-ease, ease);
1193
1015
  transition-duration: var(--tw-duration, 0s);
1194
1016
  }
1195
- .duration-200 {
1196
- --tw-duration: 200ms;
1197
- transition-duration: 200ms;
1198
- }
1199
1017
  .duration-300 {
1200
1018
  --tw-duration: 300ms;
1201
1019
  transition-duration: 300ms;
@@ -1204,11 +1022,6 @@
1204
1022
  --tw-outline-style: none;
1205
1023
  outline-style: none;
1206
1024
  }
1207
- .select-none {
1208
- -webkit-user-select: none;
1209
- -moz-user-select: none;
1210
- user-select: none;
1211
- }
1212
1025
  .group-hover\:block {
1213
1026
  &:is(:where(.group):hover *) {
1214
1027
  @media (hover: hover) {
@@ -1348,19 +1161,6 @@
1348
1161
  .hide-scrollbar::-webkit-scrollbar {
1349
1162
  display: none;
1350
1163
  }
1351
- .kupos-time-dd > summary {
1352
- list-style: none;
1353
- }
1354
- .kupos-time-dd > summary::-webkit-details-marker {
1355
- display: none;
1356
- }
1357
- .kupos-time-chevron {
1358
- transition: transform 200ms ease;
1359
- flex-shrink: 0;
1360
- }
1361
- .kupos-time-dd[open] .kupos-time-chevron {
1362
- transform: rotate(180deg);
1363
- }
1364
1164
  .hide-scrollbar {
1365
1165
  -ms-overflow-style: none;
1366
1166
  scrollbar-width: none;
@@ -1433,11 +1233,6 @@
1433
1233
  syntax: "*";
1434
1234
  inherits: false;
1435
1235
  }
1436
- @property --tw-outline-style {
1437
- syntax: "*";
1438
- inherits: false;
1439
- initial-value: solid;
1440
- }
1441
1236
  @property --tw-blur {
1442
1237
  syntax: "*";
1443
1238
  inherits: false;
@@ -1529,7 +1324,6 @@
1529
1324
  --tw-numeric-figure: initial;
1530
1325
  --tw-numeric-spacing: initial;
1531
1326
  --tw-numeric-fraction: initial;
1532
- --tw-outline-style: solid;
1533
1327
  --tw-blur: initial;
1534
1328
  --tw-brightness: initial;
1535
1329
  --tw-contrast: initial;
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import LottiePlayer from "../../assets/LottiePlayer";
3
3
  import commonService from "../../utils/CommonService";
4
+ import flameAnimation from "../../assets/images/anims/service_list/flame_anim.json";
4
5
  const TIME_SLOTS = [
5
6
  "Entre 07:00 AM y 10:00 AM",
6
7
  "Entre 11:00 AM y 14:00 AM",
@@ -152,7 +153,10 @@ const FeatureServiceUiMobile = ({ serviceItem, showTopLabel, colors, isSoldOut,
152
153
  })))))))),
153
154
  React.createElement("div", { className: "border-t border-[#363c48] my-[8px]" }),
154
155
  React.createElement("div", null,
155
- React.createElement("span", { className: "block w-full text-[14px] bold-text text-[white] mb-[10px]", style: { textAlign: "center" } }, "3 operadores compitiendo por tu compra"),
156
+ React.createElement("span", { className: "block w-full text-[14px] bold-text text-[white] mb-[10px]", style: { textAlign: "center" } },
157
+ "3 operadores compitiendo ",
158
+ React.createElement("br", null),
159
+ "por tu compra"),
156
160
  React.createElement("div", { className: "flex gap-[8px] text-[white]", style: { width: "100%" } }, operators.map((op, idx) => (React.createElement("div", { key: idx, className: "flex min-w-0 flex-col items-center justify-center gap-[8px] rounded-[8px]", style: {
157
161
  flex: 1,
158
162
  minWidth: 0,
@@ -163,7 +167,7 @@ const FeatureServiceUiMobile = ({ serviceItem, showTopLabel, colors, isSoldOut,
163
167
  } },
164
168
  React.createElement("img", { src: serviceItem.operator_details[0], alt: op.name, className: `h-[24px] max-w-full object-contain ${isSoldOut ? "grayscale" : ""}` }),
165
169
  React.createElement("span", { className: "text-[12px] truncate max-w-full text-center " }, serviceItem.operator_details[2]),
166
- React.createElement("span", { className: "text-[11px] mt-[6px] whitespace-nowrap" }, op === null || op === void 0 ? void 0 : op.seatsAvailable))))),
170
+ React.createElement("span", { className: "text-[11px] whitespace-nowrap" }, op === null || op === void 0 ? void 0 : op.seatsAvailable))))),
167
171
  React.createElement("div", { className: "flex w-full items-center justify-center gap-[6px] text-[12px] mt-[12px]", style: {
168
172
  border: "1px solid #363c48",
169
173
  backgroundColor: "#1a202e",
@@ -248,11 +252,12 @@ const FeatureServiceUiMobile = ({ serviceItem, showTopLabel, colors, isSoldOut,
248
252
  React.createElement("div", { className: "flex flex-col" },
249
253
  React.createElement("span", { className: "bold-text" }, step.name),
250
254
  React.createElement("span", null, step.text)))))))))),
251
- React.createElement("div", { className: "absolute -top-[11px] left-0 w-full flex items-center justify-center gap-[12px] z-10 " },
255
+ React.createElement("div", { className: "absolute -top-[13px] left-0 w-full flex items-center justify-center gap-[12px] z-10 " },
252
256
  React.createElement("div", { className: "flex items-center gap-[6px] py-[5px] px-[14px] rounded-[38px] text-[12.5px] bg-[#FF8F45] text-white whitespace-nowrap" },
253
257
  React.createElement("span", { className: "flex items-center" },
254
- React.createElement(LottiePlayer, { animationData: serviceItem.icons.bombAnim, width: "14px", height: "14px" }),
255
- React.createElement("span", { className: "bold-text ml-[5px] text-[white]" }, "Remate\u00A0"),
258
+ React.createElement("div", { className: "mb-[2px]" },
259
+ React.createElement(LottiePlayer, { animationData: flameAnimation, width: "16px", height: "16px" })),
260
+ React.createElement("span", { className: "bold-text text-[white] ml-[3px]" }, "Remate\u00A0"),
256
261
  " ",
257
262
  React.createElement("span", { className: "text-[white]" }, "t\u00E9rmina en"),
258
263
  " ",
@@ -28,7 +28,7 @@ const HARDCODED_OPERATORS = [
28
28
  },
29
29
  ];
30
30
  const FeatureServiceUi = ({ serviceItem, showTopLabel, isSoldOut, getAnimationIcon, cityOrigin, cityDestination, renderIcon, viewersConfig, isFeatureDropDownExpand, onToggleExpand, ticketQuantity = 1, onIncreaseTicketQuantity, onDecreaseTicketQuantity, onBookButtonPress, selectedTimeSlot, onTimeSlotChange, isTimeDropdownOpen, onTimeDropdownToggle, }) => {
31
- var _a, _b, _c, _d, _e, _f;
31
+ var _a, _b, _c, _d, _e;
32
32
  const operators = ((_a = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.operators) === null || _a === void 0 ? void 0 : _a.length) > 0
33
33
  ? serviceItem.operators
34
34
  : HARDCODED_OPERATORS;
@@ -97,8 +97,13 @@ const FeatureServiceUi = ({ serviceItem, showTopLabel, isSoldOut, getAnimationIc
97
97
  whiteSpace: "nowrap",
98
98
  } },
99
99
  React.createElement("span", null, "AHORRAS 60%"))),
100
- React.createElement("span", null,
101
- React.createElement("img", { src: (_b = serviceItem.icons) === null || _b === void 0 ? void 0 : _b.fireIcon, alt: "fire", className: "w-[14px] h-[14px] mb-[4px] mr-[4px]" }),
100
+ React.createElement("div", { className: "flex items-center" },
101
+ React.createElement("div", { className: "mb-[2px]" },
102
+ React.createElement(LottiePlayer
103
+ // animationData={serviceItem.icons.flexibleAnim}
104
+ , {
105
+ // animationData={serviceItem.icons.flexibleAnim}
106
+ animationData: getAnimationIcon("flameAnimation"), width: "18px", height: "18px" })),
102
107
  React.createElement("span", { className: "bold-text" }, "Remate"),
103
108
  " t\u00E9rmina en",
104
109
  " ",
@@ -113,10 +118,10 @@ const FeatureServiceUi = ({ serviceItem, showTopLabel, isSoldOut, getAnimationIc
113
118
  React.createElement("div", { className: "flex flex-col justify-between gap-[20px] my-[14px] pr-[22px]" },
114
119
  React.createElement("div", { className: "flex flex-col gap-[8px]" },
115
120
  React.createElement("div", { className: "flex items-center gap-[8px]" },
116
- React.createElement("img", { src: (_c = serviceItem.icons) === null || _c === void 0 ? void 0 : _c.whiteOrigin, alt: "origin", className: `w-[14px] h-[14px] shrink-0 ${isSoldOut ? "grayscale" : ""}` }),
121
+ React.createElement("img", { src: (_b = serviceItem.icons) === null || _b === void 0 ? void 0 : _b.whiteOrigin, alt: "origin", className: `w-[14px] h-[14px] shrink-0 ${isSoldOut ? "grayscale" : ""}` }),
117
122
  React.createElement("span", { className: "text-[13px] bold-text" }, cityOrigin === null || cityOrigin === void 0 ? void 0 : cityOrigin.label.split(",")[0])),
118
123
  React.createElement("div", { className: "flex items-center gap-[8px]" },
119
- React.createElement("img", { src: (_d = serviceItem.icons) === null || _d === void 0 ? void 0 : _d.whiteDestination, alt: "destination", className: `w-[14px] h-[14px] shrink-0 ${isSoldOut ? "grayscale" : ""}`, style: { opacity: isSoldOut ? 0.5 : 1 } }),
124
+ React.createElement("img", { src: (_c = serviceItem.icons) === null || _c === void 0 ? void 0 : _c.whiteDestination, alt: "destination", className: `w-[14px] h-[14px] shrink-0 ${isSoldOut ? "grayscale" : ""}`, style: { opacity: isSoldOut ? 0.5 : 1 } }),
120
125
  React.createElement("span", { className: "text-[13px] bold-text" }, cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.label.split(",")[0]))),
121
126
  React.createElement("div", { className: "flex flex-col gap-[8px]" },
122
127
  React.createElement("div", { className: "text-[12px] bold-text" }, "Viernes 23 de mayo"),
@@ -127,7 +132,7 @@ const FeatureServiceUi = ({ serviceItem, showTopLabel, isSoldOut, getAnimationIc
127
132
  }, style: { outline: "none" } },
128
133
  React.createElement("button", { type: "button", onClick: () => onTimeDropdownToggle === null || onTimeDropdownToggle === void 0 ? void 0 : onTimeDropdownToggle(isThisTimeDropdownOpen ? null : serviceItem.id), className: "flex whitespace-nowrap cursor-pointer select-none items-center gap-[6px] border-none bg-transparent p-0 bold-text text-[12px] text-[white]" },
129
134
  React.createElement("span", null, selectedTimeSlot),
130
- React.createElement("img", { src: (_e = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.icons) === null || _e === void 0 ? void 0 : _e.downArrow, alt: "down arrow", className: `kupos-time-chevron transition-transform duration-200 ${isThisTimeDropdownOpen ? "rotate-180" : "rotate-0"}`, style: {
135
+ React.createElement("img", { src: (_d = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.icons) === null || _d === void 0 ? void 0 : _d.downArrow, alt: "down arrow", className: `kupos-time-chevron transition-transform duration-200 ${isThisTimeDropdownOpen ? "rotate-180" : "rotate-0"}`, style: {
131
136
  width: "12px",
132
137
  height: "8px",
133
138
  filter: "brightness(0) invert(1)",
@@ -162,7 +167,10 @@ const FeatureServiceUi = ({ serviceItem, showTopLabel, isSoldOut, getAnimationIc
162
167
  } }, "Tu compra est\u00E1 100% asegurada.")))),
163
168
  React.createElement("div", { className: "min-w-0 px-[22px] flex flex-col items-center justify-between gap-[16px] py-[2px] border-r border-[#363c48] border-l border-[#363c48]" },
164
169
  React.createElement("div", { className: "text-center" },
165
- React.createElement("div", { className: "bold-text text-[14px]" }, "3 operadores compitiendo por tu compra")),
170
+ React.createElement("div", { className: "bold-text text-[14px]" },
171
+ "3 operadores compitiendo",
172
+ React.createElement("br", null),
173
+ " por tu compra")),
166
174
  React.createElement("div", { className: "grid w-full grid-cols-3 items-stretch gap-[14px] mb-[12px]" }, operators.map((op, idx) => (React.createElement("div", { key: idx, className: "flex min-w-0 flex-col items-center justify-center gap-[8px] rounded-[8px]", style: {
167
175
  // height: "80px",
168
176
  border: "1px solid #363c48",
@@ -245,7 +253,7 @@ const FeatureServiceUi = ({ serviceItem, showTopLabel, isSoldOut, getAnimationIc
245
253
  animationData: getAnimationIcon("thunderAnimation"), width: "18px", height: "18px" }),
246
254
  React.createElement("span", { className: "whitespace-nowrap" }, "\u00A1Lo quiero!"))),
247
255
  React.createElement("div", { className: `absolute bottom-[11px] right-[18px] cursor-pointer transition-transform duration-300 ease-in-out ${isItemExpanded ? "rotate-180" : ""}`, onClick: onToggleExpand },
248
- React.createElement("img", { src: (_f = serviceItem.icons) === null || _f === void 0 ? void 0 : _f.downArrow, alt: "down arrow", style: {
256
+ React.createElement("img", { src: (_e = serviceItem.icons) === null || _e === void 0 ? void 0 : _e.downArrow, alt: "down arrow", style: {
249
257
  width: "14px",
250
258
  height: "8px",
251
259
  filter: "brightness(0) invert(1)",
@@ -16,6 +16,10 @@ interface SeatSectionProps {
16
16
  serviceItem?: any;
17
17
  renderIcon?: (iconKey: string, size?: string) => React.ReactNode;
18
18
  discountSeatPriceColor?: string;
19
+ isTrain?: boolean;
20
+ selectedSeatKey?: any;
21
+ onSeatSelect?: (key: any, price: number) => void;
22
+ topLabelColor?: string;
19
23
  }
20
- declare function SeatSection({ seatTypes, availableSeats, isSoldOut, priceColor, currencySign, removeDuplicateSeats, isPeru, serviceItem, renderIcon, dpSeatColor, discountSeatPriceColor, }: SeatSectionProps): React.ReactElement;
24
+ declare function SeatSection({ seatTypes, availableSeats, isSoldOut, priceColor, currencySign, removeDuplicateSeats, selectedSeatKey, onSeatSelect, isPeru, serviceItem, renderIcon, dpSeatColor, discountSeatPriceColor, isTrain, topLabelColor, }: SeatSectionProps): React.ReactElement;
21
25
  export default SeatSection;
@@ -8,6 +8,7 @@ function getAllSeatTypes(seatTypes) {
8
8
  let seatTypesWithPrices = seatTypes.filter(Boolean).map((val) => ({
9
9
  label: val === null || val === void 0 ? void 0 : val.label,
10
10
  price: val === null || val === void 0 ? void 0 : val.fare,
11
+ key: val === null || val === void 0 ? void 0 : val.key,
11
12
  }));
12
13
  seatTypesWithPrices.sort((a, b) => a.price - b.price);
13
14
  return seatTypesWithPrices;
@@ -54,7 +55,7 @@ function getUniqueSeats(seatTypes) {
54
55
  function getNumberOfSeats(seatTypes) {
55
56
  return seatTypes.filter((val) => !SEAT_EXCEPTIONS.includes(val.label)).length;
56
57
  }
57
- function SeatSection({ seatTypes, availableSeats, isSoldOut, priceColor, currencySign, removeDuplicateSeats, isPeru, serviceItem, renderIcon, dpSeatColor, discountSeatPriceColor, }) {
58
+ function SeatSection({ seatTypes, availableSeats, isSoldOut, priceColor, currencySign, removeDuplicateSeats, selectedSeatKey, onSeatSelect, isPeru, serviceItem, renderIcon, dpSeatColor, discountSeatPriceColor, isTrain, topLabelColor, }) {
58
59
  var _a;
59
60
  const uniqueSeats = getUniqueSeats(seatTypes);
60
61
  const sortedSeatTypes = getSortedSeatTypes(seatTypes);
@@ -65,11 +66,30 @@ function SeatSection({ seatTypes, availableSeats, isSoldOut, priceColor, currenc
65
66
  : CommonService.currency(price, currencySign);
66
67
  const renderSeatNames = () => {
67
68
  const seats = removeDuplicateSeats ? uniqueSeats : sortedSeatTypes;
68
- return seats.map((val, key) => SEAT_EXCEPTIONS.includes(val.label) ? null : (React.createElement("span", { key: key, className: `flex items-center justify-between text-[13.33px] ${isSoldOut ? "text-[#c0c0c0]" : ""}` }, typeof val.label === "string" || typeof val.label === "number"
69
- ? removeDuplicateSeats && isPeru
70
- ? CommonService.truncateSeatLabel(val.label)
71
- : val.label
72
- : null)));
69
+ return seats.map((val, key) => SEAT_EXCEPTIONS.includes(val.label) ? null : (React.createElement("div", { className: "flex items-center", style: isTrain ? { cursor: "pointer" } : undefined, onClick: isTrain && !isSoldOut
70
+ ? () => onSeatSelect === null || onSeatSelect === void 0 ? void 0 : onSeatSelect(val.label, val.price)
71
+ : undefined },
72
+ isTrain && (React.createElement("div", { style: {
73
+ border: `1px solid ${val.label === selectedSeatKey ? topLabelColor : "#ccc"}`,
74
+ borderRadius: "50%",
75
+ width: "14px",
76
+ height: "14px",
77
+ minWidth: "14px",
78
+ marginRight: "10px",
79
+ display: "flex",
80
+ alignItems: "center",
81
+ justifyContent: "center",
82
+ } }, val.label === selectedSeatKey && (React.createElement("div", { style: {
83
+ backgroundColor: topLabelColor,
84
+ borderRadius: "50%",
85
+ width: "7px",
86
+ height: "7px",
87
+ } })))),
88
+ React.createElement("span", { key: key, className: `flex items-center justify-between text-[13.33px] ${isSoldOut ? "text-[#c0c0c0]" : ""}` }, typeof val.label === "string" || typeof val.label === "number"
89
+ ? removeDuplicateSeats && isPeru
90
+ ? CommonService.truncateSeatLabel(val.label)
91
+ : val.label
92
+ : null))));
73
93
  };
74
94
  const renderSeatPrices = () => {
75
95
  if (isPeru) {