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.
Files changed (26) hide show
  1. package/dist/KuposUIComponent.d.ts +3 -0
  2. package/dist/assets/images/anims/service_list/users_anim.json +1 -0
  3. package/dist/components/ServiceItem/ServiceItemDesktop.d.ts +1 -1
  4. package/dist/components/ServiceItem/ServiceItemDesktop.js +10 -2
  5. package/dist/components/ServiceItem/ServiceItemMobile.d.ts +1 -1
  6. package/dist/components/ServiceItem/ServiceItemMobile.js +16 -7
  7. package/dist/components/ServiceItem/mobileTypes.d.ts +27 -0
  8. package/dist/components/ServiceItem/types.d.ts +10 -0
  9. package/dist/styles.css +62 -14
  10. package/dist/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.d.ts +18 -0
  11. package/dist/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.js +233 -0
  12. package/dist/ui/FeatureServiceUI/FeatureServiceUi.d.ts +7 -2
  13. package/dist/ui/FeatureServiceUI/FeatureServiceUi.js +109 -92
  14. package/dist/ui/SeatSection/SeatSection.js +1 -1
  15. package/dist/utils/CommonService.js +11 -1
  16. package/package.json +1 -1
  17. package/src/KuposUIComponent.tsx +3 -0
  18. package/src/assets/images/anims/service_list/users_anim.json +1 -0
  19. package/src/components/ServiceItem/ServiceItemDesktop.tsx +23 -1
  20. package/src/components/ServiceItem/ServiceItemMobile.tsx +331 -286
  21. package/src/components/ServiceItem/mobileTypes.ts +22 -0
  22. package/src/components/ServiceItem/types.ts +11 -1
  23. package/src/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.tsx +790 -0
  24. package/src/ui/FeatureServiceUI/FeatureServiceUi.tsx +181 -253
  25. package/src/ui/SeatSection/SeatSection.tsx +1 -1
  26. 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, colors: colors, isSoldOut: isSoldOut, getAnimationIcon: getAnimationIcon, cityOrigin: cityOrigin, cityDestination: cityDestination, renderIcon: renderIcon, viewersConfig: viewersConfig })) : (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) ||
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("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
+ 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: { color: isSoldOut ? "#bbb" : "text-[#464647]" } },
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 ? offerGradientWithOpacity : offerGradient,
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 : {}).length ===
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-\[30px\] {
397
- width: 30px;
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;