kupos-ui-components-lib 9.0.11 → 9.1.0

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.
@@ -1 +1 @@
1
- {"nm":"Main Scene","ddd":0,"h":100,"w":100,"meta":{"g":"@lottiefiles/creator 1.86.1"},"layers":[{"ty":4,"nm":"Shape Layer 1","sr":1,"st":0,"op":150,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[71.60193719360672,49.48916172143199]},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[90,90],"t":4},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100],"t":31},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[90,90],"t":63},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[100,100],"t":97},{"s":[90,90],"t":133}]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[71.60193719360672,49.48916172143199]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","bm":0,"hd":false,"nm":"Group 1","np":5,"it":[{"ty":"sh","bm":0,"hd":false,"nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[24.18,0],[0,-24.18],[-24.18,0],[0,24.18]],"o":[[0,-24.18],[-24.18,0],[0,24.18],[24.18,0],[0,0]],"v":[[93.78,50],[50,6.22],[6.22,50],[50,93.78],[93.78,50]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"Path 2","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[11.23,0],[0,-11.23],[-11.23,0],[0,11.23]],"o":[[0,-11.23],[-11.23,0],[0,11.23],[11.23,0],[0,0]],"v":[[70.34,50],[50,29.66],[29.66,50],[50,70.34],[70.34,50]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"Path 3","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[14.66,0],[0,14.66],[-14.66,0],[0,-14.66]],"o":[[0,14.66],[-14.66,0],[0,-14.66],[14.66,0],[0,0]],"v":[[76.55,50],[50,76.55],[23.45,50],[50,23.45],[76.55,50]]}}},{"ty":"sh","bm":0,"hd":false,"nm":"Path 4","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[27.61,0],[0,27.61],[-27.61,0],[0,-27.61]],"o":[[0,27.61],[-27.61,0],[0,-27.61],[27.61,0],[0,0]],"v":[[100,50],[50,100],[0,50],[50,0],[100,50]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"Fill","c":{"a":0,"k":[1,1,1]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[71.60193719360672,49.48916172143199]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[71.60193719360672,49.48916172143199]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":1}],"v":"5.7.0","fr":30,"op":150,"ip":0,"assets":[]}
1
+ {"nm":"Main Scene","ddd":0,"h":500,"w":500,"meta":{"g":"@lottiefiles/creator 1.25.0"},"layers":[{"ty":0,"nm":" Main Scene","sr":1,"st":0,"op":90,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[250,250]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,250]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"w":500,"h":500,"refId":"precomp_Main Scene_c6717324-fe11-4912-8421-1a94a5c0a552","ind":1}],"v":"5.7.0","fr":30,"op":90,"ip":0,"assets":[{"nm":"Main Scene","id":"precomp_Main Scene_c6717324-fe11-4912-8421-1a94a5c0a552","layers":[{"ty":4,"nm":"Shape Layer - SVG","sr":1,"st":0,"op":90,"ip":0,"hd":false,"ln":"Capa_1","ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[32.5,32.5]},"s":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[0,0],"t":4},{"s":[619.0851,619.0851],"t":14}]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[249.94198808735723,248.20464459007883]},"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":[0],"t":0},{"s":[100],"t":7}]}},"shapes":[{"ty":"gr","bm":0,"hd":false,"nm":"Group 1","it":[{"ty":"sh","bm":0,"hd":false,"nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[1.0100000000000051,0.14999999999999858],[0,0],[0,0],[1.0400000000000063,0],[0.46000000000000085,-0.9199999999999999],[0,0],[0,0],[0.3200000000000003,-0.9899999999999984],[-0.75,-0.740000000000002],[0,0],[0,0],[-0.8599999999999994,-0.6299999999999955],[-0.9000000000000004,0.480000000000004],[0,0],[0,0],[-0.4299999999999997,0],[-0.47000000000000597,0.3400000000000034],[0.14999999999999858,1.0300000000000011],[0,0],[0,0],[0.3299999999999983,0.990000000000002],[0,0]],"o":[[-0.3200000000000003,-0.9899999999999984],[0,0],[0,0],[-0.46999999999999886,-0.96],[-1.0400000000000063,0],[0,0],[0,0],[-1.0099999999999998,0.14999999999999858],[-0.32000000000000006,0.9899999999999984],[0,0],[0,0],[-0.17999999999999972,1.0300000000000011],[0.8300000000000001,0.6300000000000026],[0,0],[0,0],[0.3999999999999986,0.21999999999999886],[0.5399999999999991,0],[0.8299999999999983,-0.6300000000000026],[0,0],[0,0],[0.7199999999999989,-0.7399999999999984],[0,0],[0,0]],"v":[[62.9,25.51],[60.739999999999995,23.67],[42.89999999999999,21.020000000000003],[34.93999999999999,4.510000000000002],[32.52999999999999,3.0000000000000018],[30.119999999999987,4.510000000000002],[22.149999999999988,21.020000000000003],[4.309999999999988,23.67],[2.149999999999988,25.51],[2.829999999999988,28.310000000000002],[15.729999999999988,41.17],[12.669999999999987,59.34],[13.749999999999988,62.03],[16.559999999999988,62.25],[32.48999999999999,53.66],[48.41999999999999,62.25],[49.679999999999986,62.58],[51.26999999999999,62.059999999999995],[52.34999999999999,59.37],[49.289999999999985,41.199999999999996],[62.18999999999998,28.339999999999996],[62.86999999999998,25.539999999999996],[62.90999999999998,25.499999999999996]]}}},{"ty":"st","bm":0,"hd":false,"nm":"Stroke","lc":1,"lj":1,"ml":4,"o":{"a":0,"k":100},"w":{"a":0,"k":3.58},"c":{"a":0,"k":[0.9765,0.5373,0.2706]}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":1}]}]}
@@ -27,7 +27,6 @@ import PetBlock from "../../ui/PetBlock";
27
27
  import FlexibleBlock from "../../ui/FlexibleBlock";
28
28
  import AmenitiesBlock from "../../ui/AmenitiesBlock";
29
29
  import KuposButton from "../../ui/KuposButton/KuposButton";
30
- import TopAmenities from "../../ui/TopAmenities/TopAmenities";
31
30
  import BottomAmenities from "../../ui/BottomAmenities/BottomAmenities";
32
31
  import SeatSection from "../../ui/SeatSection/SeatSection";
33
32
  import DateTimeSection from "../../ui/DateTimeSection/DateTimeSection";
@@ -184,6 +183,30 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
184
183
  onBookButtonPress();
185
184
  };
