kupos-ui-components-lib 9.8.0 → 9.8.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.
@@ -15,9 +15,6 @@ 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;
21
18
  id?: string;
22
19
  name?: string;
23
20
  description?: string;
@@ -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, isFeatureDropDownExpand, setIsFeatureDropDownExpand, ticketQuantity, onIncreaseTicketQuantity, onDecreaseTicketQuantity, onRemateUiButtonClick, selectedTimeSlot, onTimeSlotChange, isTimeDropdownOpen, onTimeDropdownToggle, }: 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, showLoginModal, isLoggedIn, showLoginOption, isTrain, selectedSeatKey, onSeatSelect, onTrainButtonClick, showSeatSelectionError, onShowSeatSelectionError, onClearSeatSelectionError, }: ServiceItemProps & {
4
4
  currencySign?: string;
5
5
  }): React.ReactElement;
6
6
  export default ServiceItemPB;
@@ -23,8 +23,6 @@ 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";
27
- import flameAnimation from "../../assets/images/anims/service_list/flame_anim.json";
28
26
  import RatingBlock from "../../ui/RatingBlock";
29
27
  import DurationBlock from "../../ui/DurationBlock";
30
28
  import PetBlock from "../../ui/PetBlock";
@@ -34,8 +32,6 @@ import KuposButton from "../../ui/KuposButton/KuposButton";
34
32
  import BottomAmenities from "../../ui/BottomAmenities/BottomAmenities";
35
33
  import SeatSection from "../../ui/SeatSection/SeatSection";
36
34
  import DateTimeSection from "../../ui/DateTimeSection/DateTimeSection";
37
- import FeatureServiceUi from "../../ui/FeatureServiceUI/FeatureServiceUi";
38
- import thunderAnimation from "../../assets/images/anims/service_list/thunder_icon.json";
39
35
  import ServiceBadges from "../../ui/ServiceBadges/ServiceBadges";
40
36
  const SEAT_EXCEPTIONS = ["Asiento mascota"];
41
37
  const ANIMATION_MAP = {
@@ -68,9 +64,6 @@ const ANIMATION_MAP = {
68
64
  bombAnimation: {
69
65
  kupos: bombAnimation,
70
66
  },
71
- thunderAnimation: {
72
- kupos: thunderAnimation,
73
- },
74
67
  dotAnimation: {
75
68
  kupos: dotAnimation,
76
69
  },
@@ -80,15 +73,13 @@ const ANIMATION_MAP = {
80
73
  femaaleAnimation: {
81
74
  kupos: femaleAnimation,
82
75
  },
83
- usersAnimation: {
84
- kupos: usersAnimation,
85
- },
86
- flameAnimation: {
87
- kupos: flameAnimation,
88
- },
89
76
  };
90
- 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, onRemateUiButtonClick, selectedTimeSlot, onTimeSlotChange, isTimeDropdownOpen, onTimeDropdownToggle, }) {
77
+ 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, showLoginModal, isLoggedIn, showLoginOption, isTrain, selectedSeatKey, onSeatSelect, onTrainButtonClick, showSeatSelectionError, onShowSeatSelectionError, onClearSeatSelectionError, }) {
91
78
  var _a;
79
+ const handleSeatSelect = (key, price) => {
80
+ onClearSeatSelectionError === null || onClearSeatSelectionError === void 0 ? void 0 : onClearSeatSelectionError();
81
+ onSeatSelect === null || onSeatSelect === void 0 ? void 0 : onSeatSelect(key, price);
82
+ };
92
83
  const getAnimationIcon = (icon) => {
93
84
  var _a;
94
85
  const animation = ANIMATION_MAP[icon];
@@ -226,6 +217,16 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
226
217
  });
227
218
  return;
228
219
  }
220
+ if (isTrain) {
221
+ if (!selectedSeatKey) {
222
+ onShowSeatSelectionError === null || onShowSeatSelectionError === void 0 ? void 0 : onShowSeatSelectionError(serviceItem.id);
223
+ return;
224
+ }
225
+ if (onTrainButtonClick) {
226
+ onTrainButtonClick();
227
+ return;
228
+ }
229
+ }
229
230
  onBookButtonPress();
230
231
  };
231
232
  const items = [
@@ -256,11 +257,7 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
256
257
  },
257
258
  ];
258
259
  const otherItems = items.filter((i) => i.key !== "pet" && i.key !== "flexible" && !!i.condition);
