@zezosoft/react-native-zezopay 1.0.2 → 1.0.4

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 (223) hide show
  1. package/README.md +15 -7
  2. package/lib/module/index.js +1 -1
  3. package/lib/module/zezopay/ZezoPay.js +248 -0
  4. package/lib/module/zezopay/ZezoPay.js.map +1 -0
  5. package/lib/module/{ZezoPay → zezopay}/components/Header.js +28 -10
  6. package/lib/module/zezopay/components/Header.js.map +1 -0
  7. package/lib/module/zezopay/components/PayButton.js +192 -0
  8. package/lib/module/zezopay/components/PayButton.js.map +1 -0
  9. package/lib/module/{ZezoPay → zezopay}/components/PaymentMethod.js +96 -70
  10. package/lib/module/zezopay/components/PaymentMethod.js.map +1 -0
  11. package/lib/module/{ZezoPay → zezopay}/components/Summary.js +54 -43
  12. package/lib/module/zezopay/components/Summary.js.map +1 -0
  13. package/lib/module/zezopay/components/VoucherBox.js +206 -0
  14. package/lib/module/zezopay/components/VoucherBox.js.map +1 -0
  15. package/lib/module/zezopay/components/index.js +8 -0
  16. package/lib/module/zezopay/components/index.js.map +1 -0
  17. package/lib/module/zezopay/context/ZezoPayContext.js +24 -0
  18. package/lib/module/zezopay/context/ZezoPayContext.js.map +1 -0
  19. package/lib/module/zezopay/context/index.js +4 -0
  20. package/lib/module/zezopay/context/index.js.map +1 -0
  21. package/lib/module/zezopay/hooks/index.js +5 -0
  22. package/lib/module/zezopay/hooks/index.js.map +1 -0
  23. package/lib/module/zezopay/hooks/useAsync.js +44 -0
  24. package/lib/module/zezopay/hooks/useAsync.js.map +1 -0
  25. package/lib/module/zezopay/hooks/useZezoPay.helpers.js +217 -0
  26. package/lib/module/zezopay/hooks/useZezoPay.helpers.js.map +1 -0
  27. package/lib/module/zezopay/hooks/useZezoPay.js +219 -0
  28. package/lib/module/zezopay/hooks/useZezoPay.js.map +1 -0
  29. package/lib/module/zezopay/index.js +10 -0
  30. package/lib/module/zezopay/index.js.map +1 -0
  31. package/lib/module/zezopay/payments/providers/iap/IAP.js +201 -0
  32. package/lib/module/zezopay/payments/providers/iap/IAP.js.map +1 -0
  33. package/lib/module/zezopay/payments/providers/index.js +12 -0
  34. package/lib/module/zezopay/payments/providers/index.js.map +1 -0
  35. package/lib/module/zezopay/payments/providers/payment-gateways.types.d.js +2 -0
  36. package/lib/module/zezopay/payments/providers/payment-gateways.types.d.js.map +1 -0
  37. package/lib/module/zezopay/payments/providers/razorpay/Razorpay.js +40 -0
  38. package/lib/module/zezopay/payments/providers/razorpay/Razorpay.js.map +1 -0
  39. package/lib/module/zezopay/payments/providers/stripe/Stripe.js +58 -0
  40. package/lib/module/zezopay/payments/providers/stripe/Stripe.js.map +1 -0
  41. package/lib/module/zezopay/services/api-sdk.js +24 -0
  42. package/lib/module/zezopay/services/api-sdk.js.map +1 -0
  43. package/lib/module/zezopay/services/baseService.js +55 -0
  44. package/lib/module/zezopay/services/baseService.js.map +1 -0
  45. package/lib/module/zezopay/services/common.types.js +2 -0
  46. package/lib/module/zezopay/services/common.types.js.map +1 -0
  47. package/lib/module/zezopay/services/digitalProducts/digitalProducts.js +72 -0
  48. package/lib/module/zezopay/services/digitalProducts/digitalProducts.js.map +1 -0
  49. package/lib/module/zezopay/services/digitalProducts/digitalProducts.types.js +4 -0
  50. package/lib/module/zezopay/services/digitalProducts/digitalProducts.types.js.map +1 -0
  51. package/lib/module/zezopay/services/digitalProducts/index.js +5 -0
  52. package/lib/module/zezopay/services/digitalProducts/index.js.map +1 -0
  53. package/lib/module/zezopay/services/iap/iap.js +20 -0
  54. package/lib/module/zezopay/services/iap/iap.js.map +1 -0
  55. package/lib/module/zezopay/services/iap/iap.types.js +2 -0
  56. package/lib/module/zezopay/services/iap/iap.types.js.map +1 -0
  57. package/lib/module/zezopay/services/iap/index.js +5 -0
  58. package/lib/module/zezopay/services/iap/index.js.map +1 -0
  59. package/lib/module/zezopay/services/index.js +10 -0
  60. package/lib/module/zezopay/services/index.js.map +1 -0
  61. package/lib/module/zezopay/services/payments/index.js +5 -0
  62. package/lib/module/zezopay/services/payments/index.js.map +1 -0
  63. package/lib/module/zezopay/services/payments/payments.js +52 -0
  64. package/lib/module/zezopay/services/payments/payments.js.map +1 -0
  65. package/lib/module/zezopay/services/payments/payments.types.js +52 -0
  66. package/lib/module/zezopay/services/payments/payments.types.js.map +1 -0
  67. package/lib/module/zezopay/services/subscriptions/index.js +5 -0
  68. package/lib/module/zezopay/services/subscriptions/index.js.map +1 -0
  69. package/lib/module/zezopay/services/subscriptions/plan/index.js +5 -0
  70. package/lib/module/zezopay/services/subscriptions/plan/index.js.map +1 -0
  71. package/lib/module/zezopay/services/subscriptions/plan/plan.js +57 -0
  72. package/lib/module/zezopay/services/subscriptions/plan/plan.js.map +1 -0
  73. package/lib/module/zezopay/services/subscriptions/plan/plan.types.js +4 -0
  74. package/lib/module/zezopay/services/subscriptions/plan/plan.types.js.map +1 -0
  75. package/lib/module/zezopay/services/utils/errorFormatter.js +49 -0
  76. package/lib/module/zezopay/services/utils/errorFormatter.js.map +1 -0
  77. package/lib/module/zezopay/services/utils/index.js +4 -0
  78. package/lib/module/zezopay/services/utils/index.js.map +1 -0
  79. package/lib/module/zezopay/theme.js +40 -0
  80. package/lib/module/zezopay/theme.js.map +1 -0
  81. package/lib/module/{ZezoPay → zezopay}/types/index.js.map +1 -1
  82. package/lib/module/{ZezoPay → zezopay}/utils/index.js +2 -1
  83. package/lib/module/zezopay/utils/index.js.map +1 -0
  84. package/lib/typescript/src/index.d.ts +1 -1
  85. package/lib/typescript/src/zezopay/ZezoPay.d.ts.map +1 -0
  86. package/lib/typescript/src/{ZezoPay → zezopay}/components/Header.d.ts +2 -0
  87. package/lib/typescript/src/zezopay/components/Header.d.ts.map +1 -0
  88. package/lib/typescript/src/{ZezoPay → zezopay}/components/PayButton.d.ts +2 -0
  89. package/lib/typescript/src/zezopay/components/PayButton.d.ts.map +1 -0
  90. package/lib/typescript/src/zezopay/components/PaymentMethod.d.ts +15 -0
  91. package/lib/typescript/src/zezopay/components/PaymentMethod.d.ts.map +1 -0
  92. package/lib/typescript/src/zezopay/components/Summary.d.ts +11 -0
  93. package/lib/typescript/src/zezopay/components/Summary.d.ts.map +1 -0
  94. package/lib/typescript/src/zezopay/components/VoucherBox.d.ts +14 -0
  95. package/lib/typescript/src/zezopay/components/VoucherBox.d.ts.map +1 -0
  96. package/lib/typescript/src/zezopay/components/index.d.ts +6 -0
  97. package/lib/typescript/src/zezopay/components/index.d.ts.map +1 -0
  98. package/lib/typescript/src/zezopay/context/ZezoPayContext.d.ts +10 -0
  99. package/lib/typescript/src/zezopay/context/ZezoPayContext.d.ts.map +1 -0
  100. package/lib/typescript/src/zezopay/context/index.d.ts +2 -0
  101. package/lib/typescript/src/zezopay/context/index.d.ts.map +1 -0
  102. package/lib/typescript/src/zezopay/hooks/index.d.ts +4 -0
  103. package/lib/typescript/src/zezopay/hooks/index.d.ts.map +1 -0
  104. package/lib/typescript/src/zezopay/hooks/useAsync.d.ts +8 -0
  105. package/lib/typescript/src/zezopay/hooks/useAsync.d.ts.map +1 -0
  106. package/lib/typescript/src/zezopay/hooks/useZezoPay.d.ts +41 -0
  107. package/lib/typescript/src/zezopay/hooks/useZezoPay.d.ts.map +1 -0
  108. package/lib/typescript/src/zezopay/hooks/useZezoPay.helpers.d.ts +23 -0
  109. package/lib/typescript/src/zezopay/hooks/useZezoPay.helpers.d.ts.map +1 -0
  110. package/lib/typescript/src/zezopay/index.d.ts +8 -0
  111. package/lib/typescript/src/zezopay/index.d.ts.map +1 -0
  112. package/lib/typescript/src/zezopay/payments/providers/iap/IAP.d.ts +17 -0
  113. package/lib/typescript/src/zezopay/payments/providers/iap/IAP.d.ts.map +1 -0
  114. package/lib/typescript/src/zezopay/payments/providers/index.d.ts +9 -0
  115. package/lib/typescript/src/zezopay/payments/providers/index.d.ts.map +1 -0
  116. package/lib/typescript/src/zezopay/payments/providers/razorpay/Razorpay.d.ts.map +1 -0
  117. package/lib/typescript/src/zezopay/payments/providers/stripe/Stripe.d.ts +7 -0
  118. package/lib/typescript/src/zezopay/payments/providers/stripe/Stripe.d.ts.map +1 -0
  119. package/lib/typescript/src/zezopay/services/api-sdk.d.ts +31 -0
  120. package/lib/typescript/src/zezopay/services/api-sdk.d.ts.map +1 -0
  121. package/lib/typescript/src/zezopay/services/baseService.d.ts +9 -0
  122. package/lib/typescript/src/zezopay/services/baseService.d.ts.map +1 -0
  123. package/lib/typescript/src/zezopay/services/common.types.d.ts +25 -0
  124. package/lib/typescript/src/zezopay/services/common.types.d.ts.map +1 -0
  125. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.d.ts +15 -0
  126. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.d.ts.map +1 -0
  127. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.types.d.ts +79 -0
  128. package/lib/typescript/src/zezopay/services/digitalProducts/digitalProducts.types.d.ts.map +1 -0
  129. package/lib/typescript/src/zezopay/services/digitalProducts/index.d.ts +3 -0
  130. package/lib/typescript/src/zezopay/services/digitalProducts/index.d.ts.map +1 -0
  131. package/lib/typescript/src/zezopay/services/iap/iap.d.ts +13 -0
  132. package/lib/typescript/src/zezopay/services/iap/iap.d.ts.map +1 -0
  133. package/lib/typescript/src/zezopay/services/iap/iap.types.d.ts +47 -0
  134. package/lib/typescript/src/zezopay/services/iap/iap.types.d.ts.map +1 -0
  135. package/lib/typescript/src/zezopay/services/iap/index.d.ts +3 -0
  136. package/lib/typescript/src/zezopay/services/iap/index.d.ts.map +1 -0
  137. package/lib/typescript/src/zezopay/services/index.d.ts +9 -0
  138. package/lib/typescript/src/zezopay/services/index.d.ts.map +1 -0
  139. package/lib/typescript/src/zezopay/services/payments/index.d.ts +3 -0
  140. package/lib/typescript/src/zezopay/services/payments/index.d.ts.map +1 -0
  141. package/lib/typescript/src/zezopay/services/payments/payments.d.ts +26 -0
  142. package/lib/typescript/src/zezopay/services/payments/payments.d.ts.map +1 -0
  143. package/lib/typescript/src/zezopay/services/payments/payments.types.d.ts +121 -0
  144. package/lib/typescript/src/zezopay/services/payments/payments.types.d.ts.map +1 -0
  145. package/lib/typescript/src/zezopay/services/subscriptions/index.d.ts +3 -0
  146. package/lib/typescript/src/zezopay/services/subscriptions/index.d.ts.map +1 -0
  147. package/lib/typescript/src/zezopay/services/subscriptions/plan/index.d.ts +3 -0
  148. package/lib/typescript/src/zezopay/services/subscriptions/plan/index.d.ts.map +1 -0
  149. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.d.ts +19 -0
  150. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.d.ts.map +1 -0
  151. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.types.d.ts +64 -0
  152. package/lib/typescript/src/zezopay/services/subscriptions/plan/plan.types.d.ts.map +1 -0
  153. package/lib/typescript/src/zezopay/services/utils/errorFormatter.d.ts +6 -0
  154. package/lib/typescript/src/zezopay/services/utils/errorFormatter.d.ts.map +1 -0
  155. package/lib/typescript/src/zezopay/services/utils/index.d.ts +2 -0
  156. package/lib/typescript/src/zezopay/services/utils/index.d.ts.map +1 -0
  157. package/lib/typescript/src/zezopay/theme.d.ts +38 -0
  158. package/lib/typescript/src/zezopay/theme.d.ts.map +1 -0
  159. package/lib/typescript/src/zezopay/types/index.d.ts +85 -0
  160. package/lib/typescript/src/zezopay/types/index.d.ts.map +1 -0
  161. package/lib/typescript/src/{ZezoPay → zezopay}/utils/index.d.ts.map +1 -1
  162. package/package.json +14 -7
  163. package/lib/module/ZezoPay/Payments/Providers/PaymentGateways.types.d.js +0 -2
  164. package/lib/module/ZezoPay/Payments/Providers/PaymentGateways.types.d.js.map +0 -1
  165. package/lib/module/ZezoPay/Payments/Providers/Razorpay/Razorpay.js +0 -39
  166. package/lib/module/ZezoPay/Payments/Providers/Razorpay/Razorpay.js.map +0 -1
  167. package/lib/module/ZezoPay/Payments/Providers/index.js +0 -10
  168. package/lib/module/ZezoPay/Payments/Providers/index.js.map +0 -1
  169. package/lib/module/ZezoPay/ZezoPay.js +0 -178
  170. package/lib/module/ZezoPay/ZezoPay.js.map +0 -1
  171. package/lib/module/ZezoPay/components/Header.js.map +0 -1
  172. package/lib/module/ZezoPay/components/PayButton.js +0 -143
  173. package/lib/module/ZezoPay/components/PayButton.js.map +0 -1
  174. package/lib/module/ZezoPay/components/PaymentMethod.js.map +0 -1
  175. package/lib/module/ZezoPay/components/Summary.js.map +0 -1
  176. package/lib/module/ZezoPay/components/VoucherBox.js +0 -124
  177. package/lib/module/ZezoPay/components/VoucherBox.js.map +0 -1
  178. package/lib/module/ZezoPay/index.js +0 -5
  179. package/lib/module/ZezoPay/index.js.map +0 -1
  180. package/lib/module/ZezoPay/utils/hooks/useAsync.js +0 -32
  181. package/lib/module/ZezoPay/utils/hooks/useAsync.js.map +0 -1
  182. package/lib/module/ZezoPay/utils/hooks/useZezoPay.js +0 -265
  183. package/lib/module/ZezoPay/utils/hooks/useZezoPay.js.map +0 -1
  184. package/lib/module/ZezoPay/utils/index.js.map +0 -1
  185. package/lib/typescript/src/ZezoPay/Payments/Providers/Razorpay/Razorpay.d.ts.map +0 -1
  186. package/lib/typescript/src/ZezoPay/Payments/Providers/index.d.ts +0 -7
  187. package/lib/typescript/src/ZezoPay/Payments/Providers/index.d.ts.map +0 -1
  188. package/lib/typescript/src/ZezoPay/ZezoPay.d.ts.map +0 -1
  189. package/lib/typescript/src/ZezoPay/components/Header.d.ts.map +0 -1
  190. package/lib/typescript/src/ZezoPay/components/PayButton.d.ts.map +0 -1
  191. package/lib/typescript/src/ZezoPay/components/PaymentMethod.d.ts +0 -12
  192. package/lib/typescript/src/ZezoPay/components/PaymentMethod.d.ts.map +0 -1
  193. package/lib/typescript/src/ZezoPay/components/Summary.d.ts +0 -7
  194. package/lib/typescript/src/ZezoPay/components/Summary.d.ts.map +0 -1
  195. package/lib/typescript/src/ZezoPay/components/VoucherBox.d.ts +0 -9
  196. package/lib/typescript/src/ZezoPay/components/VoucherBox.d.ts.map +0 -1
  197. package/lib/typescript/src/ZezoPay/index.d.ts +0 -3
  198. package/lib/typescript/src/ZezoPay/index.d.ts.map +0 -1
  199. package/lib/typescript/src/ZezoPay/types/index.d.ts +0 -66
  200. package/lib/typescript/src/ZezoPay/types/index.d.ts.map +0 -1
  201. package/lib/typescript/src/ZezoPay/utils/hooks/useAsync.d.ts +0 -6
  202. package/lib/typescript/src/ZezoPay/utils/hooks/useAsync.d.ts.map +0 -1
  203. package/lib/typescript/src/ZezoPay/utils/hooks/useZezoPay.d.ts +0 -46
  204. package/lib/typescript/src/ZezoPay/utils/hooks/useZezoPay.d.ts.map +0 -1
  205. package/src/ZezoPay/Payments/Providers/PaymentGateways.types.d.ts +0 -48
  206. package/src/ZezoPay/Payments/Providers/Razorpay/Razorpay.ts +0 -46
  207. package/src/ZezoPay/Payments/Providers/index.ts +0 -8
  208. package/src/ZezoPay/ZezoPay.tsx +0 -176
  209. package/src/ZezoPay/components/Header.tsx +0 -107
  210. package/src/ZezoPay/components/PayButton.tsx +0 -132
  211. package/src/ZezoPay/components/PaymentMethod.tsx +0 -263
  212. package/src/ZezoPay/components/Summary.tsx +0 -188
  213. package/src/ZezoPay/components/VoucherBox.tsx +0 -133
  214. package/src/ZezoPay/index.ts +0 -2
  215. package/src/ZezoPay/types/index.ts +0 -70
  216. package/src/ZezoPay/utils/hooks/useAsync.ts +0 -38
  217. package/src/ZezoPay/utils/hooks/useZezoPay.ts +0 -320
  218. package/src/ZezoPay/utils/index.ts +0 -16
  219. package/src/index.tsx +0 -1
  220. /package/lib/module/{ZezoPay → zezopay}/types/index.js +0 -0
  221. /package/lib/typescript/src/{ZezoPay → zezopay}/ZezoPay.d.ts +0 -0
  222. /package/lib/typescript/src/{ZezoPay/Payments/Providers/Razorpay → zezopay/payments/providers/razorpay}/Razorpay.d.ts +0 -0
  223. /package/lib/typescript/src/{ZezoPay → zezopay}/utils/index.d.ts +0 -0
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  **ZezoPay React Native SDK** – Seamlessly integrate secure payments for subscriptions, digital products, or one-time purchases in your React Native app. ZezoPay provides a smooth checkout experience, manages payment flows, and returns results via callbacks.
4
4
 