186
185
  const countdownSeconds = 7830;
186
+ const startCountdown = (node) => {
187
+ if (!node)
188
+ return;
189
+ const prevId = node.dataset.countdownId;
190
+ if (prevId)
191
+ clearInterval(Number(prevId));
192
+ let remaining = countdownSeconds;
193
+ const formatTime = (totalSecs) => {
194
+ const h = Math.floor(totalSecs / 3600);
195
+ const m = Math.floor((totalSecs % 3600) / 60);
196
+ const s = totalSecs % 60;
197
+ return `${String(h).padStart(2, "0")}:${String(m).padStart(2, "0")}:${String(s).padStart(2, "0")}`;
198
+ };
199
+ node.textContent = formatTime(remaining);
200
+ const id = setInterval(() => {
201
+ remaining -= 1;
202
+ if (remaining <= 0) {
203
+ remaining = 0;
204
+ clearInterval(id);
205
+ }
206
+ node.textContent = formatTime(remaining);
207
+ }, 1000);
208
+ node.dataset.countdownId = String(id);
209
+ };
187
210
  const items = [
188
211
  {
189
212
  key: "amenities",
@@ -200,7 +223,7 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
200
223
  {
201
224
  key: "directo",
202
225
  width: "12%",
203
- condition: serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip,
226
+ condition: (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) === true,
204
227
  render: (React.createElement(DirectoBlock, { translation: translation, getAnimationIcon: getAnimationIcon, colors: colors, isSoldOut: isSoldOut })),
205
228
  },
206
229
  {
@@ -213,31 +236,21 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
213
236
  {
214
237
  key: "flexible",
215
238
  width: "20%",
216
- condition: serviceItem.is_change_ticket,
239
+ condition: serviceItem.is_change_ticket === true,
217
240
  render: (React.createElement(FlexibleBlock, { translation: translation, getAnimationIcon: getAnimationIcon, colors: colors, serviceItem: serviceItem, isSoldOut: isSoldOut })),
218
241
  },
219
242
  ];
220
243
  const otherItems = items.filter((i) => i.key !== "pet" && i.key !== "flexible" && !!i.condition);
221
- 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 ${serviceItem.offer_text ? "mb-[55px]" : "mb-[10px]"} mt-[14px]` },
222
- React.createElement(TopAmenities, { showPromo: showPromo, showTopLabel: showTopLabel, isSoldOut: isSoldOut, priceColor: colors.priceColor, buttonColor: colors.kuposButtonColor, boardingIcon: renderIcon("whiteBoardingIcon", "14px"), getAnimationIcon: getAnimationIcon, countdownSeconds: countdownSeconds, onCountdownEnd: () => {
223
- const cardEl = document.getElementById(`service-card-${serviceItem.id}`);
224
- if (!cardEl)
225
- return;
226
- cardEl.style.border = "1px solid #ccc";
227
- if (!showTopLabel) {
228
- cardEl.style.borderRadius = "10px";
229
- }
230
- } }),
231
- React.createElement("div", { id: `service-card-${serviceItem.id}`, className: "bg-white mx-auto relative ", style: {
232
- border: countdownSeconds > 0
233
- ? `1px solid ${colors.priceColor}`
234
- : "1px solid #ccc",
235
- borderRadius: showTopLabel
236
- ? "10px 0 10px 10px"
237
- : countdownSeconds > 0
238
- ? "10px 0 10px 10px"
239
- : "10px",
240
- } },
244
+ 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", {
245
+ // className={`relative ${
246
+ // serviceItem.offer_text ? "mb-[55px]" : "mb-[10px]"
247
+ // } mt-[14px]`}
248
+ className: `relative ${serviceItem.offer_text ? "mb-[55px]" : "mb-[10px]"} ${(serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_direct_trip) ||
249
+ (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.train_type_label) === "Tren Express (Nuevo)" ||
250
+ showTopLabel
251
+ ? "mt-[24px]"
252
+ : "mt-[20px]"} ` },
253
+ React.createElement("div", { id: `service-card-${serviceItem.id}`, className: "bg-white mx-auto relative rounded-[10px] border border-[#ccc]" },
241
254
  React.createElement("div", {
242
255
  // className="p-[15px] pt-[20px]"
243
256
  className: " pt-[20px]", style: {
@@ -293,7 +306,47 @@ function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, child
293
306
  backgroundColor: colors === null || colors === void 0 ? void 0 : colors.bottomStripColor,
294
307
  opacity: isSoldOut ? 0.5 : 1,
295
308
  } },
296
- React.createElement(LottiePlayer, { animationData: getAnimationIcon("promoAnim"), width: "18px", height: "18px" }),
297
- React.createElement("span", { className: "ml-[10px]" }, serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text)))))));
309
+ React.createElement("div", { className: "flex justify-between items-center w-full" },
310
+ React.createElement("div", { className: "flex items-center" },
311
+ React.createElement(LottiePlayer, { animationData: getAnimationIcon("bombAnimation"), width: "18px", height: "18px" }),
312
+ React.createElement("span", { className: "bold-text ml-[8px]" },
313
+ " ",
314
+ (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) || "")),
315
+ React.createElement("div", null,
316
+ "Termina en\u00A0",
317
+ React.createElement("span", { className: "bold-text text-end", ref: startCountdown, style: {
318
+ fontVariantNumeric: "tabular-nums",
319
+ display: "inline-block",
320
+ // minWidth: "70px",
321
+ } }))))),
322
+ React.createElement("div", { className: "absolute -top-[11px] left-0 w-full flex items-center justify-end gap-[12px] pr-[15px] z-10 " },
323
+ showTopLabel && (React.createElement("div", { className: `flex items-center gap-[10px] py-[4px] px-[14px] rounded-[38px] text-[12.5px] z-10`, style: {
324
+ backgroundColor: isSoldOut
325
+ ? "#ddd"
326
+ : colors.ratingBottomColor,
327
+ } },
328
+ React.createElement("div", { className: isSoldOut ? "grayscale" : "" },
329
+ React.createElement(LottiePlayer
330
+ // animationData={serviceItem.icons.priorityStageAnim}
331
+ , {
332
+ // animationData={serviceItem.icons.priorityStageAnim}
333
+ animationData: getAnimationIcon("priorityStageAnim"), width: "14px", height: "14px" })),
334
+ React.createElement("div", { className: isSoldOut ? "text-white" : `text-[${colors.topLabelColor}]` }, showTopLabel))),
335
+ (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_transpordo) && (React.createElement("div", { className: `flex items-center gap-[10px] py-[4px] text-white px-[14px] rounded-[38px] text-[12.5px] z-20`, style: {
336
+ backgroundColor: isSoldOut ? "#ddd" : colors.tooltipColor,
337
+ } },
338
+ React.createElement(LottiePlayer, { animationData: serviceItem.icons.connectingServiceIcon,
339
+ // animationData={getAnimationIcon(connectingServiceIcon)}
340
+ width: "14px", height: "14px" }),
341
+ React.createElement("div", null, "Conexión"))),
342
+ (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.train_type_label) === "Tren Express (Nuevo)" && (React.createElement("div", { className: `flex items-center gap-[10px] py-[4px] text-white px-[14px] rounded-[38px] text-[12.5px] z-20 `, style: {
343
+ backgroundColor: isSoldOut ? "#ddd" : colors.tooltipColor,
344
+ } },
345
+ React.createElement(LottiePlayer
346
+ // animationData={serviceItem.icons.directoAnim}
347
+ , {
348
+ // animationData={serviceItem.icons.directoAnim}
349
+ animationData: getAnimationIcon("directoAnim"), width: "14px", height: "14px" }),
350
+ React.createElement("div", null, "Tren Express"))))))));
298
351
  }