259
- 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: onRemateUiButtonClick, onToggleExpand: () => setIsFeatureDropDownExpand &&
260
- setIsFeatureDropDownExpand(isFeatureDropDownExpand === serviceItem.id ||
261
- isFeatureDropDownExpand === true
262
- ? null
263
- : serviceItem.id), selectedTimeSlot: selectedTimeSlot, onTimeSlotChange: onTimeSlotChange, isTimeDropdownOpen: isTimeDropdownOpen, onTimeDropdownToggle: onTimeDropdownToggle })) : (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) ||
260
+ 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 })) : (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) ||
264
261
  (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.train_type_label) === "Tren Express (Nuevo)" ||
265
262
  showTopLabel
266
263
  ? "mt-[24px]"
@@ -292,9 +289,13 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
292
289
  backgroundColor: "#ccc",
293
290
  } }),
294
291
  React.createElement("div", { className: "content-center" },
295
- React.createElement(SeatSection, { seatTypes: serviceItem.seat_types, serviceItem: serviceItem, availableSeats: serviceItem.available_seats, isSoldOut: isSoldOut, priceColor: colors.priceColor, dpSeatColor: colors.seatPriceColor, currencySign: currencySign, removeDuplicateSeats: removeDuplicateSeats, isPeru: isPeru, renderIcon: renderIcon, discountSeatPriceColor: colors.discountSeatPriceColor })),
292
+ React.createElement(SeatSection, { seatTypes: serviceItem.seat_types, serviceItem: serviceItem, availableSeats: serviceItem.available_seats, isSoldOut: isSoldOut, priceColor: colors.priceColor, dpSeatColor: colors.seatPriceColor, currencySign: currencySign, removeDuplicateSeats: removeDuplicateSeats, isPeru: isPeru, renderIcon: renderIcon, discountSeatPriceColor: colors.discountSeatPriceColor, isTrain: isTrain, selectedSeatKey: selectedSeatKey, onSeatSelect: handleSeatSelect, topLabelColor: colors.topLabelColor })),
296
293
  React.createElement("div", { className: "relative" },
297
294
  React.createElement(KuposButton, { isSoldOut: isSoldOut, isLoading: serviceDetailsLoading, buttonColor: colors.kuposButtonColor, buyLabel: translation === null || translation === void 0 ? void 0 : translation.buyButton, soldOutLabel: translation === null || translation === void 0 ? void 0 : translation.soldOutButton, soldOutIcon: renderIcon("soldOutIcon", "14px"), onClick: checkMidnight }),
295
+ showSeatSelectionError === serviceItem.id && isTrain && (React.createElement("div", { className: "flex justify-center mr-[11px] w-[100%] right-[0px] absolute left-[0] top-[40px]" },
296
+ React.createElement("div", { className: "text-[9px] text-center whitespace-nowrap", style: {
297
+ color: colors.seatPriceColor,
298
+ } }, "Selecciona el tipo de servicio"))),
298
299
  showLastSeats ? (React.createElement("div", { className: "flex justify-center mr-[11px] w-[100%] right-[0px] absolute left-[0] top-[40px]" }, (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.available_seats) < 10 &&
299
300
  (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.available_seats) > 0 && (React.createElement("div", { className: "text-[12px] mt-1 text-center", style: {
300
301
  color: colors.seatPriceColor,
@@ -307,7 +308,6 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
307
308
  transition: "grid-template-rows 0.3s ease-in-out, opacity 0.25s ease-in-out",
308
309
  position: "relative",
309
310
  zIndex: hasOfferText || hasDpEnabled ? 0 : -1,
310
- marginTop: isItemExpanded ? "" : "-10px",
311
311
  } },
312
312
  React.createElement("div", { style: Object.assign({ overflow: "hidden", minHeight: 0, marginTop: hasDpEnabled || (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) ? "" : "-10px" }, (hasOfferText || hasDpEnabled
313
313
  ? {
@@ -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, isFeatureDropDownExpand, setIsFeatureDropDownExpand, ticketQuantity, onIncreaseTicketQuantity, onDecreaseTicketQuantity, cityOrigin, cityDestination, isNewUi, onRemateUiButtonClick, selectedTimeSlot, onTimeSlotChange, isTimeDropdownOpen, onTimeDropdownToggle, }: 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, }: MobileServiceItemProps): React.ReactElement;
4
4
  export default ServiceItemMobile;
@@ -5,7 +5,6 @@ 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";
9
8
  const SEAT_EXCEPTIONS = ["Asiento mascota"];
10
9
  const exceptions = [
11
10
  "gy",
@@ -18,7 +17,7 @@ const exceptions = [
18
17
  "blanco",
19
18
  "asiento_mascota",
20
19
  ];
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, onRemateUiButtonClick, selectedTimeSlot, onTimeSlotChange, isTimeDropdownOpen, onTimeDropdownToggle, }) {
20
+ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, orignLabel, destinationLabel, amenitiesData, setShowDropdown, showDropdown, isExpanded, setIsExpanded, setAmenetiesAtomValue, isCiva, currencySign, isPeru, showRating, showLastSeats, removeDuplicateSeats, isLinatal, viewersConfig, }) {
22
21
  var _a, _b, _c, _d, _e, _f, _g;
23
22
  const isItemExpanded = serviceItem.id === isExpanded;
24
23
  const isPetSeat = (Object.keys(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.pet_seat_info) || []).length > 0;
@@ -88,11 +87,7 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
88
87
  if (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_transpordo) {
89
88
  isConexion = true;
90
89
  }
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: onRemateUiButtonClick, onToggleExpand: () => setIsFeatureDropDownExpand &&
92
- setIsFeatureDropDownExpand(isFeatureDropDownExpand === serviceItem.id ||
93
- isFeatureDropDownExpand === true
94
- ? null
95
- : serviceItem.id), selectedTimeSlot: selectedTimeSlot, onTimeSlotChange: onTimeSlotChange, isTimeDropdownOpen: isTimeDropdownOpen, onTimeDropdownToggle: onTimeDropdownToggle })) : (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) ||
90
+ return (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) ||
96
91
  isConexion ||
97
92
  (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.train_type_label) === "Tren Express (Nuevo)" ||
98
93
  showTopLabel
@@ -113,9 +108,7 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
113
108
  React.createElement("div", { className: "flex items-center" },
114
109
  React.createElement("img", { src: serviceItem.icons.rating, alt: "origin", className: `w-[12px] h-[12px] mr-[4px] object-contain ${isSoldOut ? "grayscale" : ""}` }),
115
110
  React.createElement("span", { style: { lineHeight: "normal" } }, getServiceStars(serviceItem))),
116
- React.createElement("div", { className: "flex items-center cursor-pointer ", style: {
117
- color: isSoldOut ? "#bbb" : "text-[#464647]",
118
- } },
111
+ React.createElement("div", { className: "flex items-center cursor-pointer ", style: { color: isSoldOut ? "#bbb" : "text-[#464647]" } },
119
112
  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)),
120
113
  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 }),
121
114
  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)),
