kupos-ui-components-lib 9.0.10 → 9.0.11
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/dist/components/ServiceItem/PeruServiceItemDesktop.js +1 -1
- package/dist/components/ServiceItem/RatingHover.d.ts +1 -0
- package/dist/components/ServiceItem/RatingHover.js +30 -29
- package/dist/components/ServiceItem/ServiceItemDesktop.js +5 -3
- package/dist/components/ServiceItem/ServiceItemMobile.d.ts +1 -1
- package/dist/components/ServiceItem/ServiceItemMobile.js +35 -10
- package/dist/components/ServiceItem/mobileTypes.d.ts +2 -0
- package/dist/styles.css +43 -0
- package/dist/ui/BottomAmenities/BottomAmenities.js +1 -1
- package/dist/ui/ExpendedDropDown/ExpandedDropdown.d.ts +1 -10
- package/dist/ui/ExpendedDropDown/ExpandedDropdown.js +1 -1
- package/dist/ui/RatingBlock.d.ts +2 -1
- package/dist/ui/RatingBlock.js +2 -2
- package/dist/ui/SeatSection/SeatSection.js +20 -2
- package/dist/ui/TopAmenities/TopAmenities.js +6 -2
- package/dist/ui/mobileweb/BottomAmenitiesMobile.d.ts +2 -1
- package/dist/ui/mobileweb/BottomAmenitiesMobile.js +18 -18
- package/dist/ui/mobileweb/ExpandedDropdownMobile.d.ts +11 -0
- package/dist/ui/mobileweb/ExpandedDropdownMobile.js +32 -0
- package/dist/ui/mobileweb/TopAmenitieMobile.d.ts +4 -1
- package/dist/ui/mobileweb/TopAmenitieMobile.js +40 -7
- package/package.json +1 -1
- package/src/components/ServiceItem/PeruServiceItemDesktop.tsx +1 -0
- package/src/components/ServiceItem/RatingHover.tsx +51 -48
- package/src/components/ServiceItem/ServiceItemDesktop.tsx +5 -9
- package/src/components/ServiceItem/ServiceItemMobile.tsx +47 -8
- package/src/components/ServiceItem/mobileTypes.ts +2 -0
- package/src/ui/BottomAmenities/BottomAmenities.tsx +8 -8
- package/src/ui/ExpendedDropDown/ExpandedDropdown.tsx +0 -12
- package/src/ui/RatingBlock.tsx +2 -0
- package/src/ui/SeatSection/SeatSection.tsx +22 -2
- package/src/ui/TopAmenities/TopAmenities.tsx +11 -3
- package/src/ui/mobileweb/BottomAmenitiesMobile.tsx +65 -64
- package/src/ui/mobileweb/ExpandedDropdownMobile.tsx +56 -0
- package/src/ui/mobileweb/TopAmenitieMobile.tsx +46 -6
|
@@ -316,7 +316,7 @@ function PeruServiceItemDesktop({ serviceItem, onBookButtonPress, colors, metaDa
|
|
|
316
316
|
{
|
|
317
317
|
key: "rating",
|
|
318
318
|
width: "30%",
|
|
319
|
-
render: (React.createElement(RatingBlock, { showRating: showRating, serviceItem: serviceItem, isSoldOut: isSoldOut, colors: colors, t: t, translation: translation })),
|
|
319
|
+
render: (React.createElement(RatingBlock, { showRating: showRating, serviceItem: serviceItem, isSoldOut: isSoldOut, colors: colors, t: t, translation: translation, isPeru: isPeru })),
|
|
320
320
|
},
|
|
321
321
|
{
|
|
322
322
|
key: "duration",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import RatingItem from "./RatingItem";
|
|
3
|
-
const RatingHover = ({ serviceItem, isSoldOut, colors, t = (key) => key, translation, }) => {
|
|
3
|
+
const RatingHover = ({ serviceItem, isSoldOut, colors, t = (key) => key, translation, isPeru, }) => {
|
|
4
|
+
const ratingIndex = isPeru ? 7 : 6;
|
|
4
5
|
return (React.createElement("div", { className: "flex items-center" },
|
|
5
6
|
React.createElement("div", { className: "w-[18px] h-auto mr-[4px] relative" },
|
|
6
7
|
React.createElement("img", { src: serviceItem.icons.rating, alt: "origin", className: `w-[16px] h-[16px] mr-[4px] object-contain mb-[4px] ${isSoldOut ? "grayscale" : ""}`, onMouseEnter: (e) => {
|
|
@@ -22,37 +23,37 @@ const RatingHover = ({ serviceItem, isSoldOut, colors, t = (key) => key, transla
|
|
|
22
23
|
React.createElement("div", { className: "text-[12px] bold-text" }, translation === null || translation === void 0 ? void 0 : translation.ratingMouseOverText),
|
|
23
24
|
React.createElement("div", { className: "text-[12px] font-light" }, serviceItem.operator_service_name)),
|
|
24
25
|
React.createElement("div", { className: "px-3 py-2 flex flex-col gap-[10px] font9" },
|
|
25
|
-
React.createElement(RatingItem, { rating: serviceItem.operator_details[
|
|
26
|
-
serviceItem.operator_details[
|
|
27
|
-
serviceItem.operator_details[
|
|
28
|
-
parseFloat(serviceItem.operator_details[
|
|
29
|
-
serviceItem.operator_details[
|
|
30
|
-
? +parseFloat(serviceItem.operator_details[
|
|
31
|
-
serviceItem.operator_details[
|
|
26
|
+
React.createElement(RatingItem, { rating: serviceItem.operator_details[ratingIndex] &&
|
|
27
|
+
serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
28
|
+
serviceItem.operator_details[ratingIndex])[0]] &&
|
|
29
|
+
parseFloat(serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
30
|
+
serviceItem.operator_details[ratingIndex])[0]]).toFixed(1)
|
|
31
|
+
? +parseFloat(serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
32
|
+
serviceItem.operator_details[ratingIndex])[0]]).toFixed(1)
|
|
32
33
|
: 0, label: translation === null || translation === void 0 ? void 0 : translation.busQuality, isSoldOut: isSoldOut }),
|
|
33
|
-
React.createElement(RatingItem, { rating: serviceItem.operator_details[
|
|
34
|
-
serviceItem.operator_details[
|
|
35
|
-
serviceItem.operator_details[
|
|
36
|
-
parseFloat(serviceItem.operator_details[
|
|
37
|
-
serviceItem.operator_details[
|
|
38
|
-
? +parseFloat(serviceItem.operator_details[
|
|
39
|
-
serviceItem.operator_details[
|
|
34
|
+
React.createElement(RatingItem, { rating: serviceItem.operator_details[ratingIndex] &&
|
|
35
|
+
serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
36
|
+
serviceItem.operator_details[ratingIndex])[1]] &&
|
|
37
|
+
parseFloat(serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
38
|
+
serviceItem.operator_details[ratingIndex])[1]]).toFixed(1)
|
|
39
|
+
? +parseFloat(serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
40
|
+
serviceItem.operator_details[ratingIndex])[1]]).toFixed(1)
|
|
40
41
|
: 0, label: translation === null || translation === void 0 ? void 0 : translation.punctuality, isSoldOut: isSoldOut }),
|
|
41
|
-
React.createElement(RatingItem, { rating: serviceItem.operator_details[
|
|
42
|
-
serviceItem.operator_details[
|
|
43
|
-
serviceItem.operator_details[
|
|
44
|
-
parseFloat(serviceItem.operator_details[
|
|
45
|
-
serviceItem.operator_details[
|
|
46
|
-
? +parseFloat(serviceItem.operator_details[
|
|
47
|
-
serviceItem.operator_details[
|
|
42
|
+
React.createElement(RatingItem, { rating: serviceItem.operator_details[ratingIndex] &&
|
|
43
|
+
serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
44
|
+
serviceItem.operator_details[ratingIndex])[2]] &&
|
|
45
|
+
parseFloat(serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
46
|
+
serviceItem.operator_details[ratingIndex])[2]]).toFixed(1)
|
|
47
|
+
? +parseFloat(serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
48
|
+
serviceItem.operator_details[ratingIndex])[2]]).toFixed(1)
|
|
48
49
|
: 0, label: translation === null || translation === void 0 ? void 0 : translation.serviceQuality, isSoldOut: isSoldOut }),
|
|
49
|
-
React.createElement(RatingItem, { rating: serviceItem.operator_details[
|
|
50
|
-
serviceItem.operator_details[
|
|
51
|
-
serviceItem.operator_details[
|
|
52
|
-
parseFloat(serviceItem.operator_details[
|
|
53
|
-
serviceItem.operator_details[
|
|
54
|
-
? +parseFloat(serviceItem.operator_details[
|
|
55
|
-
serviceItem.operator_details[
|
|
50
|
+
React.createElement(RatingItem, { rating: serviceItem.operator_details[ratingIndex] &&
|
|
51
|
+
serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
52
|
+
serviceItem.operator_details[ratingIndex])[3]] &&
|
|
53
|
+
parseFloat(serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
54
|
+
serviceItem.operator_details[ratingIndex])[3]]).toFixed(1)
|
|
55
|
+
? +parseFloat(serviceItem.operator_details[ratingIndex][Object.keys(serviceItem.operator_details[ratingIndex] &&
|
|
56
|
+
serviceItem.operator_details[ratingIndex])[3]]).toFixed(1)
|
|
56
57
|
: 0, label: translation === null || translation === void 0 ? void 0 : translation.serviceRecommendation, isSoldOut: isSoldOut })),
|
|
57
58
|
React.createElement("div", { className: "px-1 py-2 text-center text-[12px] font9", style: {
|
|
58
59
|
backgroundColor: isSoldOut ? "#f5f5f5" : colors.ratingBottomColor,
|
|
@@ -110,7 +110,7 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
|
|
|
110
110
|
};
|
|
111
111
|
const checkMidnight = () => {
|
|
112
112
|
var _a, _b;
|
|
113
|
-
setIsExpand(null);
|
|
113
|
+
setIsExpand === null || setIsExpand === void 0 ? void 0 : setIsExpand(null);
|
|
114
114
|
if ((cityOrigin === null || cityOrigin === void 0 ? void 0 : cityOrigin.label) &&
|
|
115
115
|
(cityDestination === null || cityDestination === void 0 ? void 0 : cityDestination.label) &&
|
|
116
116
|
((cityOrigin.label.toLowerCase().includes("argentina") &&
|
|
@@ -258,7 +258,7 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
|
|
|
258
258
|
className: "" },
|
|
259
259
|
React.createElement("img", { src: serviceItem.operator_details[0], alt: "service logo", className: `h-auto w-[150px] object-contain ${isSoldOut ? "grayscale" : ""}` }),
|
|
260
260
|
isCiva ? (React.createElement("div", { className: "text-[13.33px] black-text ml-2" }, serviceItem.operator_details[2])) : null),
|
|
261
|
-
React.createElement(RatingBlock, { showRating: showRating, serviceItem: serviceItem, isSoldOut: isSoldOut, colors: colors, t: t, translation: translation })),
|
|
261
|
+
React.createElement(RatingBlock, { showRating: showRating, serviceItem: serviceItem, isSoldOut: isSoldOut, colors: colors, t: t, translation: translation, isPeru: isPeru })),
|
|
262
262
|
React.createElement(DateTimeSection, { serviceItem: serviceItem, isSoldOut: isSoldOut, isCiva: isCiva, isLinatal: isLinatal, removeArrivalTime: removeArrivalTime, orignLabel: orignLabel, destinationLabel: destinationLabel, busStage: busStage, metaData: metaData, colors: colors }),
|
|
263
263
|
React.createElement("div", { style: {
|
|
264
264
|
width: "1px",
|
|
@@ -283,9 +283,11 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
|
|
|
283
283
|
gridTemplateRows: isItemExpanded ? "1fr" : "0fr",
|
|
284
284
|
opacity: isItemExpanded ? 1 : 0,
|
|
285
285
|
transition: "grid-template-rows 0.3s ease-in-out, opacity 0.25s ease-in-out",
|
|
286
|
+
position: "relative",
|
|
287
|
+
zIndex: -1,
|
|
286
288
|
} },
|
|
287
289
|
React.createElement("div", { style: { overflow: "hidden", minHeight: 0, marginTop: "-10px" } },
|
|
288
|
-
React.createElement(ExpandedDropdown, { serviceItem: serviceItem
|
|
290
|
+
React.createElement(ExpandedDropdown, { serviceItem: serviceItem }))),
|
|
289
291
|
children,
|
|
290
292
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) && (React.createElement("div", { className: "text-white p-[10px_15px] text-left w-full flex items-center absolute -bottom-[36px] pt-[50px] -z-10 rounded-b-[14px] text-[14px]", style: {
|
|
291
293
|
backgroundColor: colors === null || colors === void 0 ? void 0 : colors.bottomStripColor,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { MobileServiceItemProps } from "./mobileTypes";
|
|
3
|
-
declare function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, }: MobileServiceItemProps): React.ReactElement;
|
|
3
|
+
declare function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, isExpanded, setIsExpanded, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, }: MobileServiceItemProps): React.ReactElement;
|
|
4
4
|
export default ServiceItemMobile;
|
|
@@ -4,6 +4,7 @@ import commonService from "../../utils/CommonService";
|
|
|
4
4
|
import TopAmenitieMobile from "../../ui/mobileweb/TopAmenitieMobile";
|
|
5
5
|
import BottomAmenitiesMobile from "../../ui/mobileweb/BottomAmenitiesMobile";
|
|
6
6
|
import DateTimeSectionMobile from "../../ui/mobileweb/DateTimeSectionMobile";
|
|
7
|
+
import ExpandedDropdownMobile from "../../ui/mobileweb/ExpandedDropdownMobile";
|
|
7
8
|
const SEAT_EXCEPTIONS = ["Asiento mascota"];
|
|
8
9
|
const exceptions = [
|
|
9
10
|
"gy",
|
|
@@ -16,11 +17,13 @@ const exceptions = [
|
|
|
16
17
|
"blanco",
|
|
17
18
|
"asiento_mascota",
|
|
18
19
|
];
|
|
19
|
-
function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, }) {
|
|
20
|
+
function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, isExpanded, setIsExpanded, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, }) {
|
|
20
21
|
var _a, _b, _c;
|
|
22
|
+
const isItemExpanded = serviceItem.id === isExpanded;
|
|
21
23
|
const isPetSeat = (Object.keys(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.pet_seat_info) || []).length > 0;
|
|
22
24
|
let isSoldOut = serviceItem.available_seats <= 0;
|
|
23
25
|
const showPromo = Math.random() > 0.5;
|
|
26
|
+
const countdownSeconds = 7830;
|
|
24
27
|
const labelId = typeof serviceItem.boarding_stages === "string"
|
|
25
28
|
? serviceItem.boarding_stages.split("|")[0]
|
|
26
29
|
: "";
|
|
@@ -74,12 +77,20 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
74
77
|
showTopLabel
|
|
75
78
|
? "mt-[10px]"
|
|
76
79
|
: "mt-[10px]"} `, style: { backgroundColor: "#fff", zIndex: 1 } },
|
|
77
|
-
React.createElement(TopAmenitieMobile, { showTopLabel: showTopLabel, isSoldOut: isSoldOut, seatPriceColor: colors.seatPriceColor, bombAnim: serviceItem.icons.bombAnim, priorityStageAnim: serviceItem.icons.priorityStageAnim
|
|
80
|
+
React.createElement(TopAmenitieMobile, { showTopLabel: showTopLabel, isSoldOut: isSoldOut, seatPriceColor: colors.seatPriceColor, bombAnim: serviceItem.icons.bombAnim, priorityStageAnim: serviceItem.icons.priorityStageAnim, countdownSeconds: countdownSeconds, onCountdownEnd: () => {
|
|
81
|
+
const cardEl = document.getElementById(`service-card-${serviceItem.id}`);
|
|
82
|
+
if (!cardEl)
|
|
83
|
+
return;
|
|
84
|
+
cardEl.style.border = "1px solid #ccc";
|
|
85
|
+
if (!showTopLabel) {
|
|
86
|
+
cardEl.style.borderRadius = "10px";
|
|
87
|
+
}
|
|
88
|
+
} }),
|
|
78
89
|
React.createElement("div", { className: " rounded-[20px]", style: {
|
|
79
90
|
backgroundColor: "#fff",
|
|
80
91
|
zIndex: 1,
|
|
81
92
|
// borderRadius: showTopLabel ? "10px 0 10px 10px" : "10px",
|
|
82
|
-
borderRadius: "
|
|
93
|
+
borderRadius: "12px 0 12px 12px",
|
|
83
94
|
border: `1px solid ${colors.bottomStripColor}`,
|
|
84
95
|
} },
|
|
85
96
|
React.createElement("div", {
|
|
@@ -107,12 +118,16 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
107
118
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.available_seats) > 0 && (React.createElement("div", { className: "text-[10px] text-[#464647] text-center" }, "\u00A1 \u00DAltimos Asientos!")))) : null),
|
|
108
119
|
React.createElement(DateTimeSectionMobile, { onBookButtonPress: onBookButtonPress, isCiva: isCiva, isSoldOut: isSoldOut, isLinatal: isLinatal, isPeru: isPeru, orignLabel: orignLabel, destinationLabel: destinationLabel, originIcon: (_a = serviceItem.icons) === null || _a === void 0 ? void 0 : _a.origin, destinationIcon: (_b = serviceItem.icons) === null || _b === void 0 ? void 0 : _b.destination, travelDate: serviceItem.travel_date, arrivalDate: serviceItem.arrival_date, depTime: serviceItem.dep_time, arrTime: serviceItem.arr_time, seatTypes: serviceItem.seat_types, seatPriceColor: colors.seatPriceColor, currencySign: currencySign, availableSeats: serviceItem.available_seats, removeDuplicateSeats: removeDuplicateSeats }),
|
|
109
120
|
React.createElement("div", { className: "bg-[#E6E6E6] mt-[10px] mb-[10px] h-[1px]" }),
|
|
110
|
-
React.createElement(BottomAmenitiesMobile, { isSoldOut: isSoldOut, amenitiesNodes: amenities(), hoursIcon: renderIcon("hours", "14px"), duration: (_c = serviceItem.duration) === null || _c === void 0 ? void 0 : _c.toString(), isDirectTrip: serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip, directoColor: colors.directoColor, directoAnim: serviceItem.icons.directoAnim, isChangeTicket: serviceItem.is_change_ticket, isPetSeat: isPetSeat, petSeatInfo: serviceItem.pet_seat_info, petFriendlyAnim: serviceItem.icons.petFriendlyAnim, flexibleAnim: serviceItem.icons.flexibleAnim, isTrackingEnabled: serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_tracking_enabled, locationAnim: serviceItem.icons.locationAnim, downArrowIcon: serviceItem.icons.downArrow, showDropdown:
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
121
|
+
React.createElement(BottomAmenitiesMobile, { isSoldOut: isSoldOut, amenitiesNodes: amenities(), hoursIcon: renderIcon("hours", "14px"), duration: (_c = serviceItem.duration) === null || _c === void 0 ? void 0 : _c.toString(), isDirectTrip: serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip, directoColor: colors.directoColor, directoAnim: serviceItem.icons.directoAnim, isChangeTicket: serviceItem.is_change_ticket, isPetSeat: isPetSeat, petSeatInfo: serviceItem.pet_seat_info, petFriendlyAnim: serviceItem.icons.petFriendlyAnim, flexibleAnim: serviceItem.icons.flexibleAnim, isTrackingEnabled: serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_tracking_enabled, locationAnim: serviceItem.icons.locationAnim, downArrowIcon: serviceItem.icons.downArrow, showDropdown: isItemExpanded, setShowDropdown: () => setIsExpanded(isItemExpanded ? null : serviceItem.id),
|
|
122
|
+
// onDropdownToggle={() => {
|
|
123
|
+
// setShowDropdown(!showDropdown);
|
|
124
|
+
// setAmenetiesAtomValue({
|
|
125
|
+
// service: serviceItem,
|
|
126
|
+
// showTopLabel: showTopLabel,
|
|
127
|
+
// });
|
|
128
|
+
// }}
|
|
129
|
+
onDropdownToggle: () => {
|
|
130
|
+
setIsExpanded(isItemExpanded ? null : serviceItem.id);
|
|
116
131
|
} })),
|
|
117
132
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) && (React.createElement("div", { className: ` text-white p-[10px_15px] text-left w-full flex items-center absolute -bottom-[35px] pt-[50px] z-10 rounded-b-[14px] min-[420]:text-[14px] text-[12px]`, style: {
|
|
118
133
|
backgroundColor: isSoldOut ? "#ccc" : colors === null || colors === void 0 ? void 0 : colors.bottomStripColor,
|
|
@@ -123,6 +138,16 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
123
138
|
} },
|
|
124
139
|
React.createElement(LottiePlayer, { animationData: serviceItem.icons.promoAnim, width: "18px", height: "18px" }),
|
|
125
140
|
React.createElement("span", { className: "ml-[10px] text-[#fff] min-[380px]:text-[11px] text-[10px]" }, serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text))),
|
|
126
|
-
React.createElement("div", { className: "absolute -top-[14px] left-0 w-full flex items-center justify-end gap-[12px] pr-[20px] z-10 " }))
|
|
141
|
+
React.createElement("div", { className: "absolute -top-[14px] left-0 w-full flex items-center justify-end gap-[12px] pr-[20px] z-10 " })),
|
|
142
|
+
React.createElement("div", { style: {
|
|
143
|
+
display: "grid",
|
|
144
|
+
gridTemplateRows: isItemExpanded ? "1fr" : "0fr",
|
|
145
|
+
opacity: isItemExpanded ? 1 : 0,
|
|
146
|
+
transition: "grid-template-rows 0.3s ease-in-out, opacity 0.25s ease-in-out",
|
|
147
|
+
position: "relative",
|
|
148
|
+
zIndex: -1,
|
|
149
|
+
} },
|
|
150
|
+
React.createElement("div", { style: { overflow: "hidden", minHeight: 0, marginTop: "-10px" } },
|
|
151
|
+
React.createElement(ExpandedDropdownMobile, { serviceItem: serviceItem })))));
|
|
127
152
|
}
|
|
128
153
|
export default ServiceItemMobile;
|
|
@@ -121,6 +121,8 @@ export interface MobileServiceItemProps {
|
|
|
121
121
|
terminals?: any[];
|
|
122
122
|
showDropdown?: boolean;
|
|
123
123
|
setShowDropdown?: (value: boolean) => void;
|
|
124
|
+
isExpanded?: string | null;
|
|
125
|
+
setIsExpanded?: (value: string | null) => void;
|
|
124
126
|
setAmenetiesAtomValue?: (value: {
|
|
125
127
|
service: MobileServiceItemProps["serviceItem"];
|
|
126
128
|
showTopLabel: string | boolean;
|
package/dist/styles.css
CHANGED
|
@@ -626,6 +626,9 @@
|
|
|
626
626
|
.px-\[10px\] {
|
|
627
627
|
padding-inline: 10px;
|
|
628
628
|
}
|
|
629
|
+
.px-\[12px\] {
|
|
630
|
+
padding-inline: 12px;
|
|
631
|
+
}
|
|
629
632
|
.px-\[14px\] {
|
|
630
633
|
padding-inline: 14px;
|
|
631
634
|
}
|
|
@@ -665,6 +668,9 @@
|
|
|
665
668
|
.pt-\[20px\] {
|
|
666
669
|
padding-top: 20px;
|
|
667
670
|
}
|
|
671
|
+
.pt-\[22px\] {
|
|
672
|
+
padding-top: 22px;
|
|
673
|
+
}
|
|
668
674
|
.pt-\[26px\] {
|
|
669
675
|
padding-top: 26px;
|
|
670
676
|
}
|
|
@@ -689,6 +695,9 @@
|
|
|
689
695
|
.pb-\[10px\] {
|
|
690
696
|
padding-bottom: 10px;
|
|
691
697
|
}
|
|
698
|
+
.pb-\[12px\] {
|
|
699
|
+
padding-bottom: 12px;
|
|
700
|
+
}
|
|
692
701
|
.pb-\[14px\] {
|
|
693
702
|
padding-bottom: 14px;
|
|
694
703
|
}
|
|
@@ -786,6 +795,10 @@
|
|
|
786
795
|
.uppercase {
|
|
787
796
|
text-transform: uppercase;
|
|
788
797
|
}
|
|
798
|
+
.tabular-nums {
|
|
799
|
+
--tw-numeric-spacing: tabular-nums;
|
|
800
|
+
font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
|
|
801
|
+
}
|
|
789
802
|
.line-through {
|
|
790
803
|
text-decoration-line: line-through;
|
|
791
804
|
}
|
|
@@ -877,6 +890,11 @@
|
|
|
877
890
|
font-size: 11px;
|
|
878
891
|
}
|
|
879
892
|
}
|
|
893
|
+
.min-\[420px\]\:text-\[12px\] {
|
|
894
|
+
@media (width >= 420px) {
|
|
895
|
+
font-size: 12px;
|
|
896
|
+
}
|
|
897
|
+
}
|
|
880
898
|
@keyframes load8 {
|
|
881
899
|
0% {
|
|
882
900
|
transform: rotate(0deg);
|
|
@@ -962,6 +980,26 @@
|
|
|
962
980
|
syntax: "*";
|
|
963
981
|
inherits: false;
|
|
964
982
|
}
|
|
983
|
+
@property --tw-ordinal {
|
|
984
|
+
syntax: "*";
|
|
985
|
+
inherits: false;
|
|
986
|
+
}
|
|
987
|
+
@property --tw-slashed-zero {
|
|
988
|
+
syntax: "*";
|
|
989
|
+
inherits: false;
|
|
990
|
+
}
|
|
991
|
+
@property --tw-numeric-figure {
|
|
992
|
+
syntax: "*";
|
|
993
|
+
inherits: false;
|
|
994
|
+
}
|
|
995
|
+
@property --tw-numeric-spacing {
|
|
996
|
+
syntax: "*";
|
|
997
|
+
inherits: false;
|
|
998
|
+
}
|
|
999
|
+
@property --tw-numeric-fraction {
|
|
1000
|
+
syntax: "*";
|
|
1001
|
+
inherits: false;
|
|
1002
|
+
}
|
|
965
1003
|
@property --tw-blur {
|
|
966
1004
|
syntax: "*";
|
|
967
1005
|
inherits: false;
|
|
@@ -1043,6 +1081,11 @@
|
|
|
1043
1081
|
--tw-border-style: solid;
|
|
1044
1082
|
--tw-leading: initial;
|
|
1045
1083
|
--tw-font-weight: initial;
|
|
1084
|
+
--tw-ordinal: initial;
|
|
1085
|
+
--tw-slashed-zero: initial;
|
|
1086
|
+
--tw-numeric-figure: initial;
|
|
1087
|
+
--tw-numeric-spacing: initial;
|
|
1088
|
+
--tw-numeric-fraction: initial;
|
|
1046
1089
|
--tw-blur: initial;
|
|
1047
1090
|
--tw-brightness: initial;
|
|
1048
1091
|
--tw-contrast: initial;
|
|
@@ -18,6 +18,6 @@ function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, i
|
|
|
18
18
|
React.createElement(LottiePlayer, { animationData: getAnimationIcon("locationAnim"), width: "20px", height: "20px" }))),
|
|
19
19
|
serviceItem.is_change_ticket && (React.createElement(FlexibleBlock, { translation: translation, getAnimationIcon: getAnimationIcon, colors: colors, serviceItem: serviceItem, isSoldOut: isSoldOut })),
|
|
20
20
|
hasPetInfo && (React.createElement(PetBlock, { translation: translation, getAnimationIcon: getAnimationIcon, colors: colors, isSoldOut: isSoldOut })),
|
|
21
|
-
|
|
21
|
+
React.createElement("div", { className: `flex items-center cursor-pointer ml-[4px] transition-transform duration-300 w-[14px] h-[14px] `, onClick: onToggleExpand }, downArrowIcon))));
|
|
22
22
|
}
|
|
23
23
|
export default BottomAmenities;
|
|
@@ -6,15 +6,6 @@ interface ExpandedDropdownProps {
|
|
|
6
6
|
is_change_ticket?: boolean;
|
|
7
7
|
is_tracking_enabled?: boolean;
|
|
8
8
|
};
|
|
9
|
-
showPromo: boolean;
|
|
10
|
-
colors: {
|
|
11
|
-
priceColor?: string;
|
|
12
|
-
};
|
|
13
|
-
grayscaleClass: string;
|
|
14
|
-
translation?: {
|
|
15
|
-
[key: string]: string;
|
|
16
|
-
};
|
|
17
|
-
getAnimationIcon: (icon: string) => any;
|
|
18
9
|
}
|
|
19
|
-
declare function ExpandedDropdown({ serviceItem,
|
|
10
|
+
declare function ExpandedDropdown({ serviceItem, }: ExpandedDropdownProps): React.ReactElement;
|
|
20
11
|
export default ExpandedDropdown;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
function ExpandedDropdown({ serviceItem,
|
|
2
|
+
function ExpandedDropdown({ serviceItem, }) {
|
|
3
3
|
var _a, _b;
|
|
4
4
|
const hasPetInfo = serviceItem.pet_seat_info &&
|
|
5
5
|
Object.keys(serviceItem.pet_seat_info).length > 0;
|
package/dist/ui/RatingBlock.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
declare const RatingBlock: ({ showRating, serviceItem, isSoldOut, colors, t, translation, }: {
|
|
2
|
+
declare const RatingBlock: ({ showRating, serviceItem, isSoldOut, colors, t, translation, isPeru, }: {
|
|
3
3
|
showRating: any;
|
|
4
4
|
serviceItem: any;
|
|
5
5
|
isSoldOut: any;
|
|
6
6
|
colors: any;
|
|
7
7
|
t: any;
|
|
8
8
|
translation: any;
|
|
9
|
+
isPeru: any;
|
|
9
10
|
}) => React.JSX.Element;
|
|
10
11
|
export default RatingBlock;
|
package/dist/ui/RatingBlock.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import RatingHover from "../components/ServiceItem/RatingHover";
|
|
3
|
-
const RatingBlock = ({ showRating, serviceItem, isSoldOut, colors, t, translation, }) => (React.createElement("div", { className: "flex items-center whitespace-nowrap" },
|
|
4
|
-
showRating && (React.createElement(RatingHover, { serviceItem: serviceItem, isSoldOut: isSoldOut, colors: colors, t: t, translation: translation })),
|
|
3
|
+
const RatingBlock = ({ showRating, serviceItem, isSoldOut, colors, t, translation, isPeru, }) => (React.createElement("div", { className: "flex items-center whitespace-nowrap" },
|
|
4
|
+
showRating && (React.createElement(RatingHover, { serviceItem: serviceItem, isSoldOut: isSoldOut, colors: colors, t: t, translation: translation, isPeru: isPeru })),
|
|
5
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",
|
|
@@ -22,6 +22,13 @@ function getSortedSeatTypes(seatTypes) {
|
|
|
22
22
|
seatTypesWithPrices[2] = seatTypesWithPrices[premiumIndex];
|
|
23
23
|
}
|
|
24
24
|
seatTypesWithPrices = seatTypesWithPrices.slice(0, 2);
|
|
25
|
+
const seenPrices = new Set();
|
|
26
|
+
seatTypesWithPrices = seatTypesWithPrices.filter((seat) => {
|
|
27
|
+
if (seenPrices.has(seat.price))
|
|
28
|
+
return false;
|
|
29
|
+
seenPrices.add(seat.price);
|
|
30
|
+
return true;
|
|
31
|
+
});
|
|
25
32
|
return seatTypesWithPrices;
|
|
26
33
|
}
|
|
27
34
|
function getUniqueSeats(seatTypes) {
|
|
@@ -35,7 +42,14 @@ function getUniqueSeats(seatTypes) {
|
|
|
35
42
|
seatMap.set(seat.label, seat);
|
|
36
43
|
}
|
|
37
44
|
});
|
|
38
|
-
|
|
45
|
+
const uniqueByLabel = Array.from(seatMap.values());
|
|
46
|
+
const seenPrices = new Set();
|
|
47
|
+
return uniqueByLabel.filter((seat) => {
|
|
48
|
+
if (seenPrices.has(seat.price))
|
|
49
|
+
return false;
|
|
50
|
+
seenPrices.add(seat.price);
|
|
51
|
+
return true;
|
|
52
|
+
});
|
|
39
53
|
}
|
|
40
54
|
function getNumberOfSeats(seatTypes) {
|
|
41
55
|
return seatTypes.filter((val) => !SEAT_EXCEPTIONS.includes(val.label)).length;
|
|
@@ -67,7 +81,11 @@ function SeatSection({ seatTypes, availableSeats, isSoldOut, priceColor, currenc
|
|
|
67
81
|
const renderLabels = () => {
|
|
68
82
|
if (isPeru) {
|
|
69
83
|
return (React.createElement(React.Fragment, null,
|
|
70
|
-
React.createElement("span", { className: "text-[13.33px]", style: {
|
|
84
|
+
React.createElement("span", { className: "text-[13.33px]", style: {
|
|
85
|
+
color: "#999",
|
|
86
|
+
// position: "relative",
|
|
87
|
+
// bottom: numberOfSeats ? "10px" : "",
|
|
88
|
+
} }, "Antes"),
|
|
71
89
|
React.createElement("span", { className: "text-[13.33px]" }, "Desde")));
|
|
72
90
|
}
|
|
73
91
|
return renderSeatNames();
|
|
@@ -43,11 +43,15 @@ function TopAmenities({ showPromo, showTopLabel, isSoldOut, priceColor, buttonCo
|
|
|
43
43
|
borderTopLeftRadius: "10px",
|
|
44
44
|
} },
|
|
45
45
|
React.createElement("div", { style: { display: "flex", alignItems: "center" } },
|
|
46
|
-
React.createElement(LottiePlayer, { animationData: getAnimationIcon("bombAnimation"), width: "
|
|
46
|
+
React.createElement(LottiePlayer, { animationData: getAnimationIcon("bombAnimation"), width: "20px", height: "20px" }),
|
|
47
47
|
React.createElement("span", { className: "flex items-center py-[10px] pl-[6px] text-white text-[13.33px] z-20", style: { paddingRight: showTopLabel ? "18px" : "" } },
|
|
48
48
|
React.createElement("span", { className: "bold-text" }, "kuponazo 20%\u00A0"),
|
|
49
49
|
" | Termina en\u00A0",
|
|
50
|
-
React.createElement("span", { className: "bold-text", ref: startCountdown
|
|
50
|
+
React.createElement("span", { className: "bold-text", ref: startCountdown, style: {
|
|
51
|
+
fontVariantNumeric: "tabular-nums",
|
|
52
|
+
display: "inline-block",
|
|
53
|
+
minWidth: "70px",
|
|
54
|
+
} })))),
|
|
51
55
|
showTopLabel && (React.createElement("div", { className: "flex items-center py-[10px] px-[14px] text-[13.33px] z-20", style: {
|
|
52
56
|
backgroundColor: isSoldOut ? "#ddd" : buttonColor,
|
|
53
57
|
borderTopRightRadius: "10px",
|
|
@@ -18,6 +18,7 @@ interface BottomAmenitiesMobileProps {
|
|
|
18
18
|
showDropdown: boolean;
|
|
19
19
|
setShowDropdown: (val: boolean) => void;
|
|
20
20
|
onDropdownToggle: () => void;
|
|
21
|
+
isItemExpanded?: boolean;
|
|
21
22
|
}
|
|
22
|
-
declare function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration, isDirectTrip, directoColor, directoAnim, isChangeTicket, isPetSeat, petSeatInfo, petFriendlyAnim, flexibleAnim, isTrackingEnabled, locationAnim, downArrowIcon, showDropdown, setShowDropdown, onDropdownToggle, }: BottomAmenitiesMobileProps): React.ReactElement;
|
|
23
|
+
declare function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration, isDirectTrip, directoColor, directoAnim, isChangeTicket, isPetSeat, petSeatInfo, petFriendlyAnim, flexibleAnim, isTrackingEnabled, locationAnim, downArrowIcon, showDropdown, setShowDropdown, onDropdownToggle, isItemExpanded, }: BottomAmenitiesMobileProps): React.ReactElement;
|
|
23
24
|
export default BottomAmenitiesMobile;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import LottiePlayer from "../../assets/LottiePlayer";
|
|
3
|
-
function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration, isDirectTrip, directoColor, directoAnim, isChangeTicket, isPetSeat, petSeatInfo, petFriendlyAnim, flexibleAnim, isTrackingEnabled, locationAnim, downArrowIcon, showDropdown, setShowDropdown, onDropdownToggle, }) {
|
|
3
|
+
function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration, isDirectTrip, directoColor, directoAnim, isChangeTicket, isPetSeat, petSeatInfo, petFriendlyAnim, flexibleAnim, isTrackingEnabled, locationAnim, downArrowIcon, showDropdown, setShowDropdown, onDropdownToggle, isItemExpanded, }) {
|
|
4
4
|
return (React.createElement("div", { className: `${"flex justify-between items-center items-center "}` },
|
|
5
5
|
React.createElement("div", { className: "w-[55%] flex justify-between items-center" },
|
|
6
6
|
React.createElement("div", { style: { opacity: isSoldOut ? 0.5 : 1 } }, amenitiesNodes),
|
|
@@ -16,22 +16,22 @@ function BottomAmenitiesMobile({ isSoldOut, amenitiesNodes, hoursIcon, duration,
|
|
|
16
16
|
} },
|
|
17
17
|
React.createElement(LottiePlayer, { animationData: directoAnim, width: "14px", height: "14px" }),
|
|
18
18
|
React.createElement("div", { className: "ml-[5px]" }, "Directo")))),
|
|
19
|
-
React.createElement("div",
|
|
20
|
-
|
|
21
|
-
React.createElement("div", { className:
|
|
22
|
-
React.createElement("div", { className:
|
|
23
|
-
React.createElement("div", { className:
|
|
24
|
-
React.createElement(
|
|
25
|
-
|
|
26
|
-
React.createElement("div", { className: "
|
|
27
|
-
React.createElement("div", { className: "
|
|
28
|
-
React.createElement("div", { className:
|
|
29
|
-
React.createElement(
|
|
30
|
-
|
|
31
|
-
React.createElement("div", { className:
|
|
32
|
-
React.createElement(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
19
|
+
React.createElement("div", { className: "flex items-center" },
|
|
20
|
+
React.createElement("div", null, (isChangeTicket || isPetSeat) && (React.createElement("div", { className: "flex items-center" },
|
|
21
|
+
petSeatInfo && Object.keys(petSeatInfo).length > 0 ? (React.createElement("div", { className: "flex items-center" },
|
|
22
|
+
React.createElement("div", { className: `relative group cursor-default ` },
|
|
23
|
+
React.createElement("div", { className: "flex items-center" },
|
|
24
|
+
React.createElement("div", { className: `mr-[5px] ${isSoldOut ? "grayscale" : ""}` },
|
|
25
|
+
React.createElement(LottiePlayer, { animationData: petFriendlyAnim, width: "16px", height: "16px" })))))) : null,
|
|
26
|
+
isChangeTicket && (React.createElement("div", { className: "flex items-center" },
|
|
27
|
+
React.createElement("div", { className: "relative group cursor-default" },
|
|
28
|
+
React.createElement("div", { className: "flex items-center" },
|
|
29
|
+
React.createElement("div", { className: `mr-[5px] ${isSoldOut ? "grayscale" : ""}` },
|
|
30
|
+
React.createElement(LottiePlayer, { animationData: flexibleAnim, width: "16px", height: "16px" })))))),
|
|
31
|
+
isTrackingEnabled && (React.createElement("div", { className: "flex items-center mr-[10px]" },
|
|
32
|
+
React.createElement("div", { className: `h-auto mr-[4px] min-[420]:text-[13px] text-[11px] text-[#464647] ${isSoldOut ? "grayscale" : ""}` },
|
|
33
|
+
React.createElement(LottiePlayer, { animationData: locationAnim, width: "16px", height: "16px" }))))))),
|
|
34
|
+
React.createElement("div", { onClick: onDropdownToggle },
|
|
35
|
+
React.createElement("img", { src: downArrowIcon, alt: "icon", width: 14, height: 14, className: `${showDropdown ? "rotate-180" : ""} transition-transform duration-300` })))));
|
|
36
36
|
}
|
|
37
37
|
export default BottomAmenitiesMobile;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface ExpandedDropdownMobileProps {
|
|
3
|
+
serviceItem: {
|
|
4
|
+
change_ticket_hours?: number;
|
|
5
|
+
pet_seat_info?: Record<string, any>;
|
|
6
|
+
is_change_ticket?: boolean;
|
|
7
|
+
is_tracking_enabled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
declare function ExpandedDropdownMobile({ serviceItem, }: ExpandedDropdownMobileProps): React.ReactElement;
|
|
11
|
+
export default ExpandedDropdownMobile;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
function ExpandedDropdownMobile({ serviceItem, }) {
|
|
3
|
+
var _a, _b;
|
|
4
|
+
return (React.createElement("div", { className: "px-[12px] pt-[22px] pb-[12px] relative -z-9", style: {
|
|
5
|
+
backgroundColor: "#ffefef",
|
|
6
|
+
borderRadius: "0 0 14px 14px",
|
|
7
|
+
} },
|
|
8
|
+
React.createElement("div", { className: "flex flex-col gap-[8px] text-[11px] min-[420px]:text-[12px] text-[#464647]", style: { lineHeight: 1.6 } },
|
|
9
|
+
React.createElement("div", { className: "flex gap-[6px]" },
|
|
10
|
+
React.createElement("span", { style: { marginTop: "2px" } }, "\u2022"),
|
|
11
|
+
React.createElement("span", null,
|
|
12
|
+
React.createElement("span", { className: "bold-text" }, "Pol\u00EDticas de anulaci\u00F3n:"),
|
|
13
|
+
" Tu pasaje puede ser anulado de forma online",
|
|
14
|
+
" ",
|
|
15
|
+
React.createElement("span", { className: "bold-text" },
|
|
16
|
+
"hasta ", (_a = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.change_ticket_hours) !== null && _a !== void 0 ? _a : 6,
|
|
17
|
+
" horas antes"),
|
|
18
|
+
" ",
|
|
19
|
+
"de la salida del bus. Al anular tu pasaje recibir\u00E1s una devoluci\u00F3n del 85% del monto de tu compra.")),
|
|
20
|
+
React.createElement("div", { className: "flex gap-[6px]" },
|
|
21
|
+
React.createElement("span", { style: { marginTop: "2px" } }, "\u2022"),
|
|
22
|
+
React.createElement("span", null,
|
|
23
|
+
React.createElement("span", { className: "bold-text" }, "Pol\u00EDticas de cambios:"),
|
|
24
|
+
" Tu pasaje puede ser cambiado de manera online",
|
|
25
|
+
" ",
|
|
26
|
+
React.createElement("span", { className: "bold-text" },
|
|
27
|
+
"hasta ", (_b = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.change_ticket_hours) !== null && _b !== void 0 ? _b : 6,
|
|
28
|
+
" horas antes"),
|
|
29
|
+
" ",
|
|
30
|
+
"de la salida del bus. El monto ser\u00E1 reembolsado a tu billetera kupospay.")))));
|
|
31
|
+
}
|
|
32
|
+
export default ExpandedDropdownMobile;
|
|
@@ -5,6 +5,9 @@ interface TopAmenitieMobileProps {
|
|
|
5
5
|
seatPriceColor?: string;
|
|
6
6
|
bombAnim?: any;
|
|
7
7
|
priorityStageAnim?: any;
|
|
8
|
+
countdownSeconds?: number;
|
|
9
|
+
promoText?: string;
|
|
10
|
+
onCountdownEnd?: () => void;
|
|
8
11
|
}
|
|
9
|
-
declare function TopAmenitieMobile({ showTopLabel, isSoldOut, seatPriceColor, bombAnim, priorityStageAnim, }: TopAmenitieMobileProps): React.ReactElement;
|
|
12
|
+
declare function TopAmenitieMobile({ showTopLabel, isSoldOut, seatPriceColor, bombAnim, priorityStageAnim, countdownSeconds, onCountdownEnd, }: TopAmenitieMobileProps): React.ReactElement;
|
|
10
13
|
export default TopAmenitieMobile;
|