299
352
  export default ServiceItemPB;
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  import LottiePlayer from "../../assets/LottiePlayer";
3
3
  import commonService from "../../utils/CommonService";
4
- import TopAmenitieMobile from "../../ui/mobileweb/TopAmenitieMobile";
5
4
  import BottomAmenitiesMobile from "../../ui/mobileweb/BottomAmenitiesMobile";
6
5
  import DateTimeSectionMobile from "../../ui/mobileweb/DateTimeSectionMobile";
7
6
  import ExpandedDropdownMobile from "../../ui/mobileweb/ExpandedDropdownMobile";
@@ -24,6 +23,30 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
24
23
  let isSoldOut = serviceItem.available_seats <= 0;
25
24
  const showPromo = Math.random() > 0.5;
26
25
  const countdownSeconds = 7830;
26
+ const startCountdown = (node) => {
27
+ if (!node)
28
+ return;
29
+ const prevId = node.dataset.countdownId;
30
+ if (prevId)
31
+ clearInterval(Number(prevId));
32
+ let remaining = countdownSeconds;
33
+ const formatTime = (totalSecs) => {
34
+ const h = Math.floor(totalSecs / 3600);
35
+ const m = Math.floor((totalSecs % 3600) / 60);
36
+ const s = totalSecs % 60;
37
+ return `${String(h).padStart(2, "0")}:${String(m).padStart(2, "0")}:${String(s).padStart(2, "0")}`;
38
+ };
39
+ node.textContent = formatTime(remaining);
40
+ const id = setInterval(() => {
41
+ remaining -= 1;
42
+ if (remaining <= 0) {
43
+ remaining = 0;
44
+ clearInterval(id);
45
+ }
46
+ node.textContent = formatTime(remaining);
47
+ }, 1000);
48
+ node.dataset.countdownId = String(id);
49
+ };
27
50
  const labelId = typeof serviceItem.boarding_stages === "string"
