kupos-ui-components-lib 9.1.1 → 9.1.2

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 (47) hide show
  1. package/README copy.md +223 -67
  2. package/dist/assets/images/anims/service_list/directo.json +1 -1
  3. package/dist/components/ServiceItem/PeruServiceItemDesktop.js +1 -1
  4. package/dist/components/ServiceItem/RatingHover.js +32 -33
  5. package/dist/components/ServiceItem/ServiceItemDesktop.d.ts +1 -1
  6. package/dist/components/ServiceItem/ServiceItemDesktop.js +147 -267
  7. package/dist/components/ServiceItem/ServiceItemMobile.d.ts +1 -1
  8. package/dist/components/ServiceItem/ServiceItemMobile.js +87 -278
  9. package/dist/components/ServiceItem/mobileTypes.d.ts +5 -0
  10. package/dist/components/ServiceItem/types.d.ts +7 -0
  11. package/dist/styles.css +131 -32
  12. package/dist/ui/AmenitiesBlock.js +23 -30
  13. package/dist/ui/BottomAmenities/BottomAmenities.js +0 -1
  14. package/dist/ui/DurationBlock.js +4 -4
  15. package/dist/ui/FlexibleBlock.js +5 -6
  16. package/dist/ui/PetBlock.js +1 -3
  17. package/dist/ui/RatingBlock.d.ts +9 -1
  18. package/dist/ui/RatingBlock.js +7 -3
  19. package/dist/utils/CommonService.d.ts +1 -1
  20. package/dist/utils/CommonService.js +2 -0
  21. package/package.json +2 -1
  22. package/src/assets/images/anims/service_list/bomb.json +1 -0
  23. package/src/assets/images/anims/service_list/directo.json +1 -1
  24. package/src/components/ServiceItem/PeruServiceItemDesktop.tsx +1 -0
  25. package/src/components/ServiceItem/RatingHover.tsx +44 -45
  26. package/src/components/ServiceItem/ServiceItemDesktop.tsx +313 -537
  27. package/src/components/ServiceItem/ServiceItemMobile.tsx +213 -530
  28. package/src/components/ServiceItem/mobileTypes.ts +5 -0
  29. package/src/components/ServiceItem/types.ts +7 -0
  30. package/src/ui/AmenitiesBlock.tsx +50 -29
  31. package/src/ui/BottomAmenities/BottomAmenities.tsx +110 -0
  32. package/src/ui/DateTimeSection/DateTimeSection.tsx +207 -0
  33. package/src/ui/DirectoBlock.tsx +31 -0
  34. package/src/ui/DurationBlock.tsx +4 -4
  35. package/src/ui/ExpendedDropDown/ExpandedDropdown.tsx +103 -0
  36. package/src/ui/FlexibleBlock.tsx +6 -5
  37. package/src/ui/KuposButton/KuposButton.tsx +48 -0
  38. package/src/ui/PetBlock.tsx +2 -2
  39. package/src/ui/RatingBlock.tsx +18 -6
  40. package/src/ui/SeatSection/SeatSection.tsx +207 -0
  41. package/src/ui/TopAmenities/TopAmenities.tsx +127 -0
  42. package/src/ui/mobileweb/BottomAmenitiesMobile.tsx +169 -0
  43. package/src/ui/mobileweb/DateTimeSectionMobile.tsx +192 -0
  44. package/src/ui/mobileweb/ExpandedDropdownMobile.tsx +56 -0
  45. package/src/ui/mobileweb/SeatSectionMobile.tsx +256 -0
  46. package/src/ui/mobileweb/TopAmenitieMobile.tsx +126 -0
  47. package/src/utils/CommonService.ts +2 -0
package/dist/styles.css CHANGED
@@ -30,6 +30,9 @@
30
30
  .-top-\[14px\] {
31
31
  top: calc(14px * -1);
32
32
  }
33
+ .-top-\[16px\] {
34
+ top: calc(16px * -1);
35
+ }
33
36
  .top-\[2px\] {
34
37
  top: 2px;
35
38
  }
