kupos-ui-components-lib 9.9.7 → 9.9.9

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 (35) hide show
  1. package/dist/KuposUIComponent.d.ts +3 -0
  2. package/dist/components/ServiceItem/PeruServiceItemDesktop.d.ts +1 -1
  3. package/dist/components/ServiceItem/PeruServiceItemDesktop.js +156 -176
  4. package/dist/components/ServiceItem/ServiceItemDesktop.d.ts +1 -1
  5. package/dist/components/ServiceItem/ServiceItemDesktop.js +28 -12
  6. package/dist/components/ServiceItem/ServiceItemMobile.d.ts +1 -1
  7. package/dist/components/ServiceItem/ServiceItemMobile.js +45 -17
  8. package/dist/components/ServiceItem/mobileTypes.d.ts +48 -0
  9. package/dist/components/ServiceItem/types.d.ts +27 -1
  10. package/dist/styles.css +219 -13
  11. package/dist/ui/ExpendedDropDown/ExpandedDropdown.d.ts +1 -2
  12. package/dist/ui/ExpendedDropDown/ExpandedDropdown.js +2 -4
  13. package/dist/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.js +3 -10
  14. package/dist/ui/OfferBanner.d.ts +2 -0
  15. package/dist/ui/OfferBanner.js +22 -15
  16. package/dist/ui/SeatSection/SeatSection.js +3 -3
  17. package/dist/utils/CommonService.d.ts +3 -0
  18. package/dist/utils/CommonService.js +18 -1
  19. package/package.json +1 -1
  20. package/src/KuposUIComponent.tsx +3 -0
  21. package/src/assets/images/anims/service_list/flame_anim.json +1 -0
  22. package/src/assets/images/anims/service_list/thunder_icon.json +1 -0
  23. package/src/assets/images/anims/service_list/users_anim.json +1 -0
  24. package/src/components/ServiceItem/PeruServiceItemDesktop.tsx +404 -277
  25. package/src/components/ServiceItem/ServiceItemDesktop.tsx +71 -8
  26. package/src/components/ServiceItem/ServiceItemMobile.tsx +374 -271
  27. package/src/components/ServiceItem/mobileTypes.ts +48 -0
  28. package/src/components/ServiceItem/types.ts +32 -1
  29. package/src/styles.css +15 -0
  30. package/src/ui/ExpendedDropDown/ExpandedDropdown.tsx +2 -4
  31. package/src/ui/FeaturServiceUiMobile/FeatureServiceUiMobile.tsx +575 -0
  32. package/src/ui/FeatureServiceUI/FeatureServiceUi.tsx +634 -0
  33. package/src/ui/OfferBanner.tsx +71 -43
  34. package/src/ui/SeatSection/SeatSection.tsx +3 -3
  35. package/src/utils/CommonService.ts +26 -1
