kupos-ui-components-lib 9.7.0 → 9.7.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/dist/KuposUIComponent.d.ts +3 -0
- package/dist/assets/images/anims/service_list/users_anim.json +1 -0
- package/dist/components/ServiceItem/ServiceItemDesktop.d.ts +1 -1
- package/dist/components/ServiceItem/ServiceItemDesktop.js +10 -2
- package/dist/components/ServiceItem/ServiceItemMobile.d.ts +1 -1
- package/dist/components/ServiceItem/ServiceItemMobile.js +16 -7
- package/dist/components/ServiceItem/mobileTypes.d.ts +27 -0
- package/dist/components/ServiceItem/types.d.ts +10 -0
- package/dist/styles.css +62 -14
- package/dist/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.d.ts +18 -0
- package/dist/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.js +233 -0
- package/dist/ui/FeatureServiceUI/FeatureServiceUi.d.ts +7 -2
- package/dist/ui/FeatureServiceUI/FeatureServiceUi.js +109 -92
- package/dist/ui/SeatSection/SeatSection.js +1 -1
- package/dist/utils/CommonService.js +11 -1
- package/package.json +1 -1
- package/src/KuposUIComponent.tsx +3 -0
- package/src/assets/images/anims/service_list/users_anim.json +1 -0
- package/src/components/ServiceItem/ServiceItemDesktop.tsx +23 -1
- package/src/components/ServiceItem/ServiceItemMobile.tsx +331 -286
- package/src/components/ServiceItem/mobileTypes.ts +22 -0
- package/src/components/ServiceItem/types.ts +11 -1
- package/src/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.tsx +790 -0
- package/src/ui/FeatureServiceUI/FeatureServiceUi.tsx +181 -253
- package/src/ui/SeatSection/SeatSection.tsx +1 -1
- package/src/utils/CommonService.ts +13 -1
|
@@ -15,6 +15,9 @@ interface KuposUIComponentProps {
|
|
|
15
15
|
orignLabel?: string;
|
|
16
16
|
destinationLabel?: string;
|
|
17
17
|
t?: (key: string) => string;
|
|
18
|
+
ticketQuantity?: number;
|
|
19
|
+
onIncreaseTicketQuantity?: (serviceItem: any) => void;
|
|
20
|
+
onDecreaseTicketQuantity?: (serviceItem: any) => void;
|
|
18
21
|
id?: string;
|
|
19
22
|
name?: string;
|
|
20
23
|
description?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"nm":"Main Scene","ddd":0,"h":512,"w":512,"meta":{"g":"@lottiefiles/creator@1.90.1"},"layers":[{"ty":2,"nm":"111","sr":1,"st":0,"op":150,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[54.49996512276783,38.99999128069197]},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[436.62,436.62],"t":0},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[300,300],"t":58},{"s":[436.62,436.62],"t":112}]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[255.99996512276783,255.99999128069197]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100],"t":0},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[70],"t":58},{"s":[100],"t":112}]}},"refId":"111_b9bb56d2-8f3c-4772-b1ac-9caf81e5c707","ind":1}],"v":"5.7.0","fr":30,"op":114,"ip":0,"assets":[{"id":"111_b9bb56d2-8f3c-4772-b1ac-9caf81e5c707","e":1,"w":109,"h":78,"p":"data:image/png;base64,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","u":""}]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ServiceItemProps } from "./types";
|
|
3
|
-
declare function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, children, busStage, serviceDetailsLoading, cityOrigin, cityDestination, translation, orignLabel, destinationLabel, currencySign, isCiva, showRating, showLastSeats, removeArrivalTime, removeDuplicateSeats, isPeruSites, showAvailableSeats, isSeatIcon, isLinatal, isPeru, t, siteType, isAllinBus, isExpand, setIsExpand, coachKey, viewersConfig, isNewUi, showLoginModal, isLoggedIn, showLoginOption, }: ServiceItemProps & {
|
|
3
|
+
declare function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, children, busStage, serviceDetailsLoading, cityOrigin, cityDestination, translation, orignLabel, destinationLabel, currencySign, isCiva, showRating, showLastSeats, removeArrivalTime, removeDuplicateSeats, isPeruSites, showAvailableSeats, isSeatIcon, isLinatal, isPeru, t, siteType, isAllinBus, isExpand, setIsExpand, coachKey, viewersConfig, isNewUi, showLoginModal, isLoggedIn, showLoginOption, isFeatureDropDownExpand, setIsFeatureDropDownExpand, ticketQuantity, onIncreaseTicketQuantity, onDecreaseTicketQuantity, }: ServiceItemProps & {
|
|
4
4
|
currencySign?: string;
|
|
5
5
|
}): React.ReactElement;
|
|
6
6
|
export default ServiceItemPB;
|
|
@@ -23,6 +23,7 @@ import bombAnimation from "../../assets/images/anims/service_list/bomb.json";
|
|
|
23
23
|
import dotAnimation from "../../assets/images/anims/service_list/dot_animation.json";
|
|
24
24
|
import starAnimation from "../../assets/images/anims/service_list/star_anim.json";
|
|
25
25
|
import femaleAnimation from "../../assets/images/anims/service_list/female_anim.json";
|
|
26
|
+
import usersAnimation from "../../assets/images/anims/service_list/users_anim.json";
|
|
26
27
|
import RatingBlock from "../../ui/RatingBlock";
|
|
27
28
|
import DurationBlock from "../../ui/DurationBlock";
|
|
28
29
|
import PetBlock from "../../ui/PetBlock";
|
|
@@ -78,8 +79,11 @@ const ANIMATION_MAP = {
|
|
|
78
79
|
femaaleAnimation: {
|
|
79
80
|
kupos: femaleAnimation,
|
|
80
81
|
},
|
|
82
|
+
usersAnimation: {
|
|
83
|
+
kupos: usersAnimation,
|
|
84
|
+
},
|
|
81
85
|
};
|
|
82
|
-
function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, children, busStage, serviceDetailsLoading, cityOrigin, cityDestination, translation, orignLabel, destinationLabel, currencySign, isCiva, showRating, showLastSeats, removeArrivalTime, removeDuplicateSeats, isPeruSites, showAvailableSeats, isSeatIcon, isLinatal, isPeru, t = (key) => key, siteType, isAllinBus, isExpand, setIsExpand, coachKey, viewersConfig, isNewUi, showLoginModal, isLoggedIn, showLoginOption, }) {
|
|
86
|
+
function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, children, busStage, serviceDetailsLoading, cityOrigin, cityDestination, translation, orignLabel, destinationLabel, currencySign, isCiva, showRating, showLastSeats, removeArrivalTime, removeDuplicateSeats, isPeruSites, showAvailableSeats, isSeatIcon, isLinatal, isPeru, t = (key) => key, siteType, isAllinBus, isExpand, setIsExpand, coachKey, viewersConfig, isNewUi, showLoginModal, isLoggedIn, showLoginOption, isFeatureDropDownExpand, setIsFeatureDropDownExpand, ticketQuantity, onIncreaseTicketQuantity, onDecreaseTicketQuantity, }) {
|
|
83
87
|
var _a;
|
|
84
88
|
const getAnimationIcon = (icon) => {
|
|
85
89
|
var _a;
|
|
@@ -248,7 +252,11 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
|
|
|
248
252
|
},
|
|
249
253
|
];
|
|
250
254
|
const otherItems = items.filter((i) => i.key !== "pet" && i.key !== "flexible" && !!i.condition);
|
|
251
|
-
return (React.createElement(React.Fragment, null, isPeruSites ? (React.createElement(PeruServiceItemDesktop, { serviceItem: serviceItem, onBookButtonPress: onBookButtonPress, colors: colors, metaData: metaData, children: children, busStage: busStage, serviceDetailsLoading: serviceDetailsLoading, cityOrigin: cityOrigin, cityDestination: cityDestination, translation: translation, orignLabel: orignLabel, destinationLabel: destinationLabel, currencySign: currencySign, isCiva: isCiva, showRating: showRating, showLastSeats: showLastSeats, removeArrivalTime: removeArrivalTime, removeDuplicateSeats: removeDuplicateSeats, isPeruSites: isPeruSites, t: (key) => t(key), showAvailableSeats: showAvailableSeats, isSeatIcon: isSeatIcon, isPeru: isPeru, siteType: siteType, isAllinBus: isAllinBus })) : isNewUi ? (React.createElement(FeatureServiceUi, { serviceItem: serviceItem, showTopLabel: showTopLabel,
|
|
255
|
+
return (React.createElement(React.Fragment, null, isPeruSites ? (React.createElement(PeruServiceItemDesktop, { serviceItem: serviceItem, onBookButtonPress: onBookButtonPress, colors: colors, metaData: metaData, children: children, busStage: busStage, serviceDetailsLoading: serviceDetailsLoading, cityOrigin: cityOrigin, cityDestination: cityDestination, translation: translation, orignLabel: orignLabel, destinationLabel: destinationLabel, currencySign: currencySign, isCiva: isCiva, showRating: showRating, showLastSeats: showLastSeats, removeArrivalTime: removeArrivalTime, removeDuplicateSeats: removeDuplicateSeats, isPeruSites: isPeruSites, t: (key) => t(key), showAvailableSeats: showAvailableSeats, isSeatIcon: isSeatIcon, isPeru: isPeru, siteType: siteType, isAllinBus: isAllinBus })) : isNewUi ? (React.createElement(FeatureServiceUi, { serviceItem: serviceItem, showTopLabel: showTopLabel, isSoldOut: isSoldOut, getAnimationIcon: getAnimationIcon, cityOrigin: cityOrigin, cityDestination: cityDestination, renderIcon: renderIcon, viewersConfig: viewersConfig, isFeatureDropDownExpand: isFeatureDropDownExpand, ticketQuantity: ticketQuantity, onIncreaseTicketQuantity: onIncreaseTicketQuantity, onDecreaseTicketQuantity: onDecreaseTicketQuantity, onBookButtonPress: onBookButtonPress, onToggleExpand: () => setIsFeatureDropDownExpand &&
|
|
256
|
+
setIsFeatureDropDownExpand(isFeatureDropDownExpand === serviceItem.id ||
|
|
257
|
+
isFeatureDropDownExpand === true
|
|
258
|
+
? null
|
|
259
|
+
: serviceItem.id) })) : (React.createElement("div", { className: `relative hover:z-[150] ${hasOfferText || hasDpEnabled ? "mb-[55px]" : "mb-[10px]"} ${(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) ||
|
|
252
260
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.train_type_label) === "Tren Express (Nuevo)" ||
|
|
253
261
|
showTopLabel
|
|
254
262
|
? "mt-[24px]"
|
|
@@ -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, isExpanded, setIsExpanded, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, viewersConfig, }: 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, viewersConfig, isFeatureDropDownExpand, setIsFeatureDropDownExpand, ticketQuantity, onIncreaseTicketQuantity, onDecreaseTicketQuantity, cityOrigin, cityDestination, isNewUi, }: MobileServiceItemProps): React.ReactElement;
|
|
4
4
|
export default ServiceItemMobile;
|
|
@@ -5,6 +5,7 @@ import BottomAmenitiesMobile from "../../ui/mobileweb/BottomAmenitiesMobile";
|
|
|
5
5
|
import DateTimeSectionMobile from "../../ui/mobileweb/DateTimeSectionMobile";
|
|
6
6
|
import ExpandedDropdownMobile from "../../ui/mobileweb/ExpandedDropdownMobile";
|
|
7
7
|
import ServiceBadgesMobile from "../../ui/mobileweb/ServiceBadgesMobile";
|
|
8
|
+
import FeatureServiceUiMobile from "../../ui/FeaturServiceUiMobile/FeatureServiceUiMobile";
|
|
8
9
|
const SEAT_EXCEPTIONS = ["Asiento mascota"];
|
|
9
10
|
const exceptions = [
|
|
10
11
|
"gy",
|
|
@@ -17,7 +18,7 @@ const exceptions = [
|
|
|
17
18
|
"blanco",
|
|
18
19
|
"asiento_mascota",
|
|
19
20
|
];
|
|
20
|
-
function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, isExpanded, setIsExpanded, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, viewersConfig, }) {
|
|
21
|
+
function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, isExpanded, setIsExpanded, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, viewersConfig, isFeatureDropDownExpand, setIsFeatureDropDownExpand, ticketQuantity, onIncreaseTicketQuantity, onDecreaseTicketQuantity, cityOrigin, cityDestination, isNewUi, }) {
|
|
21
22
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
22
23
|
const isItemExpanded = serviceItem.id === isExpanded;
|
|
23
24
|
const isPetSeat = (Object.keys(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.pet_seat_info) || []).length > 0;
|
|
@@ -87,7 +88,11 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
87
88
|
if (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_transpordo) {
|
|
88
89
|
isConexion = true;
|
|
89
90
|
}
|
|
90
|
-
return (React.createElement(
|
|
91
|
+
return (React.createElement(React.Fragment, null, isNewUi ? (React.createElement(FeatureServiceUiMobile, { serviceItem: serviceItem, showTopLabel: showTopLabel, colors: colors, isSoldOut: isSoldOut, cityOrigin: cityOrigin, cityDestination: cityDestination, renderIcon: renderIcon, viewersConfig: viewersConfig, isFeatureDropDownExpand: isFeatureDropDownExpand, ticketQuantity: ticketQuantity, onIncreaseTicketQuantity: onIncreaseTicketQuantity, onDecreaseTicketQuantity: onDecreaseTicketQuantity, onBookButtonPress: onBookButtonPress, onToggleExpand: () => setIsFeatureDropDownExpand &&
|
|
92
|
+
setIsFeatureDropDownExpand(isFeatureDropDownExpand === serviceItem.id ||
|
|
93
|
+
isFeatureDropDownExpand === true
|
|
94
|
+
? null
|
|
95
|
+
: serviceItem.id) })) : (React.createElement("div", { className: `relative ${!serviceItem.offer_text || !(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_dp_enabled) ? "mb-[14px]" : showTopLabel || (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) ? "mb-[20px]" : "mb-[12px]"} ${(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) ||
|
|
91
96
|
isConexion ||
|
|
92
97
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.train_type_label) === "Tren Express (Nuevo)" ||
|
|
93
98
|
showTopLabel
|
|
@@ -108,7 +113,9 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
108
113
|
React.createElement("div", { className: "flex items-center" },
|
|
109
114
|
React.createElement("img", { src: serviceItem.icons.rating, alt: "origin", className: `w-[12px] h-[12px] mr-[4px] object-contain ${isSoldOut ? "grayscale" : ""}` }),
|
|
110
115
|
React.createElement("span", { style: { lineHeight: "normal" } }, getServiceStars(serviceItem))),
|
|
111
|
-
React.createElement("div", { className: "flex items-center cursor-pointer ", style: {
|
|
116
|
+
React.createElement("div", { className: "flex items-center cursor-pointer ", style: {
|
|
117
|
+
color: isSoldOut ? "#bbb" : "text-[#464647]",
|
|
118
|
+
} },
|
|
112
119
|
React.createElement("span", { className: "ml-[3px] min-[420]:text-[13px] text-[12px] text-ellipsis overflow-hidden whitespace-nowrap max-w-[120px]" }, serviceItem.operator_details[2]))))) : null)),
|
|
113
120
|
React.createElement(DateTimeSectionMobile, { onBookButtonPress: onBookButtonPress, isCiva: isCiva, isSoldOut: isSoldOut, isLinatal: isLinatal, isPeru: isPeru, orignLabel: orignLabel, destinationLabel: destinationLabel, originIcon: (_c = serviceItem.icons) === null || _c === void 0 ? void 0 : _c.origin, destinationIcon: (_d = serviceItem.icons) === null || _d === void 0 ? void 0 : _d.destination, travelDate: serviceItem.travel_date, arrivalDate: serviceItem.arrival_date, depTime: serviceItem.dep_time, arrTime: serviceItem.arr_time, seatTypes: serviceItem.seat_types, seatPriceColor: colors.seatPriceColor, tooltipBgColor: colors.tooltipBgColor, currencySign: currencySign, availableSeats: serviceItem.available_seats, removeDuplicateSeats: removeDuplicateSeats, serviceItem: serviceItem, showLastSeats: showLastSeats, discountSeatPriceColor: colors.discountSeatPriceColor }),
|
|
114
121
|
hasDiscount && (React.createElement("div", { className: "flex justify-end" }, isSoldOut ? (React.createElement("span", { className: "col-span-2 min-[420]:text-[13px] text-right text-[12px] text-[#ccc]" }, "Agotado")) : null)),
|
|
@@ -123,7 +130,9 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
123
130
|
React.createElement(ServiceBadgesMobile, { showTopLabel: showTopLabel, isSoldOut: isSoldOut, colors: colors, renderIcon: renderIcon, serviceItem: serviceItem, isConexion: isConexion })),
|
|
124
131
|
((serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) || (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_dp_enabled)) &&
|
|
125
132
|
!isSoldOut && (React.createElement("div", { className: "px-[12px] pt-[22px] pb-[8px] relative -z-9 -mt-[15px]", style: {
|
|
126
|
-
background: isSoldOut
|
|
133
|
+
background: isSoldOut
|
|
134
|
+
? offerGradientWithOpacity
|
|
135
|
+
: offerGradient,
|
|
127
136
|
// opacity: isSoldOut ? 0.5 : 1,
|
|
128
137
|
borderRadius: "0 0 14px 14px",
|
|
129
138
|
zIndex: -1,
|
|
@@ -131,8 +140,8 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
131
140
|
React.createElement("div", { className: "flex flex-col gap-[8px] text-[12px] min-[420px]:text-[12px] text-[#464647]", style: { lineHeight: 1.6 } },
|
|
132
141
|
React.createElement("div", { className: "flex justify-between items-center" },
|
|
133
142
|
(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_dp_enabled) &&
|
|
134
|
-
Object.keys((_f = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.dp_discount_percents) !== null && _f !== void 0 ? _f : {})
|
|
135
|
-
0 &&
|
|
143
|
+
Object.keys((_f = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.dp_discount_percents) !== null && _f !== void 0 ? _f : {})
|
|
144
|
+
.length === 0 &&
|
|
136
145
|
((_g = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.dp_discounted_seats) !== null && _g !== void 0 ? _g : []).length === 0 ? (React.createElement("div", { className: "flex items-center gap-[6px]" },
|
|
137
146
|
React.createElement(LottiePlayer, { animationData: serviceItem.icons.starAnimation, width: "14px", height: "14px" }),
|
|
138
147
|
React.createElement("span", { className: "text-[#fff]" }, "M\u00E1s elegido"))) : (React.createElement("div", { className: `flex ${((serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) || "").length > 10 ? "items-start" : "items-center"}` },
|
|
@@ -180,6 +189,6 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
|
|
|
180
189
|
zIndex: (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) ? -3 : undefined,
|
|
181
190
|
marginTop: (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) ? "-15px" : "-10px",
|
|
182
191
|
} },
|
|
183
|
-
React.createElement(ExpandedDropdownMobile, { serviceItem: serviceItem, isPeru: isPeru, petSeatInfo: serviceItem.pet_seat_info, petFriendlyAnim: serviceItem.icons.petFriendlyAnim, isSoldOut: isSoldOut, isChangeTicket: serviceItem.is_change_ticket === true, ladiesBookedSeats: serviceItem.ladies_booked_seats, isDpEnabled: serviceItem.is_dp_enabled, femaleAnim: serviceItem.icons.femaleAnim, flexibleAnim: serviceItem.icons.flexibleAnim, renderIcon: renderIcon })))));
|
|
192
|
+
React.createElement(ExpandedDropdownMobile, { serviceItem: serviceItem, isPeru: isPeru, petSeatInfo: serviceItem.pet_seat_info, petFriendlyAnim: serviceItem.icons.petFriendlyAnim, isSoldOut: isSoldOut, isChangeTicket: serviceItem.is_change_ticket === true, ladiesBookedSeats: serviceItem.ladies_booked_seats, isDpEnabled: serviceItem.is_dp_enabled, femaleAnim: serviceItem.icons.femaleAnim, flexibleAnim: serviceItem.icons.flexibleAnim, renderIcon: renderIcon })))))));
|
|
184
193
|
}
|
|
185
194
|
export default ServiceItemMobile;
|
|
@@ -125,6 +125,19 @@ export interface MobileServiceItemProps {
|
|
|
125
125
|
whiteFireIcon?: string;
|
|
126
126
|
femaleAnim?: string;
|
|
127
127
|
cancelTicketIcon?: string;
|
|
128
|
+
thunderAnim?: string;
|
|
129
|
+
personsAnim?: string;
|
|
130
|
+
whiteOrigin?: string;
|
|
131
|
+
whiteDestination?: string;
|
|
132
|
+
userIcon?: string;
|
|
133
|
+
sheildIcon?: string;
|
|
134
|
+
busIcon?: string;
|
|
135
|
+
whiteDownArrow?: string;
|
|
136
|
+
empressaIcon?: string;
|
|
137
|
+
flexibleIcon?: string;
|
|
138
|
+
listoIcon?: string;
|
|
139
|
+
precioIcon?: string;
|
|
140
|
+
confirmarIcon?: string;
|
|
128
141
|
[key: string]: string | Record<string, string | undefined> | undefined;
|
|
129
142
|
};
|
|
130
143
|
useLottieFor?: string[];
|
|
@@ -184,4 +197,18 @@ export interface MobileServiceItemProps {
|
|
|
184
197
|
label?: string;
|
|
185
198
|
icon?: string;
|
|
186
199
|
};
|
|
200
|
+
isFeatureDropDownExpand?: any;
|
|
201
|
+
setIsFeatureDropDownExpand?: (value: any) => void;
|
|
202
|
+
ticketQuantity?: number;
|
|
203
|
+
onIncreaseTicketQuantity?: (serviceItem: MobileServiceItemProps["serviceItem"]) => void;
|
|
204
|
+
onDecreaseTicketQuantity?: (serviceItem: MobileServiceItemProps["serviceItem"]) => void;
|
|
205
|
+
cityOrigin?: {
|
|
206
|
+
value: number;
|
|
207
|
+
label: string;
|
|
208
|
+
};
|
|
209
|
+
cityDestination?: {
|
|
210
|
+
value: number;
|
|
211
|
+
label: string;
|
|
212
|
+
};
|
|
213
|
+
isNewUi?: boolean;
|
|
187
214
|
}
|
|
@@ -135,6 +135,11 @@ export interface ServiceItemProps {
|
|
|
135
135
|
sheildIcon?: string;
|
|
136
136
|
busIcon?: string;
|
|
137
137
|
whiteDownArrow?: string;
|
|
138
|
+
empressaIcon?: string;
|
|
139
|
+
flexibleIcon?: string;
|
|
140
|
+
listoIcon?: string;
|
|
141
|
+
precioIcon?: string;
|
|
142
|
+
confirmarIcon?: string;
|
|
138
143
|
[key: string]: string | Record<string, string | undefined> | undefined;
|
|
139
144
|
};
|
|
140
145
|
useLottieFor?: string[];
|
|
@@ -219,6 +224,11 @@ export interface ServiceItemProps {
|
|
|
219
224
|
isAllinBus?: boolean;
|
|
220
225
|
isExpand?: any;
|
|
221
226
|
setIsExpand?: (value: any) => void;
|
|
227
|
+
isFeatureDropDownExpand?: any;
|
|
228
|
+
setIsFeatureDropDownExpand?: (value: any) => void;
|
|
229
|
+
ticketQuantity?: number;
|
|
230
|
+
onIncreaseTicketQuantity?: (serviceItem: ServiceItemProps["serviceItem"]) => void;
|
|
231
|
+
onDecreaseTicketQuantity?: (serviceItem: ServiceItemProps["serviceItem"]) => void;
|
|
222
232
|
coachKey?: number;
|
|
223
233
|
viewersConfig?: {
|
|
224
234
|
min: number;
|
package/dist/styles.css
CHANGED
|
@@ -174,9 +174,15 @@
|
|
|
174
174
|
.m-\[auto\] {
|
|
175
175
|
margin: auto;
|
|
176
176
|
}
|
|
177
|
+
.mx-\[10px\] {
|
|
178
|
+
margin-inline: 10px;
|
|
179
|
+
}
|
|
177
180
|
.mx-auto {
|
|
178
181
|
margin-inline: auto;
|
|
179
182
|
}
|
|
183
|
+
.my-\[14px\] {
|
|
184
|
+
margin-block: 14px;
|
|
185
|
+
}
|
|
180
186
|
.-mt-\[15px\] {
|
|
181
187
|
margin-top: calc(15px * -1);
|
|
182
188
|
}
|
|
@@ -204,6 +210,9 @@
|
|
|
204
210
|
.mt-\[10px\] {
|
|
205
211
|
margin-top: 10px;
|
|
206
212
|
}
|
|
213
|
+
.mt-\[12px\] {
|
|
214
|
+
margin-top: 12px;
|
|
215
|
+
}
|
|
207
216
|
.mt-\[13px\] {
|
|
208
217
|
margin-top: 13px;
|
|
209
218
|
}
|
|
@@ -249,9 +258,6 @@
|
|
|
249
258
|
.mb-\[5px\] {
|
|
250
259
|
margin-bottom: 5px;
|
|
251
260
|
}
|
|
252
|
-
.mb-\[6px\] {
|
|
253
|
-
margin-bottom: 6px;
|
|
254
|
-
}
|
|
255
261
|
.mb-\[8px\] {
|
|
256
262
|
margin-bottom: 8px;
|
|
257
263
|
}
|
|
@@ -357,6 +363,9 @@
|
|
|
357
363
|
.h-\[30px\] {
|
|
358
364
|
height: 30px;
|
|
359
365
|
}
|
|
366
|
+
.h-\[34px\] {
|
|
367
|
+
height: 34px;
|
|
368
|
+
}
|
|
360
369
|
.h-\[100\%\] {
|
|
361
370
|
height: 100%;
|
|
362
371
|
}
|
|
@@ -393,8 +402,8 @@
|
|
|
393
402
|
.w-\[20px\] {
|
|
394
403
|
width: 20px;
|
|
395
404
|
}
|
|
396
|
-
.w-\[
|
|
397
|
-
width:
|
|
405
|
+
.w-\[34px\] {
|
|
406
|
+
width: 34px;
|
|
398
407
|
}
|
|
399
408
|
.w-\[50\%\] {
|
|
400
409
|
width: 50%;
|
|
@@ -500,6 +509,9 @@
|
|
|
500
509
|
.cursor-default {
|
|
501
510
|
cursor: default;
|
|
502
511
|
}
|
|
512
|
+
.cursor-not-allowed {
|
|
513
|
+
cursor: not-allowed;
|
|
514
|
+
}
|
|
503
515
|
.cursor-pointer {
|
|
504
516
|
cursor: pointer;
|
|
505
517
|
}
|
|
@@ -512,18 +524,21 @@
|
|
|
512
524
|
.grid-cols-2 {
|
|
513
525
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
514
526
|
}
|
|
527
|
+
.grid-cols-3 {
|
|
528
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
529
|
+
}
|
|
515
530
|
.grid-cols-4 {
|
|
516
531
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
517
532
|
}
|
|
518
533
|
.grid-cols-\[0\.8fr_auto_26\%_1fr\] {
|
|
519
534
|
grid-template-columns: 0.8fr auto 26% 1fr;
|
|
520
535
|
}
|
|
521
|
-
.grid-cols-\[1\.3fr_2fr_1\.2fr\] {
|
|
522
|
-
grid-template-columns: 1.3fr 2fr 1.2fr;
|
|
523
|
-
}
|
|
524
536
|
.grid-cols-\[1\.5fr_1fr_auto\] {
|
|
525
537
|
grid-template-columns: 1.5fr 1fr auto;
|
|
526
538
|
}
|
|
539
|
+
.grid-cols-\[23\%_50\%_27\%\] {
|
|
540
|
+
grid-template-columns: 23% 50% 27%;
|
|
541
|
+
}
|
|
527
542
|
.grid-cols-\[26px_auto_26\%_1fr\] {
|
|
528
543
|
grid-template-columns: 26px auto 26% 1fr;
|
|
529
544
|
}
|
|
@@ -572,6 +587,9 @@
|
|
|
572
587
|
.gap-\[2px\] {
|
|
573
588
|
gap: 2px;
|
|
574
589
|
}
|
|
590
|
+
.gap-\[3px\] {
|
|
591
|
+
gap: 3px;
|
|
592
|
+
}
|
|
575
593
|
.gap-\[3rem\] {
|
|
576
594
|
gap: 3rem;
|
|
577
595
|
}
|
|
@@ -630,15 +648,15 @@
|
|
|
630
648
|
.rounded-\[10px\] {
|
|
631
649
|
border-radius: 10px;
|
|
632
650
|
}
|
|
633
|
-
.rounded-\[12px\] {
|
|
634
|
-
border-radius: 12px;
|
|
635
|
-
}
|
|
636
651
|
.rounded-\[14px\] {
|
|
637
652
|
border-radius: 14px;
|
|
638
653
|
}
|
|
639
654
|
.rounded-\[15px\] {
|
|
640
655
|
border-radius: 15px;
|
|
641
656
|
}
|
|
657
|
+
.rounded-\[16px\] {
|
|
658
|
+
border-radius: 16px;
|
|
659
|
+
}
|
|
642
660
|
.rounded-\[18px\] {
|
|
643
661
|
border-radius: 18px;
|
|
644
662
|
}
|
|
@@ -758,6 +776,12 @@
|
|
|
758
776
|
.bg-\[\#0C1421\] {
|
|
759
777
|
background-color: #0C1421;
|
|
760
778
|
}
|
|
779
|
+
.bg-\[\#2d374d\] {
|
|
780
|
+
background-color: #2d374d;
|
|
781
|
+
}
|
|
782
|
+
.bg-\[\#222b3d\] {
|
|
783
|
+
background-color: #222b3d;
|
|
784
|
+
}
|
|
761
785
|
.bg-\[\#E6E6E6\] {
|
|
762
786
|
background-color: #E6E6E6;
|
|
763
787
|
}
|
|
@@ -846,6 +870,9 @@
|
|
|
846
870
|
.px-\[20px\] {
|
|
847
871
|
padding-inline: 20px;
|
|
848
872
|
}
|
|
873
|
+
.px-\[22px\] {
|
|
874
|
+
padding-inline: 22px;
|
|
875
|
+
}
|
|
849
876
|
.py-\[2px\] {
|
|
850
877
|
padding-block: 2px;
|
|
851
878
|
}
|
|
@@ -894,6 +921,9 @@
|
|
|
894
921
|
.pt-\[50px\] {
|
|
895
922
|
padding-top: 50px;
|
|
896
923
|
}
|
|
924
|
+
.pr-\[10px\] {
|
|
925
|
+
padding-right: 10px;
|
|
926
|
+
}
|
|
897
927
|
.pr-\[15px\] {
|
|
898
928
|
padding-right: 15px;
|
|
899
929
|
}
|
|
@@ -924,6 +954,9 @@
|
|
|
924
954
|
.pl-\[6px\] {
|
|
925
955
|
padding-left: 6px;
|
|
926
956
|
}
|
|
957
|
+
.pl-\[22px\] {
|
|
958
|
+
padding-left: 22px;
|
|
959
|
+
}
|
|
927
960
|
.text-center {
|
|
928
961
|
text-align: center;
|
|
929
962
|
}
|
|
@@ -960,6 +993,12 @@
|
|
|
960
993
|
.text-\[14px\] {
|
|
961
994
|
font-size: 14px;
|
|
962
995
|
}
|
|
996
|
+
.text-\[15px\] {
|
|
997
|
+
font-size: 15px;
|
|
998
|
+
}
|
|
999
|
+
.text-\[16px\] {
|
|
1000
|
+
font-size: 16px;
|
|
1001
|
+
}
|
|
963
1002
|
.text-\[17\.33px\] {
|
|
964
1003
|
font-size: 17.33px;
|
|
965
1004
|
}
|
|
@@ -969,9 +1008,15 @@
|
|
|
969
1008
|
.text-\[18px\] {
|
|
970
1009
|
font-size: 18px;
|
|
971
1010
|
}
|
|
1011
|
+
.text-\[20px\] {
|
|
1012
|
+
font-size: 20px;
|
|
1013
|
+
}
|
|
972
1014
|
.text-\[22px\] {
|
|
973
1015
|
font-size: 22px;
|
|
974
1016
|
}
|
|
1017
|
+
.text-\[25px\] {
|
|
1018
|
+
font-size: 25px;
|
|
1019
|
+
}
|
|
975
1020
|
.text-\[26px\] {
|
|
976
1021
|
font-size: 26px;
|
|
977
1022
|
}
|
|
@@ -1043,9 +1088,6 @@
|
|
|
1043
1088
|
.text-\[\#666\] {
|
|
1044
1089
|
color: #666;
|
|
1045
1090
|
}
|
|
1046
|
-
.text-\[\#171717\] {
|
|
1047
|
-
color: #171717;
|
|
1048
|
-
}
|
|
1049
1091
|
.text-\[\#272727\] {
|
|
1050
1092
|
color: #272727;
|
|
1051
1093
|
}
|
|
@@ -1073,6 +1115,9 @@
|
|
|
1073
1115
|
.text-\[red\] {
|
|
1074
1116
|
color: red;
|
|
1075
1117
|
}
|
|
1118
|
+
.text-\[white\] {
|
|
1119
|
+
color: white;
|
|
1120
|
+
}
|
|
1076
1121
|
.capitalize {
|
|
1077
1122
|
text-transform: capitalize;
|
|
1078
1123
|
}
|
|
@@ -1092,6 +1137,9 @@
|
|
|
1092
1137
|
.opacity-0 {
|
|
1093
1138
|
opacity: 0%;
|
|
1094
1139
|
}
|
|
1140
|
+
.opacity-50 {
|
|
1141
|
+
opacity: 50%;
|
|
1142
|
+
}
|
|
1095
1143
|
.opacity-100 {
|
|
1096
1144
|
opacity: 100%;
|
|
1097
1145
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare const FeatureServiceUiMobile: ({ serviceItem, showTopLabel, colors, isSoldOut, cityOrigin, cityDestination, renderIcon, viewersConfig, isFeatureDropDownExpand, onToggleExpand, ticketQuantity, onIncreaseTicketQuantity, onDecreaseTicketQuantity, onBookButtonPress, }: {
|
|
3
|
+
serviceItem: any;
|
|
4
|
+
showTopLabel: any;
|
|
5
|
+
colors: any;
|
|
6
|
+
isSoldOut: any;
|
|
7
|
+
cityOrigin: any;
|
|
8
|
+
cityDestination: any;
|
|
9
|
+
renderIcon: any;
|
|
10
|
+
viewersConfig: any;
|
|
11
|
+
isFeatureDropDownExpand: any;
|
|
12
|
+
onToggleExpand: any;
|
|
13
|
+
ticketQuantity?: number;
|
|
14
|
+
onIncreaseTicketQuantity: any;
|
|
15
|
+
onDecreaseTicketQuantity: any;
|
|
16
|
+
onBookButtonPress: any;
|
|
17
|
+
}) => React.JSX.Element;
|
|
18
|
+
export default FeatureServiceUiMobile;
|