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.
- package/README copy.md +223 -67
- package/dist/assets/images/anims/service_list/directo.json +1 -1
- package/dist/components/ServiceItem/PeruServiceItemDesktop.js +1 -1
- package/dist/components/ServiceItem/RatingHover.js +32 -33
- package/dist/components/ServiceItem/ServiceItemDesktop.d.ts +1 -1
- package/dist/components/ServiceItem/ServiceItemDesktop.js +147 -267
- package/dist/components/ServiceItem/ServiceItemMobile.d.ts +1 -1
- package/dist/components/ServiceItem/ServiceItemMobile.js +87 -278
- package/dist/components/ServiceItem/mobileTypes.d.ts +5 -0
- package/dist/components/ServiceItem/types.d.ts +7 -0
- package/dist/styles.css +131 -32
- package/dist/ui/AmenitiesBlock.js +23 -30
- package/dist/ui/BottomAmenities/BottomAmenities.js +0 -1
- package/dist/ui/DurationBlock.js +4 -4
- package/dist/ui/FlexibleBlock.js +5 -6
- package/dist/ui/PetBlock.js +1 -3
- package/dist/ui/RatingBlock.d.ts +9 -1
- package/dist/ui/RatingBlock.js +7 -3
- package/dist/utils/CommonService.d.ts +1 -1
- package/dist/utils/CommonService.js +2 -0
- package/package.json +2 -1
- package/src/assets/images/anims/service_list/bomb.json +1 -0
- package/src/assets/images/anims/service_list/directo.json +1 -1
- package/src/components/ServiceItem/PeruServiceItemDesktop.tsx +1 -0
- package/src/components/ServiceItem/RatingHover.tsx +44 -45
- package/src/components/ServiceItem/ServiceItemDesktop.tsx +313 -537
- package/src/components/ServiceItem/ServiceItemMobile.tsx +213 -530
- package/src/components/ServiceItem/mobileTypes.ts +5 -0
- package/src/components/ServiceItem/types.ts +7 -0
- package/src/ui/AmenitiesBlock.tsx +50 -29
- package/src/ui/BottomAmenities/BottomAmenities.tsx +110 -0
- package/src/ui/DateTimeSection/DateTimeSection.tsx +207 -0
- package/src/ui/DirectoBlock.tsx +31 -0
- package/src/ui/DurationBlock.tsx +4 -4
- package/src/ui/ExpendedDropDown/ExpandedDropdown.tsx +103 -0
- package/src/ui/FlexibleBlock.tsx +6 -5
- package/src/ui/KuposButton/KuposButton.tsx +48 -0
- package/src/ui/PetBlock.tsx +2 -2
- package/src/ui/RatingBlock.tsx +18 -6
- package/src/ui/SeatSection/SeatSection.tsx +207 -0
- package/src/ui/TopAmenities/TopAmenities.tsx +127 -0
- package/src/ui/mobileweb/BottomAmenitiesMobile.tsx +169 -0
- package/src/ui/mobileweb/DateTimeSectionMobile.tsx +192 -0
- package/src/ui/mobileweb/ExpandedDropdownMobile.tsx +56 -0
- package/src/ui/mobileweb/SeatSectionMobile.tsx +256 -0
- package/src/ui/mobileweb/TopAmenitieMobile.tsx +126 -0
- 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-\[
|
|
121
|
-
margin-top: calc(
|
|
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-\[
|
|
337
|
-
width:
|
|
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-\[
|
|
613
|
-
padding-top:
|
|
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
|
-
.
|
|
643
|
-
padding-
|
|
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) => {
|
|
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
|
|
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
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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) ||
|
package/dist/ui/DurationBlock.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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;
|
package/dist/ui/FlexibleBlock.js
CHANGED
|
@@ -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-
|
|
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.
|
|
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.
|
|
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
|
};
|
package/dist/ui/PetBlock.js
CHANGED
|
@@ -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."))));
|
package/dist/ui/RatingBlock.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
declare const RatingBlock: ({ showRating, serviceItem, isSoldOut, colors, t, translation, isPeru, }:
|
|
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;
|
package/dist/ui/RatingBlock.js
CHANGED
|
@@ -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
|
|
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("
|
|
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
|
-
} },
|
|
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) => "
|
|
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;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kupos-ui-components-lib",
|
|
3
|
-
"version": "9.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",
|