react-native-unit-components 3.5.4 → 3.5.5
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.
- package/android/src/main/java/com/unitreactnativecomponents/UnitReactNativeComponentsPackage.kt +2 -0
- package/android/src/main/java/com/unitreactnativecomponents/nativeModules/backHandler/UNBackHandlerModule.kt +93 -0
- package/android/src/main/res/values/strings.xml +1 -1
- package/lib/commonjs/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.js +11 -0
- package/lib/commonjs/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.js.map +1 -1
- package/lib/commonjs/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.utils.js +2 -0
- package/lib/commonjs/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.utils.js.map +1 -1
- package/lib/commonjs/helpers/BottomSheet/BottomSheet.js +29 -2
- package/lib/commonjs/helpers/BottomSheet/BottomSheet.js.map +1 -1
- package/lib/commonjs/messages/webMessages/applicationFormMessage.js +12 -0
- package/lib/commonjs/messages/webMessages/applicationFormMessage.js.map +1 -0
- package/lib/commonjs/nativeModulesHelpers/UNBackHandlerHelper.js +33 -0
- package/lib/commonjs/nativeModulesHelpers/UNBackHandlerHelper.js.map +1 -0
- package/lib/commonjs/scripts/html/bodyScript.js +16 -0
- package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
- package/lib/commonjs/services/veryfiService.js +1 -1
- package/lib/commonjs/services/veryfiService.js.map +1 -1
- package/lib/commonjs/types/shared/applicationForm.types.js +2 -0
- package/lib/commonjs/types/shared/applicationForm.types.js.map +1 -0
- package/lib/commonjs/types/shared/index.js +11 -0
- package/lib/commonjs/types/shared/index.js.map +1 -1
- package/lib/commonjs/unitComponentsSdkManager/UnitComponentsSdkManager.js +1 -1
- package/lib/module/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.js +11 -0
- package/lib/module/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.js.map +1 -1
- package/lib/module/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.utils.js +2 -0
- package/lib/module/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.utils.js.map +1 -1
- package/lib/module/helpers/BottomSheet/BottomSheet.js +29 -2
- package/lib/module/helpers/BottomSheet/BottomSheet.js.map +1 -1
- package/lib/module/messages/webMessages/applicationFormMessage.js +6 -0
- package/lib/module/messages/webMessages/applicationFormMessage.js.map +1 -0
- package/lib/module/nativeModulesHelpers/UNBackHandlerHelper.js +25 -0
- package/lib/module/nativeModulesHelpers/UNBackHandlerHelper.js.map +1 -0
- package/lib/module/scripts/html/bodyScript.js +16 -0
- package/lib/module/scripts/html/bodyScript.js.map +1 -1
- package/lib/module/services/veryfiService.js +1 -1
- package/lib/module/services/veryfiService.js.map +1 -1
- package/lib/module/types/shared/applicationForm.types.js +2 -0
- package/lib/module/types/shared/applicationForm.types.js.map +1 -0
- package/lib/module/types/shared/index.js +1 -0
- package/lib/module/types/shared/index.js.map +1 -1
- package/lib/module/unitComponentsSdkManager/UnitComponentsSdkManager.js +1 -1
- package/lib/typescript/src/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.d.ts +4 -0
- package/lib/typescript/src/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.d.ts.map +1 -1
- package/lib/typescript/src/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.utils.d.ts.map +1 -1
- package/lib/typescript/src/helpers/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/src/messages/webMessages/applicationFormMessage.d.ts +10 -0
- package/lib/typescript/src/messages/webMessages/applicationFormMessage.d.ts.map +1 -0
- package/lib/typescript/src/messages/webMessages/index.d.ts +3 -2
- package/lib/typescript/src/messages/webMessages/index.d.ts.map +1 -1
- package/lib/typescript/src/nativeModulesHelpers/UNBackHandlerHelper.d.ts +4 -0
- package/lib/typescript/src/nativeModulesHelpers/UNBackHandlerHelper.d.ts.map +1 -0
- package/lib/typescript/src/scripts/html/bodyScript.d.ts +2 -0
- package/lib/typescript/src/scripts/html/bodyScript.d.ts.map +1 -1
- package/lib/typescript/src/types/shared/applicationForm.types.d.ts +10 -0
- package/lib/typescript/src/types/shared/applicationForm.types.d.ts.map +1 -0
- package/lib/typescript/src/types/shared/index.d.ts +1 -0
- package/lib/typescript/src/types/shared/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.tsx +16 -0
- package/src/components/UNWhiteLabelAppComponent/UNWhiteLabelAppComponent.utils.ts +2 -0
- package/src/helpers/BottomSheet/BottomSheet.tsx +29 -2
- package/src/messages/webMessages/applicationFormMessage.ts +12 -0
- package/src/messages/webMessages/index.ts +3 -0
- package/src/nativeModulesHelpers/UNBackHandlerHelper.ts +34 -0
- package/src/scripts/html/bodyScript.ts +16 -0
- package/src/services/veryfiService.ts +1 -1
- package/src/types/shared/applicationForm.types.ts +18 -0
- package/src/types/shared/index.ts +1 -0
- package/src/unitComponentsSdkManager/UnitComponentsSdkManager.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/messages/webMessages/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,sCAAsC,EAAE,MAAM,0BAA0B,CAAC;AACzH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,WAAW,GACX,oBAAoB,GACpB,qBAAqB,GACrB,cAAc,GACd,cAAc,GACd,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,sBAAsB,GACtB,gCAAgC,GAChC,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,iBAAiB,GACjB,qBAAqB,CAAA;AAEzB,KAAK,YAAY,GACb,SAAS,GACT,SAAS,GACT,SAAS,GACT,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,GACd,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,iBAAiB,GACjB,aAAa,GACb,UAAU,GACV,oBAAoB,GACpB,uBAAuB,GACvB,sCAAsC,GACtC,gBAAgB,GAChB,qBAAqB,GACrB,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,mBAAmB,CAAA;AAEvB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/messages/webMessages/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,sCAAsC,EAAE,MAAM,0BAA0B,CAAC;AACzH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,WAAW,GACX,oBAAoB,GACpB,qBAAqB,GACrB,cAAc,GACd,cAAc,GACd,sBAAsB,GACtB,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,sBAAsB,GACtB,gCAAgC,GAChC,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,iBAAiB,GACjB,qBAAqB,CAAA;AAEzB,KAAK,YAAY,GACb,SAAS,GACT,SAAS,GACT,SAAS,GACT,kBAAkB,GAClB,gBAAgB,GAChB,cAAc,GACd,QAAQ,GACR,YAAY,GACZ,oBAAoB,GACpB,UAAU,GACV,iBAAiB,GACjB,aAAa,GACb,UAAU,GACV,oBAAoB,GACpB,uBAAuB,GACvB,sCAAsC,GACtC,gBAAgB,GAChB,qBAAqB,GACrB,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,mBAAmB,CAAA;AAEvB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UNBackHandlerHelper.d.ts","sourceRoot":"","sources":["../../../../src/nativeModulesHelpers/UNBackHandlerHelper.ts"],"names":[],"mappings":"AAYA,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO7D;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO/D;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAGtE"}
|
|
@@ -26,6 +26,8 @@ export declare const LISTENERS: {
|
|
|
26
26
|
unitRequestDateRangeMenuValueChange: string;
|
|
27
27
|
unitMultiFactorAuthFinished: string;
|
|
28
28
|
unitWhiteLabelAppOnLoad: string;
|
|
29
|
+
unitApplicationFormCompleted: string;
|
|
30
|
+
unitApplicationFormApproved: string;
|
|
29
31
|
unitUnauthorizedToken: string;
|
|
30
32
|
unitConnectedAccountCreated: string;
|
|
31
33
|
unitCounterpartyCreated: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bodyScript.d.ts","sourceRoot":"","sources":["../../../../../src/scripts/html/bodyScript.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bodyScript.d.ts","sourceRoot":"","sources":["../../../../../src/scripts/html/bodyScript.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,mBAAmB,6NAO/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAO5B,CAAC;AAKF,eAAO,MAAM,mBAAmB,QAgB/B,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyUrB,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAKpC,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAKtC,CAAC;AAEF,eAAO,MAAM,sEAAsE,QAIlF,CAAC;AAEF,eAAO,MAAM,4BAA4B,QAKxC,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAWpC,CAAC;AAEF,eAAO,MAAM,6BAA6B,4GAIzC,CAAC;AAEF,eAAO,MAAM,sCAAsC,QAKlD,CAAC;AAEF,eAAO,MAAM,4CAA4C,QAKxD,CAAC;AAEF,eAAO,MAAM,mCAAmC,QAK/C,CAAC;AAEF,eAAO,MAAM,2CAA2C,QAKvD,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAMvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAKnC,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAOpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAK/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAK/B,CAAC;AAEF,eAAO,MAAM,0BAA0B,oLAItC,CAAC;AAEF,eAAO,MAAM,4BAA4B,+MAIxC,CAAC;AAEF,eAAO,MAAM,oCAAoC,gMAIhD,CAAC;AAEF,eAAO,MAAM,oCAAoC,iMAIhD,CAAC;AAEF,eAAO,MAAM,+BAA+B,wNAI3C,CAAC;AAEF,eAAO,MAAM,8BAA8B,QAI1C,CAAC;AAEF,eAAO,MAAM,oBAAoB,gRAOhC,CAAC;AAEF,eAAO,MAAM,6BAA6B,wMAKzC,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAKtC,CAAC;AAEF,eAAO,MAAM,uCAAuC,QAKnD,CAAC;AAEF,eAAO,MAAM,oCAAoC,QAKhD,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAKzC,CAAC;AAEF,eAAO,MAAM,qCAAqC,QAKjD,CAAC;AAEF,eAAO,MAAM,+BAA+B,QAK3C,CAAC;AAEF,eAAO,MAAM,+BAA+B,QAK3C,CAAC;AAEF,eAAO,MAAM,2BAA2B,oJAIvC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type UNApplicationFormStatus = 'AwaitingDocuments' | 'AwaitingIdentityVerification' | 'PendingReview' | 'Approved' | 'Denied' | 'Pending' | 'New' | 'Canceled';
|
|
2
|
+
export interface UNApplicationForm {
|
|
3
|
+
type: string;
|
|
4
|
+
id: string;
|
|
5
|
+
attributes: {
|
|
6
|
+
applicationStatus?: UNApplicationFormStatus;
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=applicationForm.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applicationForm.types.d.ts","sourceRoot":"","sources":["../../../../../src/types/shared/applicationForm.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAC/B,mBAAmB,GACnB,8BAA8B,GAC9B,eAAe,GACf,UAAU,GACV,QAAQ,GACR,SAAS,GACT,KAAK,GACL,UAAU,CAAC;AAEf,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE;QACV,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;QAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH"}
|
|
@@ -5,6 +5,7 @@ export * from './card.types';
|
|
|
5
5
|
export * from './onLoadResponse.types';
|
|
6
6
|
export * from './ach.types';
|
|
7
7
|
export * from './account.types';
|
|
8
|
+
export * from './applicationForm.types';
|
|
8
9
|
export * from './checkDeposit.types';
|
|
9
10
|
export * from './counterparty.types';
|
|
10
11
|
export * from './activity.types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/types/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -46,6 +46,8 @@ import { CardCreatedEvent, CardMessage } from '../../messages/webMessages/cardMe
|
|
|
46
46
|
import { OpenPlaidEvent, PlaidMessage } from '../../messages/webMessages/plaidMessages';
|
|
47
47
|
import { injectUnitPlaidExit, injectUnitPlaidResponse } from '../UNPayeeManagementComponent/UNPayeeManagementComponent.utils';
|
|
48
48
|
import { LinkExit, LinkSuccess, open as openPlaidLink, create as createPlaidLink } from 'react-native-plaid-link-sdk';
|
|
49
|
+
import { ApplicationFormCompletedEvent, ApplicationFormMessage } from '../../messages/webMessages/applicationFormMessage';
|
|
50
|
+
import type { UNApplicationForm } from '../../types/shared';
|
|
49
51
|
|
|
50
52
|
export interface UNWhiteLabelAppComponentProps {
|
|
51
53
|
// inputs
|
|
@@ -55,6 +57,11 @@ export interface UNWhiteLabelAppComponentProps {
|
|
|
55
57
|
// ui
|
|
56
58
|
theme?: string;
|
|
57
59
|
language?: string;
|
|
60
|
+
|
|
61
|
+
// events
|
|
62
|
+
onApplicationFormCompleted?: (applicationForm: UNApplicationForm) => void;
|
|
63
|
+
onApplicationFormApproved?: () => void;
|
|
64
|
+
onAccountCreated?: () => void;
|
|
58
65
|
}
|
|
59
66
|
|
|
60
67
|
const UNWhiteLabelAppComponent = (props: UNWhiteLabelAppComponentProps) => {
|
|
@@ -93,6 +100,14 @@ const UNWhiteLabelAppComponent = (props: UNWhiteLabelAppComponentProps) => {
|
|
|
93
100
|
case PlaidMessage.UNIT_OPEN_PLAID:
|
|
94
101
|
openPlaid(message.details as OpenPlaidEvent);
|
|
95
102
|
break;
|
|
103
|
+
case ApplicationFormMessage.UNIT_APPLICATION_FORM_COMPLETED: {
|
|
104
|
+
const data = message.details as ApplicationFormCompletedEvent;
|
|
105
|
+
props.onApplicationFormCompleted?.(data.applicationForm);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case ApplicationFormMessage.UNIT_APPLICATION_FORM_APPROVED:
|
|
109
|
+
props.onApplicationFormApproved?.();
|
|
110
|
+
break;
|
|
96
111
|
}
|
|
97
112
|
};
|
|
98
113
|
|
|
@@ -165,6 +180,7 @@ const UNWhiteLabelAppComponent = (props: UNWhiteLabelAppComponentProps) => {
|
|
|
165
180
|
});
|
|
166
181
|
useEventListener({ busEventKey: AccountMessage.UNIT_ACCOUNT_CREATED, action: () => {
|
|
167
182
|
webRef.current?.injectJavaScript('dispatchAccountCreatedEvent()');
|
|
183
|
+
props.onAccountCreated?.();
|
|
168
184
|
} });
|
|
169
185
|
useEventListener({ busEventKey: CardMessage.CARD_CREATED, action: (card: CardCreatedEvent) => {
|
|
170
186
|
injectCardCreated(webRef.current, card);
|
|
@@ -102,5 +102,7 @@ export const getWhiteLabelAppScript = () => {
|
|
|
102
102
|
${DISPATCH_BILL_ACTION_RESULT}
|
|
103
103
|
${LISTENERS.unitWhiteLabelAppOnLoad}
|
|
104
104
|
${LISTENERS.unitCounterpartyCreated}
|
|
105
|
+
${LISTENERS.unitApplicationFormCompleted}
|
|
106
|
+
${LISTENERS.unitApplicationFormApproved}
|
|
105
107
|
`;
|
|
106
108
|
};
|
|
@@ -15,6 +15,7 @@ import { getStylesObject } from './BottomSheet.styles';
|
|
|
15
15
|
import { useIsBackFromLongBackground } from '../../hooks/useAppStateListener';
|
|
16
16
|
import { BottomSheetNativePlaceType } from '../../types/internal/bottomSheet.types';
|
|
17
17
|
import { UNBaseView } from '../../nativeComponents/UNBaseView';
|
|
18
|
+
import { addBackInvokedListener, registerBackCallback, unregisterBackCallback } from '../../nativeModulesHelpers/UNBackHandlerHelper';
|
|
18
19
|
|
|
19
20
|
export interface BottomSheetProps {
|
|
20
21
|
isOpen: boolean,
|
|
@@ -34,6 +35,10 @@ export interface BottomSheetProps {
|
|
|
34
35
|
const BottomSheet = (props: BottomSheetProps) => {
|
|
35
36
|
const isStatic = props.nativePlace === BottomSheetNativePlaceType.modal;
|
|
36
37
|
const panelHeightValue = useRef(new Animated.Value(props.sliderMaxHeight)).current;
|
|
38
|
+
// Both back listeners below are registered once on mount, so they'd otherwise close
|
|
39
|
+
// over the isPanelOpened value from that first render forever. Routing them through a
|
|
40
|
+
// ref kept in sync every render (see _onBackPress) means they always see current state.
|
|
41
|
+
const onBackPressRef = useRef<() => boolean>(() => false);
|
|
37
42
|
const fadeAnim = useRef(new Animated.Value(0)).current;
|
|
38
43
|
const styles = getStylesObject(fadeAnim);
|
|
39
44
|
// Initialize to false: BottomSheet mounts fresh each time (conditionally rendered),
|
|
@@ -91,15 +96,31 @@ const BottomSheet = (props: BottomSheetProps) => {
|
|
|
91
96
|
}, [props.isOpen]);
|
|
92
97
|
|
|
93
98
|
useEffect(() => {
|
|
94
|
-
const backHandlerSubscription = BackHandler.addEventListener('hardwareBackPress',
|
|
99
|
+
const backHandlerSubscription = BackHandler.addEventListener('hardwareBackPress', () => onBackPressRef.current());
|
|
100
|
+
const removeBackInvokedListener = addBackInvokedListener(() => onBackPressRef.current());
|
|
95
101
|
const id = panelHeightValue.addListener(e => setCurrentHeight(e.value));
|
|
96
102
|
|
|
97
103
|
return (() => {
|
|
98
104
|
backHandlerSubscription.remove();
|
|
105
|
+
removeBackInvokedListener();
|
|
99
106
|
panelHeightValue.removeListener(id);
|
|
100
107
|
});
|
|
101
108
|
}, []);
|
|
102
109
|
|
|
110
|
+
// Registered/unregistered with the sheet's own open state (not mount/unmount,
|
|
111
|
+
// since BottomSheet mounts once and toggles isOpen) — should only claim back
|
|
112
|
+
// while this sheet is actually visible.
|
|
113
|
+
useEffect(() => {
|
|
114
|
+
if (isPanelOpened) {
|
|
115
|
+
registerBackCallback();
|
|
116
|
+
} else {
|
|
117
|
+
unregisterBackCallback();
|
|
118
|
+
}
|
|
119
|
+
return () => {
|
|
120
|
+
unregisterBackCallback();
|
|
121
|
+
};
|
|
122
|
+
}, [isPanelOpened]);
|
|
123
|
+
|
|
103
124
|
const fadeIn = () => {
|
|
104
125
|
setIsPanelOpened(true);
|
|
105
126
|
Animated.timing(fadeAnim, {
|
|
@@ -156,9 +177,15 @@ const BottomSheet = (props: BottomSheetProps) => {
|
|
|
156
177
|
};
|
|
157
178
|
|
|
158
179
|
const _onBackPress = () => {
|
|
159
|
-
|
|
180
|
+
// A discrete back press should close the sheet outright, same as the X button
|
|
181
|
+
// and the backdrop tap (both call _dismiss() directly). collapse() is for the
|
|
182
|
+
// drag gesture's release — it snaps back to resting height unless already
|
|
183
|
+
// dragged past halfway, so calling it here left back presses doing nothing
|
|
184
|
+
// whenever the sheet was at its normal open height (i.e. every time).
|
|
185
|
+
isPanelOpened && _dismiss();
|
|
160
186
|
return isPanelOpened;
|
|
161
187
|
};
|
|
188
|
+
onBackPressRef.current = _onBackPress;
|
|
162
189
|
|
|
163
190
|
// Track the last height we animated to, so we skip duplicate animations
|
|
164
191
|
// (prevents visual jitter when _setSize fires multiple times with the same height)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { UNApplicationForm } from '../../types/shared';
|
|
2
|
+
|
|
3
|
+
export enum ApplicationFormMessage {
|
|
4
|
+
UNIT_APPLICATION_FORM_COMPLETED = 'unitApplicationFormCompleted',
|
|
5
|
+
UNIT_APPLICATION_FORM_APPROVED = 'unitApplicationFormApproved',
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface ApplicationFormCompletedEvent {
|
|
9
|
+
applicationForm: UNApplicationForm;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type ApplicationFormEvent = ApplicationFormCompletedEvent;
|
|
@@ -5,6 +5,7 @@ import type { PageEvent, PageMessage } from './pageMessage';
|
|
|
5
5
|
import type { PaymentMessage } from './paymentsMessage';
|
|
6
6
|
import type { UnitEvent, UnitComponentsMessage, MultiFactorAuthenticationFinishedEvent } from './unitComponentsMessages';
|
|
7
7
|
import type { AccountEvent, AccountMessage } from './accountMessage';
|
|
8
|
+
import type { ApplicationFormEvent, ApplicationFormMessage } from './applicationFormMessage';
|
|
8
9
|
import type { CheckEvent, CheckMessage } from './checkMessage';
|
|
9
10
|
import type { CheckPaymentEvent } from './checkPaymentMessage';
|
|
10
11
|
import type { ActivityEvent, ActivityMessage } from './activityMessage';
|
|
@@ -27,6 +28,7 @@ export type WebViewMessageType =
|
|
|
27
28
|
| UnitComponentsMessage
|
|
28
29
|
| PaymentMessage
|
|
29
30
|
| AccountMessage
|
|
31
|
+
| ApplicationFormMessage
|
|
30
32
|
| CheckMessage
|
|
31
33
|
| ActivityMessage
|
|
32
34
|
| PlaidMessage
|
|
@@ -48,6 +50,7 @@ type WebViewEvent =
|
|
|
48
50
|
| PaymentMessage
|
|
49
51
|
| ACHEvent
|
|
50
52
|
| AccountEvent
|
|
53
|
+
| ApplicationFormEvent
|
|
51
54
|
| CheckEvent
|
|
52
55
|
| CheckPaymentEvent
|
|
53
56
|
| ActivityEvent
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
2
|
+
|
|
3
|
+
const UNBackHandlerModule = Platform.OS === 'android'
|
|
4
|
+
? NativeModules.UNBackHandlerModule
|
|
5
|
+
: undefined;
|
|
6
|
+
|
|
7
|
+
const backEventEmitter = UNBackHandlerModule
|
|
8
|
+
? new NativeEventEmitter(UNBackHandlerModule)
|
|
9
|
+
: undefined;
|
|
10
|
+
|
|
11
|
+
const BACK_INVOKED_EVENT = 'UNBackInvoked';
|
|
12
|
+
|
|
13
|
+
export async function registerBackCallback(): Promise<boolean> {
|
|
14
|
+
if (!UNBackHandlerModule) return false;
|
|
15
|
+
try {
|
|
16
|
+
return await UNBackHandlerModule.registerBackCallback();
|
|
17
|
+
} catch {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export async function unregisterBackCallback(): Promise<boolean> {
|
|
23
|
+
if (!UNBackHandlerModule) return false;
|
|
24
|
+
try {
|
|
25
|
+
return await UNBackHandlerModule.unregisterBackCallback();
|
|
26
|
+
} catch {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function addBackInvokedListener(handler: () => void): () => void {
|
|
32
|
+
const subscription = backEventEmitter?.addListener(BACK_INVOKED_EVENT, handler);
|
|
33
|
+
return () => subscription?.remove();
|
|
34
|
+
}
|
|
@@ -3,6 +3,7 @@ import { CardMessage } from '../../messages/webMessages/cardMessage';
|
|
|
3
3
|
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
4
4
|
import { UnitComponentsMessage } from '../../messages/webMessages/unitComponentsMessages';
|
|
5
5
|
import { AccountMessage } from '../../messages/webMessages/accountMessage';
|
|
6
|
+
import { ApplicationFormMessage } from '../../messages/webMessages/applicationFormMessage';
|
|
6
7
|
import { ActivityMessage } from '../../messages/webMessages/activityMessage';
|
|
7
8
|
import { PlaidMessage } from '../../messages/webMessages/plaidMessages';
|
|
8
9
|
import { PayeeManagementMessage } from '../../messages/webMessages/payeeManagementMessage';
|
|
@@ -249,6 +250,21 @@ export const LISTENERS = {
|
|
|
249
250
|
})
|
|
250
251
|
});
|
|
251
252
|
`,
|
|
253
|
+
unitApplicationFormCompleted: `
|
|
254
|
+
window.addEventListener("${ApplicationFormMessage.UNIT_APPLICATION_FORM_COMPLETED}", (e) => {
|
|
255
|
+
const response = e.detail;
|
|
256
|
+
response.then((data) => {
|
|
257
|
+
postMessageToSDK({ type: "${ApplicationFormMessage.UNIT_APPLICATION_FORM_COMPLETED}", details: { applicationForm: data.data } })
|
|
258
|
+
}).catch((e) => {
|
|
259
|
+
console.log(e)
|
|
260
|
+
})
|
|
261
|
+
});
|
|
262
|
+
`,
|
|
263
|
+
unitApplicationFormApproved: `
|
|
264
|
+
window.addEventListener("${ApplicationFormMessage.UNIT_APPLICATION_FORM_APPROVED}", (e) => {
|
|
265
|
+
postMessageToSDK({ type: "${ApplicationFormMessage.UNIT_APPLICATION_FORM_APPROVED}" })
|
|
266
|
+
});
|
|
267
|
+
`,
|
|
252
268
|
unitUnauthorizedToken: `
|
|
253
269
|
window.addEventListener("${UnitComponentsMessage.UNIT_UNAUTHORIZED_TOKEN}", (e) => {
|
|
254
270
|
postMessageToSDK({ type: "${UnitComponentsMessage.UNIT_UNAUTHORIZED_TOKEN}", details: "Clean the current user tokens" })
|
|
@@ -39,7 +39,7 @@ const BACK_CAPTURE_MODAL_KEY = 'Capture the back side of the check?';
|
|
|
39
39
|
const buildEndorsement = (bankName?: string): string => {
|
|
40
40
|
const bank = bankName?.trim();
|
|
41
41
|
// Bank-agnostic fallback when the bank name is absent, so the copy never reads "...deposit at ".
|
|
42
|
-
return `Please
|
|
42
|
+
return `Please complete both steps on the back of the check: sign it and write “For Mobile Deposit ${bank ? `at ${bank}` : 'only'}.”`;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
// Veryfi reports each capture's side in the update event's `images`, whose
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type UNApplicationFormStatus =
|
|
2
|
+
| 'AwaitingDocuments'
|
|
3
|
+
| 'AwaitingIdentityVerification'
|
|
4
|
+
| 'PendingReview'
|
|
5
|
+
| 'Approved'
|
|
6
|
+
| 'Denied'
|
|
7
|
+
| 'Pending'
|
|
8
|
+
| 'New'
|
|
9
|
+
| 'Canceled';
|
|
10
|
+
|
|
11
|
+
export interface UNApplicationForm {
|
|
12
|
+
type: string;
|
|
13
|
+
id: string;
|
|
14
|
+
attributes: {
|
|
15
|
+
applicationStatus?: UNApplicationFormStatus;
|
|
16
|
+
[key: string]: unknown;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -5,6 +5,7 @@ export * from './card.types';
|
|
|
5
5
|
export * from './onLoadResponse.types';
|
|
6
6
|
export * from './ach.types';
|
|
7
7
|
export * from './account.types';
|
|
8
|
+
export * from './applicationForm.types';
|
|
8
9
|
export * from './checkDeposit.types';
|
|
9
10
|
export * from './counterparty.types';
|
|
10
11
|
export * from './activity.types';
|
|
@@ -27,7 +27,7 @@ export class UnitComponentsSDK {
|
|
|
27
27
|
protected static fonts?: UNFonts;
|
|
28
28
|
protected static signedNonce?: string;
|
|
29
29
|
protected static pushProvisionModule?: typeof NativeModules;
|
|
30
|
-
protected static sdkVersion = '3.5.
|
|
30
|
+
protected static sdkVersion = '3.5.5';
|
|
31
31
|
static iosFontBase64Map: Record<string, string> = {};
|
|
32
32
|
|
|
33
33
|
public static init = async (
|