@@ -45,6 +48,9 @@
45
48
  .top-\[88\%\] {
46
49
  top: 88%;
47
50
  }
51
+ .right-\[0\] {
52
+ right: 0;
53
+ }
48
54
  .-bottom-\[9\%\] {
49
55
  bottom: calc(9% * -1);
50
56
  }
@@ -81,6 +87,9 @@
81
87
  .left-\[80px\] {
82
88
  left: 80px;
83
89
  }
90
+ .-z-9 {
91
+ z-index: calc(9 * -1);
92
+ }
84
93
  .-z-10 {
85
94
  z-index: calc(10 * -1);
86
95
  }
@@ -117,12 +126,15 @@
117
126
  .mx-auto {
118
127
  margin-inline: auto;
119
128
  }
120
- .-mt-\[5px\] {
121
- margin-top: calc(5px * -1);
129
+ .-mt-\[16px\] {
130
+ margin-top: calc(16px * -1);
122
131
  }
123
132
  .mt-\[2px\] {
124
133
  margin-top: 2px;
125
134
  }
135
+ .mt-\[3px\] {
136
+ margin-top: 3px;
137
+ }
126
138
  .mt-\[5px\] {
127
139
  margin-top: 5px;
128
140
  }
@@ -132,6 +144,9 @@
132
144
  .mt-\[13px\] {
133
145
  margin-top: 13px;
134
146
  }
147
+ .mt-\[14px\] {
148
+ margin-top: 14px;
149
+ }
135
150
  .mt-\[15px\] {
136
151
  margin-top: 15px;
137
152
  }
@@ -162,9 +177,6 @@
162
177
  .mr-\[11px\] {
163
178
  margin-right: 11px;
164
179
  }
165
- .-mb-\[5px\] {
166
- margin-bottom: calc(5px * -1);
167
- }
168
180
  .mb-\[2px\] {
169
181
  margin-bottom: 2px;
170
182
  }
@@ -174,9 +186,6 @@
174
186
  .mb-\[5px\] {
175
187
  margin-bottom: 5px;
176
188
  }
177
- .mb-\[8px\] {
178
- margin-bottom: 8px;
179
- }
180
189
  .mb-\[10px\] {
181
190
  margin-bottom: 10px;
182
191
  }
@@ -204,9 +213,18 @@
204
213
  .ml-\[3px\] {
205
214
  margin-left: 3px;
206
215
  }
216
+ .ml-\[4px\] {
217
+ margin-left: 4px;
218
+ }
207
219
  .ml-\[5px\] {
208
220
  margin-left: 5px;
209
221
  }
222
+ .ml-\[6px\] {
223
+ margin-left: 6px;
224
+ }
225
+ .ml-\[8px\] {
226
+ margin-left: 8px;
227
+ }
210
228
  .ml-\[10px\] {
211
229
  margin-left: 10px;
212
230
  }
@@ -276,6 +294,9 @@
276
294
  .max-h-\[66vh\] {
277
295
  max-height: 66vh;
278
296
  }
297
+ .min-h-\[2\.2rem\] {
298
+ min-height: 2.2rem;
299
+ }
279
300
  .min-h-\[2\.5rem\] {
280
301
  min-height: 2.5rem;
281
302
  }
@@ -300,6 +321,9 @@
300
321
  .w-\[50\%\] {
301
322
  width: 50%;
302
323
  }
324
+ .w-\[55\%\] {
325
+ width: 55%;
326
+ }
303
327
  .w-\[60\%\] {
304
328
  width: 60%;
305
329
  }
@@ -321,6 +345,9 @@
321
345
  .w-\[130px\] {
322
346
  width: 130px;
323
347
  }
348
+ .w-\[150px\] {
349
+ width: 150px;
350
+ }
324
351
  .w-\[188px\] {
325
352
  width: 188px;
326
353
  }
@@ -333,8 +360,8 @@
333
360
  .w-\[260px\] {
334
361
  width: 260px;
335
362
  }
336
- .w-\[320px\] {
337
- width: 320px;
363
+ .w-\[280px\] {
364
+ width: 280px;
338
365
  }
339
366
  .w-\[auto\] {
340
367
  width: auto;
@@ -342,9 +369,20 @@
342
369
  .w-auto {
343
370
  width: auto;
344
371
  }
372
+ .w-fit {
373
+ width: -moz-fit-content;
374
+ width: fit-content;
375
+ }
345
376
  .w-full {
346
377
  width: 100%;
347
378
  }
379
+ .w-max {
380
+ width: -moz-max-content;
381
+ width: max-content;
382
+ }
383
+ .max-w-\[120px\] {
384
+ max-width: 120px;
385
+ }
348
386
  .max-w-\[165px\] {
349
387
  max-width: 165px;
350
388
  }
@@ -374,12 +412,15 @@
374
412
  .cursor-pointer {
375
413
  cursor: pointer;
376
414
  }
377
- .\[grid-template-columns\:14\%_30\%_2\.5\%_30\%_15\.5\%\] {
378
- grid-template-columns: 14% 30% 2.5% 30% 15.5%;
379
- }
380
415
  .\[grid-template-columns\:14\%_40\%_0\.5\%_24\%_13\.5\%\] {
381
416
  grid-template-columns: 14% 40% 0.5% 24% 13.5%;
382
417
  }
418
+ .\[grid-template-columns\:18\%_28\%_2\.5\%_28\%_15\.5\%\] {
419
+ grid-template-columns: 18% 28% 2.5% 28% 15.5%;
420
+ }
421
+ .\[grid-template-columns\:22\%_28\%_2\.5\%_24\%_15\.5\%\] {
422
+ grid-template-columns: 22% 28% 2.5% 24% 15.5%;
423
+ }
383
424
  .grid-cols-\[0\.8fr_auto_26\%_1fr\] {
384
425
  grid-template-columns: 0.8fr auto 26% 1fr;
385
426
  }
@@ -431,6 +472,9 @@
431
472
  .gap-\[6px\] {
432
473
  gap: 6px;
433
474
  }
475
+ .gap-\[8px\] {
476
+ gap: 8px;
477
+ }
434
478
  .gap-\[10px\] {
435
479
  gap: 10px;
436
480
  }
@@ -512,9 +556,6 @@
512
556
  --tw-border-style: none;
513
557
  border-style: none;
514
558
  }
515
- .border-\[\#E6E6E6\] {
516
- border-color: #E6E6E6;
517
- }
518
559
  .border-\[\#ccc\] {
519
560
  border-color: #ccc;
520
561
  }
@@ -573,9 +614,6 @@
573
614
  .p-\[10px_15px\] {
574
615
  padding: 10px 15px;
575
616
  }
576
- .p-\[12px\] {
577
- padding: 12px;
578
- }
579
617
  .p-\[15px\] {
580
618
  padding: 15px;
581
619
  }
@@ -588,9 +626,15 @@
588
626
  .px-\[10px\] {
589
627
  padding-inline: 10px;
590
628
  }
629
+ .px-\[12px\] {
630
+ padding-inline: 12px;
631
+ }
591
632
  .px-\[14px\] {
592
633
  padding-inline: 14px;
593
634
  }
635
+ .px-\[15px\] {
636
+ padding-inline: 15px;
637
+ }
594
638
  .px-\[20px\] {
595
639
  padding-inline: 20px;
596
640
  }
@@ -603,14 +647,17 @@
603
647
  .py-\[6px\] {
604
648
  padding-block: 6px;
605
649
  }
650
+ .py-\[10px\] {
651
+ padding-block: 10px;
652
+ }
606
653
  .py-\[12px\] {
607
654
  padding-block: 12px;
608
655
  }
609
656
  .pt-\[4px\] {
610
657
  padding-top: 4px;
611
658
  }
612
- .pt-\[5px\] {
613
- padding-top: 5px;
659
+ .pt-\[6px\] {
660
+ padding-top: 6px;
614
661
  }
615
662
  .pt-\[10px\] {
616
663
  padding-top: 10px;
@@ -618,39 +665,54 @@
618
665
  .pt-\[20px\] {
619
666
  padding-top: 20px;
620
667
  }
668
+ .pt-\[22px\] {
669
+ padding-top: 22px;
670
+ }
671
+ .pt-\[26px\] {
672
+ padding-top: 26px;
673
+ }
621
674
  .pt-\[35px\] {
622
675
  padding-top: 35px;
623
676
  }
624
677
  .pt-\[50px\] {
625
678
  padding-top: 50px;
626
679
  }
680
+ .pr-\[13px\] {
681
+ padding-right: 13px;
682
+ }
627
683
  .pr-\[15px\] {
628
684
  padding-right: 15px;
629
685
  }
630
- .pr-\[20px\] {
631
- padding-right: 20px;
632
- }
633
- .pb-\[5px\] {
634
- padding-bottom: 5px;
635
- }
636
686
  .pb-\[7px\] {
637
687
  padding-bottom: 7px;
638
688
  }
639
689
  .pb-\[10px\] {
640
690
  padding-bottom: 10px;
641
691
  }
642
- .pl-\[15px\] {
643
- padding-left: 15px;
692
+ .pb-\[12px\] {
693
+ padding-bottom: 12px;
694
+ }
695
+ .pb-\[14px\] {
696
+ padding-bottom: 14px;
697
+ }
698
+ .pl-\[6px\] {
699
+ padding-left: 6px;
644
700
  }
645
701
  .text-center {
646
702
  text-align: center;
647
703
  }
704
+ .text-end {
705
+ text-align: end;
706
+ }
648
707
  .text-justify {
649
708
  text-align: justify;
650
709
  }
651
710
  .text-left {
652
711
  text-align: left;
653
712
  }
713
+ .text-\[6px\] {
714
+ font-size: 6px;
715
+ }
654
716
  .text-\[10px\] {
655
717
  font-size: 10px;
656
718
  }
@@ -690,13 +752,13 @@
690
752
  --tw-font-weight: 900;
691
753
  font-weight: 900;
692
754
  }
693
- .text-wrap {
694
- text-wrap: wrap;
695
- }
696
755
  .break-normal {
697
756
  overflow-wrap: normal;
698
757
  word-break: normal;
699
758
  }
759
+ .text-ellipsis {
760
+ text-overflow: ellipsis;
761
+ }
700
762
  .whitespace-normal {
701
763
  white-space: normal;
702
764
  }
@@ -730,6 +792,13 @@
730
792
  .uppercase {
731
793
  text-transform: uppercase;
732
794
  }
795
+ .tabular-nums {
796
+ --tw-numeric-spacing: tabular-nums;
797
+ font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
798
+ }
799
+ .line-through {
800
+ text-decoration-line: line-through;
801
+ }
733
802
  .opacity-0 {
734
803
  opacity: 0%;
735
804
  }
@@ -818,6 +887,11 @@
818
887
  font-size: 11px;
819
888
  }
820
889
  }
890
+ .min-\[420px\]\:text-\[12px\] {
891
+ @media (width >= 420px) {
892
+ font-size: 12px;
893
+ }
894
+ }
821
895
  @keyframes load8 {
822
896
  0% {
823
897
  transform: rotate(0deg);
@@ -903,6 +977,26 @@
903
977
  syntax: "*";
904
978
  inherits: false;
905
979
  }
980
+ @property --tw-ordinal {
981
+ syntax: "*";
982
+ inherits: false;
983
+ }
984
+ @property --tw-slashed-zero {
985
+ syntax: "*";
986
+ inherits: false;
987
+ }
988
+ @property --tw-numeric-figure {
989
+ syntax: "*";
990
+ inherits: false;
991
+ }
992
+ @property --tw-numeric-spacing {
993
+ syntax: "*";
994
+ inherits: false;
995
+ }
996
+ @property --tw-numeric-fraction {
997
+ syntax: "*";
998
+ inherits: false;
999
+ }
906
1000
  @property --tw-blur {
907
1001
  syntax: "*";
908
1002
  inherits: false;
@@ -984,6 +1078,11 @@
984
1078
  --tw-border-style: solid;
985
1079
  --tw-leading: initial;
986
1080
  --tw-font-weight: initial;
1081
+ --tw-ordinal: initial;
1082
+ --tw-slashed-zero: initial;
1083
+ --tw-numeric-figure: initial;
1084
+ --tw-numeric-spacing: initial;
1085
+ --tw-numeric-fraction: initial;
987
1086
  --tw-blur: initial;
988
1087
  --tw-brightness: initial;
989
1088
  --tw-contrast: initial;
@@ -1,8 +1,10 @@
1
1
  import React from "react";
2
- import LottiePlayer from "../assets/LottiePlayer";
3
2
  const DEFAULT_PRIORITY_IDS = ["2", "3", "13"];
4
3
  const TOOLTIP_CLASS = "hidden group-hover:block absolute top-[30px] left-1/2 -translate-x-1/2 text-white rounded-[14px] whitespace-nowrap mt-2.5 text-center shadow-service text-[13.33px]";
5
- const getAmenityBaseName = (amenityStr) => { var _a; return (_a = amenityStr === null || amenityStr === void 0 ? void 0 : amenityStr.split(".")[0]) !== null && _a !== void 0 ? _a : ""; };
4
+ const getAmenityBaseName = (amenityStr) => {
5
+ var _a;
6
+ return (_a = amenityStr === null || amenityStr === void 0 ? void 0 : amenityStr.split(".")[0]) !== null && _a !== void 0 ? _a : "";
7
+ };
6
8
  const isWater = (amenityStr) => { var _a; return ((_a = getAmenityBaseName(amenityStr)) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === "WATER"; };
7
9
  const TooltipArrow = ({ color }) => (React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent", style: { borderBottomColor: color } }));
8
10
  const getAmenitySplit = ({ isPeru, amenities, priorityIds }) => {
@@ -27,7 +29,7 @@ const getAmenitySplit = ({ isPeru, amenities, priorityIds }) => {
27
29
  };
28
30
  };
29
31
  const AmenitiesBlock = ({ serviceItem, metaData, isSoldOut, colors, isPeru, getAnimationIcon, getAmenityName, SvgAmenities, }) => {
30
- var _a, _b, _c;
32
+ var _a, _b;
31
33
  if (!metaData ||
32
34
  !((_a = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.operator_details) === null || _a === void 0 ? void 0 : _a[4]) ||
33
35
  !serviceItem.operator_details[4].length) {
@@ -45,39 +47,30 @@ const AmenitiesBlock = ({ serviceItem, metaData, isSoldOut, colors, isPeru, getA
45
47
  });
46
48
  const shouldShowPlus = plusAmenities.length > 0;
47
49
  const grayscaleClass = isSoldOut ? "grayscale" : "";
48
- return (React.createElement("div", { className: "flex items-center gap-[6px]" },
49
- (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_tracking_enabled) && (React.createElement("div", { className: grayscaleClass },
50
- React.createElement(LottiePlayer, { animationData: getAnimationIcon("locationAnim"), width: "20px", height: "20px" }))),
50
+ return (React.createElement("div", { className: "relative flex items-center gap-[6px] group cursor-pointer" },
51
51
  visibleAmenities.map((val, key) => {
52
52
  const raw = metaData.amenities[val];
53
53
  if (isWater(raw))
54
54
  return null;
55
55
  const baseName = getAmenityBaseName(raw);
56
- return (React.createElement("div", { key: key, className: "relative group cursor-pointer" },
56
+ return (React.createElement("div", { key: key },
57
57
  React.createElement("div", { className: grayscaleClass },
58
- React.createElement(SvgAmenities, { moreAnemities: false, name: baseName.toLowerCase() })),
59
- React.createElement("div", { className: TOOLTIP_CLASS, style: {
60
- backgroundColor: colors.tooltipColor,
61
- zIndex: 21,
62
- padding: "12px",
63
- } },
64
- React.createElement(TooltipArrow, { color: colors.tooltipColor }),
65
- getAmenityName(baseName.split("_").join(" ")))));
58
+ React.createElement(SvgAmenities, { moreAnemities: false, name: baseName.toLowerCase() }))));
66
59
  }),
67
- shouldShowPlus && (React.createElement("div", { className: "relative ml-1 cursor-pointer" },
68
- React.createElement("div", { className: "group" },
69
- React.createElement("img", { src: ((_c = serviceItem.icons) === null || _c === void 0 ? void 0 : _c.plus) ||
70
- "/images/icons/amenities/icon_plus.svg", className: "w-[16px] h-[16px]", alt: "plus" }),
71
- React.createElement("div", { style: { zIndex: 100 }, className: TOOLTIP_CLASS },
72
- React.createElement(TooltipArrow, { color: colors.tooltipColor }),
73
- React.createElement("div", { className: "flex flex-col gap-[10px] p-3 rounded-[8px] shadow-md", style: { backgroundColor: colors.tooltipColor } }, plusAmenities.map((val, key) => {
74
- const raw = metaData.amenities[val];
75
- if (isWater(raw))
76
- return null;
77
- const baseName = getAmenityBaseName(raw);
78
- return (React.createElement("div", { key: key, className: "flex items-center gap-[5px] text-xs whitespace-nowrap" },
79
- React.createElement(SvgAmenities, { moreAnemities: true, name: baseName.toUpperCase(), color: "white" }),
80
- getAmenityName(baseName.split("_").join(" "))));
81
- }))))))));
60
+ React.createElement("div", { className: TOOLTIP_CLASS, style: {
61
+ backgroundColor: colors.bottomStripColor,
62
+ zIndex: 21,
63
+ padding: "12px",
64
+ } },
65
+ React.createElement(TooltipArrow, { color: colors.tooltipColor }),
66
+ React.createElement("div", { className: "flex flex-col gap-[10px]" }, amenities.map((id, i) => {
67
+ const rawItem = metaData.amenities[id];
68
+ if (isWater(rawItem))
69
+ return null;
70
+ const name = getAmenityBaseName(rawItem);
71
+ return (React.createElement("div", { key: i, className: "flex items-center gap-[5px] text-xs whitespace-nowrap" },
72
+ React.createElement(SvgAmenities, { moreAnemities: true, name: name.toUpperCase(), color: "white" }),
73
+ getAmenityName(name.split("_").join(" "))));
74
+ })))));
82
75
  };
83
76
  export default AmenitiesBlock;
@@ -3,7 +3,6 @@ import LottiePlayer from "../../assets/LottiePlayer";
3
3
  import FlexibleBlock from "../FlexibleBlock";
4
4
  import PetBlock from "../PetBlock";
5
5
  function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, isItemExpanded, colors, translation, getAnimationIcon, downArrowIcon, onToggleExpand, }) {
6
- console.log("🚀 ~ BottomAmenities ~ isItemExpanded:", isItemExpanded);
7
6
  const hasPetInfo = serviceItem.pet_seat_info &&
8
7
  Object.keys(serviceItem.pet_seat_info).length > 0;
9
8
  const showDownArrow = ((serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_change_ticket) && serviceItem.pet_seat_info) ||
@@ -1,11 +1,11 @@
1
1
  import React from "react";
2
- const DurationBlock = ({ serviceItem, translation, renderIcon, isSoldOut, colors, }) => (React.createElement("div", { className: "flex items-baseline relative whitespace-nowrap" },
2
+ const DurationBlock = ({ serviceItem, translation, renderIcon, isSoldOut, colors, }) => (React.createElement("div", { className: "flex items-baseline relative whitespace-nowrap " },
3
3
  React.createElement("div", { className: `w-[18px] mr-[4px] ${isSoldOut ? "grayscale" : ""}` }, renderIcon("hours", "14px")),
4
- React.createElement("div", { className: "group text-[13.33px]" },
4
+ React.createElement("div", { className: "group text-[13.33px] cursor-pointer" },
5
5
  serviceItem.duration,
6
6
  " ",
7
7
  translation.hours,
8
- React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-normal z-10 mt-2.5 w-[188px] text-center break-normal shadow-service text-[12px]", style: { backgroundColor: colors.tooltipColor } },
9
- React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent", style: { borderBottomColor: colors.tooltipColor } }),
8
+ React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-normal z-10 mt-2.5 w-[188px] text-center break-normal shadow-service text-[12px]", style: { backgroundColor: colors.bottomStripColor } },
9
+ React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent", style: { borderBottomColor: colors.bottomStripColor } }),
10
10
  "Duraci\u00F3n estimada del viaje"))));
11
11
  export default DurationBlock;
@@ -3,21 +3,20 @@ import LottiePlayer from "../assets/LottiePlayer";
3
3
  const FlexibleBlock = ({ translation, getAnimationIcon, colors, serviceItem, isSoldOut, }) => {
4
4
  var _a;
5
5
  return (React.createElement("div", { className: "flex items-center" },
6
- React.createElement("div", { className: "relative group cursor-default" },
6
+ React.createElement("div", { className: "relative group cursor-pointer" },
7
7
  React.createElement("div", { className: "flex items-center" },
8
8
  React.createElement("div", { className: `mr-[5px] ${isSoldOut ? "grayscale" : ""}` },
9
9
  React.createElement(LottiePlayer
10
10
  // animationData={serviceItem.icons.flexibleAnim}
11
11
  , {
12
12
  // animationData={serviceItem.icons.flexibleAnim}
13
- animationData: getAnimationIcon("flexibleIcon"), width: "20px", height: "20px" })),
14
- React.createElement("div", { className: "h-auto mr-[4px] text-[13px] text-[#464647]" },
15
- React.createElement("span", null, translation === null || translation === void 0 ? void 0 : translation.flexible))),
13
+ animationData: getAnimationIcon("flexibleIcon"), width: "20px", height: "20px" }))),
16
14
  React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-normal z-10 mt-2.5 w-[230px] text-center break-normal shadow-service text-[12px]", style: {
17
- backgroundColor: colors.tooltipColor,
15
+ backgroundColor: colors.bottomStripColor,
18
16
  lineHeight: "1.5",
17
+ zIndex: "1000",
19
18
  } },
20
- React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent ", style: { borderBottomColor: colors.tooltipColor } }),
19
+ React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent ", style: { borderBottomColor: colors.bottomStripColor } }),
21
20
  "Esta empresa permite cambios sin costo hasta (", (_a = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.change_ticket_hours) !== null && _a !== void 0 ? _a : 6,
22
21
  ") horas antes del viaje."))));
23
22
  };
@@ -8,9 +8,7 @@ const PetBlock = ({ translation, getAnimationIcon, colors, isSoldOut }) => (Reac
8
8
  // animationData={serviceItem.icons.petFriendlyAnim}
9
9
  , {
10
10
  // animationData={serviceItem.icons.petFriendlyAnim}
11
- animationData: getAnimationIcon("petFriendlyAnim"), width: "20px", height: "20px" })),
12
- React.createElement("div", { className: "h-auto mr-[4px] text-[13px] text-[#464647]" },
13
- React.createElement("span", null, translation === null || translation === void 0 ? void 0 : translation.petFriendly))),
11
+ animationData: getAnimationIcon("petFriendlyAnim"), width: "20px", height: "20px" }))),
14
12
  React.createElement("div", { className: " hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-normal z-10 mt-2.5 w-[230px] text-center break-normal shadow-service", style: { backgroundColor: colors === null || colors === void 0 ? void 0 : colors.tooltipColor } },
15
13
  React.createElement("div", { className: "tooltip-arrow absolute text-[13.33px] -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent", style: { borderBottomColor: colors === null || colors === void 0 ? void 0 : colors.tooltipColor } }),
16
14
  "Este servicio incluye asientos para mascotas."))));