5
- Currently supports **Razorpay**, with more payment providers coming soon.
5
+ Currently supports **Razorpay**, **Stripe**, **Apple Pay**, and **Google Pay**, with more payment providers coming soon.
6
6
 
7
7
  ---
8
8
 
@@ -14,6 +14,14 @@ npm install @zezosoft/react-native-zezopay
14
14
  yarn add @zezosoft/react-native-zezopay
15
15
  ```
16
16
 
17
+ If you want Apple Pay or Google Pay (IAP), also install:
18
+
19
+ ```bash
20
+ npm install react-native-iap
21
+ # or
22
+ yarn add react-native-iap
23
+ ```
24
+
17
25
  ---
18
26
 
19
27
  ## 📦 Quick Start Example
@@ -52,7 +60,7 @@ export default function App() {
52
60
  email: 'john@example.com',
53
61
  phone: '9876543210',
54
62
  }}
55
- callback={{ onSuccess: handleSuccess }}
63
+ callbacks={{ onSuccess: handleSuccess }}
56
64
  />
57
65
  </View>
58
66
  );
@@ -72,13 +80,13 @@ export default function App() {
72
80
  | `userInfo` | ✅ | Customer information (`_id`, `name`, `email`, `phone`). |
73
81
  | `title` | ✅ | Checkout screen title. |
74
82
  | `onBack` | ✅ | Callback triggered when the back button is pressed. |
75
- | `callback` | ❌ | Object containing `onSuccess` and `onFailure` callbacks. |
83
+ | `callbacks` | ❌ | Object containing `onSuccess` and `onFailure` callbacks. |
76
84
 
77
85
  ---
78
86
 
79
- ## 🔄 Callbacks (`callback` prop)
87
+ ## 🔄 Callbacks (`callbacks` prop)
80
88
 
81
- | Callback | Description |
89
+ | Callbacks | Description |
82
90
  | ----------- | -------------------------------------------------------------- |
83
91
  | `onSuccess` | Triggered after a successful payment. Returns payment details. |
84
92
  | `onFailure` | Triggered if payment fails or is canceled. Returns error info. |
@@ -119,13 +127,13 @@ userInfo = {
119
127
  **Available now:**
120
128
 
121
129
  ```