28
51
  ? serviceItem.boarding_stages.split("|")[0]
29
52
  : "";
@@ -75,34 +98,16 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
75
98
  isConexion ||
76
99
  (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.train_type_label) === "Tren Express (Nuevo)" ||
77
100
  showTopLabel
78
- ? "mt-[10px]"
101
+ ? "mt-[20px]"
79
102
  : "mt-[10px]"} `, style: { backgroundColor: "#fff", zIndex: 1 } },
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
- } }),
89
103
  React.createElement("div", { className: " rounded-[20px]", style: {
90
104
  backgroundColor: "#fff",
91
105
  zIndex: 1,
92
106
  // borderRadius: showTopLabel ? "10px 0 10px 10px" : "10px",
93
- borderRadius: "12px 0 12px 12px",
94
- border: `1px solid ${colors.bottomStripColor}`,
107
+ borderRadius: "12px",
108
+ border: "1px solid #ccc",
95
109
  } },
96
- React.createElement("div", {
97
- // className={` ${
98
- // serviceItem?.train_type_label === "Tren Express (Nuevo)" ||
99
- // showTopLabel ||
100
- // serviceItem?.is_direct_trip ||
101
- // serviceItem?.is_transpordo
102
- // ? "mt-[10px]"
103
- // : ""
104
- // }`}
105
- style: { padding: "12px 12px 8px 12px" } },
110
+ React.createElement("div", { style: { padding: "12px 12px 8px 12px" } },
106
111
  React.createElement("div", { className: "flex justify-between items-center mb-[10px]" },
107
112
  React.createElement("div", { className: "flex items-center justify-between" },
108
113
  React.createElement("div", { className: "w-[120px] overflow-y-hidden" },
@@ -113,7 +118,7 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
113
118
  React.createElement("img", { src: serviceItem.icons.rating, alt: "origin", className: `w-[12px] h-[12px] mr-[4px] object-contain ${isSoldOut ? "grayscale" : ""}` }),
114
119
  React.createElement("span", { style: { lineHeight: "normal" } }, getServiceStars(serviceItem))),
115
120
  React.createElement("div", { className: "flex items-center cursor-pointer ", style: { color: isSoldOut ? "#bbb" : "text-[#464647]" } },
116
- React.createElement("span", { className: "ml-[3px] min-[420]:text-[13px] text-[12px]" }, serviceItem.operator_details[2]))))) : null),
121
+ React.createElement("span", { className: "ml-[3px] min-[420]:text-[13px] text-[12px] text-ellipsis" }, serviceItem.operator_details[2]))))) : null),
117
122
  showLastSeats ? (React.createElement("div", { className: "flex justify-end " }, (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.available_seats) < 10 &&
118
123
  (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),
119
124
  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 }),
@@ -136,9 +141,36 @@ function ServiceItemMobile({ serviceItem, onBookButtonPress, colors, busStage, o
136
141
  left: "0px",
137
142
  opacity: isSoldOut ? 0.5 : 1,
138
143
  } },