@@ -130,9 +123,7 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
130
123
  React.createElement(ServiceBadgesMobile, { showTopLabel: showTopLabel, isSoldOut: isSoldOut, colors: colors, renderIcon: renderIcon, serviceItem: serviceItem, isConexion: isConexion })),
131
124
  ((serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) || (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_dp_enabled)) &&
132
125
  !isSoldOut && (React.createElement("div", { className: "px-[12px] pt-[22px] pb-[8px] relative -z-9 -mt-[15px]", style: {
133
- background: isSoldOut
134
- ? offerGradientWithOpacity
135
- : offerGradient,
126
+ background: isSoldOut ? offerGradientWithOpacity : offerGradient,
136
127
  // opacity: isSoldOut ? 0.5 : 1,
137
128
  borderRadius: "0 0 14px 14px",
138
129
  zIndex: -1,
@@ -140,8 +131,8 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
140
131
  React.createElement("div", { className: "flex flex-col gap-[8px] text-[12px] min-[420px]:text-[12px] text-[#464647]", style: { lineHeight: 1.6 } },
141
132
  React.createElement("div", { className: "flex justify-between items-center" },
142
133
  (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_dp_enabled) &&
143
- Object.keys((_f = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.dp_discount_percents) !== null && _f !== void 0 ? _f : {})
144
- .length === 0 &&
134
+ Object.keys((_f = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.dp_discount_percents) !== null && _f !== void 0 ? _f : {}).length ===
135
+ 0 &&
145
136
  ((_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]" },
146
137
  React.createElement(LottiePlayer, { animationData: serviceItem.icons.starAnimation, width: "14px", height: "14px" }),
147
138
  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"}` },
@@ -189,6 +180,6 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
189
180
  zIndex: (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) ? -3 : undefined,
190
181
  marginTop: (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) ? "-15px" : "-10px",
191
182
  } },
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 })))))));
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 })))));
193
184
  }
194
185
  export default ServiceItemMobile;
