react-native-unit-components 1.0.4 → 1.1.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.
- package/README.md +39 -8
- package/android/src/main/java/com/unitreactnativecomponents/UnitReactNativeComponentsPackage.kt +6 -1
- package/android/src/main/java/com/unitreactnativecomponents/getapplicationid/UNAppInfoModule.kt +35 -0
- package/lib/commonjs/assets/images/index.js +0 -2
- package/lib/commonjs/assets/images/index.js.map +1 -1
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +64 -0
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -0
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +31 -0
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -0
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +108 -0
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -0
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +58 -0
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -0
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +3 -29
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +0 -11
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +2 -22
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +0 -8
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +2 -23
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +3 -9
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +4 -59
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.js +0 -3
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +0 -10
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +2 -24
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js +0 -3
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +13 -41
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +3 -17
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/networking/common/UNNetworkConstants.js +0 -2
- package/lib/commonjs/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js +2 -9
- package/lib/commonjs/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +1 -1
- package/lib/commonjs/components/index.js +22 -10
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/helpers/BottomSheet/BottomSheet.js +5 -47
- package/lib/commonjs/helpers/BottomSheet/BottomSheet.js.map +1 -1
- package/lib/commonjs/helpers/BottomSheet/BottomSheet.styles.js +0 -5
- package/lib/commonjs/helpers/BottomSheet/BottomSheet.styles.js.map +1 -1
- package/lib/commonjs/helpers/EventBus.js +4 -17
- package/lib/commonjs/helpers/EventBus.js.map +1 -1
- package/lib/commonjs/hooks/listenerToBus.js +14 -14
- package/lib/commonjs/hooks/listenerToBus.js.map +1 -1
- package/lib/commonjs/hooks/useAppStateListener.js +1 -6
- package/lib/commonjs/hooks/useAppStateListener.js.map +1 -1
- package/lib/commonjs/index.js +0 -5
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/messages/nativeMessages/cardMessage.js +0 -5
- package/lib/commonjs/messages/nativeMessages/cardMessage.js.map +1 -1
- package/lib/commonjs/messages/nativeMessages/sdkMessage.js +0 -1
- package/lib/commonjs/messages/nativeMessages/sdkMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/achCreditMessage.js +6 -0
- package/lib/commonjs/messages/webMessages/achCreditMessage.js.map +1 -0
- package/lib/commonjs/messages/webMessages/bookPaymentMessage.js +0 -7
- package/lib/commonjs/messages/webMessages/bookPaymentMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/cardMessage.js +0 -1
- package/lib/commonjs/messages/webMessages/cardMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/index.js.map +1 -1
- package/lib/commonjs/messages/webMessages/pageMessage.js +0 -1
- package/lib/commonjs/messages/webMessages/pageMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/paymentsMessage.js +12 -0
- package/lib/commonjs/messages/webMessages/paymentsMessage.js.map +1 -0
- package/lib/commonjs/messages/webMessages/unitMessages.js +3 -1
- package/lib/commonjs/messages/webMessages/unitMessages.js.map +1 -1
- package/lib/commonjs/nativeComponent/UnitAddToWalletButton.js +0 -2
- package/lib/commonjs/nativeComponent/UnitAddToWalletButton.js.map +1 -1
- package/lib/commonjs/scripts/html/bodyHtml.js +0 -8
- package/lib/commonjs/scripts/html/bodyHtml.js.map +1 -1
- package/lib/commonjs/scripts/html/bodyScript.js +24 -6
- package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
- package/lib/commonjs/sharedTypes/achCredit.types.js +6 -0
- package/lib/commonjs/sharedTypes/achCredit.types.js.map +1 -0
- package/lib/commonjs/sharedTypes/bookPayment.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/index.js +22 -6
- package/lib/commonjs/sharedTypes/index.js.map +1 -1
- package/lib/commonjs/sharedTypes/payments.types.js +12 -0
- package/lib/commonjs/sharedTypes/payments.types.js.map +1 -0
- package/lib/commonjs/sharedTypes/wallet.types.js +0 -3
- package/lib/commonjs/sharedTypes/wallet.types.js.map +1 -1
- package/lib/commonjs/styles/variables.js.map +1 -1
- package/lib/commonjs/unitSdkManager/UnitSdk.api.js +1 -15
- package/lib/commonjs/unitSdkManager/UnitSdk.api.js.map +1 -1
- package/lib/commonjs/unitSdkManager/UnitSdkManager.js +3 -20
- package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
- package/lib/commonjs/webComponent/WebComponent.js +7 -36
- package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
- package/lib/commonjs/webComponent/WebComponent.utils.js +0 -7
- package/lib/commonjs/webComponent/WebComponent.utils.js.map +1 -1
- package/lib/commonjs/webComponent/html.js +7 -8
- package/lib/commonjs/webComponent/html.js.map +1 -1
- package/lib/module/assets/images/index.js.map +1 -1
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js +55 -0
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -0
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +23 -0
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -0
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +99 -0
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -0
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +48 -0
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -0
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js +3 -11
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
- package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js +2 -9
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +2 -11
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +3 -3
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +4 -35
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.styles.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +2 -7
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.styles.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.js +13 -20
- package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +3 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
- package/lib/module/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +1 -1
- package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js +1 -2
- package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +1 -1
- package/lib/module/components/index.js +2 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/helpers/BottomSheet/BottomSheet.js +5 -31
- package/lib/module/helpers/BottomSheet/BottomSheet.js.map +1 -1
- package/lib/module/helpers/BottomSheet/BottomSheet.styles.js +2 -1
- package/lib/module/helpers/BottomSheet/BottomSheet.styles.js.map +1 -1
- package/lib/module/helpers/EventBus.js +4 -15
- package/lib/module/helpers/EventBus.js.map +1 -1
- package/lib/module/hooks/listenerToBus.js +14 -10
- package/lib/module/hooks/listenerToBus.js.map +1 -1
- package/lib/module/hooks/useAppStateListener.js +0 -2
- package/lib/module/hooks/useAppStateListener.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/messages/nativeMessages/cardMessage.js +0 -5
- package/lib/module/messages/nativeMessages/cardMessage.js.map +1 -1
- package/lib/module/messages/nativeMessages/sdkMessage.js +0 -1
- package/lib/module/messages/nativeMessages/sdkMessage.js.map +1 -1
- package/lib/module/messages/webMessages/achCreditMessage.js +2 -0
- package/lib/module/messages/webMessages/achCreditMessage.js.map +1 -0
- package/lib/module/messages/webMessages/bookPaymentMessage.js +1 -5
- package/lib/module/messages/webMessages/bookPaymentMessage.js.map +1 -1
- package/lib/module/messages/webMessages/cardMessage.js +0 -1
- package/lib/module/messages/webMessages/cardMessage.js.map +1 -1
- package/lib/module/messages/webMessages/index.js.map +1 -1
- package/lib/module/messages/webMessages/pageMessage.js +0 -1
- package/lib/module/messages/webMessages/pageMessage.js.map +1 -1
- package/lib/module/messages/webMessages/paymentsMessage.js +5 -0
- package/lib/module/messages/webMessages/paymentsMessage.js.map +1 -0
- package/lib/module/messages/webMessages/unitMessages.js +3 -1
- package/lib/module/messages/webMessages/unitMessages.js.map +1 -1
- package/lib/module/nativeComponent/UnitAddToWalletButton.js.map +1 -1
- package/lib/module/scripts/html/bodyHtml.js +0 -7
- package/lib/module/scripts/html/bodyHtml.js.map +1 -1
- package/lib/module/scripts/html/bodyScript.js +22 -1
- package/lib/module/scripts/html/bodyScript.js.map +1 -1
- package/lib/module/sharedTypes/achCredit.types.js +2 -0
- package/lib/module/sharedTypes/achCredit.types.js.map +1 -0
- package/lib/module/sharedTypes/bookPayment.types.js.map +1 -1
- package/lib/module/sharedTypes/index.js +2 -0
- package/lib/module/sharedTypes/index.js.map +1 -1
- package/lib/module/sharedTypes/payments.types.js +5 -0
- package/lib/module/sharedTypes/payments.types.js.map +1 -0
- package/lib/module/sharedTypes/wallet.types.js +0 -3
- package/lib/module/sharedTypes/wallet.types.js.map +1 -1
- package/lib/module/styles/variables.js.map +1 -1
- package/lib/module/unitSdkManager/UnitSdk.api.js +1 -6
- package/lib/module/unitSdkManager/UnitSdk.api.js.map +1 -1
- package/lib/module/unitSdkManager/UnitSdkManager.js +3 -12
- package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
- package/lib/module/webComponent/WebComponent.js +7 -18
- package/lib/module/webComponent/WebComponent.js.map +1 -1
- package/lib/module/webComponent/WebComponent.utils.js +0 -1
- package/lib/module/webComponent/WebComponent.utils.js.map +1 -1
- package/lib/module/webComponent/html.js +7 -5
- package/lib/module/webComponent/html.js.map +1 -1
- package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +11 -0
- package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.utils.d.ts +3 -0
- package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.d.ts +11 -0
- package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.utils.d.ts +7 -0
- package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.d.ts +1 -1
- package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +4 -1
- package/lib/typescript/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.d.ts +1 -1
- package/lib/typescript/components/index.d.ts +2 -0
- package/lib/typescript/helpers/EventBus.d.ts +1 -1
- package/lib/typescript/hooks/listenerToBus.d.ts +2 -2
- package/lib/typescript/messages/nativeMessages/cardMessage.d.ts +1 -1
- package/lib/typescript/messages/nativeMessages/index.d.ts +2 -2
- package/lib/typescript/messages/nativeMessages/sdkMessage.d.ts +1 -1
- package/lib/typescript/messages/webMessages/achCreditMessage.d.ts +5 -0
- package/lib/typescript/messages/webMessages/bookPaymentMessage.d.ts +1 -4
- package/lib/typescript/messages/webMessages/cardMessage.d.ts +1 -1
- package/lib/typescript/messages/webMessages/index.d.ts +5 -3
- package/lib/typescript/messages/webMessages/pageMessage.d.ts +1 -1
- package/lib/typescript/messages/webMessages/paymentsMessage.d.ts +3 -0
- package/lib/typescript/messages/webMessages/unitMessages.d.ts +20 -2
- package/lib/typescript/nativeComponent/UnitAddToWalletButton.d.ts +1 -1
- package/lib/typescript/scripts/html/bodyScript.d.ts +3 -0
- package/lib/typescript/sharedTypes/achCredit.types.d.ts +31 -0
- package/lib/typescript/sharedTypes/bookPayment.types.d.ts +3 -4
- package/lib/typescript/sharedTypes/card.types.d.ts +4 -4
- package/lib/typescript/sharedTypes/index.d.ts +2 -0
- package/lib/typescript/sharedTypes/onLoadResponse.types.d.ts +3 -3
- package/lib/typescript/sharedTypes/payments.types.d.ts +12 -0
- package/lib/typescript/sharedTypes/types.d.ts +6 -6
- package/lib/typescript/webComponent/WebComponent.d.ts +3 -1
- package/package.json +4 -2
- package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +73 -0
- package/src/components/UNACHCreditComponent/UNACHCreditComponent.utils.ts +26 -0
- package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +117 -0
- package/src/components/UNACHDebitComponent/UNACHDebitComponent.utils.ts +48 -0
- package/src/components/UNAccountComponent/UNAccountComponent.tsx +2 -4
- package/src/components/UNActivityComponent/UNActivityComponent.tsx +1 -3
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +3 -2
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +3 -3
- package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +2 -4
- package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.tsx +1 -3
- package/src/components/UNCardComponent/UNCardComponent.tsx +14 -7
- package/src/components/UNCardComponent/UNCardComponent.utils.ts +3 -0
- package/src/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.ts +1 -1
- package/src/components/index.ts +2 -0
- package/src/helpers/BottomSheet/BottomSheet.tsx +3 -7
- package/src/hooks/listenerToBus.ts +15 -10
- package/src/messages/webMessages/achCreditMessage.ts +8 -0
- package/src/messages/webMessages/bookPaymentMessage.ts +0 -4
- package/src/messages/webMessages/index.ts +7 -2
- package/src/messages/webMessages/paymentsMessage.ts +3 -0
- package/src/messages/webMessages/unitMessages.ts +25 -1
- package/src/scripts/html/bodyScript.ts +23 -1
- package/src/sharedTypes/achCredit.types.ts +32 -0
- package/src/sharedTypes/bookPayment.types.ts +2 -3
- package/src/sharedTypes/index.ts +2 -0
- package/src/sharedTypes/payments.types.ts +14 -0
- package/src/webComponent/WebComponent.tsx +5 -5
- package/src/webComponent/html.ts +7 -5
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
|
|
3
|
+
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
4
|
+
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
5
|
+
import { Platform, View } from 'react-native';
|
|
6
|
+
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
7
|
+
import { getACHDebitParams, getACHDebitScript, getAndroidPackageName, injectUnitPlaidResponse } from './UNACHDebitComponent.utils';
|
|
8
|
+
import { openLink } from 'react-native-plaid-link-sdk';
|
|
9
|
+
import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
|
|
10
|
+
export const UNACHDebitComponent = props => {
|
|
11
|
+
const [height, setHeight] = useState(0);
|
|
12
|
+
const [appPackageName, setAppPackageName] = useState('');
|
|
13
|
+
const [linkToken, setLinkToken] = useState('');
|
|
14
|
+
const webRef = useRef(null);
|
|
15
|
+
const [presentationMode, setPresentationMode] = useState(PresentationMode.Inherit);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
const setPackageNameForAndroid = async () => {
|
|
18
|
+
if (Platform.OS === 'android') {
|
|
19
|
+
const packageName = await getAndroidPackageName();
|
|
20
|
+
setAppPackageName(packageName);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
setPackageNameForAndroid();
|
|
24
|
+
}, []);
|
|
25
|
+
const dispatchUnitPlaidResponse = success => {
|
|
26
|
+
injectUnitPlaidResponse(webRef.current, success);
|
|
27
|
+
};
|
|
28
|
+
const handleWebViewMessage = message => {
|
|
29
|
+
if (!message || !message.details) return;
|
|
30
|
+
switch (message.type) {
|
|
31
|
+
case PaymentMessage.PAYMENT_CREATED:
|
|
32
|
+
{
|
|
33
|
+
const achDebitEvent = message.details;
|
|
34
|
+
props.onPaymentCreated && props.onPaymentCreated(achDebitEvent.data);
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
case UnitMessage.UNIT_ON_LOAD:
|
|
38
|
+
props.onLoad && props.onLoad(message.details);
|
|
39
|
+
break;
|
|
40
|
+
case PageMessage.PAGE_HEIGHT:
|
|
41
|
+
{
|
|
42
|
+
const currentHeight = message.details.height;
|
|
43
|
+
setHeight(currentHeight);
|
|
44
|
+
if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {
|
|
45
|
+
setPresentationMode(PresentationMode.Default);
|
|
46
|
+
}
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
case UnitMessage.UNIT_PLAID_TOKEN_CREATED:
|
|
50
|
+
{
|
|
51
|
+
const linkTokenEvent = message.details;
|
|
52
|
+
const linkTokenData = linkTokenEvent.linkToken;
|
|
53
|
+
setLinkToken(linkTokenData.attributes.linkToken);
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK:
|
|
57
|
+
{
|
|
58
|
+
const externalSdkType = message.details.type;
|
|
59
|
+
if (externalSdkType !== 'plaid') return;
|
|
60
|
+
linkToken && openLink({
|
|
61
|
+
tokenConfig: {
|
|
62
|
+
noLoadingState: false,
|
|
63
|
+
token: linkToken
|
|
64
|
+
},
|
|
65
|
+
onSuccess: success => {
|
|
66
|
+
dispatchUnitPlaidResponse(success);
|
|
67
|
+
},
|
|
68
|
+
onExit: exit => {
|
|
69
|
+
console.log(exit);
|
|
70
|
+
}
|
|
71
|
+
}).catch(e => {
|
|
72
|
+
console.error(e);
|
|
73
|
+
});
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const renderACHDebitWebView = () => {
|
|
79
|
+
return /*#__PURE__*/React.createElement(WebComponent, {
|
|
80
|
+
ref: webRef,
|
|
81
|
+
type: WebComponentType.achDebitPayment,
|
|
82
|
+
presentationMode: presentationMode,
|
|
83
|
+
params: getACHDebitParams(props),
|
|
84
|
+
script: getACHDebitScript(appPackageName),
|
|
85
|
+
onMessage: message => handleWebViewMessage(message),
|
|
86
|
+
isScrollable: false,
|
|
87
|
+
theme: props.theme
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
if (presentationMode === PresentationMode.Inherit) {
|
|
91
|
+
return renderACHDebitWebView();
|
|
92
|
+
}
|
|
93
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
94
|
+
style: {
|
|
95
|
+
height: height
|
|
96
|
+
}
|
|
97
|
+
}, renderACHDebitWebView());
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=UNACHDebitComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","WebComponent","WebComponentType","PresentationMode","PageMessage","Platform","View","UnitMessage","getACHDebitParams","getACHDebitScript","getAndroidPackageName","injectUnitPlaidResponse","openLink","PaymentMessage","UNACHDebitComponent","props","height","setHeight","appPackageName","setAppPackageName","linkToken","setLinkToken","webRef","presentationMode","setPresentationMode","Inherit","setPackageNameForAndroid","OS","packageName","dispatchUnitPlaidResponse","success","current","handleWebViewMessage","message","details","type","PAYMENT_CREATED","achDebitEvent","onPaymentCreated","data","UNIT_ON_LOAD","onLoad","PAGE_HEIGHT","currentHeight","Default","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","tokenConfig","noLoadingState","token","onSuccess","onExit","exit","console","log","catch","e","error","renderACHDebitWebView","createElement","ref","achDebitPayment","params","script","onMessage","isScrollable","theme","style"],"sources":["UNACHDebitComponent.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type { ResponseUnitOnLoadEvent, UNACHData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { Platform, View } from 'react-native';\nimport { PlaidLinkTokenData, PlaidTokenCreatedEvent, RequestExternalSdkEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { getACHDebitParams, getACHDebitScript, getAndroidPackageName, injectUnitPlaidResponse } from './UNACHDebitComponent.utils';\n\nimport { LinkSuccess, openLink } from 'react-native-plaid-link-sdk';\nimport type WebView from 'react-native-webview';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\n\nexport interface UNACHDebitComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n isAutoFocus?: boolean;\n fee?: number;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void;\n}\n\nexport const UNACHDebitComponent = (props: UNACHDebitComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [appPackageName, setAppPackageName] = useState<string>('');\n const [linkToken, setLinkToken] = useState<string>('');\n const webRef = useRef<WebView>(null);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n useEffect(() => {\n const setPackageNameForAndroid = async () => {\n if (Platform.OS === 'android') {\n const packageName = await getAndroidPackageName();\n setAppPackageName(packageName);\n }\n };\n setPackageNameForAndroid();\n }, []);\n\n const dispatchUnitPlaidResponse = (success: LinkSuccess) => {\n injectUnitPlaidResponse(webRef.current, success);\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achDebitEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achDebitEvent.data as UNACHData);\n break;\n }\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n case UnitMessage.UNIT_PLAID_TOKEN_CREATED: {\n const linkTokenEvent = message.details as PlaidTokenCreatedEvent;\n const linkTokenData = linkTokenEvent.linkToken as PlaidLinkTokenData;\n setLinkToken(linkTokenData.attributes.linkToken);\n break;\n }\n\n case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK: {\n const externalSdkType = (message.details as RequestExternalSdkEvent).type;\n if (externalSdkType !== 'plaid') return;\n linkToken && openLink({\n tokenConfig: { noLoadingState: false, token: linkToken},\n onSuccess: (success) => {\n dispatchUnitPlaidResponse(success);\n },\n onExit: exit => { console.log(exit); }\n }).catch(e => {\n console.error(e);\n });\n break;\n }\n }\n };\n\n const renderACHDebitWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.achDebitPayment}\n presentationMode={presentationMode}\n params={getACHDebitParams(props)}\n script={getACHDebitScript(appPackageName)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderACHDebitWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderACHDebitWebView()}\n </View>\n\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { DISPATCH_PLAID_RESPONSE, LISTENERS } from './../../scripts/html/bodyScript';
|
|
2
|
+
import { NativeModules } from 'react-native';
|
|
3
|
+
const {
|
|
4
|
+
RNAppInfoModule
|
|
5
|
+
} = NativeModules;
|
|
6
|
+
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
7
|
+
export const getACHDebitParams = props => {
|
|
8
|
+
return `
|
|
9
|
+
account-id="${props.accountId}"
|
|
10
|
+
customer-token="${props.customerToken}"
|
|
11
|
+
is-auto-focus="${props.isAutoFocus ?? false}"
|
|
12
|
+
${props.fee ? `fee="${props.fee}"` : ''}
|
|
13
|
+
style="height: 100%"
|
|
14
|
+
`;
|
|
15
|
+
};
|
|
16
|
+
export const getAndroidPackageName = async () => {
|
|
17
|
+
try {
|
|
18
|
+
const response = await RNAppInfoModule.getAppPackageName();
|
|
19
|
+
return response;
|
|
20
|
+
} catch (error) {
|
|
21
|
+
console.error(error);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
export const getACHDebitScript = androidPackageName => {
|
|
25
|
+
return `
|
|
26
|
+
window.addEventListener("${UnitMessage.UNIT_PLAID_TOKEN_CREATED}", (e) => {
|
|
27
|
+
const response = e.detail
|
|
28
|
+
response.then((data) => {
|
|
29
|
+
postMessageToSDK({ type: "${UnitMessage.UNIT_PLAID_TOKEN_CREATED}", details: { linkToken: data.data }})
|
|
30
|
+
}).catch((e) => {
|
|
31
|
+
console.log(e)
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
${androidPackageName && `window.UnitMobileSDKConfig.androidPackageName='${androidPackageName}'`}
|
|
35
|
+
${LISTENERS.unitPaymentCreated}
|
|
36
|
+
${DISPATCH_PLAID_RESPONSE}
|
|
37
|
+
`;
|
|
38
|
+
};
|
|
39
|
+
export const injectUnitPlaidResponse = (currentWeb, success) => {
|
|
40
|
+
const successObj = {
|
|
41
|
+
data: {
|
|
42
|
+
publicToken: success.publicToken,
|
|
43
|
+
metadata: success.metadata
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
currentWeb === null || currentWeb === void 0 ? void 0 : currentWeb.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=UNACHDebitComponent.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DISPATCH_PLAID_RESPONSE","LISTENERS","NativeModules","RNAppInfoModule","UnitMessage","getACHDebitParams","props","accountId","customerToken","isAutoFocus","fee","getAndroidPackageName","response","getAppPackageName","error","console","getACHDebitScript","androidPackageName","UNIT_PLAID_TOKEN_CREATED","unitPaymentCreated","injectUnitPlaidResponse","currentWeb","success","successObj","data","publicToken","metadata","injectJavaScript","JSON","stringify"],"sources":["UNACHDebitComponent.utils.ts"],"sourcesContent":["import { DISPATCH_PLAID_RESPONSE, LISTENERS } from './../../scripts/html/bodyScript';\nimport type { UNACHDebitComponentProps } from './UNACHDebitComponent';\n\nimport type WebView from 'react-native-webview';\nimport type { LinkSuccess } from 'react-native-plaid-link-sdk';\nimport { NativeModules } from 'react-native';\nconst { RNAppInfoModule } = NativeModules;\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\n\nexport const getACHDebitParams = (props: UNACHDebitComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n is-auto-focus=\"${props.isAutoFocus ?? false}\"\n ${props.fee ? `fee=\"${props.fee}\"` : ''}\n style=\"height: 100%\"\n `;\n};\n\nexport const getAndroidPackageName = async () => {\n try {\n const response = await RNAppInfoModule.getAppPackageName();\n return response;\n } catch (error) {\n console.error(error);\n }\n};\n\nexport const getACHDebitScript = (androidPackageName?: string) => {\n return `\n window.addEventListener(\"${UnitMessage.UNIT_PLAID_TOKEN_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_PLAID_TOKEN_CREATED}\", details: { linkToken: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n ${androidPackageName && `window.UnitMobileSDKConfig.androidPackageName='${androidPackageName}'`}\n ${LISTENERS.unitPaymentCreated}\n ${DISPATCH_PLAID_RESPONSE}\n `;\n};\n\nexport const injectUnitPlaidResponse = (currentWeb: WebView | null, success: LinkSuccess) => {\n const successObj = {data: { publicToken: success.publicToken, metadata: success.metadata}};\n currentWeb?.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);\n};\n"],"mappings":"AAAA,SAASA,uBAAuB,EAAEC,SAAS,QAAQ,iCAAiC;AAKpF,SAASC,aAAa,QAAQ,cAAc;AAC5C,MAAM;EAAEC;AAAgB,CAAC,GAAGD,aAAa;AACzC,SAASE,WAAW,QAAQ,yCAAyC;AAErE,OAAO,MAAMC,iBAAiB,GAAIC,KAA+B,IAAK;EACpE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,qBAAqBF,KAAK,CAACG,WAAW,IAAI,KAAM;AAChD,MAAMH,KAAK,CAACI,GAAG,GAAI,QAAOJ,KAAK,CAACI,GAAI,GAAE,GAAG,EAAG;AAC5C;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAG,MAAAA,CAAA,KAAY;EAC/C,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMT,eAAe,CAACU,iBAAiB,EAAE;IAC1D,OAAOD,QAAQ;EACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACtB;AACF,CAAC;AAED,OAAO,MAAME,iBAAiB,GAAIC,kBAA2B,IAAK;EAChE,OAAQ;AACV,iCAAiCb,WAAW,CAACc,wBAAyB;AACtE;AACA;AACA,sCAAsCd,WAAW,CAACc,wBAAyB;AAC3E;AACA;AACA;AACA;AACA,MAAMD,kBAAkB,IAAK,kDAAiDA,kBAAmB,GAAG;AACpG,MAAMhB,SAAS,CAACkB,kBAAmB;AACnC,MAAMnB,uBAAwB;AAC9B,KAAK;AACL,CAAC;AAED,OAAO,MAAMoB,uBAAuB,GAAGA,CAACC,UAA0B,EAAEC,OAAoB,KAAK;EAC3F,MAAMC,UAAU,GAAG;IAACC,IAAI,EAAE;MAAEC,WAAW,EAAEH,OAAO,CAACG,WAAW;MAAEC,QAAQ,EAAEJ,OAAO,CAACI;IAAQ;EAAC,CAAC;EAC1FL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,sBAAqBC,IAAI,CAACC,SAAS,CAACN,UAAU,CAAE,GAAE,CAAC;AACnF,CAAC"}
|
|
@@ -4,40 +4,34 @@ import { PageMessage } from '../..//messages/webMessages/pageMessage';
|
|
|
4
4
|
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
5
5
|
import EventBus from '../../helpers/EventBus';
|
|
6
6
|
import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
|
|
7
|
-
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
8
7
|
import { getAccountParams, getAccountScript, injectRefreshEventIfNeeded } from './UNAccountComponent.utils';
|
|
9
8
|
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
9
|
+
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
10
10
|
export let AccountAction;
|
|
11
|
-
|
|
12
11
|
(function (AccountAction) {
|
|
13
12
|
AccountAction["List"] = "account-list";
|
|
14
13
|
AccountAction["Menu"] = "account-menu";
|
|
15
14
|
})(AccountAction || (AccountAction = {}));
|
|
16
|
-
|
|
17
15
|
export const UNAccountComponent = props => {
|
|
18
16
|
const [height, setHeight] = useState(0);
|
|
19
17
|
const windowWidth = Dimensions.get('window').width;
|
|
20
18
|
const [requestRefreshEvent, setRequestRefreshEvent] = useState(null);
|
|
21
19
|
const webRef = useRef(null);
|
|
22
|
-
|
|
23
20
|
const requestRefresh = data => {
|
|
24
21
|
setRequestRefreshEvent(data);
|
|
25
22
|
};
|
|
26
|
-
|
|
27
|
-
useListenerToBus([{
|
|
23
|
+
useListenerToBus({
|
|
28
24
|
busEventKey: UnitMessage.UNIT_REQUEST_REFRESH,
|
|
29
25
|
action: requestRefresh
|
|
30
|
-
}
|
|
26
|
+
});
|
|
31
27
|
useEffect(() => {
|
|
32
28
|
injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);
|
|
33
29
|
}, [requestRefreshEvent]);
|
|
34
|
-
|
|
35
30
|
const handleMessage = message => {
|
|
36
31
|
switch (message.type) {
|
|
37
32
|
case UnitMessage.UNIT_ON_LOAD:
|
|
38
33
|
props.onLoad && props.onLoad(message.details);
|
|
39
34
|
break;
|
|
40
|
-
|
|
41
35
|
case UnitMessage.UNIT_REQUEST_RENDERING:
|
|
42
36
|
{
|
|
43
37
|
const event = {
|
|
@@ -48,13 +42,11 @@ export const UNAccountComponent = props => {
|
|
|
48
42
|
EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);
|
|
49
43
|
break;
|
|
50
44
|
}
|
|
51
|
-
|
|
52
45
|
case PageMessage.PAGE_HEIGHT:
|
|
53
46
|
setHeight(message.details.height);
|
|
54
47
|
break;
|
|
55
48
|
}
|
|
56
49
|
};
|
|
57
|
-
|
|
58
50
|
return /*#__PURE__*/React.createElement(View, {
|
|
59
51
|
style: {
|
|
60
52
|
height
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","Dimensions","View","PageMessage","UnitMessage","EventBus","WebComponent","WebComponentType","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","Dimensions","View","PageMessage","UnitMessage","EventBus","WebComponent","WebComponentType","getAccountParams","getAccountScript","injectRefreshEventIfNeeded","PresentationMode","useListenerToBus","AccountAction","UNAccountComponent","props","height","setHeight","windowWidth","get","width","requestRefreshEvent","setRequestRefreshEvent","webRef","requestRefresh","data","busEventKey","UNIT_REQUEST_REFRESH","action","current","handleMessage","message","type","UNIT_ON_LOAD","onLoad","details","UNIT_REQUEST_RENDERING","event","componentName","account","componentResourceId","accountId","requestRenderingEvent","Instance","PAGE_HEIGHT","createElement","style","ref","presentationMode","Default","params","script","theme","onMessage","isScrollable"],"sources":["UNAccountComponent.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport type WebView from 'react-native-webview';\nimport { HeightEvent, PageMessage } from '../..//messages/webMessages/pageMessage';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport EventBus from '../../helpers/EventBus';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getAccountParams, getAccountScript, injectRefreshEventIfNeeded } from './UNAccountComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport type { ResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\n\nexport interface UNAccountComponentProps {\n accountId?: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void;\n}\n\nexport enum AccountAction {\n List = 'account-list',\n Menu = 'account-menu'\n}\n\nexport const UNAccountComponent = (props: UNAccountComponentProps) => {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const [requestRefreshEvent, setRequestRefreshEvent] = useState<RequestRefreshEvent | null>(null);\n\n const webRef = useRef<WebView>(null);\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n setRequestRefreshEvent(data);\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n\n useEffect(() => {\n injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);\n }, [requestRefreshEvent]);\n\n const handleMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.account,\n componentResourceId: props.accountId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);\n break;\n }\n case PageMessage.PAGE_HEIGHT:\n setHeight((message.details as HeightEvent).height);\n break;\n }\n };\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.account}\n presentationMode={PresentationMode.Default}\n params={getAccountParams(props)}\n script={getAccountScript()}\n theme={props.theme}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAAsBC,WAAW,QAAQ,yCAAyC;AAClF,SAAqDC,WAAW,QAAQ,yCAAyC;AACjH,OAAOC,QAAQ,MAAM,wBAAwB;AAC7C,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,iCAAiC;AAEhF,SAASC,gBAAgB,EAAEC,gBAAgB,EAAEC,0BAA0B,QAAQ,4BAA4B;AAC3G,SAASC,gBAAgB,QAAQ,6BAA6B;AAG9D,SAASC,gBAAgB,QAAQ,2BAA2B;AAS5D,WAAYC,aAAa;AAGxB,WAHWA,aAAa;EAAbA,aAAa;EAAbA,aAAa;AAAA,GAAbA,aAAa,KAAbA,aAAa;AAKzB,OAAO,MAAMC,kBAAkB,GAAIC,KAA8B,IAAK;EACpE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGjB,QAAQ,CAAC,CAAC,CAAC;EACvC,MAAMkB,WAAW,GAAGjB,UAAU,CAACkB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK;EAElD,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGtB,QAAQ,CAA6B,IAAI,CAAC;EAEhG,MAAMuB,MAAM,GAAGxB,MAAM,CAAU,IAAI,CAAC;EAEpC,MAAMyB,cAAc,GAAIC,IAAyB,IAAK;IACpDH,sBAAsB,CAACG,IAAI,CAAC;EAC9B,CAAC;EAEDb,gBAAgB,CAAC;IAAEc,WAAW,EAAEtB,WAAW,CAACuB,oBAAoB;IAAEC,MAAM,EAAEJ;EAAe,CAAC,CAAC;EAE3F1B,SAAS,CAAC,MAAM;IACdY,0BAA0B,CAACa,MAAM,CAACM,OAAO,EAAER,mBAAmB,CAAC;EACjE,CAAC,EAAE,CAACA,mBAAmB,CAAC,CAAC;EAEzB,MAAMS,aAAa,GAAIC,OAAuB,IAAK;IACjD,QAAQA,OAAO,CAACC,IAAI;MAClB,KAAK5B,WAAW,CAAC6B,YAAY;QAC3BlB,KAAK,CAACmB,MAAM,IAAInB,KAAK,CAACmB,MAAM,CAACH,OAAO,CAACI,OAAO,CAA4B;QACxE;MACF,KAAK/B,WAAW,CAACgC,sBAAsB;QAAE;UACvC,MAAMC,KAA0B,GAAG;YACjCC,aAAa,EAAE/B,gBAAgB,CAACgC,OAAO;YACvCC,mBAAmB,EAAEzB,KAAK,CAAC0B,SAAS;YACpCC,qBAAqB,EAAEX,OAAO,CAACI;UACjC,CAAC;UACD9B,QAAQ,CAACsC,QAAQ,CAACN,KAAK,CAACjC,WAAW,CAACgC,sBAAsB,EAAEC,KAAK,CAAC;UAClE;QACF;MACA,KAAKlC,WAAW,CAACyC,WAAW;QAC1B3B,SAAS,CAAEc,OAAO,CAACI,OAAO,CAAiBnB,MAAM,CAAC;QAClD;IAAM;EAEZ,CAAC;EAED,oBACEnB,KAAA,CAAAgD,aAAA,CAAC3C,IAAI;IAAC4C,KAAK,EAAE;MAAE9B;IAAO;EAAE,gBACtBnB,KAAA,CAAAgD,aAAA,CAACvC,YAAY;IACXyC,GAAG,EAAExB,MAAO;IACZS,IAAI,EAAEzB,gBAAgB,CAACgC,OAAQ;IAC/BS,gBAAgB,EAAErC,gBAAgB,CAACsC,OAAQ;IAC3CC,MAAM,EAAE1C,gBAAgB,CAACO,KAAK,CAAE;IAChCoC,MAAM,EAAE1C,gBAAgB,EAAG;IAC3B2C,KAAK,EAAErC,KAAK,CAACqC,KAAM;IACnBC,SAAS,EAAEtB,OAAO,IAAID,aAAa,CAACC,OAAO,CAAE;IAC7CX,KAAK,EAAEF,WAAY;IACnBoC,YAAY,EAAE;EAAM,EACpB,CACG;AAEX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AccountAction","UnitMessage","WebComponentType","getAccountParams","props","accountId","customerToken","getAccountScript","UNIT_REQUEST_REFRESH","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","account","valueOf","injectJavaScript","JSON","stringify","getAccountActionType","requestRendering","data","nativeComponent","List","Menu"],"sources":["UNAccountComponent.utils.ts"],"sourcesContent":["import { AccountAction, UNAccountComponentProps } from './UNAccountComponent';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport type WebView from 'react-native-webview';\nimport { WebComponentType } from '../../webComponent/WebComponent';\n\nexport const getAccountParams = (props: UNAccountComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n `;\n};\n\nexport const getAccountScript = () => {\n return `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n `;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.account.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const getAccountActionType = (requestRendering: RequestRenderingEvent) => {\n return requestRendering.data.nativeComponent.includes(AccountAction.List) ? AccountAction.List : AccountAction.Menu;\n};\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"names":["AccountAction","UnitMessage","WebComponentType","getAccountParams","props","accountId","customerToken","getAccountScript","UNIT_REQUEST_REFRESH","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","account","valueOf","injectJavaScript","JSON","stringify","getAccountActionType","requestRendering","data","nativeComponent","List","Menu"],"sources":["UNAccountComponent.utils.ts"],"sourcesContent":["import { AccountAction, UNAccountComponentProps } from './UNAccountComponent';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport type WebView from 'react-native-webview';\nimport { WebComponentType } from '../../webComponent/WebComponent';\n\nexport const getAccountParams = (props: UNAccountComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n `;\n};\n\nexport const getAccountScript = () => {\n return `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n `;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.account.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const getAccountActionType = (requestRendering: RequestRenderingEvent) => {\n return requestRendering.data.nativeComponent.includes(AccountAction.List) ? AccountAction.List : AccountAction.Menu;\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAiC,sBAAsB;AAC7E,SAAqDC,WAAW,QAAQ,yCAAyC;AAEjH,SAASC,gBAAgB,QAAQ,iCAAiC;AAElE,OAAO,MAAMC,gBAAgB,GAAIC,KAA8B,IAAK;EAClE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,OAAQ;AACV;AACA,qCAAqCN,WAAW,CAACO,oBAAqB;AACtE;AACA;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,0BAA0B,GAAGA,CAACC,UAA0B,EAAEC,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAACX,gBAAgB,CAACY,OAAO,CAACC,OAAO,EAAE,CAAC,EAAE;IACxGL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,yBAAwBC,IAAI,CAACC,SAAS,CAACP,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC;AAED,OAAO,MAAMQ,oBAAoB,GAAIC,gBAAuC,IAAK;EAC/E,OAAOA,gBAAgB,CAACC,IAAI,CAACC,eAAe,CAACT,QAAQ,CAACb,aAAa,CAACuB,IAAI,CAAC,GAAGvB,aAAa,CAACuB,IAAI,GAAGvB,aAAa,CAACwB,IAAI;AACrH,CAAC"}
|
|
@@ -10,22 +10,18 @@ const DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;
|
|
|
10
10
|
export const UNActivityComponent = props => {
|
|
11
11
|
const webRef = useRef(null);
|
|
12
12
|
const [defaultHeight, setDefaultHeight] = useState();
|
|
13
|
-
|
|
14
13
|
const requestRefresh = data => {
|
|
15
14
|
injectRefreshEventIfNeeded(webRef.current, data);
|
|
16
15
|
};
|
|
17
|
-
|
|
18
|
-
useListenerToBus([{
|
|
16
|
+
useListenerToBus({
|
|
19
17
|
busEventKey: UnitMessage.UNIT_REQUEST_REFRESH,
|
|
20
18
|
action: requestRefresh
|
|
21
|
-
}
|
|
22
|
-
|
|
19
|
+
});
|
|
23
20
|
const handleWebViewMessage = message => {
|
|
24
21
|
switch (message.type) {
|
|
25
22
|
case UnitMessage.UNIT_ON_LOAD:
|
|
26
23
|
props.onLoad && props.onLoad(message.details);
|
|
27
24
|
break;
|
|
28
|
-
|
|
29
25
|
case PageMessage.PAGE_HEIGHT:
|
|
30
26
|
{
|
|
31
27
|
const currentHeight = message.details.height;
|
|
@@ -34,7 +30,6 @@ export const UNActivityComponent = props => {
|
|
|
34
30
|
}
|
|
35
31
|
}
|
|
36
32
|
};
|
|
37
|
-
|
|
38
33
|
const renderActivityWebView = () => {
|
|
39
34
|
return /*#__PURE__*/React.createElement(WebComponent, {
|
|
40
35
|
ref: webRef,
|
|
@@ -47,11 +42,9 @@ export const UNActivityComponent = props => {
|
|
|
47
42
|
script: getActivityScript()
|
|
48
43
|
});
|
|
49
44
|
};
|
|
50
|
-
|
|
51
45
|
if (!defaultHeight) {
|
|
52
46
|
return renderActivityWebView();
|
|
53
47
|
}
|
|
54
|
-
|
|
55
48
|
return /*#__PURE__*/React.createElement(View, {
|
|
56
49
|
style: {
|
|
57
50
|
height: defaultHeight
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","useState","Dimensions","View","UnitMessage","useListenerToBus","PageMessage","PresentationMode","WebComponent","WebComponentType","getActivityParams","getActivityScript","injectRefreshEventIfNeeded","DEFAULT_HEIGHT","get","height","UNActivityComponent","props","webRef","defaultHeight","setDefaultHeight","requestRefresh","data","current","busEventKey","UNIT_REQUEST_REFRESH","action","handleWebViewMessage","message","type","UNIT_ON_LOAD","onLoad","details","PAGE_HEIGHT","currentHeight","renderActivityWebView","activity","Inherit","theme"],"sources":["UNActivityComponent.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport { RequestRefreshEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { ResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { getActivityParams, getActivityScript, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';\nimport type WebView from 'react-native-webview';\n\nconst DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;\nexport interface UNActivityComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void\n}\n\nexport const UNActivityComponent = (props: UNActivityComponentProps) => {\n const webRef = useRef<WebView>(null);\n const [defaultHeight, setDefaultHeight] = useState<number>();\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data);\n };\n\n useListenerToBus(
|
|
1
|
+
{"version":3,"names":["React","useRef","useState","Dimensions","View","UnitMessage","useListenerToBus","PageMessage","PresentationMode","WebComponent","WebComponentType","getActivityParams","getActivityScript","injectRefreshEventIfNeeded","DEFAULT_HEIGHT","get","height","UNActivityComponent","props","webRef","defaultHeight","setDefaultHeight","requestRefresh","data","current","busEventKey","UNIT_REQUEST_REFRESH","action","handleWebViewMessage","message","type","UNIT_ON_LOAD","onLoad","details","PAGE_HEIGHT","currentHeight","renderActivityWebView","createElement","ref","activity","presentationMode","Inherit","params","onMessage","nestedScrollEnabled","theme","script","style"],"sources":["UNActivityComponent.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport { RequestRefreshEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { ResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { getActivityParams, getActivityScript, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';\nimport type WebView from 'react-native-webview';\n\nconst DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;\nexport interface UNActivityComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void\n}\n\nexport const UNActivityComponent = (props: UNActivityComponentProps) => {\n const webRef = useRef<WebView>(null);\n const [defaultHeight, setDefaultHeight] = useState<number>();\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data);\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n currentHeight === 0 && setDefaultHeight(DEFAULT_HEIGHT);\n break;\n }\n }\n };\n\n const renderActivityWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.activity}\n presentationMode={PresentationMode.Inherit}\n params={getActivityParams(props)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n nestedScrollEnabled={true}\n theme={props.theme}\n script={getActivityScript()}\n />\n );\n };\n\n if (!defaultHeight) {\n return renderActivityWebView();\n }\n\n return (\n <View style={{ height: defaultHeight }}>\n {renderActivityWebView()}\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC/C,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAA8BC,WAAW,QAAQ,yCAAyC;AAC1F,SAASC,gBAAgB,QAAQ,2BAA2B;AAE5D,SAAsBC,WAAW,QAAQ,wCAAwC;AACjF,SAASC,gBAAgB,QAAQ,6BAA6B;AAE9D,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,iCAAiC;AAChF,SAASC,iBAAiB,EAAEC,iBAAiB,EAAEC,0BAA0B,QAAQ,6BAA6B;AAG9G,MAAMC,cAAc,GAAGX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,GAAG,GAAG;AAQ5D,OAAO,MAAMC,mBAAmB,GAAIC,KAA+B,IAAK;EACtE,MAAMC,MAAM,GAAGlB,MAAM,CAAU,IAAI,CAAC;EACpC,MAAM,CAACmB,aAAa,EAAEC,gBAAgB,CAAC,GAAGnB,QAAQ,EAAU;EAE5D,MAAMoB,cAAc,GAAIC,IAAyB,IAAK;IACpDV,0BAA0B,CAACM,MAAM,CAACK,OAAO,EAAED,IAAI,CAAC;EAClD,CAAC;EAEDjB,gBAAgB,CAAC;IAAEmB,WAAW,EAAEpB,WAAW,CAACqB,oBAAoB;IAAEC,MAAM,EAAEL;EAAe,CAAC,CAAC;EAE3F,MAAMM,oBAAoB,GAAIC,OAAuB,IAAK;IACxD,QAAQA,OAAO,CAACC,IAAI;MAClB,KAAKzB,WAAW,CAAC0B,YAAY;QAC3Bb,KAAK,CAACc,MAAM,IAAId,KAAK,CAACc,MAAM,CAACH,OAAO,CAACI,OAAO,CAA4B;QACxE;MACF,KAAK1B,WAAW,CAAC2B,WAAW;QAAE;UAC5B,MAAMC,aAAa,GAAIN,OAAO,CAACI,OAAO,CAAiBjB,MAAM;UAC7DmB,aAAa,KAAK,CAAC,IAAId,gBAAgB,CAACP,cAAc,CAAC;UACvD;QACF;IAAC;EAEL,CAAC;EAED,MAAMsB,qBAAqB,GAAGA,CAAA,KAAM;IAClC,oBACEpC,KAAA,CAAAqC,aAAA,CAAC5B,YAAY;MACX6B,GAAG,EAAEnB,MAAO;MACZW,IAAI,EAAEpB,gBAAgB,CAAC6B,QAAS;MAChCC,gBAAgB,EAAEhC,gBAAgB,CAACiC,OAAQ;MAC3CC,MAAM,EAAE/B,iBAAiB,CAACO,KAAK,CAAE;MACjCyB,SAAS,EAAGd,OAAuB,IAAKD,oBAAoB,CAACC,OAAO,CAAE;MACtEe,mBAAmB,EAAE,IAAK;MAC1BC,KAAK,EAAE3B,KAAK,CAAC2B,KAAM;MACnBC,MAAM,EAAElC,iBAAiB;IAAG,EAC5B;EAEN,CAAC;EAED,IAAI,CAACQ,aAAa,EAAE;IAClB,OAAOgB,qBAAqB,EAAE;EAChC;EAEA,oBACEpC,KAAA,CAAAqC,aAAA,CAACjC,IAAI;IAAC2C,KAAK,EAAE;MAAE/B,MAAM,EAAEI;IAAc;EAAE,GACpCgB,qBAAqB,EAAE,CACnB;AAEX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebComponentType","DISPATCH_REQUEST_REFRESH","getActivityParams","props","accountId","customerToken","getActivityScript","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","activity","valueOf","injectJavaScript","JSON","stringify"],"sources":["UNActivityComponent.utils.ts"],"sourcesContent":["import { WebComponentType } from './../../webComponent/WebComponent';\nimport type { RequestRefreshEvent } from './../../messages/webMessages/unitMessages';\nimport type { WebView } from 'react-native-webview';\nimport { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type { UNActivityComponentProps } from './UNActivityComponent';\n\nexport const getActivityParams = (props: UNActivityComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n style=\"height: 100%\"\n `;\n};\n\nexport const getActivityScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.activity.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n"],"mappings":"AAAA,SAASA,
|
|
1
|
+
{"version":3,"names":["WebComponentType","DISPATCH_REQUEST_REFRESH","getActivityParams","props","accountId","customerToken","getActivityScript","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","activity","valueOf","injectJavaScript","JSON","stringify"],"sources":["UNActivityComponent.utils.ts"],"sourcesContent":["import { WebComponentType } from './../../webComponent/WebComponent';\nimport type { RequestRefreshEvent } from './../../messages/webMessages/unitMessages';\nimport type { WebView } from 'react-native-webview';\nimport { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type { UNActivityComponentProps } from './UNActivityComponent';\n\nexport const getActivityParams = (props: UNActivityComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n style=\"height: 100%\"\n `;\n};\n\nexport const getActivityScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.activity.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,mCAAmC;AAGpE,SAASC,wBAAwB,QAAQ,iCAAiC;AAG1E,OAAO,MAAMC,iBAAiB,GAAIC,KAA+B,IAAK;EACpE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,KAAM;EACrC,OAAOL,wBAAwB;AACjC,CAAC;AAED,OAAO,MAAMM,0BAA0B,GAAGA,CAACC,UAA0B,EAAEC,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAACX,gBAAgB,CAACY,QAAQ,CAACC,OAAO,EAAE,CAAC,EAAE;IACzGL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,yBAAwBC,IAAI,CAACC,SAAS,CAACP,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC"}
|
|
@@ -2,40 +2,33 @@ import React, { useState } from 'react';
|
|
|
2
2
|
import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
|
|
3
3
|
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
4
4
|
import { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';
|
|
5
|
-
import { BookPaymentMessage } from '../../messages/webMessages/bookPaymentMessage';
|
|
6
5
|
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
7
6
|
import { View } from 'react-native';
|
|
8
7
|
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
8
|
+
import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
|
|
9
9
|
export const UNBookPaymentComponent = props => {
|
|
10
10
|
const [height, setHeight] = useState(0);
|
|
11
11
|
const [presentationMode, setPresentationMode] = useState(PresentationMode.Inherit);
|
|
12
|
-
|
|
13
12
|
const handleWebViewMessage = message => {
|
|
14
13
|
if (!message || !message.details) return;
|
|
15
|
-
|
|
16
14
|
switch (message.type) {
|
|
17
|
-
case
|
|
15
|
+
case PaymentMessage.PAYMENT_CREATED:
|
|
18
16
|
props.onPaymentCreated && props.onPaymentCreated(message.details.data);
|
|
19
17
|
break;
|
|
20
|
-
|
|
21
18
|
case UnitMessage.UNIT_ON_LOAD:
|
|
22
19
|
props.onLoad && props.onLoad(message.details);
|
|
23
20
|
break;
|
|
24
|
-
|
|
25
21
|
case PageMessage.PAGE_HEIGHT:
|
|
26
22
|
{
|
|
27
23
|
const currentHeight = message.details.height;
|
|
28
24
|
setHeight(currentHeight);
|
|
29
|
-
|
|
30
25
|
if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {
|
|
31
26
|
setPresentationMode(PresentationMode.Default);
|
|
32
27
|
}
|
|
33
|
-
|
|
34
28
|
break;
|
|
35
29
|
}
|
|
36
30
|
}
|
|
37
31
|
};
|
|
38
|
-
|
|
39
32
|
const renderBookPaymentWebView = () => {
|
|
40
33
|
return /*#__PURE__*/React.createElement(WebComponent, {
|
|
41
34
|
type: WebComponentType.bookPayment,
|
|
@@ -47,11 +40,9 @@ export const UNBookPaymentComponent = props => {
|
|
|
47
40
|
theme: props.theme
|
|
48
41
|
});
|
|
49
42
|
};
|
|
50
|
-
|
|
51
43
|
if (presentationMode === PresentationMode.Inherit) {
|
|
52
44
|
return renderBookPaymentWebView();
|
|
53
45
|
}
|
|
54
|
-
|
|
55
46
|
return /*#__PURE__*/React.createElement(View, {
|
|
56
47
|
style: {
|
|
57
48
|
height: height
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","WebComponent","WebComponentType","PresentationMode","getBookPaymentParams","getBookPaymentScript","
|
|
1
|
+
{"version":3,"names":["React","useState","WebComponent","WebComponentType","PresentationMode","getBookPaymentParams","getBookPaymentScript","PageMessage","View","UnitMessage","PaymentMessage","UNBookPaymentComponent","props","height","setHeight","presentationMode","setPresentationMode","Inherit","handleWebViewMessage","message","details","type","PAYMENT_CREATED","onPaymentCreated","data","UNIT_ON_LOAD","onLoad","PAGE_HEIGHT","currentHeight","Default","renderBookPaymentWebView","createElement","bookPayment","params","script","onMessage","isScrollable","theme","style"],"sources":["UNBookPaymentComponent.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type { ResponseUnitOnLoadEvent, UNBookPaymentData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { View } from 'react-native';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { BookPaymentEvent } from '../../messages/webMessages/bookPaymentMessage';\n\nexport interface UNBookPaymentComponentProps {\n accountId: string;\n customerToken: string;\n isSameCustomer: boolean;\n counterPartyAccountId: string;\n counterPartyName: string;\n theme?: string;\n onPaymentCreated?: (data: UNBookPaymentData) => void;\n onLoad?: (response: ResponseUnitOnLoadEvent) => void;\n}\n\nexport const UNBookPaymentComponent = (props: UNBookPaymentComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED:\n props.onPaymentCreated && props.onPaymentCreated((message.details as BookPaymentEvent).data);\n break;\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n }\n };\n\n const renderBookPaymentWebView = () => {\n return (\n <WebComponent\n type={WebComponentType.bookPayment}\n presentationMode={presentationMode}\n params={getBookPaymentParams(props)}\n script={getBookPaymentScript()}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderBookPaymentWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderBookPaymentWebView()}\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,iCAAiC;AAChF,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,oBAAoB,EAAEC,oBAAoB,QAAQ,gCAAgC;AAG3F,SAAsBC,WAAW,QAAQ,wCAAwC;AACjF,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,yCAAyC;AACrE,SAASC,cAAc,QAAQ,4CAA4C;AAc3E,OAAO,MAAMC,sBAAsB,GAAIC,KAAkC,IAAK;EAC5E,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGb,QAAQ,CAAS,CAAC,CAAC;EAC/C,MAAM,CAACc,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGf,QAAQ,CAAmBG,gBAAgB,CAACa,OAAO,CAAC;EAEpG,MAAMC,oBAAoB,GAAIC,OAAuB,IAAK;IACxD,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACC,OAAO,EAAE;IAElC,QAAQD,OAAO,CAACE,IAAI;MAClB,KAAKX,cAAc,CAACY,eAAe;QACjCV,KAAK,CAACW,gBAAgB,IAAIX,KAAK,CAACW,gBAAgB,CAAEJ,OAAO,CAACC,OAAO,CAAsBI,IAAI,CAAC;QAC5F;MACF,KAAKf,WAAW,CAACgB,YAAY;QAC3Bb,KAAK,CAACc,MAAM,IAAId,KAAK,CAACc,MAAM,CAACP,OAAO,CAACC,OAAO,CAA4B;QACxE;MACF,KAAKb,WAAW,CAACoB,WAAW;QAAE;UAC5B,MAAMC,aAAa,GAAIT,OAAO,CAACC,OAAO,CAAiBP,MAAM;UAC7DC,SAAS,CAACc,aAAa,CAAC;UACxB,IAAIb,gBAAgB,KAAKX,gBAAgB,CAACa,OAAO,IAAIW,aAAa,KAAK,CAAC,EAAE;YACxEZ,mBAAmB,CAACZ,gBAAgB,CAACyB,OAAO,CAAC;UAC/C;UACA;QACF;IAAC;EAEL,CAAC;EAED,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;IACrC,oBACE9B,KAAA,CAAA+B,aAAA,CAAC7B,YAAY;MACXmB,IAAI,EAAElB,gBAAgB,CAAC6B,WAAY;MACnCjB,gBAAgB,EAAEA,gBAAiB;MACnCkB,MAAM,EAAE5B,oBAAoB,CAACO,KAAK,CAAE;MACpCsB,MAAM,EAAE5B,oBAAoB,EAAG;MAC/B6B,SAAS,EAAGhB,OAAuB,IAAKD,oBAAoB,CAACC,OAAO,CAAE;MACtEiB,YAAY,EAAE,KAAM;MACpBC,KAAK,EAAEzB,KAAK,CAACyB;IAAM,EACnB;EAEN,CAAC;EAED,IAAItB,gBAAgB,KAAKX,gBAAgB,CAACa,OAAO,EAAE;IACjD,OAAOa,wBAAwB,EAAE;EACnC;EAEA,oBACE9B,KAAA,CAAA+B,aAAA,CAACvB,IAAI;IAAC8B,KAAK,EAAE;MAAEzB,MAAM,EAAEA;IAAO;EAAE,GAC7BiB,wBAAwB,EAAE,CACtB;AAEX,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LISTENERS } from './../../scripts/html/bodyScript';
|
|
2
|
-
import {
|
|
2
|
+
import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
|
|
3
3
|
export const getBookPaymentParams = props => {
|
|
4
4
|
return `
|
|
5
5
|
account-id="${props.accountId}"
|
|
@@ -12,10 +12,10 @@ export const getBookPaymentParams = props => {
|
|
|
12
12
|
};
|
|
13
13
|
export const getBookPaymentScript = () => {
|
|
14
14
|
return `
|
|
15
|
-
window.addEventListener("${
|
|
15
|
+
window.addEventListener("${PaymentMessage.PAYMENT_CREATED}", (e) => {
|
|
16
16
|
const response = e.detail
|
|
17
17
|
response.then((data) => {
|
|
18
|
-
postMessageToSDK({ type: "${
|
|
18
|
+
postMessageToSDK({ type: "${PaymentMessage.PAYMENT_CREATED}", details: { data: JSON.stringify(data.data) }})
|
|
19
19
|
}).catch((e) => {
|
|
20
20
|
console.log(e)
|
|
21
21
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LISTENERS","
|
|
1
|
+
{"version":3,"names":["LISTENERS","PaymentMessage","getBookPaymentParams","props","accountId","customerToken","isSameCustomer","counterPartyAccountId","counterPartyName","getBookPaymentScript","PAYMENT_CREATED","requestRefresh"],"sources":["UNBookPaymentComponent.utils.ts"],"sourcesContent":["import { LISTENERS } from './../../scripts/html/bodyScript';\nimport type { UNBookPaymentComponentProps } from './UNBookPaymentComponent';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\n\nexport const getBookPaymentParams = (props: UNBookPaymentComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n is-same-customer=\"${props.isSameCustomer}\"\n counterparty-account-id=\"${props.counterPartyAccountId}\"\n counterparty-name=\"${props.counterPartyName}\"\n style=\"height: 100%\"\n `;\n};\n\nexport const getBookPaymentScript = () => {\n return `\n window.addEventListener(\"${PaymentMessage.PAYMENT_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${PaymentMessage.PAYMENT_CREATED}\", details: { data: JSON.stringify(data.data) }})\n }).catch((e) => {\n console.log(e)\n })\n });\n\n ${LISTENERS.requestRefresh}\n `;\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iCAAiC;AAG3D,SAASC,cAAc,QAAQ,4CAA4C;AAE3E,OAAO,MAAMC,oBAAoB,GAAIC,KAAkC,IAAK;EAC1E,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,wBAAwBF,KAAK,CAACG,cAAe;AAC7C,+BAA+BH,KAAK,CAACI,qBAAsB;AAC3D,yBAAyBJ,KAAK,CAACK,gBAAiB;AAChD;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,OAAQ;AACV,+BAA+BR,cAAc,CAACS,eAAgB;AAC9D;AACA;AACA,sCAAsCT,cAAc,CAACS,eAAgB;AACrE;AACA;AACA;AACA;AACA;AACA,MAAMV,SAAS,CAACW,cAAe;AAC/B,GAAG;AACH,CAAC"}
|
package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BOTTOM_SHEET_MAX_PERCENTAGE_SIZE"],"sources":["UNBottomSheetComponent.constants.ts"],"sourcesContent":["export const BOTTOM_SHEET_MAX_PERCENTAGE_SIZE = 0.9;\n"],"mappings":"AAAA,OAAO,MAAMA,gCAAgC,GAAG,
|
|
1
|
+
{"version":3,"names":["BOTTOM_SHEET_MAX_PERCENTAGE_SIZE"],"sources":["UNBottomSheetComponent.constants.ts"],"sourcesContent":["export const BOTTOM_SHEET_MAX_PERCENTAGE_SIZE = 0.9;\n"],"mappings":"AAAA,OAAO,MAAMA,gCAAgC,GAAG,GAAG"}
|