139
- React.createElement(LottiePlayer, { animationData: serviceItem.icons.promoAnim, width: "18px", height: "18px" }),
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))),
141
- React.createElement("div", { className: "absolute -top-[14px] left-0 w-full flex items-center justify-end gap-[12px] pr-[20px] z-10 " })),
144
+ React.createElement("div", { className: "flex justify-between items-center w-full" },
145
+ React.createElement("div", { className: "flex items-center" },
146
+ React.createElement(LottiePlayer, { animationData: serviceItem.icons.bombAnim, width: "18px", height: "18px" }),
147
+ React.createElement("span", { className: "bold-text ml-[8px]" },
148
+ " ",
149
+ (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.offer_text) || "")),
150
+ React.createElement("div", null,
151
+ "Termina en\u00A0",
152
+ React.createElement("span", { className: "bold-text text-end", ref: startCountdown, style: {
153
+ fontVariantNumeric: "tabular-nums",
154
+ display: "inline-block",
155
+ // minWidth: "70px",
156
+ } }))))),
157
+ React.createElement("div", { className: "absolute -top-[14px] left-0 w-full flex items-center justify-end gap-[12px] pr-[13px] z-10 " },
158
+ showTopLabel && (React.createElement("div", { className: `flex items-center gap-[2px] py-[4px] px-[10px] rounded-[38px] min-[420]:text-[12px] text-[10px] z-20 `, style: {
159
+ backgroundColor: isSoldOut ? "#ccc" : colors.ratingBottomColor,
160
+ } },
161
+ React.createElement("div", { className: isSoldOut ? "grayscale" : "" },
162
+ React.createElement(LottiePlayer, { animationData: serviceItem.icons.priorityStageAnim, width: "18px", height: "18px" })),
163
+ React.createElement("div", { className: isSoldOut ? "text-[#bbb]" : `text-[${colors.topLabelColor}]` }, showTopLabel))),
164
+ isConexion && (React.createElement("div", { className: `flex items-center gap-[2px] py-[5px] text-white px-[10px] rounded-[38px] min-[420]:text-[12px] text-[11px] z-20 ${isSoldOut ? "text-white" : `text-[${colors.topLabelColor}]`}`, style: {
165
+ backgroundColor: !isSoldOut && colors.ratingBottomColor,
166
+ } },
167
+ renderIcon("airportIcon", "14px"),
168
+ React.createElement("div", null, "Conexi\u00F3n"))),
169
+ (serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.train_type_label) === "Tren Express (Nuevo)" && (React.createElement("div", { className: `flex items-center gap-[2px] py-[5px] text-white px-[10px] rounded-[38px] min-[420]:text-[12px] text-[10px] z-20 `, style: {
170
+ backgroundColor: isSoldOut ? "#ddd" : colors.tooltipColor,
171
+ } },
172
+ React.createElement(LottiePlayer, { animationData: serviceItem.icons.directoAnim, width: "20px", height: "20px" }),
173
+ React.createElement("div", null, "Tren Express"))))),
142
174
  React.createElement("div", { style: {
143
175
  display: "grid",
144
176
  gridTemplateRows: isItemExpanded ? "1fr" : "0fr",
package/dist/styles.css CHANGED
@@ -126,9 +126,6 @@
126
126
  .mx-auto {
127
127
  margin-inline: auto;
128
128
  }
129
- .-mt-\[5px\] {
130
- margin-top: calc(5px * -1);
131
- }
132
129
  .-mt-\[16px\] {
133
130
  margin-top: calc(16px * -1);
134
131
  }
@@ -180,9 +177,6 @@
180
177
  .mr-\[11px\] {
181
178
  margin-right: 11px;
182
179
  }
183
- .-mb-\[5px\] {
184
- margin-bottom: calc(5px * -1);
185
- }
186
180
  .mb-\[2px\] {
187
181
  margin-bottom: 2px;
188
182
  }
@@ -225,6 +219,9 @@
225
219
  .ml-\[5px\] {
226
220
  margin-left: 5px;
227
221
  }
222
+ .ml-\[8px\] {
223
+ margin-left: 8px;
224
+ }
228
225
  .ml-\[10px\] {
229
226
  margin-left: 10px;
230
227
  }
@@ -656,9 +653,6 @@
656
653
  .pt-\[4px\] {
657
654
  padding-top: 4px;
658
655
  }
659
- .pt-\[5px\] {
660
- padding-top: 5px;
661
- }
662
656
  .pt-\[6px\] {
663
657
  padding-top: 6px;
664
658
  }
@@ -680,15 +674,12 @@
680
674
  .pt-\[50px\] {
681
675
  padding-top: 50px;
682
676
  }
677
+ .pr-\[13px\] {
678
+ padding-right: 13px;
679
+ }
683
680
  .pr-\[15px\] {
684
681
  padding-right: 15px;
685
682
  }
686
- .pr-\[20px\] {
687
- padding-right: 20px;
688
- }
689
- .pb-\[5px\] {
690
- padding-bottom: 5px;
691
- }
692
683
  .pb-\[7px\] {
693
684
  padding-bottom: 7px;
694
685
  }
@@ -704,12 +695,12 @@
704
695
  .pl-\[6px\] {
705
696
  padding-left: 6px;
706
697
  }
707
- .pl-\[15px\] {
708
- padding-left: 15px;
709
- }
710
698
  .text-center {
711
699
  text-align: center;
712
700
  }
701
+ .text-end {
702
+ text-align: end;
703
+ }
713
704
  .text-justify {
714
705
  text-align: justify;
715
706
  }
@@ -44,29 +44,30 @@ const AmenitiesBlock = ({ serviceItem, metaData, isSoldOut, colors, isPeru, getA
44
44
  });
45
45
  const shouldShowPlus = plusAmenities.length > 0;
46
46
  const grayscaleClass = isSoldOut ? "grayscale" : "";
47
- return (React.createElement("div", { className: "flex items-center gap-[6px]" }, visibleAmenities.map((val, key) => {
48
- const raw = metaData.amenities[val];
49
- if (isWater(raw))
50
- return null;
51
- const baseName = getAmenityBaseName(raw);
52
- return (React.createElement("div", { key: key, className: "relative group cursor-pointer" },
53
- React.createElement("div", { className: grayscaleClass },
54
- React.createElement(SvgAmenities, { moreAnemities: false, name: baseName.toLowerCase() })),
55
- React.createElement("div", { className: TOOLTIP_CLASS, style: {
56
- backgroundColor: colors.tooltipColor,
57
- zIndex: 21,
58
- padding: "12px",
59
- } },
60
- React.createElement(TooltipArrow, { color: colors.tooltipColor }),
61
- React.createElement("div", { className: "flex flex-col gap-[10px]" }, amenities.map((id, i) => {
62
- const rawItem = metaData.amenities[id];
63
- if (isWater(rawItem))
64
- return null;
65
- const name = getAmenityBaseName(rawItem);
66
- return (React.createElement("div", { key: i, className: "flex items-center gap-[5px] text-xs whitespace-nowrap" },
67
- React.createElement(SvgAmenities, { moreAnemities: true, name: name.toUpperCase(), color: "white" }),
68
- getAmenityName(name.split("_").join(" "))));
69
- })))));
70
- })));
47
+ return (React.createElement("div", { className: "relative flex items-center gap-[6px] group cursor-pointer" },
48
+ visibleAmenities.map((val, key) => {
49
+ const raw = metaData.amenities[val];
50
+ if (isWater(raw))
51
+ return null;
52
+ const baseName = getAmenityBaseName(raw);
53
+ return (React.createElement("div", { key: key },
54
+ React.createElement("div", { className: grayscaleClass },
55
+ React.createElement(SvgAmenities, { moreAnemities: false, name: baseName.toLowerCase() }))));
56
+ }),
57
+ React.createElement("div", { className: TOOLTIP_CLASS, style: {
58
+ backgroundColor: colors.bottomStripColor,
59
+ zIndex: 21,
60
+ padding: "12px",
61
+ } },
62
+ React.createElement(TooltipArrow, { color: colors.tooltipColor }),
63
+ React.createElement("div", { className: "flex flex-col gap-[10px]" }, amenities.map((id, i) => {
64
+ const rawItem = metaData.amenities[id];
65
+ if (isWater(rawItem))
66
+ return null;
67
+ const name = getAmenityBaseName(rawItem);
68
+ return (React.createElement("div", { key: i, className: "flex items-center gap-[5px] text-xs whitespace-nowrap" },
69
+ React.createElement(SvgAmenities, { moreAnemities: true, name: name.toUpperCase(), color: "white" }),
70
+ getAmenityName(name.split("_").join(" "))));
71
+ })))));
71
72
  };
72
73
  export default AmenitiesBlock;
@@ -3,6 +3,7 @@ import LottiePlayer from "../../assets/LottiePlayer";
3
3
  import FlexibleBlock from "../FlexibleBlock";
4
4
  import PetBlock from "../PetBlock";
5
5
  function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, isItemExpanded, colors, translation, getAnimationIcon, downArrowIcon, onToggleExpand, }) {
6
+ console.log("🚀 ~ BottomAmenities ~ isItemExpanded:", isItemExpanded);
6
7
  const hasPetInfo = serviceItem.pet_seat_info &&
7
8
  Object.keys(serviceItem.pet_seat_info).length > 0;
8
9
  const showDownArrow = ((serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.is_change_ticket) && serviceItem.pet_seat_info) ||
@@ -18,6 +19,6 @@ function BottomAmenities({ otherItems, serviceItem, grayscaleClass, isSoldOut, i
18
19
  React.createElement(LottiePlayer, { animationData: getAnimationIcon("locationAnim"), width: "20px", height: "20px" }))),
19
20
  serviceItem.is_change_ticket && (React.createElement(FlexibleBlock, { translation: translation, getAnimationIcon: getAnimationIcon, colors: colors, serviceItem: serviceItem, isSoldOut: isSoldOut })),
20
21
  hasPetInfo && (React.createElement(PetBlock, { translation: translation, getAnimationIcon: getAnimationIcon, colors: colors, isSoldOut: isSoldOut })),
21
- React.createElement("div", { className: `flex items-center cursor-pointer ml-[4px] transition-transform duration-300 w-[14px] h-[14px] `, onClick: onToggleExpand }, downArrowIcon))));
22
+ React.createElement("div", { className: `flex items-center cursor-pointer ml-[4px] transition-transform duration-300 w-[14px] h-[14px] ${isItemExpanded ? "rotate-180" : ""}`, onClick: onToggleExpand }, downArrowIcon))));
22
23
  }
