kupos-ui-components-lib 1.0.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.
Files changed (177) hide show
  1. package/README copy.md +125 -0
  2. package/README.md +125 -0
  3. package/build-css.js +28 -0
  4. package/copy-assets.js +45 -0
  5. package/dist/KuposUIComponent.d.ts +84 -0
  6. package/dist/KuposUIComponent.js +49 -0
  7. package/dist/ResponsiveServiceItem.d.ts +3 -0
  8. package/dist/ResponsiveServiceItem.js +10 -0
  9. package/dist/ServiceItemDesktop.d.ts +3 -0
  10. package/dist/ServiceItemDesktop.js +6 -0
  11. package/dist/ServiceItemMobile.d.ts +3 -0
  12. package/dist/ServiceItemMobile.js +5 -0
  13. package/dist/ServiceItemMobileView.d.ts +4 -0
  14. package/dist/ServiceItemMobileView.js +33 -0
  15. package/dist/ServiceItemPb.d.ts +4 -0
  16. package/dist/ServiceItemPb.js +486 -0
  17. package/dist/ServivceItemPbMobile.d.ts +4 -0
  18. package/dist/ServivceItemPbMobile.js +248 -0
  19. package/dist/assets/LottieIcon.d.ts +7 -0
  20. package/dist/assets/LottieIcon.js +8 -0
  21. package/dist/assets/LottieIcon.tsx +26 -0
  22. package/dist/assets/LottiePlayer.d.ts +20 -0
  23. package/dist/assets/LottiePlayer.js +24 -0
  24. package/dist/assets/LottiePlayer.tsx +63 -0
  25. package/dist/assets/PopupComponent.d.ts +12 -0
  26. package/dist/assets/PopupComponent.js +18 -0
  27. package/dist/assets/PopupComponent.tsx +65 -0
  28. package/dist/assets/images/amenities/Icon_More-Amenities.svg +1 -0
  29. package/dist/assets/images/amenities/Restrooms-white.svg +1 -0
  30. package/dist/assets/images/amenities/Restrooms.svg +1 -0
  31. package/dist/assets/images/amenities/air_condtion-white.svg +1 -0
  32. package/dist/assets/images/amenities/air_condtion.svg +1 -0
  33. package/dist/assets/images/amenities/amenity-cortina.png +0 -0
  34. package/dist/assets/images/amenities/baggage-white.svg +1 -0
  35. package/dist/assets/images/amenities/baggage.svg +1 -0
  36. package/dist/assets/images/amenities/charging_plug-white.svg +1 -0
  37. package/dist/assets/images/amenities/charging_plug.svg +17 -0
  38. package/dist/assets/images/amenities/coffee.svg +1 -0
  39. package/dist/assets/images/amenities/cortina_divisoria.svg +19 -0
  40. package/dist/assets/images/amenities/divider-curtain.svg +34 -0
  41. package/dist/assets/images/amenities/food_new_icon-white.svg +1 -0
  42. package/dist/assets/images/amenities/food_new_icon.svg +1 -0
  43. package/dist/assets/images/amenities/frazda_amenity.svg +11 -0
  44. package/dist/assets/images/amenities/handicap-white.svg +1 -0
  45. package/dist/assets/images/amenities/handicap.svg +1 -0
  46. package/dist/assets/images/amenities/icon-app-cortina.svg +19 -0
  47. package/dist/assets/images/amenities/mobile_ticket-white.svg +1 -0
  48. package/dist/assets/images/amenities/mobile_ticket.svg +29 -0
  49. package/dist/assets/images/amenities/movie-white.svg +1 -0
  50. package/dist/assets/images/amenities/movie.svg +1 -0
  51. package/dist/assets/images/amenities/music-white.svg +1 -0
  52. package/dist/assets/images/amenities/music.svg +1 -0
  53. package/dist/assets/images/amenities/snacks_new-white.svg +1 -0
  54. package/dist/assets/images/amenities/snacks_new.svg +27 -0
  55. package/dist/assets/images/amenities/whatsapp-charges-info-icon.svg +5 -0
  56. package/dist/assets/images/amenities/wifi-white.svg +1 -0
  57. package/dist/assets/images/amenities/wifi.svg +1 -0
  58. package/dist/assets/images/anims/service_list/flexible.json +391 -0
  59. package/dist/assets/images/anims/service_list/location.json +589 -0
  60. package/dist/assets/images/index.d.ts +32 -0
  61. package/dist/assets/images/index.js +35 -0
  62. package/dist/assets/images/index.ts +35 -0
  63. package/dist/components/InternationalServicePopupBody.d.ts +3 -0
  64. package/dist/components/InternationalServicePopupBody.js +21 -0
  65. package/dist/components/PaymentSideBar/PaymentSideBarDesktop.d.ts +4 -0
  66. package/dist/components/PaymentSideBar/PaymentSideBarDesktop.js +107 -0
  67. package/dist/components/PaymentSideBar/PaymentSideBarMobile.d.ts +4 -0
  68. package/dist/components/PaymentSideBar/PaymentSideBarMobile.js +115 -0
  69. package/dist/components/PaymentSideBar/ResponsivePaymentSideBar.d.ts +3 -0
  70. package/dist/components/PaymentSideBar/ResponsivePaymentSideBar.js +10 -0
  71. package/dist/components/PaymentSideBar/index.d.ts +5 -0
  72. package/dist/components/PaymentSideBar/index.js +4 -0
  73. package/dist/components/PaymentSideBar/types.d.ts +38 -0
  74. package/dist/components/PaymentSideBar/types.js +1 -0
  75. package/dist/components/ServiceItem/ResponsiveServiceItem.d.ts +3 -0
  76. package/dist/components/ServiceItem/ResponsiveServiceItem.js +10 -0
  77. package/dist/components/ServiceItem/ServiceItemDesktop.d.ts +4 -0
  78. package/dist/components/ServiceItem/ServiceItemDesktop.js +486 -0
  79. package/dist/components/ServiceItem/ServiceItemMobile.d.ts +4 -0
  80. package/dist/components/ServiceItem/ServiceItemMobile.js +248 -0
  81. package/dist/components/ServiceItem/index.d.ts +5 -0
  82. package/dist/components/ServiceItem/index.js +4 -0
  83. package/dist/components/ServiceItem/mobileTypes.d.ts +141 -0
  84. package/dist/components/ServiceItem/mobileTypes.js +1 -0
  85. package/dist/components/ServiceItem/types.d.ts +164 -0
  86. package/dist/components/ServiceItem/types.js +1 -0
  87. package/dist/components/ServiceList/ResponsiveServiceList.d.ts +3 -0
  88. package/dist/components/ServiceList/ResponsiveServiceList.js +10 -0
  89. package/dist/components/ServiceList/ServiceListDesktop.d.ts +4 -0
  90. package/dist/components/ServiceList/ServiceListDesktop.js +164 -0
  91. package/dist/components/ServiceList/ServiceListMobile.d.ts +4 -0
  92. package/dist/components/ServiceList/ServiceListMobile.js +195 -0
  93. package/dist/components/ServiceList/index.d.ts +5 -0
  94. package/dist/components/ServiceList/index.js +4 -0
  95. package/dist/components/ServiceList/types.d.ts +35 -0
  96. package/dist/components/ServiceList/types.js +1 -0
  97. package/dist/example.d.ts +5 -0
  98. package/dist/example.js +240 -0
  99. package/dist/index.d.ts +13 -0
  100. package/dist/index.js +15 -0
  101. package/dist/mobileTypes.d.ts +141 -0
  102. package/dist/mobileTypes.js +1 -0
  103. package/dist/styles.css +803 -0
  104. package/dist/types.d.ts +151 -0
  105. package/dist/types.js +1 -0
  106. package/dist/utils/DateService.d.ts +16 -0
  107. package/dist/utils/DateService.js +160 -0
  108. package/dist/utils/ModalEventManager.d.ts +40 -0
  109. package/dist/utils/ModalEventManager.js +329 -0
  110. package/kupos-service-item-package-1.0.0.tgz +0 -0
  111. package/package.json +43 -0
  112. package/postcss.config.js +6 -0
  113. package/src/KuposUIComponent.tsx +152 -0
  114. package/src/ServiceItemPb.tsx +1048 -0
  115. package/src/assets/LottieIcon.tsx +26 -0
  116. package/src/assets/LottiePlayer.tsx +63 -0
  117. package/src/assets/PopupComponent.tsx +65 -0
  118. package/src/assets/images/amenities/Icon_More-Amenities.svg +1 -0
  119. package/src/assets/images/amenities/Restrooms-white.svg +1 -0
  120. package/src/assets/images/amenities/Restrooms.svg +1 -0
  121. package/src/assets/images/amenities/air_condtion-white.svg +1 -0
  122. package/src/assets/images/amenities/air_condtion.svg +1 -0
  123. package/src/assets/images/amenities/amenity-cortina.png +0 -0
  124. package/src/assets/images/amenities/baggage-white.svg +1 -0
  125. package/src/assets/images/amenities/baggage.svg +1 -0
  126. package/src/assets/images/amenities/charging_plug-white.svg +1 -0
  127. package/src/assets/images/amenities/charging_plug.svg +17 -0
  128. package/src/assets/images/amenities/coffee.svg +1 -0
  129. package/src/assets/images/amenities/cortina_divisoria.svg +19 -0
  130. package/src/assets/images/amenities/divider-curtain.svg +34 -0
  131. package/src/assets/images/amenities/food_new_icon-white.svg +1 -0
  132. package/src/assets/images/amenities/food_new_icon.svg +1 -0
  133. package/src/assets/images/amenities/frazda_amenity.svg +11 -0
  134. package/src/assets/images/amenities/handicap-white.svg +1 -0
  135. package/src/assets/images/amenities/handicap.svg +1 -0
  136. package/src/assets/images/amenities/icon-app-cortina.svg +19 -0
  137. package/src/assets/images/amenities/mobile_ticket-white.svg +1 -0
  138. package/src/assets/images/amenities/mobile_ticket.svg +29 -0
  139. package/src/assets/images/amenities/movie-white.svg +1 -0
  140. package/src/assets/images/amenities/movie.svg +1 -0
  141. package/src/assets/images/amenities/music-white.svg +1 -0
  142. package/src/assets/images/amenities/music.svg +1 -0
  143. package/src/assets/images/amenities/snacks_new-white.svg +1 -0
  144. package/src/assets/images/amenities/snacks_new.svg +27 -0
  145. package/src/assets/images/amenities/whatsapp-charges-info-icon.svg +5 -0
  146. package/src/assets/images/amenities/wifi-white.svg +1 -0
  147. package/src/assets/images/amenities/wifi.svg +1 -0
  148. package/src/assets/images/anims/service_list/flexible.json +391 -0
  149. package/src/assets/images/anims/service_list/location.json +589 -0
  150. package/src/assets/images/index.ts +35 -0
  151. package/src/components/InternationalServicePopupBody.tsx +40 -0
  152. package/src/components/PaymentSideBar/PaymentSideBarDesktop.tsx +183 -0
  153. package/src/components/PaymentSideBar/PaymentSideBarMobile.tsx +197 -0
  154. package/src/components/PaymentSideBar/ResponsivePaymentSideBar.tsx +14 -0
  155. package/src/components/PaymentSideBar/index.ts +5 -0
  156. package/src/components/PaymentSideBar/types.ts +44 -0
  157. package/src/components/ServiceItem/ResponsiveServiceItem.tsx +14 -0
  158. package/src/components/ServiceItem/ServiceItemDesktop.tsx +1048 -0
  159. package/src/components/ServiceItem/ServiceItemMobile.tsx +544 -0
  160. package/src/components/ServiceItem/index.ts +5 -0
  161. package/src/components/ServiceItem/mobileTypes.ts +159 -0
  162. package/src/components/ServiceItem/types.ts +163 -0
  163. package/src/components/ServiceList/ResponsiveServiceList.tsx +14 -0
  164. package/src/components/ServiceList/ServiceListDesktop.tsx +353 -0
  165. package/src/components/ServiceList/ServiceListMobile.tsx +400 -0
  166. package/src/components/ServiceList/index.ts +5 -0
  167. package/src/components/ServiceList/types.ts +43 -0
  168. package/src/dummyData.json +73 -0
  169. package/src/example.tsx +348 -0
  170. package/src/index.ts +37 -0
  171. package/src/lottie-player.d.ts +0 -0
  172. package/src/styles.css +77 -0
  173. package/src/types.ts +150 -0
  174. package/src/utils/DateService.ts +197 -0
  175. package/src/utils/ModalEventManager.ts +405 -0
  176. package/tailwind.config.js +39 -0
  177. package/tsconfig.json +18 -0
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const InternationalServicePopupBody: React.FC;
3
+ export default InternationalServicePopupBody;
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ const InternationalServicePopupBody = () => {
3
+ return (React.createElement("div", { className: "text-base p-2 space-y-6 text-justify" },
4
+ React.createElement("div", null,
5
+ React.createElement("p", { className: "bold-text text-lg mb-3" }, "Si viajas desde Argentina a Chile, debes contar con:"),
6
+ React.createElement("div", { className: "pl-6 mb-3 relative" },
7
+ React.createElement("span", { className: "inline-block h-[7px] w-[7px] rounded-full bg-black justify-center items-center mb-[2px] mr-[5px]" }),
8
+ "Documento de identidad original, vigente y en buen estado.")),
9
+ React.createElement("div", { className: "leading-[1.3]" },
10
+ React.createElement("div", { className: "font-semibold text-lg mb-3" }, "Si viajas desde Chile a Argentina, debes contar con:"),
11
+ React.createElement("div", { className: "pl-6 relative" },
12
+ React.createElement("span", { className: "inline-block h-[7px] w-[7px] rounded-full bg-black justify-center items-center mb-[2px] mr-[5px]" }),
13
+ "Documento de identidad original, vigente y en buen estado."),
14
+ React.createElement("div", { className: "pl-6 relative" },
15
+ React.createElement("span", { className: "inline-block h-[7px] w-[7px] rounded-full bg-black justify-center items-center mb-[2px] mr-[5px]" }),
16
+ "Menores de edad: si viajan con ambos padres certificado de nacimiento y documento de identidad vigente. Si va con un solo padre o tutor, debe portar un permiso con autorizaci\u00F3n de viaje."),
17
+ React.createElement("div", { className: "pl-6 relative" },
18
+ React.createElement("span", { className: "inline-block h-[7px] w-[7px] rounded-full bg-black justify-center items-center mb-[2px] mr-[5px]" }),
19
+ "En caso de viajar con carnet de identidad el chip debe estar funcional."))));
20
+ };
21
+ export default InternationalServicePopupBody;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { PaymentSideBarProps } from "./types";
3
+ declare const PaymentSideBarDesktop: React.FC<PaymentSideBarProps>;
4
+ export default PaymentSideBarDesktop;
@@ -0,0 +1,107 @@
1
+ import React from "react";
2
+ const PaymentSideBarDesktop = (props) => {
3
+ const { amount = 0, currency = "$", paymentMethods = [], customerDetails, onPaymentComplete, onPaymentError, colors = {}, showSummary = true, orderDetails, } = props;
4
+ const handlePayment = () => {
5
+ try {
6
+ // Payment processing logic would go here
7
+ onPaymentComplete && onPaymentComplete("payment-123");
8
+ }
9
+ catch (error) {
10
+ onPaymentError && onPaymentError(error);
11
+ }
12
+ };
13
+ return (React.createElement("div", { className: "payment-sidebar-desktop", style: {
14
+ backgroundColor: colors.backgroundColor || "#ffffff",
15
+ color: colors.textColor || "#333333",
16
+ padding: "20px",
17
+ borderRadius: "8px",
18
+ boxShadow: "0 2px 10px rgba(0, 0, 0, 0.1)",
19
+ maxWidth: "400px",
20
+ } },
21
+ React.createElement("h2", { style: { marginBottom: "20px", color: colors.primaryColor || "#333" } }, "Payment Details"),
22
+ showSummary && orderDetails && (React.createElement("div", { className: "order-summary", style: { marginBottom: "20px" } },
23
+ React.createElement("h3", { style: { marginBottom: "10px" } }, "Order Summary"),
24
+ orderDetails.items.map((item, index) => (React.createElement("div", { key: index, style: {
25
+ display: "flex",
26
+ justifyContent: "space-between",
27
+ marginBottom: "8px",
28
+ } },
29
+ React.createElement("span", null,
30
+ item.name,
31
+ " x ",
32
+ item.quantity),
33
+ React.createElement("span", null,
34
+ currency,
35
+ item.price.toFixed(2))))),
36
+ React.createElement("div", { style: {
37
+ borderTop: "1px solid #eee",
38
+ paddingTop: "10px",
39
+ marginTop: "10px",
40
+ } },
41
+ React.createElement("div", { style: {
42
+ display: "flex",
43
+ justifyContent: "space-between",
44
+ marginBottom: "5px",
45
+ } },
46
+ React.createElement("span", null, "Subtotal"),
47
+ React.createElement("span", null,
48
+ currency,
49
+ orderDetails.subtotal.toFixed(2))),
50
+ orderDetails.tax !== undefined && (React.createElement("div", { style: {
51
+ display: "flex",
52
+ justifyContent: "space-between",
53
+ marginBottom: "5px",
54
+ } },
55
+ React.createElement("span", null, "Tax"),
56
+ React.createElement("span", null,
57
+ currency,
58
+ orderDetails.tax.toFixed(2)))),
59
+ orderDetails.discount !== undefined && (React.createElement("div", { style: {
60
+ display: "flex",
61
+ justifyContent: "space-between",
62
+ marginBottom: "5px",
63
+ } },
64
+ React.createElement("span", null, "Discount"),
65
+ React.createElement("span", null,
66
+ "-",
67
+ currency,
68
+ orderDetails.discount.toFixed(2)))),
69
+ React.createElement("div", { style: {
70
+ display: "flex",
71
+ justifyContent: "space-between",
72
+ fontWeight: "bold",
73
+ marginTop: "10px",
74
+ } },
75
+ React.createElement("span", null, "Total"),
76
+ React.createElement("span", null,
77
+ currency,
78
+ orderDetails.total.toFixed(2)))))),
79
+ React.createElement("div", { className: "payment-methods", style: { marginBottom: "20px" } },
80
+ React.createElement("h3", { style: { marginBottom: "10px" } }, "Payment Methods"),
81
+ paymentMethods.length > 0 ? (paymentMethods.map((method) => (React.createElement("div", { key: method.id, style: {
82
+ display: "flex",
83
+ alignItems: "center",
84
+ padding: "10px",
85
+ marginBottom: "8px",
86
+ border: `1px solid ${method.isSelected ? colors.primaryColor || "#007bff" : "#ddd"}`,
87
+ borderRadius: "4px",
88
+ cursor: "pointer",
89
+ backgroundColor: method.isSelected ? "#f8f9fa" : "transparent",
90
+ } },
91
+ method.icon && (React.createElement("img", { src: method.icon, alt: method.name, style: { width: "24px", height: "24px", marginRight: "10px" } })),
92
+ React.createElement("span", null, method.name))))) : (React.createElement("p", null, "No payment methods available"))),
93
+ React.createElement("button", { onClick: handlePayment, style: {
94
+ backgroundColor: colors.buttonColor || "#007bff",
95
+ color: colors.buttonTextColor || "#ffffff",
96
+ padding: "12px 20px",
97
+ border: "none",
98
+ borderRadius: "4px",
99
+ fontSize: "16px",
100
+ cursor: "pointer",
101
+ width: "100%",
102
+ } },
103
+ "Pay ",
104
+ currency,
105
+ amount.toFixed(2))));
106
+ };
107
+ export default PaymentSideBarDesktop;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { PaymentSideBarProps } from "./types";
3
+ declare const PaymentSideBarMobile: React.FC<PaymentSideBarProps>;
4
+ export default PaymentSideBarMobile;
@@ -0,0 +1,115 @@
1
+ import React from "react";
2
+ const PaymentSideBarMobile = (props) => {
3
+ const { amount = 0, currency = "$", paymentMethods = [], customerDetails, onPaymentComplete, onPaymentError, colors = {}, showSummary = true, orderDetails, } = props;
4
+ const handlePayment = () => {
5
+ try {
6
+ // Payment processing logic would go here
7
+ onPaymentComplete && onPaymentComplete("payment-123");
8
+ }
9
+ catch (error) {
10
+ onPaymentError && onPaymentError(error);
11
+ }
12
+ };
13
+ return (React.createElement("div", { className: "payment-sidebar-mobile", style: {
14
+ backgroundColor: colors.backgroundColor || "#ffffff",
15
+ color: colors.textColor || "#333333",
16
+ padding: "15px",
17
+ borderRadius: "8px",
18
+ boxShadow: "0 2px 10px rgba(0, 0, 0, 0.1)",
19
+ width: "100%",
20
+ maxWidth: "100%",
21
+ } },
22
+ React.createElement("h2", { style: {
23
+ marginBottom: "15px",
24
+ color: colors.primaryColor || "#333",
25
+ fontSize: "18px"
26
+ } }, "Payment Details"),
27
+ showSummary && orderDetails && (React.createElement("div", { className: "order-summary", style: { marginBottom: "15px" } },
28
+ React.createElement("h3", { style: { marginBottom: "8px", fontSize: "16px" } }, "Order Summary"),
29
+ React.createElement("div", { style: { maxHeight: "150px", overflowY: "auto" } }, orderDetails.items.map((item, index) => (React.createElement("div", { key: index, style: {
30
+ display: "flex",
31
+ justifyContent: "space-between",
32
+ marginBottom: "6px",
33
+ fontSize: "14px"
34
+ } },
35
+ React.createElement("span", null,
36
+ item.name,
37
+ " x ",
38
+ item.quantity),
39
+ React.createElement("span", null,
40
+ currency,
41
+ item.price.toFixed(2)))))),
42
+ React.createElement("div", { style: {
43
+ borderTop: "1px solid #eee",
44
+ paddingTop: "8px",
45
+ marginTop: "8px",
46
+ fontSize: "14px"
47
+ } },
48
+ React.createElement("div", { style: {
49
+ display: "flex",
50
+ justifyContent: "space-between",
51
+ marginBottom: "4px",
52
+ } },
53
+ React.createElement("span", null, "Subtotal"),
54
+ React.createElement("span", null,
55
+ currency,
56
+ orderDetails.subtotal.toFixed(2))),
57
+ orderDetails.tax !== undefined && (React.createElement("div", { style: {
58
+ display: "flex",
59
+ justifyContent: "space-between",
60
+ marginBottom: "4px",
61
+ } },
62
+ React.createElement("span", null, "Tax"),
63
+ React.createElement("span", null,
64
+ currency,
65
+ orderDetails.tax.toFixed(2)))),
66
+ orderDetails.discount !== undefined && (React.createElement("div", { style: {
67
+ display: "flex",
68
+ justifyContent: "space-between",
69
+ marginBottom: "4px",
70
+ } },
71
+ React.createElement("span", null, "Discount"),
72
+ React.createElement("span", null,
73
+ "-",
74
+ currency,
75
+ orderDetails.discount.toFixed(2)))),
76
+ React.createElement("div", { style: {
77
+ display: "flex",
78
+ justifyContent: "space-between",
79
+ fontWeight: "bold",
80
+ marginTop: "8px",
81
+ fontSize: "16px"
82
+ } },
83
+ React.createElement("span", null, "Total"),
84
+ React.createElement("span", null,
85
+ currency,
86
+ orderDetails.total.toFixed(2)))))),
87
+ React.createElement("div", { className: "payment-methods", style: { marginBottom: "15px" } },
88
+ React.createElement("h3", { style: { marginBottom: "8px", fontSize: "16px" } }, "Payment Methods"),
89
+ React.createElement("div", { style: { maxHeight: "150px", overflowY: "auto" } }, paymentMethods.length > 0 ? (paymentMethods.map((method) => (React.createElement("div", { key: method.id, style: {
90
+ display: "flex",
91
+ alignItems: "center",
92
+ padding: "8px",
93
+ marginBottom: "6px",
94
+ border: `1px solid ${method.isSelected ? colors.primaryColor || "#007bff" : "#ddd"}`,
95
+ borderRadius: "4px",
96
+ cursor: "pointer",
97
+ backgroundColor: method.isSelected ? "#f8f9fa" : "transparent",
98
+ } },
99
+ method.icon && (React.createElement("img", { src: method.icon, alt: method.name, style: { width: "20px", height: "20px", marginRight: "8px" } })),
100
+ React.createElement("span", { style: { fontSize: "14px" } }, method.name))))) : (React.createElement("p", { style: { fontSize: "14px" } }, "No payment methods available")))),
101
+ React.createElement("button", { onClick: handlePayment, style: {
102
+ backgroundColor: colors.buttonColor || "#007bff",
103
+ color: colors.buttonTextColor || "#ffffff",
104
+ padding: "10px 16px",
105
+ border: "none",
106
+ borderRadius: "4px",
107
+ fontSize: "16px",
108
+ cursor: "pointer",
109
+ width: "100%",
110
+ } },
111
+ "Pay ",
112
+ currency,
113
+ amount.toFixed(2))));
114
+ };
115
+ export default PaymentSideBarMobile;
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { PaymentSideBarProps } from "./types";
3
+ export default function ResponsivePaymentSideBar(props: PaymentSideBarProps): React.JSX.Element;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import PaymentSideBarDesktop from "./PaymentSideBarDesktop";
3
+ import PaymentSideBarMobile from "./PaymentSideBarMobile";
4
+ export default function ResponsivePaymentSideBar(props) {
5
+ const { variant } = props;
6
+ if (variant === "mobile") {
7
+ return React.createElement(PaymentSideBarMobile, Object.assign({}, props));
8
+ }
9
+ return React.createElement(PaymentSideBarDesktop, Object.assign({}, props));
10
+ }
@@ -0,0 +1,5 @@
1
+ import PaymentSideBarDesktop from "./PaymentSideBarDesktop";
2
+ import PaymentSideBarMobile from "./PaymentSideBarMobile";
3
+ import ResponsivePaymentSideBar from "./ResponsivePaymentSideBar";
4
+ export { PaymentSideBarDesktop, PaymentSideBarMobile, ResponsivePaymentSideBar };
5
+ export type { PaymentSideBarProps } from "./types";
@@ -0,0 +1,4 @@
1
+ import PaymentSideBarDesktop from "./PaymentSideBarDesktop";
2
+ import PaymentSideBarMobile from "./PaymentSideBarMobile";
3
+ import ResponsivePaymentSideBar from "./ResponsivePaymentSideBar";
4
+ export { PaymentSideBarDesktop, PaymentSideBarMobile, ResponsivePaymentSideBar };
@@ -0,0 +1,38 @@
1
+ export interface PaymentSideBarProps {
2
+ variant?: "mobile" | "desktop";
3
+ amount?: number;
4
+ currency?: string;
5
+ paymentMethods?: Array<{
6
+ id: string;
7
+ name: string;
8
+ icon?: string;
9
+ isSelected?: boolean;
10
+ }>;
11
+ customerDetails?: {
12
+ name?: string;
13
+ email?: string;
14
+ phone?: string;
15
+ };
16
+ onPaymentComplete?: (paymentId: string) => void;
17
+ onPaymentError?: (error: any) => void;
18
+ colors?: {
19
+ primaryColor?: string;
20
+ secondaryColor?: string;
21
+ backgroundColor?: string;
22
+ textColor?: string;
23
+ buttonColor?: string;
24
+ buttonTextColor?: string;
25
+ };
26
+ showSummary?: boolean;
27
+ orderDetails?: {
28
+ items: Array<{
29
+ name: string;
30
+ quantity: number;
31
+ price: number;
32
+ }>;
33
+ subtotal: number;
34
+ tax?: number;
35
+ discount?: number;
36
+ total: number;
37
+ };
38
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import { ServiceItemProps } from "./types";
3
+ export default function ResponsiveServiceItem(props: ServiceItemProps): React.JSX.Element;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import ServiceItemDesktop from "../ServiceItem/ServiceItemDesktop";
3
+ import ServiceItemMobile from "../ServiceItem/ServiceItemMobile";
4
+ export default function ResponsiveServiceItem(props) {
5
+ const { variant } = props;
6
+ if (variant === "mobile") {
7
+ return React.createElement(ServiceItemMobile, Object.assign({}, props));
8
+ }
9
+ return React.createElement(ServiceItemDesktop, Object.assign({}, props));
10
+ }
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { ServiceItemProps } from "./types";
3
+ declare function ServiceItemPB({ serviceItem, onBookButtonPress, colors, metaData, children, busStage, serviceDetailsLoading, cityOrigin, cityDestination, translation, orignLabel, destinationLabel, t, }: ServiceItemProps): React.ReactElement;
4
+ export default ServiceItemPB;