@@ -1,3 +1,11 @@
1
1
  import React from "react";
2
- declare const RatingBlock: ({ showRating, serviceItem, isSoldOut, colors, t, translation, isPeru, }: any) => React.JSX.Element;
2
+ declare const RatingBlock: ({ showRating, serviceItem, isSoldOut, colors, t, translation, isPeru, }: {
3
+ showRating: any;
4
+ serviceItem: any;
5
+ isSoldOut: any;
6
+ colors: any;
7
+ t: any;
8
+ translation: any;
9
+ isPeru: any;
10
+ }) => React.JSX.Element;
3
11
  export default RatingBlock;
@@ -1,9 +1,13 @@
1
1
  import React from "react";
2
2
  import RatingHover from "../components/ServiceItem/RatingHover";
3
- const RatingBlock = ({ showRating, serviceItem, isSoldOut, colors, t, translation, isPeru = false, }) => (React.createElement("div", { className: "flex items-center whitespace-nowrap" },
3
+ const RatingBlock = ({ showRating, serviceItem, isSoldOut, colors, t, translation, isPeru, }) => (React.createElement("div", { className: "flex items-center whitespace-nowrap" },
4
4
  showRating && (React.createElement(RatingHover, { serviceItem: serviceItem, isSoldOut: isSoldOut, colors: colors, t: t, translation: translation, isPeru: isPeru })),
5
- React.createElement("span", { className: "ml-[10px] text-[13.33px]", style: {
5
+ React.createElement("div", { className: "group relative ml-[10px] text-[13.33px]", style: {
6
6
  marginLeft: showRating ? "10px" : "0",
7
7
  color: isSoldOut ? "#c0c0c0" : "#464647",
8
- } }, serviceItem.operator_details[2])));
8
+ } },
9
+ React.createElement("span", { className: "block max-w-[120px] overflow-hidden text-ellipsis whitespace-nowrap cursor-pointer" }, serviceItem.operator_details[2]),
10
+ React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-nowrap z-10 mt-2.5 w-max text-center shadow-service text-[12px]", style: { backgroundColor: colors.bottomStripColor, zIndex: "300" } },
11
+ React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent ", style: { borderBottomColor: colors.bottomStripColor } }),
12
+ serviceItem.operator_details[2]))));
9
13
  export default RatingBlock;