23
24
  export default BottomAmenities;
@@ -50,9 +50,9 @@ function DateTimeSection({ serviceItem, isSoldOut, isCiva, isLinatal, removeArri
50
50
  DateService.ampmOnly(serviceItem.dep_time))) : (DateService.formatTime(serviceItem.dep_time)))),
51
51
  !isCiva && (React.createElement(StageTooltip, { stageData: serviceItem.dropoff_stages, direction: 2, terminals: busStage, serviceItem: serviceItem, metaData: metaData, colors: colors },
52
52
  React.createElement("div", { className: "font-[900] bold-text" }, removeArrivalTime
53
- ? null
53
+ ? "\u00A0"
54
54
  : serviceItem.arr_time
55
55
  ? DateService.formatTime(serviceItem.arr_time)
56
- : null))))));
56
+ : "\u00A0"))))));
57
57
  }
58
58
  export default DateTimeSection;
@@ -5,7 +5,7 @@ const DirectoBlock = ({ translation, isSoldOut, colors, getAnimationIcon }) => (
5
5
  React.createElement(LottiePlayer, { animationData: getAnimationIcon("directoAnim"), width: "14px", height: "14px" })),
6
6
  React.createElement("div", { className: "group text-[13.33px] cursor-pointer" }, translation === null || translation === void 0 ? void 0 :
7
7
  translation.directService,
8
- React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-nowrap w-fit z-10 mt-2.5 text-center shadow-service text-[12px]", style: { backgroundColor: colors.tooltipColor } },
9
- React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent", style: { borderBottomColor: colors.tooltipColor } }), translation === null || translation === void 0 ? void 0 :
8
+ React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-nowrap w-fit z-10 mt-2.5 text-center shadow-service text-[12px]", style: { backgroundColor: colors.bottomStripColor } },
9
+ React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent", style: { borderBottomColor: colors.bottomStripColor } }), translation === null || translation === void 0 ? void 0 :
10
10
  translation.directServiceText))));