122
- 'razorpay'
130
+ 'razorpay' | 'stripe' | 'applepay' | 'googlepay'
123
131
  ```
124
132
 
125
133
  **Coming soon:**
126
134
 
127
135
  ```
128
- 'stripe' | 'ccavenue' | 'phonepe'
136
+ 'ccavenue' | 'phonepe'
129
137
  ```
130
138
 
131
139
  ---
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export * from "./ZezoPay/index.js";
3
+ export * from "./zezopay/index.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,248 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo, useEffect } from 'react';
4
+ import { View, StyleSheet, Text, StatusBar, Platform } from 'react-native';
5
+ import { ArrowLeft } from 'lucide-react-native';
6
+ import { scale, verticalScale, moderateScale } from 'react-native-size-matters';
7
+ import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';
8
+ import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';
9
+ import { Header, PaymentMethod, Summary, PayButton, VoucherBox } from "./components/index.js";
10
+ import { useZezoPay } from "./hooks/index.js";
11
+ import { formatCurrency } from "./utils/index.js";
12
+ import { mergeTheme } from "./theme.js";
13
+ import SystemNavigationBar from 'react-native-system-navigation-bar';
14
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ const ZezoPay = ({
16
+ title = 'Payments',
17
+ summaryItems,
18
+ onBack,
19
+ userInfo,
20
+ publicKey,
21
+ digitalProduct,
22
+ subscription,
23
+ callbacks,
24
+ handlePayment,
25
+ voucher = true,
26
+ theme
27
+ }) => {
28
+ const mergedTheme = useMemo(() => mergeTheme(theme), [theme]);
29
+ const styles = useMemo(() => getStyles(mergedTheme.colors), [mergedTheme.colors]);
30
+ const {
31
+ provider,
32
+ setProvider,
33
+ cartItems,
34
+ totalAmount,
35
+ rawAmount,
36
+ success,
37
+ error,
38
+ loadingPayment,
39
+ providers,
40
+ loading: providersLoading,
41
+ providersError,
42
+ removeItem,
43
+ payNow,
44
+ applyCoupon,
45
+ coupon,
46
+ couponLoading,
47
+ removeCoupon
48
+ } = useZezoPay({
49
+ publicKey,
50
+ user: {
51
+ _id: userInfo._id,
52
+ name: userInfo?.name || '',
53
+ email: userInfo?.email || '',
54
+ phone: userInfo?.phone || ''
55
+ },
56
+ subscription,
57
+ digitalProduct,
58
+ cart: summaryItems || [],
59
+ callbacks,
60
+ paymentHandler: handlePayment
61
+ });
62
+ const hasDiscount = totalAmount < rawAmount;
63
+ useEffect(() => {
64
+ if (Platform.OS === 'android') {
65
+ const barStyle = theme?.statusBarStyle === 'light-content' ? 'light' : 'dark';
66
+ SystemNavigationBar.setNavigationColor(mergedTheme.colors.navigationBarBackground, barStyle, 'navigation');
67
+ }
68
+ }, [mergedTheme.colors.navigationBarBackground, theme?.statusBarStyle]);
69
+ return /*#__PURE__*/_jsx(SafeAreaProvider, {
70
+ children: /*#__PURE__*/_jsxs(SafeAreaView, {
71
+ style: styles.safeArea,
72
+ edges: ['bottom', 'left', 'right'],
73
+ children: [/*#__PURE__*/_jsx(StatusBar, {
74
+ barStyle: theme?.statusBarStyle ?? 'dark-content',
75
+ backgroundColor: 'transparent'
76
+ }), /*#__PURE__*/_jsx(SafeAreaView, {
77
+ style: styles.headerSafeArea,
78
+ edges: ['top'],
79
+ children: /*#__PURE__*/_jsx(View, {
80
+ style: styles.headerWrapper,
81
+ children: /*#__PURE__*/_jsx(Header, {
82
+ title: title,
83
+ onBack: onBack,
84
+ leftIcon: /*#__PURE__*/_jsx(ArrowLeft, {
85
+ size: moderateScale(24),
86
+ color: mergedTheme.colors.textPrimary
87
+ }),
88
+ theme: theme
89
+ })
90
+ })
91
+ }), /*#__PURE__*/_jsxs(View, {
92
+ style: styles.container,
93
+ children: [/*#__PURE__*/_jsx(KeyboardAwareScrollView, {
94
+ style: styles.scrollView,
95
+ contentContainerStyle: styles.scrollContent,
96
+ keyboardShouldPersistTaps: "handled",
97
+ enableOnAndroid: true,
98
+ extraScrollHeight: verticalScale(40),
99
+ showsVerticalScrollIndicator: false,
100
+ contentInsetAdjustmentBehavior: "never",
101
+ keyboardDismissMode: "on-drag",
102
+ children: /*#__PURE__*/_jsxs(View, {
103
+ style: styles.content,
104
+ children: [/*#__PURE__*/_jsx(PaymentMethod, {
105
+ providers: providers || [],
106
+ onProviderChange: p => setProvider(p),
107
+ selectedProvider: provider,
108
+ isLoading: providersLoading,
109
+ error: providersError?.message,
110
+ theme: theme
111
+ }), voucher && /*#__PURE__*/_jsx(VoucherBox, {
112
+ onApply: ({
113
+ voucherCode
114
+ }) => applyCoupon(voucherCode),
115
+ loading: couponLoading,
116
+ couponApplied: !!coupon,
117
+ onRemove: removeCoupon,
118
+ theme: theme
119
+ }), /*#__PURE__*/_jsx(Summary, {
120
+ items: cartItems,
121
+ onRemoveItem: removeItem,
122
+ theme: theme
123
+ })]
124
+ })
125
+ }), /*#__PURE__*/_jsxs(View, {
126
+ style: styles.bottomContainer,
127
+ children: [hasDiscount ? /*#__PURE__*/_jsxs(View, {
128
+ style: styles.totalRow,
129
+ children: [/*#__PURE__*/_jsx(Text, {
130
+ style: styles.totalLabel,
131
+ children: "Total"
132
+ }), /*#__PURE__*/_jsxs(View, {
133
+ style: styles.totalValues,
134
+ children: [/*#__PURE__*/_jsx(Text, {
135
+ style: styles.totalStrike,
136
+ children: formatCurrency({
137
+ amount: rawAmount,
138
+ minimumFractionDigits: 0
139
+ })
140
+ }), /*#__PURE__*/_jsx(Text, {
141
+ style: styles.totalValue,
142
+ children: formatCurrency({
143
+ amount: totalAmount,
144
+ minimumFractionDigits: 0
145
+ })
146
+ })]
147
+ })]
148
+ }) : null, error ? /*#__PURE__*/_jsx(View, {
149
+ style: styles.errorWrapper,
150
+ children: /*#__PURE__*/_jsx(Text, {
151
+ style: styles.errorText,
152
+ numberOfLines: 2,
153
+ ellipsizeMode: "tail",
154
+ children: error
155
+ })
156
+ }) : null, /*#__PURE__*/_jsx(PayButton, {
157
+ onPaymentInitiate: payNow,
158
+ status: success ? 'success' : loadingPayment ? 'processing' : !provider || totalAmount === 0 ? 'disabled' : 'idle',
159
+ paymentButtonText: `Pay ${formatCurrency({
160
+ amount: totalAmount,
161
+ minimumFractionDigits: 0
162
+ })}`,
163
+ noteText: "Powered by Zezo Pay",
164
+ theme: theme
165
+ })]
166
+ })]
167
+ })]
168
+ })
169
+ });
170
+ };
171
+ const getStyles = colors => StyleSheet.create({
172
+ safeArea: {
173
+ flex: 1,
174
+ backgroundColor: colors.background
175
+ },
176
+ headerSafeArea: {
177
+ backgroundColor: colors.background
178
+ },
179
+ headerWrapper: {
180
+ borderBottomWidth: 1,
181
+ borderBottomColor: colors.borderLight,
182
+ zIndex: 10
183
+ },
184
+ container: {
185
+ flex: 1
186
+ },
187
+ scrollView: {
188
+ flex: 1
189
+ },
190
+ scrollContent: {
191
+ flexGrow: 1,
192
+ paddingTop: verticalScale(10),
193
+ paddingBottom: verticalScale(16)
194
+ },
195
+ content: {
196
+ paddingHorizontal: scale(16)
197
+ },
198
+ bottomContainer: {
199
+ paddingHorizontal: scale(16),
200
+ paddingVertical: verticalScale(10),
201
+ backgroundColor: colors.background,
202
+ borderTopWidth: 1,
203
+ borderTopColor: colors.borderLight,
204
+ alignItems: 'center',
205
+ zIndex: 5
206
+ },
207
+ totalRow: {
208
+ width: '100%',
209
+ flexDirection: 'row',
210
+ alignItems: 'center',
211
+ justifyContent: 'space-between',
212
+ marginBottom: verticalScale(8)
213
+ },
214
+ totalLabel: {
215
+ fontSize: moderateScale(14),
216
+ fontWeight: '600',
217
+ color: colors.textSecondary
218
+ },
219
+ totalValues: {
220
+ flexDirection: 'row',
221
+ alignItems: 'center',
222
+ gap: scale(8)
223
+ },
224
+ totalStrike: {
225
+ fontSize: moderateScale(14),
226
+ color: colors.textSecondary,
227
+ textDecorationLine: 'line-through'
228
+ },
229
+ totalValue: {
230
+ fontSize: moderateScale(16),
231
+ fontWeight: '700',
232
+ color: colors.textPrimary
233
+ },
234
+ errorWrapper: {
235
+ marginTop: verticalScale(-4),
236
+ marginBottom: verticalScale(8),
237
+ width: '100%',
238
+ alignItems: 'center'
239
+ },
240
+ errorText: {
241
+ color: colors.error,
242
+ fontSize: moderateScale(12),
243
+ fontWeight: '500',
244
+ textAlign: 'center'
245
+ }
246
+ });
247
+ export default ZezoPay;
248
+ //# sourceMappingURL=ZezoPay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","useEffect","View","StyleSheet","Text","StatusBar","Platform","ArrowLeft","scale","verticalScale","moderateScale","KeyboardAwareScrollView","SafeAreaProvider","SafeAreaView","Header","PaymentMethod","Summary","PayButton","VoucherBox","useZezoPay","formatCurrency","mergeTheme","SystemNavigationBar","jsx","_jsx","jsxs","_jsxs","ZezoPay","title","summaryItems","onBack","userInfo","publicKey","digitalProduct","subscription","callbacks","handlePayment","voucher","theme","mergedTheme","styles","getStyles","colors","provider","setProvider","cartItems","totalAmount","rawAmount","success","error","loadingPayment","providers","loading","providersLoading","providersError","removeItem","payNow","applyCoupon","coupon","couponLoading","removeCoupon","user","_id","name","email","phone","cart","paymentHandler","hasDiscount","OS","barStyle","statusBarStyle","setNavigationColor","navigationBarBackground","children","style","safeArea","edges","backgroundColor","headerSafeArea","headerWrapper","leftIcon","size","color","textPrimary","container","scrollView","contentContainerStyle","scrollContent","keyboardShouldPersistTaps","enableOnAndroid","extraScrollHeight","showsVerticalScrollIndicator","contentInsetAdjustmentBehavior","keyboardDismissMode","content","onProviderChange","p","selectedProvider","isLoading","message","onApply","voucherCode","couponApplied","onRemove","items","onRemoveItem","bottomContainer","totalRow","totalLabel","totalValues","totalStrike","amount","minimumFractionDigits","totalValue","errorWrapper","errorText","numberOfLines","ellipsizeMode","onPaymentInitiate","status","paymentButtonText","noteText","create","flex","background","borderBottomWidth","borderBottomColor","borderLight","zIndex","flexGrow","paddingTop","paddingBottom","paddingHorizontal","paddingVertical","borderTopWidth","borderTopColor","alignItems","width","flexDirection","justifyContent","marginBottom","fontSize","fontWeight","textSecondary","gap","textDecorationLine","marginTop","textAlign"],"sourceRoot":"../../../src","sources":["zezopay/ZezoPay.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,EAAEC,SAAS,QAAQ,OAAO;AACjD,SAASC,IAAI,EAAEC,UAAU,EAAEC,IAAI,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,cAAc;AAC1E,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,KAAK,EAAEC,aAAa,EAAEC,aAAa,QAAQ,2BAA2B;AAC/E,SAASC,uBAAuB,QAAQ,yCAAyC;AACjF,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,gCAAgC;AAC/E,SACEC,MAAM,EACNC,aAAa,EACbC,OAAO,EACPC,SAAS,EACTC,UAAU,QACL,uBAAc;AAErB,SAASC,UAAU,QAAQ,kBAAS;AACpC,SAASC,cAAc,QAAQ,kBAAS;AACxC,SAASC,UAAU,QAAQ,YAAS;AACpC,OAAOC,mBAAmB,MAAM,oCAAoC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErE,MAAMC,OAA+B,GAAGA,CAAC;EACvCC,KAAK,GAAG,UAAU;EAClBC,YAAY;EACZC,MAAM;EACNC,QAAQ;EACRC,SAAS;EACTC,cAAc;EACdC,YAAY;EACZC,SAAS;EACTC,aAAa;EACbC,OAAO,GAAG,IAAI;EACdC;AACF,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAGvC,OAAO,CAAC,MAAMqB,UAAU,CAACiB,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAC7D,MAAME,MAAM,GAAGxC,OAAO,CACpB,MAAMyC,SAAS,CAACF,WAAW,CAACG,MAAM,CAAC,EACnC,CAACH,WAAW,CAACG,MAAM,CACrB,CAAC;EACD,MAAM;IACJC,QAAQ;IACRC,WAAW;IACXC,SAAS;IACTC,WAAW;IACXC,SAAS;IACTC,OAAO;IACPC,KAAK;IACLC,cAAc;IACdC,SAAS;IACTC,OAAO,EAAEC,gBAAgB;IACzBC,cAAc;IACdC,UAAU;IACVC,MAAM;IACNC,WAAW;IACXC,MAAM;IACNC,aAAa;IACbC;EACF,CAAC,GAAGzC,UAAU,CAAC;IACba,SAAS;IACT6B,IAAI,EAAE;MACJC,GAAG,EAAE/B,QAAQ,CAAC+B,GAAG;MACjBC,IAAI,EAAEhC,QAAQ,EAAEgC,IAAI,IAAI,EAAE;MAC1BC,KAAK,EAAEjC,QAAQ,EAAEiC,KAAK,IAAI,EAAE;MAC5BC,KAAK,EAAElC,QAAQ,EAAEkC,KAAK,IAAI;IAC5B,CAAC;IACD/B,YAAY;IACZD,cAAc;IACdiC,IAAI,EAAErC,YAAY,IAAI,EAAE;IACxBM,SAAS;IACTgC,cAAc,EAAE/B;EAClB,CAAC,CAAC;EAEF,MAAMgC,WAAW,GAAGtB,WAAW,GAAGC,SAAS;EAE3C9C,SAAS,CAAC,MAAM;IACd,IAAIK,QAAQ,CAAC+D,EAAE,KAAK,SAAS,EAAE;MAC7B,MAAMC,QAAQ,GACZhC,KAAK,EAAEiC,cAAc,KAAK,eAAe,GAAG,OAAO,GAAG,MAAM;MAC9DjD,mBAAmB,CAACkD,kBAAkB,CACpCjC,WAAW,CAACG,MAAM,CAAC+B,uBAAuB,EAC1CH,QAAQ,EACR,YACF,CAAC;IACH;EACF,CAAC,EAAE,CAAC/B,WAAW,CAACG,MAAM,CAAC+B,uBAAuB,EAAEnC,KAAK,EAAEiC,cAAc,CAAC,CAAC;EAEvE,oBACE/C,IAAA,CAACZ,gBAAgB;IAAA8D,QAAA,eACfhD,KAAA,CAACb,YAAY;MAAC8D,KAAK,EAAEnC,MAAM,CAACoC,QAAS;MAACC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAE;MAAAH,QAAA,gBACvElD,IAAA,CAACnB,SAAS;QACRiE,QAAQ,EAAEhC,KAAK,EAAEiC,cAAc,IAAI,cAAe;QAClDO,eAAe,EAAE;MAAc,CAChC,CAAC,eAEFtD,IAAA,CAACX,YAAY;QAAC8D,KAAK,EAAEnC,MAAM,CAACuC,cAAe;QAACF,KAAK,EAAE,CAAC,KAAK,CAAE;QAAAH,QAAA,eACzDlD,IAAA,CAACtB,IAAI;UAACyE,KAAK,EAAEnC,MAAM,CAACwC,aAAc;UAAAN,QAAA,eAChClD,IAAA,CAACV,MAAM;YACLc,KAAK,EAAEA,KAAM;YACbE,MAAM,EAAEA,MAAO;YACfmD,QAAQ,eACNzD,IAAA,CAACjB,SAAS;cACR2E,IAAI,EAAExE,aAAa,CAAC,EAAE,CAAE;cACxByE,KAAK,EAAE5C,WAAW,CAACG,MAAM,CAAC0C;YAAY,CACvC,CACF;YACD9C,KAAK,EAAEA;UAAM,CACd;QAAC,CACE;MAAC,CACK,CAAC,eAGfZ,KAAA,CAACxB,IAAI;QAACyE,KAAK,EAAEnC,MAAM,CAAC6C,SAAU;QAAAX,QAAA,gBAC5BlD,IAAA,CAACb,uBAAuB;UACtBgE,KAAK,EAAEnC,MAAM,CAAC8C,UAAW;UACzBC,qBAAqB,EAAE/C,MAAM,CAACgD,aAAc;UAC5CC,yBAAyB,EAAC,SAAS;UACnCC,eAAe;UACfC,iBAAiB,EAAElF,aAAa,CAAC,EAAE,CAAE;UACrCmF,4BAA4B,EAAE,KAAM;UACpCC,8BAA8B,EAAC,OAAO;UACtCC,mBAAmB,EAAC,SAAS;UAAApB,QAAA,eAE7BhD,KAAA,CAACxB,IAAI;YAACyE,KAAK,EAAEnC,MAAM,CAACuD,OAAQ;YAAArB,QAAA,gBAE1BlD,IAAA,CAACT,aAAa;cACZoC,SAAS,EAAEA,SAAS,IAAI,EAAG;cAC3B6C,gBAAgB,EAAGC,CAAC,IAAKrD,WAAW,CAACqD,CAAC,CAAE;cACxCC,gBAAgB,EAAEvD,QAAS;cAC3BwD,SAAS,EAAE9C,gBAAiB;cAC5BJ,KAAK,EAAEK,cAAc,EAAE8C,OAAQ;cAC/B9D,KAAK,EAAEA;YAAM,CACd,CAAC,EAEDD,OAAO,iBACNb,IAAA,CAACN,UAAU;cACTmF,OAAO,EAAEA,CAAC;gBAAEC;cAAY,CAAC,KAAK7C,WAAW,CAAC6C,WAAW,CAAE;cACvDlD,OAAO,EAAEO,aAAc;cACvB4C,aAAa,EAAE,CAAC,CAAC7C,MAAO;cACxB8C,QAAQ,EAAE5C,YAAa;cACvBtB,KAAK,EAAEA;YAAM,CACd,CACF,eAEDd,IAAA,CAACR,OAAO;cACNyF,KAAK,EAAE5D,SAAU;cACjB6D,YAAY,EAAEnD,UAAW;cACzBjB,KAAK,EAAEA;YAAM,CACd,CAAC;UAAA,CACE;QAAC,CACgB,CAAC,eAG1BZ,KAAA,CAACxB,IAAI;UAACyE,KAAK,EAAEnC,MAAM,CAACmE,eAAgB;UAAAjC,QAAA,GACjCN,WAAW,gBACV1C,KAAA,CAACxB,IAAI;YAACyE,KAAK,EAAEnC,MAAM,CAACoE,QAAS;YAAAlC,QAAA,gBAC3BlD,IAAA,CAACpB,IAAI;cAACuE,KAAK,EAAEnC,MAAM,CAACqE,UAAW;cAAAnC,QAAA,EAAC;YAAK,CAAM,CAAC,eAC5ChD,KAAA,CAACxB,IAAI;cAACyE,KAAK,EAAEnC,MAAM,CAACsE,WAAY;cAAApC,QAAA,gBAC9BlD,IAAA,CAACpB,IAAI;gBAACuE,KAAK,EAAEnC,MAAM,CAACuE,WAAY;gBAAArC,QAAA,EAC7BtD,cAAc,CAAC;kBACd4F,MAAM,EAAEjE,SAAS;kBACjBkE,qBAAqB,EAAE;gBACzB,CAAC;cAAC,CACE,CAAC,eACPzF,IAAA,CAACpB,IAAI;gBAACuE,KAAK,EAAEnC,MAAM,CAAC0E,UAAW;gBAAAxC,QAAA,EAC5BtD,cAAc,CAAC;kBACd4F,MAAM,EAAElE,WAAW;kBACnBmE,qBAAqB,EAAE;gBACzB,CAAC;cAAC,CACE,CAAC;YAAA,CACH,CAAC;UAAA,CACH,CAAC,GACL,IAAI,EACPhE,KAAK,gBACJzB,IAAA,CAACtB,IAAI;YAACyE,KAAK,EAAEnC,MAAM,CAAC2E,YAAa;YAAAzC,QAAA,eAC/BlD,IAAA,CAACpB,IAAI;cACHuE,KAAK,EAAEnC,MAAM,CAAC4E,SAAU;cACxBC,aAAa,EAAE,CAAE;cACjBC,aAAa,EAAC,MAAM;cAAA5C,QAAA,EAEnBzB;YAAK,CACF;UAAC,CACH,CAAC,GACL,IAAI,eAERzB,IAAA,CAACP,SAAS;YACRsG,iBAAiB,EAAE/D,MAAO;YAC1BgE,MAAM,EACJxE,OAAO,GACH,SAAS,GACTE,cAAc,GACZ,YAAY,GACZ,CAACP,QAAQ,IAAIG,WAAW,KAAK,CAAC,GAC5B,UAAU,GACV,MACT;YACD2E,iBAAiB,EAAE,OAAOrG,cAAc,CAAC;cACvC4F,MAAM,EAAElE,WAAW;cACnBmE,qBAAqB,EAAE;YACzB,CAAC,CAAC,EAAG;YACLS,QAAQ,EAAC,qBAAqB;YAC9BpF,KAAK,EAAEA;UAAM,CACd,CAAC;QAAA,CACE,CAAC;MAAA,CACH,CAAC;IAAA,CACK;EAAC,CACC,CAAC;AAEvB,CAAC;AAED,MAAMG,SAAS,GAAIC,MAA+C,IAChEvC,UAAU,CAACwH,MAAM,CAAC;EAChB/C,QAAQ,EAAE;IAAEgD,IAAI,EAAE,CAAC;IAAE9C,eAAe,EAAEpC,MAAM,CAACmF;EAAW,CAAC;EACzD9C,cAAc,EAAE;IAAED,eAAe,EAAEpC,MAAM,CAACmF;EAAW,CAAC;EACtD7C,aAAa,EAAE;IACb8C,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAErF,MAAM,CAACsF,WAAW;IACrCC,MAAM,EAAE;EACV,CAAC;EACD5C,SAAS,EAAE;IAAEuC,IAAI,EAAE;EAAE,CAAC;EACtBtC,UAAU,EAAE;IAAEsC,IAAI,EAAE;EAAE,CAAC;EACvBpC,aAAa,EAAE;IACb0C,QAAQ,EAAE,CAAC;IACXC,UAAU,EAAE1H,aAAa,CAAC,EAAE,CAAC;IAC7B2H,aAAa,EAAE3H,aAAa,CAAC,EAAE;EACjC,CAAC;EACDsF,OAAO,EAAE;IAAEsC,iBAAiB,EAAE7H,KAAK,CAAC,EAAE;EAAE,CAAC;EACzCmG,eAAe,EAAE;IACf0B,iBAAiB,EAAE7H,KAAK,CAAC,EAAE,CAAC;IAC5B8H,eAAe,EAAE7H,aAAa,CAAC,EAAE,CAAC;IAClCqE,eAAe,EAAEpC,MAAM,CAACmF,UAAU;IAClCU,cAAc,EAAE,CAAC;IACjBC,cAAc,EAAE9F,MAAM,CAACsF,WAAW;IAClCS,UAAU,EAAE,QAAQ;IACpBR,MAAM,EAAE;EACV,CAAC;EACDrB,QAAQ,EAAE;IACR8B,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE,KAAK;IACpBF,UAAU,EAAE,QAAQ;IACpBG,cAAc,EAAE,eAAe;IAC/BC,YAAY,EAAEpI,aAAa,CAAC,CAAC;EAC/B,CAAC;EACDoG,UAAU,EAAE;IACViC,QAAQ,EAAEpI,aAAa,CAAC,EAAE,CAAC;IAC3BqI,UAAU,EAAE,KAAK;IACjB5D,KAAK,EAAEzC,MAAM,CAACsG;EAChB,CAAC;EACDlC,WAAW,EAAE;IACX6B,aAAa,EAAE,KAAK;IACpBF,UAAU,EAAE,QAAQ;IACpBQ,GAAG,EAAEzI,KAAK,CAAC,CAAC;EACd,CAAC;EACDuG,WAAW,EAAE;IACX+B,QAAQ,EAAEpI,aAAa,CAAC,EAAE,CAAC;IAC3ByE,KAAK,EAAEzC,MAAM,CAACsG,aAAa;IAC3BE,kBAAkB,EAAE;EACtB,CAAC;EACDhC,UAAU,EAAE;IACV4B,QAAQ,EAAEpI,aAAa,CAAC,EAAE,CAAC;IAC3BqI,UAAU,EAAE,KAAK;IACjB5D,KAAK,EAAEzC,MAAM,CAAC0C;EAChB,CAAC;EACD+B,YAAY,EAAE;IACZgC,SAAS,EAAE1I,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5BoI,YAAY,EAAEpI,aAAa,CAAC,CAAC,CAAC;IAC9BiI,KAAK,EAAE,MAAM;IACbD,UAAU,EAAE;EACd,CAAC;EACDrB,SAAS,EAAE;IACTjC,KAAK,EAAEzC,MAAM,CAACO,KAAK;IACnB6F,QAAQ,EAAEpI,aAAa,CAAC,EAAE,CAAC;IAC3BqI,UAAU,EAAE,KAAK;IACjBK,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEJ,eAAezH,OAAO","ignoreList":[]}
@@ -1,17 +1,22 @@
1
1
  "use strict";
2
2
 
3
- import React from 'react';
3
+ import React, { useMemo } from 'react';
4
4
  import { View, Text, Pressable, StyleSheet, Platform } from 'react-native';
5
5
  import { ArrowLeft } from 'lucide-react-native';
6
6
  import { scale, moderateScale } from 'react-native-size-matters';
7
+ import { mergeTheme } from "../theme.js";
7
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
9
  const Header = ({
9
10
  title,
10
11
  titleStyle,
11
12
  containerStyle,
12
13
  leftIcon,
13
- onBack
14
+ onBack,
15
+ theme
14
16
  }) => {
17
+ const isBackEnabled = typeof onBack === 'function';
18
+ const mergedTheme = useMemo(() => mergeTheme(theme), [theme]);
19
+ const styles = useMemo(() => getStyles(mergedTheme.colors), [mergedTheme.colors]);
15
20
  return /*#__PURE__*/_jsxs(View, {
16
21
  style: [styles.header, containerStyle],
17
22
  children: [/*#__PURE__*/_jsx(View, {
@@ -20,8 +25,9 @@ const Header = ({
20
25
  style: styles.backBtnContainer,
21
26
  children: /*#__PURE__*/_jsx(Pressable, {
22
27
  onPress: onBack,
28
+ disabled: !isBackEnabled,
23
29
  android_ripple: {
24
- color: 'rgba(0,0,0,0.1)',
30
+ color: mergedTheme.colors.overlay,
25
31
  borderless: false,
26
32
  radius: scale(100)
27
33
  },
@@ -29,11 +35,16 @@ const Header = ({
29
35
  pressed
30
36
  }) => [styles.backBtnWrapper, pressed && Platform.OS === 'ios' && styles.backBtnPressed],
31
37
  hitSlop: 10,
38
+ accessibilityRole: "button",
39
+ accessibilityLabel: "Go back",
40
+ accessibilityState: {
41
+ disabled: !isBackEnabled
42
+ },
32
43
  children: /*#__PURE__*/_jsx(View, {
33
44
  style: styles.backBtn,
34
45
  children: leftIcon ? leftIcon : /*#__PURE__*/_jsx(ArrowLeft, {
35
46
  size: moderateScale(20),
36
- color: "#000"
47
+ color: mergedTheme.colors.textPrimary
37
48
  })
38
49
  })
39
50
  })
@@ -46,11 +57,11 @@ const Header = ({
46
57
  children: title
47
58
  })
48
59
  }), /*#__PURE__*/_jsx(View, {
49
- style: styles.gridItem
60
+ style: styles.gridItemRight
50
61
  })]
51
62
  });
52
63
  };
53
- const styles = StyleSheet.create({
64
+ const getStyles = colors => StyleSheet.create({
54
65
  header: {
55
66
  flexDirection: 'row',
56
67
  alignItems: 'center',
@@ -65,10 +76,15 @@ const styles = StyleSheet.create({
65
76
  justifyContent: 'center'
66
77
  },
67
78
  gridItemLeft: {
68
- flex: 1,
79
+ width: scale(44),
69
80
  alignItems: 'flex-start',
70
81
  justifyContent: 'center'
71
82
  },
83
+ gridItemRight: {
84
+ width: scale(44),
85
+ alignItems: 'flex-end',
86
+ justifyContent: 'center'
87
+ },
72
88
  backBtnContainer: {
73
89
  borderRadius: scale(100),
74
90
  overflow: 'hidden' // crucial for Android ripple
@@ -84,13 +100,15 @@ const styles = StyleSheet.create({
84
100
  height: scale(35)
85
101
  },
86
102
  backBtnPressed: {
87
- backgroundColor: 'rgba(0,0,0,0.1)' // iOS pressed effect
103
+ backgroundColor: colors.overlay // iOS pressed effect
88
104
  },
89
105
  title: {
90
106
  fontSize: moderateScale(18),
91
107
  fontWeight: '700',
92
- color: '#000',
93
- textAlign: 'center'
108
+ color: colors.textPrimary,
109
+ textAlign: 'center',
110
+ flexShrink: 1,
111
+ flexWrap: 'wrap'
94
112
  }
95
113
  });
96
114
  export default Header;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","View","Text","Pressable","StyleSheet","Platform","ArrowLeft","scale","moderateScale","mergeTheme","jsx","_jsx","jsxs","_jsxs","Header","title","titleStyle","containerStyle","leftIcon","onBack","theme","isBackEnabled","mergedTheme","styles","getStyles","colors","style","header","children","gridItemLeft","backBtnContainer","onPress","disabled","android_ripple","color","overlay","borderless","radius","pressed","backBtnWrapper","OS","backBtnPressed","hitSlop","accessibilityRole","accessibilityLabel","accessibilityState","backBtn","size","textPrimary","gridItem","numberOfLines","gridItemRight","create","flexDirection","alignItems","width","height","paddingHorizontal","justifyContent","flex","borderRadius","overflow","padding","backgroundColor","fontSize","fontWeight","textAlign","flexShrink","flexWrap"],"sourceRoot":"../../../../src","sources":["zezopay/components/Header.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from 'react';
4
+ import { View, Text, Pressable, StyleSheet, ActivityIndicator } from 'react-native';
5
+ import { scale, verticalScale, moderateScale } from 'react-native-size-matters';
6
+ import LinearGradient from 'react-native-linear-gradient';
7
+ import { CheckCircle, CreditCard } from 'lucide-react-native';
8
+ import { mergeTheme } from "../theme.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ const PayButton = ({
11
+ onPaymentInitiate,
12
+ status = 'idle',
13
+ paymentButtonText = 'Pay Now',
14
+ paymentProcessingText = 'Processing...',
15
+ paymentSuccessText = 'Payment Successful',
16
+ noteText = 'Powered by Zezo Pay',
17
+ theme
18
+ }) => {
19
+ const mergedTheme = useMemo(() => mergeTheme(theme), [theme]);
20
+ const styles = useMemo(() => getStyles(mergedTheme.colors), [mergedTheme.colors]);
21
+ const gradientMap = useMemo(() => ({
22
+ idle: mergedTheme.gradients.primary,
23
+ processing: mergedTheme.gradients.processing,
24
+ success: mergedTheme.gradients.success,
25
+ disabled: mergedTheme.gradients.disabled
26
+ }), [mergedTheme.gradients]);
27
+ const isSuccess = status === 'success';
28
+ const isProcessing = status === 'processing';
29
+ const isDisabled = status === 'processing' || status === 'disabled';
30
+ const buttonLabel = isProcessing ? paymentProcessingText : paymentButtonText;
31
+ return /*#__PURE__*/_jsxs(View, {
32
+ style: styles.container,
33
+ children: [isSuccess ? /*#__PURE__*/_jsx(View, {
34
+ style: styles.shadowWrapper,
35
+ children: /*#__PURE__*/_jsxs(LinearGradient, {
36
+ colors: gradientMap.success,
37
+ start: {
38
+ x: 0,
39
+ y: 0
40
+ },
41
+ end: {
42
+ x: 1,
43
+ y: 0
44
+ },
45
+ style: styles.paymentButton,
46
+ children: [/*#__PURE__*/_jsx(CheckCircle, {
47
+ size: moderateScale(20),
48
+ color: mergedTheme.colors.onPrimary
49
+ }), /*#__PURE__*/_jsx(Text, {
50
+ style: [styles.successText, styles.successTextSpacing],
51
+ numberOfLines: 1,
52
+ ellipsizeMode: "tail",
53
+ children: paymentSuccessText
54
+ })]
55
+ })
56
+ }) : /*#__PURE__*/_jsx(Pressable, {
57
+ onPress: onPaymentInitiate,
58
+ disabled: isDisabled,
59
+ android_ripple: {
60
+ color: 'rgba(255,255,255,0.2)'
61
+ },
62
+ style: ({
63
+ pressed
64
+ }) => [styles.pressable, pressed && styles.pressed, isDisabled && styles.disabled],
65
+ accessibilityRole: "button",
66
+ accessibilityState: {
67
+ disabled: isDisabled,
68
+ busy: isProcessing
69
+ },
70
+ accessibilityLabel: buttonLabel,
71
+ children: /*#__PURE__*/_jsx(View, {
72
+ style: styles.shadowWrapper,
73
+ children: /*#__PURE__*/_jsx(LinearGradient, {
74
+ colors: gradientMap[status],
75
+ start: {
76
+ x: 0,
77
+ y: 0
78
+ },
79
+ end: {
80
+ x: 1,
81
+ y: 0
82
+ },
83
+ style: styles.paymentButton,
84
+ children: isProcessing ? /*#__PURE__*/_jsxs(View, {
85
+ style: styles.processingContent,
86
+ children: [/*#__PURE__*/_jsx(ActivityIndicator, {
87
+ color: mergedTheme.colors.onPrimary,
88
+ style: styles.processingIndicator
89
+ }), /*#__PURE__*/_jsx(Text, {
90
+ style: styles.paymentText,
91
+ numberOfLines: 1,
92
+ ellipsizeMode: "tail",
93
+ children: paymentProcessingText
94
+ })]
95
+ }) : /*#__PURE__*/_jsxs(View, {
96
+ style: styles.ctaContent,
97
+ children: [/*#__PURE__*/_jsx(CreditCard, {
98
+ size: moderateScale(19),
99
+ color: mergedTheme.colors.onPrimary
100
+ }), /*#__PURE__*/_jsx(Text, {
101
+ style: styles.paymentText,
102
+ numberOfLines: 1,
103
+ ellipsizeMode: "tail",
104
+ children: buttonLabel
105
+ })]
106
+ })
107
+ })
108
+ })
109
+ }), noteText && /*#__PURE__*/_jsx(Text, {
110
+ style: styles.noteText,
111
+ children: noteText
112
+ })]
113
+ });
114
+ };
115
+ const getStyles = colors => StyleSheet.create({
116
+ container: {
117
+ width: '100%',
118
+ alignItems: 'center'
119
+ },
120
+ pressable: {
121
+ width: '100%'
122
+ },
123
+ pressed: {
124
+ opacity: 0.85
125
+ },
126
+ disabled: {
127
+ opacity: 0.7
128
+ },
129
+ shadowWrapper: {
130
+ width: '100%',
131
+ height: verticalScale(52),
132
+ borderRadius: scale(12),
133
+ shadowColor: '#000',
134
+ shadowOffset: {
135
+ width: 0,
136
+ height: 3
137
+ },
138
+ shadowOpacity: 0.2,
139
+ shadowRadius: 4,
140
+ backgroundColor: '#0000',
141
+ justifyContent: 'center',
142
+ overflow: 'hidden'
143
+ },
144
+ paymentButton: {
145
+ width: '100%',
146
+ height: '100%',
147
+ borderRadius: scale(12),
148
+ justifyContent: 'center',
149
+ alignItems: 'center',
150
+ flexDirection: 'row',
151
+ paddingHorizontal: scale(16)
152
+ },
153
+ paymentText: {
154
+ color: colors.onPrimary,
155
+ fontSize: moderateScale(16.5),
156
+ letterSpacing: 0.3,
157
+ fontWeight: '700',
158
+ textAlign: 'center',
159
+ lineHeight: moderateScale(20)
160
+ },
161
+ ctaContent: {
162
+ flexDirection: 'row',
163
+ alignItems: 'center',
164
+ gap: scale(8),
165
+ flexShrink: 1
166
+ },
167
+ processingContent: {
168
+ flexDirection: 'row',
169
+ alignItems: 'center',
170
+ flexShrink: 1
171
+ },
172
+ processingIndicator: {
173
+ marginRight: scale(8)
174
+ },
175
+ successText: {
176
+ color: colors.onPrimary,
177
+ fontSize: moderateScale(18),
178
+ fontWeight: '700'
179
+ },
180
+ successTextSpacing: {
181
+ marginLeft: scale(8)
182
+ },
183
+ noteText: {
184
+ marginTop: verticalScale(10),
185
+ fontSize: moderateScale(12.5),
186
+ fontWeight: '600',
187
+ color: colors.accent,
188
+ textAlign: 'center'
189
+ }
190
+ });
191
+ export default PayButton;
192
+ //# sourceMappingURL=PayButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","View","Text","Pressable","StyleSheet","ActivityIndicator","scale","verticalScale","moderateScale","LinearGradient","CheckCircle","CreditCard","mergeTheme","jsx","_jsx","jsxs","_jsxs","PayButton","onPaymentInitiate","status","paymentButtonText","paymentProcessingText","paymentSuccessText","noteText","theme","mergedTheme","styles","getStyles","colors","gradientMap","idle","gradients","primary","processing","success","disabled","isSuccess","isProcessing","isDisabled","buttonLabel","style","container","children","shadowWrapper","start","x","y","end","paymentButton","size","color","onPrimary","successText","successTextSpacing","numberOfLines","ellipsizeMode","onPress","android_ripple","pressed","pressable","accessibilityRole","accessibilityState","busy","accessibilityLabel","processingContent","processingIndicator","paymentText","ctaContent","create","width","alignItems","opacity","height","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","backgroundColor","justifyContent","overflow","flexDirection","paddingHorizontal","fontSize","letterSpacing","fontWeight","textAlign","lineHeight","gap","flexShrink","marginRight","marginLeft","marginTop","accent"],"sourceRoot":"../../../../src","sources":["zezopay/components/PayButton.tsx"],"mappings":"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","ignoreList":[]}