@finspringinnovations/fixeddepositsdk 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 (311) hide show
  1. package/README.md +128 -0
  2. package/lib/api/applicationApi.d.ts +1 -0
  3. package/lib/api/applicationApi.js +11 -0
  4. package/lib/api/bankApi.d.ts +352 -0
  5. package/lib/api/bankApi.js +54 -0
  6. package/lib/api/baseApi.d.ts +6 -0
  7. package/lib/api/baseApi.js +406 -0
  8. package/lib/api/customerApi.d.ts +855 -0
  9. package/lib/api/customerApi.js +241 -0
  10. package/lib/api/fdApi.d.ts +979 -0
  11. package/lib/api/fdApi.js +112 -0
  12. package/lib/api/fdCalculatorApi.d.ts +179 -0
  13. package/lib/api/fdCalculatorApi.js +36 -0
  14. package/lib/api/index.d.ts +14 -0
  15. package/lib/api/index.js +45 -0
  16. package/lib/api/interestRateApi.d.ts +585 -0
  17. package/lib/api/interestRateApi.js +101 -0
  18. package/lib/api/kycApi.d.ts +486 -0
  19. package/lib/api/kycApi.js +71 -0
  20. package/lib/api/masterDataApi.d.ts +158 -0
  21. package/lib/api/masterDataApi.js +35 -0
  22. package/lib/api/nomineeApi.d.ts +325 -0
  23. package/lib/api/nomineeApi.js +46 -0
  24. package/lib/api/onboardingApi.d.ts +192 -0
  25. package/lib/api/onboardingApi.js +41 -0
  26. package/lib/api/panApi.d.ts +0 -0
  27. package/lib/api/panApi.js +23 -0
  28. package/lib/api/paymentApi.d.ts +325 -0
  29. package/lib/api/paymentApi.js +46 -0
  30. package/lib/api/workflowApi.d.ts +654 -0
  31. package/lib/api/workflowApi.js +90 -0
  32. package/lib/assets/images/images.d.ts +6 -0
  33. package/lib/assets/images/images.js +12 -0
  34. package/lib/components/AadhaarInput.d.ts +13 -0
  35. package/lib/components/AadhaarInput.js +47 -0
  36. package/lib/components/ActionButton.d.ts +12 -0
  37. package/lib/components/ActionButton.js +87 -0
  38. package/lib/components/ActiveFDCard.d.ts +18 -0
  39. package/lib/components/ActiveFDCard.js +116 -0
  40. package/lib/components/AmountInput.d.ts +20 -0
  41. package/lib/components/AmountInput.js +142 -0
  42. package/lib/components/CheckboxOption.d.ts +11 -0
  43. package/lib/components/CheckboxOption.js +41 -0
  44. package/lib/components/CompanyHeader.d.ts +7 -0
  45. package/lib/components/CompanyHeader.js +59 -0
  46. package/lib/components/DropdownSelector.d.ts +9 -0
  47. package/lib/components/DropdownSelector.js +49 -0
  48. package/lib/components/EmptyState.d.ts +17 -0
  49. package/lib/components/EmptyState.js +44 -0
  50. package/lib/components/ErrorDisplay.d.ts +17 -0
  51. package/lib/components/ErrorDisplay.js +69 -0
  52. package/lib/components/FAQItem.d.ts +9 -0
  53. package/lib/components/FAQItem.js +52 -0
  54. package/lib/components/FDCard.d.ts +23 -0
  55. package/lib/components/FDCard.js +116 -0
  56. package/lib/components/FormDropdown.d.ts +18 -0
  57. package/lib/components/FormDropdown.js +155 -0
  58. package/lib/components/FormSection.d.ts +14 -0
  59. package/lib/components/FormSection.js +38 -0
  60. package/lib/components/Header.d.ts +14 -0
  61. package/lib/components/Header.js +52 -0
  62. package/lib/components/IFSCSearchResultCard.d.ts +13 -0
  63. package/lib/components/IFSCSearchResultCard.js +70 -0
  64. package/lib/components/InfoBox.d.ts +8 -0
  65. package/lib/components/InfoBox.js +39 -0
  66. package/lib/components/InterestRateCard.d.ts +8 -0
  67. package/lib/components/InterestRateCard.js +46 -0
  68. package/lib/components/LoadingIndicator.d.ts +12 -0
  69. package/lib/components/LoadingIndicator.js +30 -0
  70. package/lib/components/OTPInput.d.ts +17 -0
  71. package/lib/components/OTPInput.js +144 -0
  72. package/lib/components/PaymentDetailsCard.d.ts +20 -0
  73. package/lib/components/PaymentDetailsCard.js +68 -0
  74. package/lib/components/PendingFDBottomSheet.d.ts +19 -0
  75. package/lib/components/PendingFDBottomSheet.js +122 -0
  76. package/lib/components/SafeAreaWrapper.d.ts +13 -0
  77. package/lib/components/SafeAreaWrapper.js +41 -0
  78. package/lib/components/ScreenHeader.d.ts +11 -0
  79. package/lib/components/ScreenHeader.js +46 -0
  80. package/lib/components/StatusDisplay.d.ts +15 -0
  81. package/lib/components/StatusDisplay.js +88 -0
  82. package/lib/components/TextFieldWithLabel.d.ts +46 -0
  83. package/lib/components/TextFieldWithLabel.js +326 -0
  84. package/lib/components/TrustBox.d.ts +8 -0
  85. package/lib/components/TrustBox.js +46 -0
  86. package/lib/components/ValidationErrorAlert.d.ts +23 -0
  87. package/lib/components/ValidationErrorAlert.js +39 -0
  88. package/lib/components/ValidationMessage.d.ts +9 -0
  89. package/lib/components/ValidationMessage.js +98 -0
  90. package/lib/components/index.d.ts +35 -0
  91. package/lib/components/index.js +64 -0
  92. package/lib/config/apiConfig.d.ts +34 -0
  93. package/lib/config/apiConfig.js +158 -0
  94. package/lib/config/appDataConfig.d.ts +159 -0
  95. package/lib/config/appDataConfig.js +310 -0
  96. package/lib/config/encryptionConfig.d.ts +21 -0
  97. package/lib/config/encryptionConfig.js +61 -0
  98. package/lib/config/workflowConstants.d.ts +62 -0
  99. package/lib/config/workflowConstants.js +63 -0
  100. package/lib/constants/strings/bank.d.ts +72 -0
  101. package/lib/constants/strings/bank.js +86 -0
  102. package/lib/constants/strings/base64Images.d.ts +26 -0
  103. package/lib/constants/strings/base64Images.js +29 -0
  104. package/lib/constants/strings/common.d.ts +53 -0
  105. package/lib/constants/strings/common.js +62 -0
  106. package/lib/constants/strings/employee.d.ts +61 -0
  107. package/lib/constants/strings/employee.js +77 -0
  108. package/lib/constants/strings/faq.d.ts +14 -0
  109. package/lib/constants/strings/faq.js +20 -0
  110. package/lib/constants/strings/fd.d.ts +122 -0
  111. package/lib/constants/strings/fd.js +151 -0
  112. package/lib/constants/strings/home.d.ts +49 -0
  113. package/lib/constants/strings/home.js +62 -0
  114. package/lib/constants/strings/index.d.ts +16 -0
  115. package/lib/constants/strings/index.js +44 -0
  116. package/lib/constants/strings/kyc.d.ts +80 -0
  117. package/lib/constants/strings/kyc.js +94 -0
  118. package/lib/constants/strings/nominee.d.ts +64 -0
  119. package/lib/constants/strings/nominee.js +81 -0
  120. package/lib/hooks/useAuth.d.ts +25 -0
  121. package/lib/hooks/useAuth.js +39 -0
  122. package/lib/hooks/useFDData.d.ts +11 -0
  123. package/lib/hooks/useFDData.js +40 -0
  124. package/lib/index.d.ts +48 -0
  125. package/lib/index.js +161 -0
  126. package/lib/navigation/RootNavigator.d.ts +9 -0
  127. package/lib/navigation/RootNavigator.js +459 -0
  128. package/lib/navigation/SimpleNavigator.d.ts +11 -0
  129. package/lib/navigation/SimpleNavigator.js +114 -0
  130. package/lib/navigation/helpers.d.ts +11 -0
  131. package/lib/navigation/helpers.js +83 -0
  132. package/lib/navigation/index.d.ts +17 -0
  133. package/lib/navigation/index.js +42 -0
  134. package/lib/navigation/types.d.ts +139 -0
  135. package/lib/navigation/types.js +2 -0
  136. package/lib/navigation/workflowNavigator.d.ts +22 -0
  137. package/lib/navigation/workflowNavigator.js +104 -0
  138. package/lib/providers/ApiProvider.d.ts +7 -0
  139. package/lib/providers/ApiProvider.js +16 -0
  140. package/lib/providers/MasterDataProvider.d.ts +10 -0
  141. package/lib/providers/MasterDataProvider.js +54 -0
  142. package/lib/screens/AadhaarVerification.d.ts +7 -0
  143. package/lib/screens/AadhaarVerification.js +627 -0
  144. package/lib/screens/AddBankAccount.d.ts +22 -0
  145. package/lib/screens/AddBankAccount.js +381 -0
  146. package/lib/screens/BankDetail.d.ts +16 -0
  147. package/lib/screens/BankDetail.js +596 -0
  148. package/lib/screens/Employee.d.ts +18 -0
  149. package/lib/screens/Employee.js +594 -0
  150. package/lib/screens/FDCalculator.d.ts +18 -0
  151. package/lib/screens/FDCalculator.js +767 -0
  152. package/lib/screens/FDList.d.ts +28 -0
  153. package/lib/screens/FDList.js +1853 -0
  154. package/lib/screens/FindIFSC.d.ts +16 -0
  155. package/lib/screens/FindIFSC.js +248 -0
  156. package/lib/screens/NomineeDetail.d.ts +17 -0
  157. package/lib/screens/NomineeDetail.js +592 -0
  158. package/lib/screens/PayNow.d.ts +14 -0
  159. package/lib/screens/PayNow.js +230 -0
  160. package/lib/screens/Payment.d.ts +11 -0
  161. package/lib/screens/Payment.js +191 -0
  162. package/lib/screens/PaymentStatus.d.ts +16 -0
  163. package/lib/screens/PaymentStatus.js +431 -0
  164. package/lib/screens/ReviewKYC.d.ts +23 -0
  165. package/lib/screens/ReviewKYC.js +727 -0
  166. package/lib/state/paymentSession.d.ts +8 -0
  167. package/lib/state/paymentSession.js +13 -0
  168. package/lib/store/fdListSelectedSlice.d.ts +21 -0
  169. package/lib/store/fdListSelectedSlice.js +26 -0
  170. package/lib/store/hooks.d.ts +8 -0
  171. package/lib/store/hooks.js +8 -0
  172. package/lib/store/index.d.ts +3 -0
  173. package/lib/store/index.js +8 -0
  174. package/lib/store/onboardingSlice.d.ts +12 -0
  175. package/lib/store/onboardingSlice.js +32 -0
  176. package/lib/store/store.d.ts +13 -0
  177. package/lib/store/store.js +27 -0
  178. package/lib/theme/ThemeContext.d.ts +210 -0
  179. package/lib/theme/ThemeContext.js +92 -0
  180. package/lib/theme/colors.d.ts +80 -0
  181. package/lib/theme/colors.js +85 -0
  182. package/lib/theme/index.d.ts +35 -0
  183. package/lib/theme/index.js +78 -0
  184. package/lib/theme/shadows.d.ts +53 -0
  185. package/lib/theme/shadows.js +58 -0
  186. package/lib/theme/typography.d.ts +134 -0
  187. package/lib/theme/typography.js +143 -0
  188. package/lib/types/dataTypes.d.ts +34 -0
  189. package/lib/types/dataTypes.js +2 -0
  190. package/lib/types/workflowTypes.d.ts +2 -0
  191. package/lib/types/workflowTypes.js +2 -0
  192. package/lib/utils/apiLogger.d.ts +48 -0
  193. package/lib/utils/apiLogger.js +105 -0
  194. package/lib/utils/encryption.d.ts +28 -0
  195. package/lib/utils/encryption.js +113 -0
  196. package/lib/utils/getFDData.d.ts +48 -0
  197. package/lib/utils/getFDData.js +145 -0
  198. package/lib/utils/globalData.d.ts +2 -0
  199. package/lib/utils/globalData.js +10 -0
  200. package/package.json +51 -0
  201. package/src/api/applicationApi.ts +12 -0
  202. package/src/api/bankApi.ts +42 -0
  203. package/src/api/baseApi.ts +463 -0
  204. package/src/api/customerApi.ts +324 -0
  205. package/src/api/fdApi.ts +150 -0
  206. package/src/api/fdCalculatorApi.ts +41 -0
  207. package/src/api/index.ts +29 -0
  208. package/src/api/interestRateApi.ts +143 -0
  209. package/src/api/kycApi.ts +63 -0
  210. package/src/api/masterDataApi.ts +37 -0
  211. package/src/api/nomineeApi.ts +34 -0
  212. package/src/api/onboardingApi.ts +64 -0
  213. package/src/api/panApi.ts +25 -0
  214. package/src/api/paymentApi.ts +34 -0
  215. package/src/api/workflowApi.ts +94 -0
  216. package/src/assets/images/Mahindra.png +0 -0
  217. package/src/assets/images/arrow-filled.png +0 -0
  218. package/src/assets/images/arrow-left.png +0 -0
  219. package/src/assets/images/backicon.png +0 -0
  220. package/src/assets/images/calendar.png +0 -0
  221. package/src/assets/images/chevron-down.png +0 -0
  222. package/src/assets/images/chevron-down@2x.png +0 -0
  223. package/src/assets/images/chevron-down@3x.png +0 -0
  224. package/src/assets/images/images.js +10 -0
  225. package/src/assets/images/shriram_logo.png +0 -0
  226. package/src/components/AadhaarInput.tsx +91 -0
  227. package/src/components/ActionButton.tsx +129 -0
  228. package/src/components/ActiveFDCard.tsx +188 -0
  229. package/src/components/AmountInput.tsx +217 -0
  230. package/src/components/CheckboxOption.tsx +93 -0
  231. package/src/components/CompanyHeader.tsx +80 -0
  232. package/src/components/DropdownSelector.tsx +77 -0
  233. package/src/components/EmptyState.tsx +109 -0
  234. package/src/components/ErrorDisplay.tsx +135 -0
  235. package/src/components/FAQItem.tsx +90 -0
  236. package/src/components/FDCard.tsx +186 -0
  237. package/src/components/FormDropdown.tsx +214 -0
  238. package/src/components/FormSection.tsx +86 -0
  239. package/src/components/Header.tsx +110 -0
  240. package/src/components/IFSCSearchResultCard.tsx +139 -0
  241. package/src/components/InfoBox.tsx +55 -0
  242. package/src/components/InterestRateCard.tsx +77 -0
  243. package/src/components/LoadingIndicator.tsx +63 -0
  244. package/src/components/OTPInput.tsx +213 -0
  245. package/src/components/PaymentDetailsCard.tsx +120 -0
  246. package/src/components/PendingFDBottomSheet.tsx +237 -0
  247. package/src/components/README.md +210 -0
  248. package/src/components/SafeAreaWrapper.tsx +68 -0
  249. package/src/components/ScreenHeader.tsx +83 -0
  250. package/src/components/StatusDisplay.tsx +139 -0
  251. package/src/components/TextFieldWithLabel.tsx +502 -0
  252. package/src/components/TrustBox.tsx +63 -0
  253. package/src/components/ValidationErrorAlert.tsx +57 -0
  254. package/src/components/ValidationMessage.tsx +134 -0
  255. package/src/components/index.tsx +47 -0
  256. package/src/config/apiConfig.ts +217 -0
  257. package/src/config/appDataConfig.ts +358 -0
  258. package/src/config/encryptionConfig.ts +65 -0
  259. package/src/config/workflowConstants.ts +70 -0
  260. package/src/constants/strings/README.md +146 -0
  261. package/src/constants/strings/bank.ts +92 -0
  262. package/src/constants/strings/base64Images.ts +31 -0
  263. package/src/constants/strings/common.ts +63 -0
  264. package/src/constants/strings/employee.ts +85 -0
  265. package/src/constants/strings/faq.ts +23 -0
  266. package/src/constants/strings/fd.ts +172 -0
  267. package/src/constants/strings/home.ts +67 -0
  268. package/src/constants/strings/index.ts +21 -0
  269. package/src/constants/strings/kyc.ts +100 -0
  270. package/src/constants/strings/nominee.ts +90 -0
  271. package/src/hooks/useAuth.ts +42 -0
  272. package/src/hooks/useFDData.ts +48 -0
  273. package/src/index.tsx +139 -0
  274. package/src/navigation/RootNavigator.tsx +687 -0
  275. package/src/navigation/SimpleNavigator.tsx +123 -0
  276. package/src/navigation/helpers.ts +85 -0
  277. package/src/navigation/index.tsx +84 -0
  278. package/src/navigation/types.ts +146 -0
  279. package/src/navigation/workflowNavigator.ts +131 -0
  280. package/src/providers/ApiProvider.tsx +23 -0
  281. package/src/providers/MasterDataProvider.tsx +30 -0
  282. package/src/screens/AadhaarVerification.tsx +809 -0
  283. package/src/screens/AddBankAccount.tsx +541 -0
  284. package/src/screens/BankDetail.tsx +826 -0
  285. package/src/screens/Employee.tsx +822 -0
  286. package/src/screens/FDCalculator.tsx +1002 -0
  287. package/src/screens/FDList.tsx +2199 -0
  288. package/src/screens/FindIFSC.tsx +332 -0
  289. package/src/screens/NomineeDetail.tsx +800 -0
  290. package/src/screens/PayNow.tsx +282 -0
  291. package/src/screens/Payment.tsx +224 -0
  292. package/src/screens/PaymentStatus.tsx +595 -0
  293. package/src/screens/ReviewKYC.tsx +1062 -0
  294. package/src/state/paymentSession.ts +13 -0
  295. package/src/store/fdListSelectedSlice.ts +42 -0
  296. package/src/store/hooks.ts +6 -0
  297. package/src/store/index.ts +3 -0
  298. package/src/store/onboardingSlice.ts +37 -0
  299. package/src/store/store.ts +27 -0
  300. package/src/theme/ThemeContext.tsx +84 -0
  301. package/src/theme/colors.ts +90 -0
  302. package/src/theme/index.ts +85 -0
  303. package/src/theme/shadows.ts +61 -0
  304. package/src/theme/typography.ts +151 -0
  305. package/src/types/dataTypes.ts +37 -0
  306. package/src/types/env.d.ts +93 -0
  307. package/src/types/workflowTypes.ts +12 -0
  308. package/src/utils/apiLogger.ts +166 -0
  309. package/src/utils/encryption.ts +159 -0
  310. package/src/utils/getFDData.ts +165 -0
  311. package/src/utils/globalData.ts +7 -0
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const react_1 = __importStar(require("react"));
40
+ //import Home from '../screens/Home';
41
+ const FDList_1 = __importDefault(require("../screens/FDList"));
42
+ //import BookFD from '../screens/BookFD';
43
+ const FDCalculator_1 = __importDefault(require("../screens/FDCalculator"));
44
+ const SimpleNavigator = ({ config, onExit }) => {
45
+ const [currentRoute, setCurrentRoute] = (0, react_1.useState)((config === null || config === void 0 ? void 0 : config.initialRouteName) || 'FDList');
46
+ const [routeParams, setRouteParams] = (0, react_1.useState)(null);
47
+ const navigate = (routeName, params) => {
48
+ setCurrentRoute(routeName);
49
+ setRouteParams(params);
50
+ };
51
+ const goBack = () => {
52
+ // Simple back navigation logic
53
+ switch (currentRoute) {
54
+ case 'FDList':
55
+ // FDList is now the first screen, so exit SDK
56
+ if (onExit) {
57
+ onExit();
58
+ }
59
+ break;
60
+ case 'BookFD':
61
+ case 'FDCalculator':
62
+ setCurrentRoute('FDList');
63
+ setRouteParams(null);
64
+ break;
65
+ case 'Home':
66
+ // If somehow on Home, go back to FDList
67
+ setCurrentRoute('FDList');
68
+ setRouteParams(null);
69
+ break;
70
+ default:
71
+ if (onExit) {
72
+ onExit();
73
+ }
74
+ break;
75
+ }
76
+ };
77
+ // const handleBookingComplete = (data: FDBookingData) => {
78
+ // goBack(); // Go back to FD List after booking
79
+ // };
80
+ const renderCurrentScreen = () => {
81
+ switch (currentRoute) {
82
+ // case 'Home':
83
+ // return (
84
+ // <Home
85
+ // onNavigateToBookFD={() => navigate('BookFD')}
86
+ // onNavigateToFDList={() => navigate('FDList')}
87
+ // />
88
+ // );
89
+ case 'FDList':
90
+ return (react_1.default.createElement(FDList_1.default, { onGoBack: goBack, onSelectFD: (fdId) => { }, onNavigateToFDCalculator: (fdData) => navigate('FDCalculator', { fdData }), onNavigateToExternalSDK:
91
+ // SimpleNavigator is intended for demo/basic flows, so we don't support external SDKs here.
92
+ // The full RootNavigator should be used when integrating with Shriram/Mahindra SDK flows.
93
+ () => {
94
+ console.warn('External SDK navigation not supported in SimpleNavigator. Use SDKNavigationContainer / RootNavigator instead.');
95
+ } }));
96
+ // case 'BookFD':
97
+ // return (
98
+ // <BookFD
99
+ // onGoBack={goBack}
100
+ // onBookingComplete={handleBookingComplete}
101
+ // fdData={routeParams?.fdData}
102
+ // />
103
+ // );
104
+ case 'FDCalculator':
105
+ return (react_1.default.createElement(FDCalculator_1.default, { onGoBack: goBack, fdData: routeParams === null || routeParams === void 0 ? void 0 : routeParams.fdData }));
106
+ default:
107
+ return (react_1.default.createElement(FDList_1.default, { onGoBack: goBack, onSelectFD: (fdId) => { }, onNavigateToFDCalculator: (fdData) => navigate('FDCalculator', { fdData }), onNavigateToExternalSDK: () => {
108
+ console.warn('External SDK navigation not supported in SimpleNavigator. Use SDKNavigationContainer / RootNavigator instead.');
109
+ } }));
110
+ }
111
+ };
112
+ return renderCurrentScreen();
113
+ };
114
+ exports.default = SimpleNavigator;
@@ -0,0 +1,11 @@
1
+ import type { RootStackParamList } from './types';
2
+ export declare const navigationRef: import("react").RefObject<any>;
3
+ export declare function navigate<T extends keyof RootStackParamList>(name: T, params?: RootStackParamList[T]): void;
4
+ export declare function goBack(): void;
5
+ export declare function resetNavigation(routeName: keyof RootStackParamList, params?: any): void;
6
+ export declare function replace<T extends keyof RootStackParamList>(name: T, params?: RootStackParamList[T]): void;
7
+ export declare function push<T extends keyof RootStackParamList>(name: T, params?: RootStackParamList[T]): void;
8
+ export declare function pop(count?: number): void;
9
+ export declare function getCurrentRouteName(): any;
10
+ export declare function canGoBack(): any;
11
+ export declare function exitSDK(): void;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.navigationRef = void 0;
4
+ exports.navigate = navigate;
5
+ exports.goBack = goBack;
6
+ exports.resetNavigation = resetNavigation;
7
+ exports.replace = replace;
8
+ exports.push = push;
9
+ exports.pop = pop;
10
+ exports.getCurrentRouteName = getCurrentRouteName;
11
+ exports.canGoBack = canGoBack;
12
+ exports.exitSDK = exitSDK;
13
+ const react_1 = require("react");
14
+ const native_1 = require("@react-navigation/native");
15
+ // Navigation ref to access navigation outside of components
16
+ exports.navigationRef = (0, react_1.createRef)();
17
+ // Helper to navigate outside of React components
18
+ function navigate(name, params) {
19
+ var _a;
20
+ if ((_a = exports.navigationRef.current) === null || _a === void 0 ? void 0 : _a.isReady()) {
21
+ exports.navigationRef.current.navigate(name, params);
22
+ }
23
+ }
24
+ // Helper to go back
25
+ function goBack() {
26
+ var _a, _b;
27
+ if (((_a = exports.navigationRef.current) === null || _a === void 0 ? void 0 : _a.isReady()) && ((_b = exports.navigationRef.current) === null || _b === void 0 ? void 0 : _b.canGoBack())) {
28
+ exports.navigationRef.current.goBack();
29
+ }
30
+ }
31
+ // Helper to reset navigation stack
32
+ function resetNavigation(routeName, params) {
33
+ var _a;
34
+ if ((_a = exports.navigationRef.current) === null || _a === void 0 ? void 0 : _a.isReady()) {
35
+ exports.navigationRef.current.dispatch(native_1.CommonActions.reset({
36
+ index: 0,
37
+ routes: [{ name: routeName, params }],
38
+ }));
39
+ }
40
+ }
41
+ // Helper to replace current screen
42
+ function replace(name, params) {
43
+ var _a;
44
+ if ((_a = exports.navigationRef.current) === null || _a === void 0 ? void 0 : _a.isReady()) {
45
+ exports.navigationRef.current.dispatch(native_1.StackActions.replace(name, params));
46
+ }
47
+ }
48
+ // Helper to push a new screen onto the stack
49
+ function push(name, params) {
50
+ var _a;
51
+ if ((_a = exports.navigationRef.current) === null || _a === void 0 ? void 0 : _a.isReady()) {
52
+ exports.navigationRef.current.dispatch(native_1.StackActions.push(name, params));
53
+ }
54
+ }
55
+ // Helper to pop screens from the stack
56
+ function pop(count = 1) {
57
+ var _a;
58
+ if ((_a = exports.navigationRef.current) === null || _a === void 0 ? void 0 : _a.isReady()) {
59
+ exports.navigationRef.current.dispatch(native_1.StackActions.pop(count));
60
+ }
61
+ }
62
+ // Helper to get current route name
63
+ function getCurrentRouteName() {
64
+ var _a, _b;
65
+ if ((_a = exports.navigationRef.current) === null || _a === void 0 ? void 0 : _a.isReady()) {
66
+ return (_b = exports.navigationRef.current.getCurrentRoute()) === null || _b === void 0 ? void 0 : _b.name;
67
+ }
68
+ return null;
69
+ }
70
+ // Helper to check if can go back
71
+ function canGoBack() {
72
+ var _a;
73
+ if ((_a = exports.navigationRef.current) === null || _a === void 0 ? void 0 : _a.isReady()) {
74
+ return exports.navigationRef.current.canGoBack();
75
+ }
76
+ return false;
77
+ }
78
+ // Helper for SDK exit functionality
79
+ function exitSDK() {
80
+ // This can be customized based on how the SDK is integrated
81
+ // For now, we'll reset to the home screen
82
+ resetNavigation('Home');
83
+ }
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import SimpleNavigator from './SimpleNavigator';
3
+ import type { SDKNavigationConfig } from './types';
4
+ import type { ThemeName, Theme } from '../theme';
5
+ interface SDKNavigationContainerProps {
6
+ config?: SDKNavigationConfig;
7
+ onExit?: (fdDetails?: any) => void;
8
+ onPanRequired?: () => void;
9
+ children?: React.ReactNode;
10
+ /** Theme applied to fdsdk and passed through to Shriram and Mahindra when they are shown. */
11
+ theme?: ThemeName | Theme;
12
+ useReactNavigation?: boolean;
13
+ }
14
+ export declare const SDKNavigationContainer: React.FC<SDKNavigationContainerProps>;
15
+ export default SDKNavigationContainer;
16
+ export declare const FDSDKNavigator: React.FC<Omit<SDKNavigationContainerProps, 'useReactNavigation'>>;
17
+ export { SimpleNavigator };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SimpleNavigator = exports.FDSDKNavigator = exports.SDKNavigationContainer = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const native_1 = require("@react-navigation/native");
9
+ const RootNavigator_1 = __importDefault(require("./RootNavigator"));
10
+ const SimpleNavigator_1 = __importDefault(require("./SimpleNavigator"));
11
+ exports.SimpleNavigator = SimpleNavigator_1.default;
12
+ const ThemeContext_1 = require("../theme/ThemeContext");
13
+ const ApiProvider_1 = require("../providers/ApiProvider");
14
+ const MasterDataProvider_1 = require("../providers/MasterDataProvider");
15
+ const helpers_1 = require("./helpers");
16
+ // Main navigation container for the SDK
17
+ const SDKNavigationContainer = ({ config, onExit, onPanRequired, children, theme, useReactNavigation = true, // Default to React Navigation
18
+ }) => {
19
+ // Choose navigator based on flag
20
+ const navigator = useReactNavigation
21
+ ? react_1.default.createElement(RootNavigator_1.default, { config: config, onExit: onExit, onPanRequired: onPanRequired })
22
+ : react_1.default.createElement(SimpleNavigator_1.default, { config: config, onExit: onExit });
23
+ const content = children || (useReactNavigation ? (react_1.default.createElement(native_1.NavigationContainer, { ref: helpers_1.navigationRef }, navigator)) : (navigator));
24
+ if (theme) {
25
+ const themeProps = typeof theme === 'string'
26
+ ? { initialTheme: theme }
27
+ : { theme };
28
+ return (react_1.default.createElement(ApiProvider_1.ApiProvider, null,
29
+ react_1.default.createElement(MasterDataProvider_1.MasterDataProvider, null,
30
+ react_1.default.createElement(ThemeContext_1.ThemeProvider, Object.assign({}, themeProps), content))));
31
+ }
32
+ // Default theme provider with API provider
33
+ return (react_1.default.createElement(ApiProvider_1.ApiProvider, null,
34
+ react_1.default.createElement(MasterDataProvider_1.MasterDataProvider, null,
35
+ react_1.default.createElement(ThemeContext_1.ThemeProvider, null, content))));
36
+ };
37
+ exports.SDKNavigationContainer = SDKNavigationContainer;
38
+ // Default export for easy import
39
+ exports.default = exports.SDKNavigationContainer;
40
+ // React Navigation version - always uses React Navigation Stack Navigator
41
+ const FDSDKNavigator = (props) => (react_1.default.createElement(exports.SDKNavigationContainer, Object.assign({}, props, { useReactNavigation: true })));
42
+ exports.FDSDKNavigator = FDSDKNavigator;
@@ -0,0 +1,139 @@
1
+ export type RootStackParamList = {
2
+ Home: undefined;
3
+ FDList: undefined;
4
+ FDCalculator: {
5
+ fdData?: {
6
+ id: string;
7
+ name: string;
8
+ accountNumber: string;
9
+ roi: string;
10
+ tenure: string;
11
+ amount: number;
12
+ maturityDate: string;
13
+ status: 'active' | 'matured' | 'pending';
14
+ creditRating: string;
15
+ };
16
+ };
17
+ AadhaarVerification: {
18
+ fdData?: {
19
+ id: string;
20
+ name: string;
21
+ accountNumber: string;
22
+ roi: string;
23
+ tenure: string;
24
+ amount: number;
25
+ maturityDate: string;
26
+ status: 'active' | 'matured' | 'pending';
27
+ creditRating: string;
28
+ };
29
+ };
30
+ ReviewKYC: {
31
+ fdData?: {
32
+ id: string;
33
+ name: string;
34
+ accountNumber: string;
35
+ roi: string;
36
+ tenure: string;
37
+ amount: number;
38
+ maturityDate: string;
39
+ status: 'active' | 'matured' | 'pending';
40
+ creditRating: string;
41
+ };
42
+ kycData?: any;
43
+ };
44
+ BookFD: {
45
+ fdData?: {
46
+ id: string;
47
+ name: string;
48
+ accountNumber: string;
49
+ roi: string;
50
+ tenure: string;
51
+ amount: number;
52
+ maturityDate: string;
53
+ status: 'active' | 'matured' | 'pending';
54
+ creditRating: string;
55
+ };
56
+ };
57
+ Employee: undefined;
58
+ NomineeDetail: undefined;
59
+ BankDetail: undefined;
60
+ AddBankAccount: {
61
+ selectedIFSC?: {
62
+ bankName: string;
63
+ branchName: string;
64
+ ifscCode: string;
65
+ };
66
+ };
67
+ FindIFSC: {
68
+ initialSearchTerm?: string;
69
+ };
70
+ PayNow: {
71
+ fdData?: {
72
+ companyName: string;
73
+ amount: number;
74
+ fdRate: string;
75
+ tenure: string;
76
+ interestPayout: string;
77
+ };
78
+ };
79
+ Payment: {
80
+ paymentUrl?: string;
81
+ transactionId?: string;
82
+ applicationId?: string;
83
+ workflowInstanceId?: string;
84
+ entityId?: string;
85
+ providerId?: string;
86
+ } | undefined;
87
+ PaymentStatus: {
88
+ status?: 'success' | 'failed' | 'pending';
89
+ transactionId?: string;
90
+ fdData?: {
91
+ companyName: string;
92
+ amount: number;
93
+ fdRate: string;
94
+ tenure: string;
95
+ interestPayout: string;
96
+ };
97
+ paymentData?: any;
98
+ };
99
+ ExternalSDK: {
100
+ sdkType: 'shriram' | 'mahindra';
101
+ fdData?: any;
102
+ providerId?: string;
103
+ fdListSelectedData?: any;
104
+ completeFDData?: boolean;
105
+ masterData?: any;
106
+ onboardingIds?: any;
107
+ initialRouteName?: string;
108
+ /** When opening Shriram with initialRouteName 'PaymentStatus', pass status/transactionId/fdData here */
109
+ initialPaymentStatusParams?: {
110
+ status?: 'success' | 'failed' | 'pending';
111
+ transactionId?: string;
112
+ fdData?: any;
113
+ };
114
+ shriramSDKGlobalData?: any;
115
+ mahindraSDKGlobalData?: any;
116
+ forceFetchCustomerDetails?: boolean;
117
+ };
118
+ };
119
+ export type NavigationProps = {
120
+ navigation: any;
121
+ route: any;
122
+ };
123
+ export type ScreenProps<T extends keyof RootStackParamList> = {
124
+ navigation: any;
125
+ route: {
126
+ params: RootStackParamList[T];
127
+ };
128
+ };
129
+ export interface SDKNavigationConfig {
130
+ initialRouteName?: keyof RootStackParamList;
131
+ onExit?: (fdDetails?: any) => void;
132
+ customScreenOptions?: object;
133
+ }
134
+ export interface NavigationContextType {
135
+ navigate: (screen: keyof RootStackParamList, params?: any) => void;
136
+ goBack: () => void;
137
+ reset: (routeName: keyof RootStackParamList) => void;
138
+ exit: () => void;
139
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,22 @@
1
+ import type { InvestmentData, CustomerData, AppData, FDData } from '../types/dataTypes';
2
+ import type { WorkflowStateSriram } from '../types/workflowTypes';
3
+ /**
4
+ * Centralized navigation for FD workflow based on Flutter implementation
5
+ */
6
+ export declare function handleWorkflowNavigation({ workflowState, investmentData, customerData, appData, fdData, completedApplications, transactionId, }: {
7
+ workflowState: WorkflowStateSriram;
8
+ investmentData?: InvestmentData;
9
+ customerData?: CustomerData;
10
+ appData?: AppData;
11
+ fdData?: FDData;
12
+ completedApplications?: any[];
13
+ transactionId?: string;
14
+ }): Promise<void>;
15
+ /**
16
+ * Handle FD selection from FDList and start the workflow
17
+ */
18
+ export declare function handleFDSelection(fdData: FDData, investmentData?: InvestmentData): void;
19
+ /**
20
+ * Navigate through the complete FD creation flow
21
+ */
22
+ export declare function navigateFDCreationFlow(fdData: FDData, investmentData?: InvestmentData): void;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleWorkflowNavigation = handleWorkflowNavigation;
4
+ exports.handleFDSelection = handleFDSelection;
5
+ exports.navigateFDCreationFlow = navigateFDCreationFlow;
6
+ const helpers_1 = require("./helpers");
7
+ const workflowConstants_1 = require("../config/workflowConstants");
8
+ /**
9
+ * Centralized navigation for FD workflow based on Flutter implementation
10
+ */
11
+ async function handleWorkflowNavigation({ workflowState, investmentData, customerData, appData, fdData, completedApplications = [], transactionId, }) {
12
+ switch (workflowState) {
13
+ case workflowConstants_1.WORKFLOW_STATES.START:
14
+ case workflowConstants_1.WORKFLOW_STATES.INITIATION:
15
+ // No navigation required
16
+ break;
17
+ case workflowConstants_1.WORKFLOW_STATES.CREATE_FD:
18
+ // Navigate to FD overview first, then to occupation
19
+ (0, helpers_1.navigate)('PayNow', {
20
+ fdData: fdData ? {
21
+ companyName: fdData.name,
22
+ amount: fdData.amount,
23
+ fdRate: fdData.roi,
24
+ tenure: fdData.tenure,
25
+ interestPayout: 'Yearly' // Default value
26
+ } : undefined
27
+ });
28
+ // The flow will continue to occupation after FD selection
29
+ break;
30
+ case workflowConstants_1.WORKFLOW_STATES.OCCUPATION:
31
+ (0, helpers_1.navigate)('Employee');
32
+ break;
33
+ case workflowConstants_1.WORKFLOW_STATES.NOMINEE:
34
+ (0, helpers_1.navigate)('NomineeDetail');
35
+ break;
36
+ case workflowConstants_1.WORKFLOW_STATES.BANK_DETAILS:
37
+ (0, helpers_1.navigate)('BankDetail');
38
+ break;
39
+ case workflowConstants_1.WORKFLOW_STATES.KYC:
40
+ (0, helpers_1.navigate)('ReviewKYC');
41
+ break;
42
+ case workflowConstants_1.WORKFLOW_STATES.PAYMENT:
43
+ // Handle payment status check and navigation
44
+ if (transactionId) {
45
+ // Navigate to payment screen with transaction ID
46
+ (0, helpers_1.navigate)('Payment');
47
+ }
48
+ else {
49
+ (0, helpers_1.navigate)('PayNow', {
50
+ fdData: fdData ? {
51
+ companyName: fdData.name,
52
+ amount: fdData.amount,
53
+ fdRate: fdData.roi,
54
+ tenure: fdData.tenure,
55
+ interestPayout: '' // Default value
56
+ } : undefined
57
+ });
58
+ }
59
+ break;
60
+ case workflowConstants_1.WORKFLOW_STATES.END:
61
+ (0, helpers_1.navigate)('PaymentStatus', {
62
+ transactionId,
63
+ fdData: fdData ? {
64
+ companyName: fdData.name,
65
+ amount: fdData.amount,
66
+ fdRate: fdData.roi,
67
+ tenure: fdData.tenure,
68
+ interestPayout: '' // Default value
69
+ } : undefined
70
+ });
71
+ break;
72
+ default:
73
+ }
74
+ }
75
+ /**
76
+ * Handle FD selection from FDList and start the workflow
77
+ */
78
+ function handleFDSelection(fdData, investmentData) {
79
+ // Store FD data in Redux (this should be done in FDList component)
80
+ // Then navigate to occupation screen
81
+ handleWorkflowNavigation({
82
+ workflowState: workflowConstants_1.WORKFLOW_STATES.OCCUPATION,
83
+ investmentData,
84
+ fdData,
85
+ });
86
+ }
87
+ /**
88
+ * Navigate through the complete FD creation flow
89
+ */
90
+ function navigateFDCreationFlow(fdData, investmentData) {
91
+ // This represents the complete flow from FD selection to payment
92
+ const flow = [
93
+ workflowConstants_1.WORKFLOW_STATES.OCCUPATION, // Employee screen
94
+ workflowConstants_1.WORKFLOW_STATES.NOMINEE, // NomineeDetail screen
95
+ workflowConstants_1.WORKFLOW_STATES.BANK_DETAILS, // BankDetail screen
96
+ workflowConstants_1.WORKFLOW_STATES.PAYMENT, // PayNow screen
97
+ ];
98
+ // Start with occupation
99
+ handleWorkflowNavigation({
100
+ workflowState: workflowConstants_1.WORKFLOW_STATES.OCCUPATION,
101
+ investmentData,
102
+ fdData,
103
+ });
104
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface ApiProviderProps {
3
+ children: React.ReactNode;
4
+ apiBaseUrl?: string;
5
+ }
6
+ export declare const ApiProvider: React.FC<ApiProviderProps>;
7
+ export default ApiProvider;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ApiProvider = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const react_redux_1 = require("react-redux");
9
+ const store_1 = require("../store");
10
+ const ApiProvider = ({ children, apiBaseUrl }) => {
11
+ // If a custom API base URL is provided, we could update the store configuration
12
+ // For now, we'll use the default configuration
13
+ return (react_1.default.createElement(react_redux_1.Provider, { store: store_1.store }, children));
14
+ };
15
+ exports.ApiProvider = ApiProvider;
16
+ exports.default = exports.ApiProvider;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ interface MasterDataState {
3
+ masterData?: any;
4
+ setMasterData: (data: any) => void;
5
+ }
6
+ export declare const MasterDataProvider: React.FC<{
7
+ children: React.ReactNode;
8
+ }>;
9
+ export declare const useMasterData: () => MasterDataState;
10
+ export {};
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.useMasterData = exports.MasterDataProvider = void 0;
37
+ const react_1 = __importStar(require("react"));
38
+ const MasterDataContext = (0, react_1.createContext)(undefined);
39
+ const MasterDataProvider = ({ children }) => {
40
+ const [masterData, setMasterData] = react_1.default.useState(undefined);
41
+ const value = react_1.default.useMemo(() => ({ masterData, setMasterData }), [masterData]);
42
+ return (react_1.default.createElement(MasterDataContext.Provider, { value: value }, children));
43
+ };
44
+ exports.MasterDataProvider = MasterDataProvider;
45
+ const useMasterData = () => {
46
+ const ctx = (0, react_1.useContext)(MasterDataContext);
47
+ if (!ctx) {
48
+ // Provide a safe fallback to avoid crashes if provider is missing
49
+ const noop = () => { };
50
+ return { masterData: undefined, setMasterData: noop };
51
+ }
52
+ return ctx;
53
+ };
54
+ exports.useMasterData = useMasterData;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export interface AadhaarVerificationProps {
3
+ onGoBack?: () => void;
4
+ onVerificationComplete?: (aadhaarNumber: string) => void;
5
+ }
6
+ declare const AadhaarVerification: React.FC<AadhaarVerificationProps>;
7
+ export default AadhaarVerification;