11
11
  export default DirectoBlock;
@@ -5,7 +5,7 @@ const DurationBlock = ({ serviceItem, translation, renderIcon, isSoldOut, colors
5
5
  serviceItem.duration,
6
6
  " ",
7
7
  translation.hours,
8
- React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-normal z-10 mt-2.5 w-[188px] text-center break-normal shadow-service text-[12px]", style: { backgroundColor: colors.tooltipColor } },
9
- React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent", style: { borderBottomColor: colors.tooltipColor } }),
8
+ React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-normal z-10 mt-2.5 w-[188px] text-center break-normal shadow-service text-[12px]", style: { backgroundColor: colors.bottomStripColor } },
9
+ React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent", style: { borderBottomColor: colors.bottomStripColor } }),
10
10
  "Duraci\u00F3n estimada del viaje"))));
11
11
  export default DurationBlock;
@@ -12,10 +12,11 @@ const FlexibleBlock = ({ translation, getAnimationIcon, colors, serviceItem, isS
12
12
  // animationData={serviceItem.icons.flexibleAnim}
13
13
  animationData: getAnimationIcon("flexibleIcon"), width: "20px", height: "20px" }))),
14
14
  React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-normal z-10 mt-2.5 w-[230px] text-center break-normal shadow-service text-[12px]", style: {
15
- backgroundColor: colors.tooltipColor,
15
+ backgroundColor: colors.bottomStripColor,
16
16
  lineHeight: "1.5",
17
+ zIndex: "1000",
17
18
  } },
18
- React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent ", style: { borderBottomColor: colors.tooltipColor } }),
19
+ React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent ", style: { borderBottomColor: colors.bottomStripColor } }),
19
20
  "Esta empresa permite cambios sin costo hasta (", (_a = serviceItem === null || serviceItem === void 0 ? void 0 : serviceItem.change_ticket_hours) !== null && _a !== void 0 ? _a : 6,
20
21
  ") horas antes del viaje."))));
21
22
  };
@@ -7,7 +7,7 @@ const RatingBlock = ({ showRating, serviceItem, isSoldOut, colors, t, translatio
7
7
  color: isSoldOut ? "#c0c0c0" : "#464647",
8
8
  } },
9
9
  React.createElement("span", { className: "block max-w-[120px] overflow-hidden text-ellipsis whitespace-nowrap cursor-pointer" }, serviceItem.operator_details[2]),
10
- React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-nowrap z-10 mt-2.5 w-max text-center shadow-service text-[12px]", style: { backgroundColor: colors.tooltipColor } },
11
- React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent ", style: { borderBottomColor: colors.tooltipColor } }),
10
+ React.createElement("div", { className: "hidden group-hover:block absolute top-[24px] left-1/2 -translate-x-1/2 text-white p-3 rounded-[14px] whitespace-nowrap z-10 mt-2.5 w-max text-center shadow-service text-[12px]", style: { backgroundColor: colors.bottomStripColor, zIndex: "300" } },
11
+ React.createElement("div", { className: "tooltip-arrow absolute -top-[7px] left-1/2 -translate-x-1/2 w-0 h-0 border-l-8 border-r-8 border-b-8 border-l-transparent border-r-transparent ", style: { borderBottomColor: colors.bottomStripColor } }),
12
12
  serviceItem.operator_details[2]))));
13
13
  export default RatingBlock;
@@ -10,6 +10,7 @@ interface TopAmenitiesProps {
10
10
  countdownSeconds?: number;
11
11
  promoText?: string;
12
12
  onCountdownEnd?: () => void;
13
+ offerText?: string;
13
14
  }
14
- declare function TopAmenities({ showPromo, showTopLabel, isSoldOut, priceColor, buttonColor, boardingIcon, getAnimationIcon, countdownSeconds, onCountdownEnd, }: TopAmenitiesProps): React.ReactElement;
15
+ declare function TopAmenities({ showPromo, showTopLabel, isSoldOut, priceColor, buttonColor, boardingIcon, getAnimationIcon, countdownSeconds, onCountdownEnd, offerText, }: TopAmenitiesProps): React.ReactElement;
15
16
  export default TopAmenities;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import LottiePlayer from "../../assets/LottiePlayer";