@@ -46,6 +46,20 @@ export interface MobileServiceItemProps {
46
46
  dp_discount_percents?: Record<string, number>;
47
47
  dp_discounted_seats?: string[];
48
48
  dep_validation_text?: string;
49
+ discount_type?: string;
50
+ discount_value?: number;
51
+ max_discount?: number;
52
+ discounts?: Array<{
53
+ id?: number;
54
+ name?: string;
55
+ send_discount_to_api?: boolean;
56
+ new_ui_enabled?: boolean;
57
+ discount?: number;
58
+ seatwise_breakdown?: any;
59
+ seat_wise_discounts?: any;
60
+ total_amount?: number;
61
+ promotional_text?: string;
62
+ }>;
49
63
  metaData?: {};
50
64
  is_tracking_enabled?: boolean;
51
65
  show_top_label?: boolean;
@@ -127,6 +141,20 @@ export interface MobileServiceItemProps {
127
141
  directoIcon?: string;
128
142
  whiteFireIcon?: string;
129
143
  femaleAnim?: string;
144
+ thunderAnim?: string;
145
+ personsAnim?: string;
146
+ whiteOrigin?: string;
147
+ whiteDestination?: string;
148
+ userIcon?: string;
149
+
150
+ sheildIcon?: string;
151
+ busIcon?: string;
152
+ whiteDownArrow?: string;
153
+ empressaIcon?: string;
154
+ flexibleIcon?: string;
155
+ listoIcon?: string;
156
+ precioIcon?: string;
157
+ confirmarIcon?: string;
130
158
  cancelTicketIcon?: string;
131
159
  changeTicketIcon?: string;
132
160
  petFriendlyIcon?: string;
@@ -136,6 +164,7 @@ export interface MobileServiceItemProps {
136
164
  useLottieFor?: string[];
137
165
  };
138
166
  onBookButtonPress?: () => void;
167
+ onRemateUiButtonClick?: () => void;
139
168
  terminals?: any[];
140
169
  showDropdown?: boolean;
141
170
  setShowDropdown?: (value: boolean) => void;
@@ -201,4 +230,23 @@ export interface MobileServiceItemProps {
201
230
  };
202
231
  operatorLabel?: string;
203
232
  isTrain?: boolean;
233
+ isFeatureDropDownExpand?: any;
234
+ setIsFeatureDropDownExpand?: (value: any) => void;
235
+ ticketQuantity?: number;
236
+ onIncreaseTicketQuantity?: (
237
+ serviceItem: MobileServiceItemProps["serviceItem"],
238
+ ) => void;
239
+ onDecreaseTicketQuantity?: (
240
+ serviceItem: MobileServiceItemProps["serviceItem"],
241
+ ) => void;
242
+ cityOrigin?: { value: number; label: string };
243
+ cityDestination?: { value: number; label: string };
244
+ isNewUi?: boolean;
245
+
246
+ selectedTimeSlot?: string;
247
+ onTimeSlotChange?: (slot: string) => void;
248
+ isTimeDropdownOpen?: string | number | null;
249
+ onTimeDropdownToggle?: (id?: string | number | null) => void;
250
+ wowDealData?: any;
251
+ isFlores?: boolean;
204
252
  }
@@ -47,6 +47,9 @@ export interface ServiceItemProps {
47
47
  discount_type?: string;
48
48
  discount_value?: number;
49
49
  max_discount?: number;
50
+ discounts?: Array<{
51
+ new_ui_enabled?: boolean;
52
+ }>;
50
53
  is_transpordo?: boolean;
51
54
  is_train_type?: boolean;
52
55
  operator_service_name?: string;
@@ -132,11 +135,24 @@ export interface ServiceItemProps {
132
135
  whiteFireIcon?: string;
133
136
  fireIcon?: string;
134
137
 
138
+ whiteOrigin?: string;
139
+ whiteDestination?: string;
140
+ userIcon?: string;
141
+
142
+ sheildIcon?: string;
143
+ busIcon?: string;
144
+ whiteDownArrow?: string;
145
+ empressaIcon?: string;
146
+ flexibleIcon?: string;
147
+ listoIcon?: string;
148
+ precioIcon?: string;
149
+ confirmarIcon?: string;
135
150
  [key: string]: string | Record<string, string | undefined> | undefined;
136
151
  };
137
152
  useLottieFor?: string[];
138
153
  };
139
154
  onBookButtonPress?: () => void;
155
+ onRemateUiButtonClick?: () => void;
140
156
  terminals?: any[];
141
157
  t?: (key: string) => string;
142
158
  serviceDetailsLoading?: boolean;
@@ -215,6 +231,15 @@ export interface ServiceItemProps {
215
231
  isAllinBus?: boolean;
216
232
  isExpand?: any;
217
233
  setIsExpand?: (value: any) => void;
234
+ isFeatureDropDownExpand?: any;
235
+ setIsFeatureDropDownExpand?: (value: any) => void;
236
+ ticketQuantity?: number;
237
+ onIncreaseTicketQuantity?: (
238
+ serviceItem: ServiceItemProps["serviceItem"],
239
+ ) => void;
240
+ onDecreaseTicketQuantity?: (
241
+ serviceItem: ServiceItemProps["serviceItem"],
242
+ ) => void;
218
243
  coachKey?: number;
219
244
  viewersConfig?: {
220
245
  min: number;
@@ -223,6 +248,7 @@ export interface ServiceItemProps {
223
248
  label?: string; // e.g. "personas están viendo este viaje"
224
249
  icon?: string; // optional icon URL
225
250
  };
251
+ isNewUi?: boolean;
226
252
  showLoginModal?: any;
227
253
  isLoggedIn?: any;
228
254
  showLoginOption?: boolean;
@@ -238,6 +264,11 @@ export interface ServiceItemProps {
238
264
  showSeatSelectionError?: string | null;
239
265
  onShowSeatSelectionError?: (serviceId: string) => void;
240
266
  onClearSeatSelectionError?: () => void;
267
+ selectedTimeSlot?: string;
268
+ onTimeSlotChange?: (slot: string) => void;
269
+ isTimeDropdownOpen?: string | number | null;
270
+ onTimeDropdownToggle?: (id?: string | number | null) => void;
271
+ wowDealData?: any;
272
+ isNewUiEnabled?: boolean;
241
273
  isFlores?: boolean;
242
- operatorLabel?: string;
243
274
  }
package/src/styles.css CHANGED
@@ -93,6 +93,21 @@
93
93
  display: none;
94
94
  }
95
95
 
96
+ /* Time slot dropdown */
97
+ .kupos-time-dd > summary {
98
+ list-style: none;
99
+ }
100
+ .kupos-time-dd > summary::-webkit-details-marker {
101
+ display: none;
102
+ }
103
+ .kupos-time-chevron {
104
+ transition: transform 200ms ease;
105
+ flex-shrink: 0;
106
+ }
107
+ .kupos-time-dd[open] .kupos-time-chevron {
108
+ transform: rotate(180deg);
109
+ }
110
+
96
111
  .hide-scrollbar {
97
112
  -ms-overflow-style: none;
98
113
  scrollbar-width: none;
@@ -16,7 +16,6 @@ interface ExpandedDropdownProps {
16
16
  ladiesBookedSeats?: string;
17
17
  isDpEnabled?: boolean;
18
18
  renderIcon?: any;
19
- operatorLabel?: string;
20
19
  }
21
20
 
22
21
  function ExpandedDropdown({
@@ -29,7 +28,6 @@ function ExpandedDropdown({
29
28
  ladiesBookedSeats,
30
29
  isDpEnabled,
31
30
  renderIcon,
32
- operatorLabel,
33
31
  }: ExpandedDropdownProps): React.ReactElement {
34
32
  const hasPetInfo =
35
33
  serviceItem.pet_seat_info &&
@@ -64,8 +62,8 @@ function ExpandedDropdown({
64
62
  <span className="bold-text">
65
63
  hasta {serviceItem?.change_ticket_hours || 6} horas antes
66
64
  </span>{" "}
67
- de la salida del bus. El monto será reembolsado a tu billetera{" "}
68
- {operatorLabel ?? "kupospay"}.
65
+ de la salida del bus. El monto será reembolsado a tu billetera
66
+ kupospay.
69
67
  </span>
70
68
  </div>
71
69
  ) : (