@@ -124,19 +124,6 @@ export interface MobileServiceItemProps {
124
124
  directoIcon?: string;
125
125
  whiteFireIcon?: string;
126
126
  femaleAnim?: string;
127
- thunderAnim?: string;
128
- personsAnim?: string;
129
- whiteOrigin?: string;
130
- whiteDestination?: string;
131
- userIcon?: string;
132
- sheildIcon?: string;
133
- busIcon?: string;
134
- whiteDownArrow?: string;
135
- empressaIcon?: string;
136
- flexibleIcon?: string;
137
- listoIcon?: string;
138
- precioIcon?: string;
139
- confirmarIcon?: string;
140
127
  cancelTicketIcon?: string;
141
128
  changeTicketIcon?: string;
142
129
  petFriendlyIcon?: string;
@@ -146,7 +133,6 @@ export interface MobileServiceItemProps {
146
133
  useLottieFor?: string[];
147
134
  };
148
135
  onBookButtonPress?: () => void;
149
- onRemateUiButtonClick?: () => void;
150
136
  terminals?: any[];
151
137
  showDropdown?: boolean;
152
138
  setShowDropdown?: (value: boolean) => void;
@@ -201,22 +187,4 @@ export interface MobileServiceItemProps {
201
187
  label?: string;
202
188
  icon?: string;
203
189
  };
204
- isFeatureDropDownExpand?: any;
205
- setIsFeatureDropDownExpand?: (value: any) => void;
206
- ticketQuantity?: number;
207
- onIncreaseTicketQuantity?: (serviceItem: MobileServiceItemProps["serviceItem"]) => void;
208
- onDecreaseTicketQuantity?: (serviceItem: MobileServiceItemProps["serviceItem"]) => void;
209
- cityOrigin?: {
210
- value: number;
211
- label: string;
212
- };
213
- cityDestination?: {
214
- value: number;
215
- label: string;
216
- };
217
- isNewUi?: boolean;
218
- selectedTimeSlot?: string;
219
- onTimeSlotChange?: (slot: string) => void;
220
- isTimeDropdownOpen?: string | number | null;
221
- onTimeDropdownToggle?: (id?: string | number | null) => void;
222
190
  }
@@ -129,23 +129,11 @@ export interface ServiceItemProps {
129
129
  personIcon?: string;
130
130
  whiteFireIcon?: string;
131
131
  fireIcon?: string;
132
- whiteOrigin?: string;
133
- whiteDestination?: string;
134
- userIcon?: string;
135
- sheildIcon?: string;
136
- busIcon?: string;
137
- whiteDownArrow?: string;
138
- empressaIcon?: string;
139
- flexibleIcon?: string;
140
- listoIcon?: string;
141
- precioIcon?: string;
142
- confirmarIcon?: string;
143
132
  [key: string]: string | Record<string, string | undefined> | undefined;
144
133
  };
145
134
  useLottieFor?: string[];
146
135
  };
147
136
  onBookButtonPress?: () => void;
148
- onRemateUiButtonClick?: () => void;
149
137
  terminals?: any[];
150
138
  t?: (key: string) => string;
151
139
  serviceDetailsLoading?: boolean;
@@ -225,11 +213,6 @@ export interface ServiceItemProps {
225
213
  isAllinBus?: boolean;
226
214
  isExpand?: any;
227
215
  setIsExpand?: (value: any) => void;
228
- isFeatureDropDownExpand?: any;
229
- setIsFeatureDropDownExpand?: (value: any) => void;
230
- ticketQuantity?: number;
231
- onIncreaseTicketQuantity?: (serviceItem: ServiceItemProps["serviceItem"]) => void;
232
- onDecreaseTicketQuantity?: (serviceItem: ServiceItemProps["serviceItem"]) => void;
233
216
  coachKey?: number;
234
217
  viewersConfig?: {
235
218
  min: number;
@@ -238,12 +221,14 @@ export interface ServiceItemProps {
238
221
  label?: string;
239
222
  icon?: string;
240
223
  };
241
- isNewUi?: boolean;
242
224
  showLoginModal?: any;
243
225
  isLoggedIn?: any;
244
226
  showLoginOption?: boolean;
245
- selectedTimeSlot?: string;
246
- onTimeSlotChange?: (slot: string) => void;
247
- isTimeDropdownOpen?: string | number | null;
248
- onTimeDropdownToggle?: (id?: string | number | null) => void;
227
+ isTrain?: boolean;
228
+ selectedSeatKey?: any;
229
+ onSeatSelect?: (key: any, price: number) => void;
230
+ onTrainButtonClick?: any;
231
+ showSeatSelectionError?: string | null;
232
+ onShowSeatSelectionError?: (serviceId: string) => void;
233
+ onClearSeatSelectionError?: () => void;
249
234
  }