3
- function TopAmenities({ showPromo, showTopLabel, isSoldOut, priceColor, buttonColor, boardingIcon, getAnimationIcon, countdownSeconds = 0, onCountdownEnd, }) {
3
+ function TopAmenities({ showPromo, showTopLabel, isSoldOut, priceColor, buttonColor, boardingIcon, getAnimationIcon, countdownSeconds = 0, onCountdownEnd, offerText, }) {
4
4
  const pad = (n) => String(n).padStart(2, "0");
5
5
  const startCountdown = (el) => {
6
6
  if (!el || el.dataset.timerStarted)
@@ -34,7 +34,7 @@ function TopAmenities({ showPromo, showTopLabel, isSoldOut, priceColor, buttonCo
34
34
  position: "relative",
35
35
  zIndex: "-1",
36
36
  } },
37
- React.createElement("div", { "data-promo-bar": true, style: {
37
+ offerText && (React.createElement("div", { "data-promo-bar": true, style: {
38
38
  backgroundColor: priceColor,
39
39
  position: "relative",
40
40
  right: showTopLabel ? "-21px" : "",
@@ -45,13 +45,15 @@ function TopAmenities({ showPromo, showTopLabel, isSoldOut, priceColor, buttonCo
45
45
  React.createElement("div", { style: { display: "flex", alignItems: "center" } },
46
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
- React.createElement("span", { className: "bold-text" }, "kuponazo 20%\u00A0"),
48
+ React.createElement("span", { className: "bold-text" },
49
+ offerText,
50
+ "\u00A0"),
49
51
  " | Termina en\u00A0",
50
52
  React.createElement("span", { className: "bold-text", ref: startCountdown, style: {
51
53
  fontVariantNumeric: "tabular-nums",
52
54
  display: "inline-block",
53
55
  minWidth: "70px",
54
- } })))),
56
+ } }))))),
55
57
  showTopLabel && (React.createElement("div", { className: "flex items-center py-[10px] px-[14px] text-[13.33px] z-20", style: {
56
58
  backgroundColor: isSoldOut ? "#ddd" : buttonColor,
57
59
  borderTopRightRadius: "10px",
@@ -8,6 +8,7 @@ interface TopAmenitieMobileProps {
8
8
  countdownSeconds?: number;
9
9
  promoText?: string;
10
10
  onCountdownEnd?: () => void;
11
+ offerText?: string;
11
12
  }
12
- declare function TopAmenitieMobile({ showTopLabel, isSoldOut, seatPriceColor, bombAnim, priorityStageAnim, countdownSeconds, onCountdownEnd, }: TopAmenitieMobileProps): React.ReactElement;
13
+ declare function TopAmenitieMobile({ showTopLabel, isSoldOut, seatPriceColor, bombAnim, priorityStageAnim, countdownSeconds, onCountdownEnd, offerText, }: TopAmenitieMobileProps): React.ReactElement;
13
14
  export default TopAmenitieMobile;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import LottiePlayer from "../../assets/LottiePlayer";
3
- function TopAmenitieMobile({ showTopLabel, isSoldOut, seatPriceColor, bombAnim, priorityStageAnim, countdownSeconds = 0, onCountdownEnd, }) {
3
+ function TopAmenitieMobile({ showTopLabel, isSoldOut, seatPriceColor, bombAnim, priorityStageAnim, countdownSeconds = 0, onCountdownEnd, offerText, }) {
4
4
  const pad = (n) => String(n).padStart(2, "0");
5
5
  const startCountdown = (el) => {
6
6
  if (!el || el.dataset.timerStarted)
@@ -34,7 +34,7 @@ function TopAmenitieMobile({ showTopLabel, isSoldOut, seatPriceColor, bombAnim,
34
34
  position: "relative",
35
35
  zIndex: "-1",
36
36
  } },
37
- React.createElement("div", { style: {
37
+ offerText && (React.createElement("div", { style: {
38
38
  backgroundColor: seatPriceColor,
39
39
  position: "relative",
40
40
  right: showTopLabel ? "-21px" : "",
@@ -45,14 +45,14 @@ function TopAmenitieMobile({ showTopLabel, isSoldOut, seatPriceColor, bombAnim,
45
45
  React.createElement("div", { style: { display: "flex", alignItems: "center", color: "#fff" } },
46
46
  React.createElement(LottiePlayer, { animationData: bombAnim, width: "16px", height: "16px" }),
47
47
  React.createElement("span", { className: "flex items-center gap-[5px] py-[6px] pl-[6px] text-[12px] z-20", style: { paddingRight: showTopLabel ? "20px" : "0" } },
48
- React.createElement("span", { className: "bold-text" }, "kuponazo 20% "),
48
+ React.createElement("span", { className: "bold-text" }, offerText),
49
49
  " |",
50
50
  " ",
51
51
  React.createElement("span", { ref: startCountdown, style: {
52
52
  fontVariantNumeric: "tabular-nums",
53
53
  display: "inline-block",
54
54
  minWidth: "50px",
55
- } })))),
55
+ } }))))),
56
56
  showTopLabel && (React.createElement("div", { className: `flex items-center gap-[5px] py-[6px] px-[10px] text-[12px] z-20`, style: {
57
57
  backgroundColor: isSoldOut ? "#ddd" : "#ff8f45",
58
58
  borderTopRightRadius: "12px",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kupos-ui-components-lib",
3
- "version": "9.0.11",
3
+ "version": "9.1.0",
4
4
  "description": "A reusable UI components package",
5
5
  "publishConfig": {
6
6
  "access": "public"