@@ -1,7 +1,7 @@
1
1
  declare const commonService: {
2
2
  currency(amount: number, currencySign?: string): string;
3
3
  copyObject: (ob: any) => any;
4
- getServiceTypeLabelForFilters: (service_type: any) => "" | "Tipo de servicio" | "Punto de embarque" | "Tipo de asiento" | "SERVICIOS";
4
+ getServiceTypeLabelForFilters: (service_type: any) => "Tipo de servicio" | "Punto de embarque" | "Tipo de asiento" | "SERVICIOS" | "";
5
5
  truncateSeatLabel: (label: string | number) => string;
6
6
  getAmenitiesImage: (name: string, serviceItem: any) => string;
7
7
  getAmenityName: (rawAmenity: string) => string;
@@ -185,6 +185,8 @@ const commonService = {
185
185
  return "Auriculares";
186
186
  case "allows cancellation":
187
187
  return "Anulación online";
188
+ case "handicap":
189
+ return "Asiento preferente (PMR)";
188
190
  default:
189
191
  return rawAmenity;
190
192
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kupos-ui-components-lib",
3
- "version": "9.1.1",
3
+ "version": "9.1.2",
4
4
  "description": "A reusable UI components package",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -30,6 +30,7 @@
30
30
  "author": "Zahid Dar",
31
31
  "license": "MIT",
32
32
  "dependencies": {
33
+ "kupos-ui-components-lib": "^9.0.7",
33
34
  "lottie-react": "^2.4.1",
34
35
  "lottie-web": "^5.13.0",
35
36
  "moment": "^2.30.1",