react-native-unit-components 1.6.1 → 1.7.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/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +6 -6
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +6 -6
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +12 -6
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +3 -3
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +12 -6
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +2 -2
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +6 -6
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +159 -74
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +28 -8
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +49 -37
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +20 -50
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +4 -53
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js +6 -6
- package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -1
- package/lib/commonjs/flows/UNFlows.js +19 -0
- package/lib/commonjs/flows/UNFlows.js.map +1 -0
- package/lib/commonjs/flows/card/UNCardFlows.js +33 -0
- package/lib/commonjs/flows/card/UNCardFlows.js.map +1 -0
- package/lib/commonjs/helpers/pushProvisioningService/hooks/useCardWallet.js +70 -0
- package/lib/commonjs/helpers/pushProvisioningService/hooks/useCardWallet.js.map +1 -0
- package/lib/commonjs/helpers/pushProvisioningService/startProvisioning.js +22 -0
- package/lib/commonjs/helpers/pushProvisioningService/startProvisioning.js.map +1 -0
- package/lib/commonjs/index.js +4 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/messages/nativeMessages/bottomSheetMessage.js +17 -0
- package/lib/commonjs/messages/nativeMessages/bottomSheetMessage.js.map +1 -0
- package/lib/commonjs/messages/nativeMessages/cardMessage.js +2 -8
- package/lib/commonjs/messages/nativeMessages/cardMessage.js.map +1 -1
- package/lib/commonjs/messages/nativeMessages/index.js.map +1 -1
- package/lib/commonjs/messages/webMessages/accountMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/achCreditMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/bookPaymentMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/cardMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/checkMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/onLoadMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/unitMessages.js +1 -0
- package/lib/commonjs/messages/webMessages/unitMessages.js.map +1 -1
- package/lib/commonjs/{components/UNCardComponent/networking → networking}/common/UNNetworkConstants.js +1 -1
- package/lib/commonjs/networking/common/UNNetworkConstants.js.map +1 -0
- package/lib/commonjs/{components/UNCardComponent/networking → networking}/requests/UNWalletPayloadRequest.js +3 -1
- package/lib/commonjs/networking/requests/UNWalletPayloadRequest.js.map +1 -0
- package/lib/commonjs/scripts/html/bodyHtml.js +4 -10
- package/lib/commonjs/scripts/html/bodyHtml.js.map +1 -1
- package/lib/commonjs/types/internal/bottomSheet.types.js +14 -0
- package/lib/commonjs/types/internal/bottomSheet.types.js.map +1 -0
- package/lib/commonjs/types/internal/webComponent.types.js +27 -0
- package/lib/commonjs/types/internal/webComponent.types.js.map +1 -0
- package/lib/commonjs/types/shared/achCredit.types.js.map +1 -0
- package/lib/commonjs/types/shared/activity.types.js.map +1 -0
- package/lib/commonjs/unitSdkManager/UnitSdkManager.js +20 -2
- package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
- package/lib/commonjs/unitSdkManager/unitUiManager/unitUiManager.js +21 -0
- package/lib/commonjs/unitSdkManager/unitUiManager/unitUiManager.js.map +1 -0
- package/lib/commonjs/webComponent/WebComponent.js +5 -16
- package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
- package/lib/commonjs/webComponent/html.js +3 -1
- package/lib/commonjs/webComponent/html.js.map +1 -1
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js +2 -2
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +2 -2
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js +10 -4
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
- package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js +1 -1
- package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js +10 -4
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +2 -2
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +159 -74
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js +23 -6
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +51 -39
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.js +20 -51
- package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +1 -48
- package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
- package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js +2 -2
- package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -1
- package/lib/module/flows/UNFlows.js +12 -0
- package/lib/module/flows/UNFlows.js.map +1 -0
- package/lib/module/flows/card/UNCardFlows.js +25 -0
- package/lib/module/flows/card/UNCardFlows.js.map +1 -0
- package/lib/module/helpers/pushProvisioningService/hooks/useCardWallet.js +63 -0
- package/lib/module/helpers/pushProvisioningService/hooks/useCardWallet.js.map +1 -0
- package/lib/module/helpers/pushProvisioningService/startProvisioning.js +15 -0
- package/lib/module/helpers/pushProvisioningService/startProvisioning.js.map +1 -0
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/messages/nativeMessages/bottomSheetMessage.js +9 -0
- package/lib/module/messages/nativeMessages/bottomSheetMessage.js.map +1 -0
- package/lib/module/messages/nativeMessages/cardMessage.js +1 -6
- package/lib/module/messages/nativeMessages/cardMessage.js.map +1 -1
- package/lib/module/messages/nativeMessages/index.js.map +1 -1
- package/lib/module/messages/webMessages/accountMessage.js.map +1 -1
- package/lib/module/messages/webMessages/achCreditMessage.js.map +1 -1
- package/lib/module/messages/webMessages/bookPaymentMessage.js.map +1 -1
- package/lib/module/messages/webMessages/cardMessage.js.map +1 -1
- package/lib/module/messages/webMessages/checkMessage.js.map +1 -1
- package/lib/module/messages/webMessages/onLoadMessage.js.map +1 -1
- package/lib/module/messages/webMessages/unitMessages.js +1 -0
- package/lib/module/messages/webMessages/unitMessages.js.map +1 -1
- package/lib/module/{components/UNCardComponent/networking → networking}/common/UNNetworkConstants.js +1 -1
- package/lib/module/networking/common/UNNetworkConstants.js.map +1 -0
- package/lib/module/{components/UNCardComponent/networking → networking}/requests/UNWalletPayloadRequest.js +4 -1
- package/lib/module/networking/requests/UNWalletPayloadRequest.js.map +1 -0
- package/lib/module/scripts/html/bodyHtml.js +1 -6
- package/lib/module/scripts/html/bodyHtml.js.map +1 -1
- package/lib/module/types/internal/bottomSheet.types.js +7 -0
- package/lib/module/types/internal/bottomSheet.types.js.map +1 -0
- package/lib/module/types/internal/webComponent.types.js +19 -0
- package/lib/module/types/internal/webComponent.types.js.map +1 -0
- package/lib/module/types/shared/achCredit.types.js.map +1 -0
- package/lib/module/types/shared/activity.types.js.map +1 -0
- package/lib/module/unitSdkManager/UnitSdkManager.js +20 -2
- package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
- package/lib/module/unitSdkManager/unitUiManager/unitUiManager.js +14 -0
- package/lib/module/unitSdkManager/unitUiManager/unitUiManager.js.map +1 -0
- package/lib/module/webComponent/WebComponent.js +4 -14
- package/lib/module/webComponent/WebComponent.js.map +1 -1
- package/lib/module/webComponent/html.js +3 -1
- package/lib/module/webComponent/html.js.map +1 -1
- package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +1 -1
- package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.d.ts +1 -1
- package/lib/typescript/components/UNAccountComponent/UNAccountComponent.d.ts +3 -3
- package/lib/typescript/components/UNAccountComponent/UNAccountComponent.utils.d.ts +1 -1
- package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +2 -2
- package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +1 -1
- package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.d.ts +0 -7
- package/lib/typescript/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.d.ts +5 -1
- package/lib/typescript/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.d.ts +6 -2
- package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +1 -1
- package/lib/typescript/components/UNCardComponent/UNCardComponent.utils.d.ts +1 -9
- package/lib/typescript/components/UNCheckDepositComponent/UNCheckDepositComponent.d.ts +2 -2
- package/lib/typescript/flows/UNFlows.d.ts +4 -0
- package/lib/typescript/flows/card/UNCardFlows.d.ts +3 -0
- package/lib/typescript/helpers/pushProvisioningService/hooks/useCardWallet.d.ts +7 -0
- package/lib/typescript/helpers/pushProvisioningService/startProvisioning.d.ts +2 -0
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/messages/nativeMessages/bottomSheetMessage.d.ts +9 -0
- package/lib/typescript/messages/nativeMessages/cardMessage.d.ts +0 -16
- package/lib/typescript/messages/nativeMessages/index.d.ts +3 -3
- package/lib/typescript/messages/webMessages/accountMessage.d.ts +1 -1
- package/lib/typescript/messages/webMessages/achCreditMessage.d.ts +1 -1
- package/lib/typescript/messages/webMessages/bookPaymentMessage.d.ts +1 -1
- package/lib/typescript/messages/webMessages/cardMessage.d.ts +1 -1
- package/lib/typescript/messages/webMessages/checkMessage.d.ts +1 -1
- package/lib/typescript/messages/webMessages/onLoadMessage.d.ts +3 -3
- package/lib/typescript/messages/webMessages/unitMessages.d.ts +2 -1
- package/lib/typescript/{components/UNCardComponent/networking → networking}/requests/UNWalletPayloadRequest.d.ts +1 -1
- package/lib/typescript/scripts/html/bodyHtml.d.ts +1 -5
- package/lib/typescript/types/internal/bottomSheet.types.d.ts +35 -0
- package/lib/typescript/types/internal/webComponent.types.d.ts +16 -0
- package/lib/typescript/{sharedTypes → types/shared}/achCredit.types.d.ts +1 -1
- package/lib/typescript/{sharedTypes → types/shared}/activity.types.d.ts +1 -1
- package/lib/typescript/unitSdkManager/UnitSdkManager.d.ts +9 -0
- package/lib/typescript/unitSdkManager/unitUiManager/unitUiManager.d.ts +6 -0
- package/lib/typescript/webComponent/WebComponent.d.ts +2 -11
- package/lib/typescript/webComponent/html.d.ts +1 -0
- package/package.json +1 -1
- package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +3 -3
- package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +3 -3
- package/src/components/UNAccountComponent/UNAccountComponent.tsx +15 -8
- package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +2 -2
- package/src/components/UNActivityComponent/UNActivityComponent.tsx +14 -7
- package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +1 -1
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +3 -3
- package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +151 -76
- package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.utils.ts +24 -6
- package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.tsx +72 -41
- package/src/components/UNCardComponent/UNCardComponent.tsx +24 -54
- package/src/components/UNCardComponent/UNCardComponent.utils.ts +2 -49
- package/src/components/UNCheckDepositComponent/UNCheckDepositComponent.tsx +4 -4
- package/src/flows/UNFlows.ts +13 -0
- package/src/flows/card/UNCardFlows.ts +25 -0
- package/src/helpers/pushProvisioningService/hooks/useCardWallet.ts +67 -0
- package/src/helpers/pushProvisioningService/startProvisioning.ts +20 -0
- package/src/index.tsx +1 -1
- package/src/messages/nativeMessages/bottomSheetMessage.ts +15 -0
- package/src/messages/nativeMessages/cardMessage.ts +1 -24
- package/src/messages/nativeMessages/index.ts +3 -3
- package/src/messages/webMessages/accountMessage.ts +1 -1
- package/src/messages/webMessages/achCreditMessage.ts +1 -1
- package/src/messages/webMessages/bookPaymentMessage.ts +1 -1
- package/src/messages/webMessages/cardMessage.ts +1 -1
- package/src/messages/webMessages/checkMessage.ts +1 -1
- package/src/messages/webMessages/onLoadMessage.ts +3 -3
- package/src/messages/webMessages/unitMessages.ts +3 -2
- package/src/{components/UNCardComponent/networking → networking}/common/UNNetworkConstants.ts +1 -1
- package/src/{components/UNCardComponent/networking → networking}/requests/UNWalletPayloadRequest.ts +3 -1
- package/src/scripts/html/bodyHtml.ts +2 -14
- package/src/types/internal/bottomSheet.types.ts +43 -0
- package/src/types/internal/webComponent.types.ts +26 -0
- package/src/{sharedTypes → types/shared}/achCredit.types.ts +1 -1
- package/src/{sharedTypes → types/shared}/activity.types.ts +1 -1
- package/src/unitSdkManager/UnitSdkManager.ts +28 -2
- package/src/unitSdkManager/unitUiManager/unitUiManager.ts +13 -0
- package/src/webComponent/WebComponent.tsx +7 -15
- package/src/webComponent/html.ts +3 -1
- package/lib/commonjs/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +0 -1
- package/lib/commonjs/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +0 -1
- package/lib/commonjs/sharedTypes/achCredit.types.js.map +0 -1
- package/lib/commonjs/sharedTypes/activity.types.js.map +0 -1
- package/lib/module/components/UNCardComponent/networking/common/UNNetworkConstants.js.map +0 -1
- package/lib/module/components/UNCardComponent/networking/requests/UNWalletPayloadRequest.js.map +0 -1
- package/lib/module/sharedTypes/achCredit.types.js.map +0 -1
- package/lib/module/sharedTypes/activity.types.js.map +0 -1
- /package/lib/commonjs/{sharedTypes → types/shared}/account.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/account.types.js.map +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/achCredit.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/activity.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/authorization.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/authorization.types.js.map +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/bookPayment.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/bookPayment.types.js.map +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/card.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/card.types.js.map +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/checkDeposit.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/checkDeposit.types.js.map +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/index.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/index.js.map +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/onLoadResponse.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/onLoadResponse.types.js.map +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/payments.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/payments.types.js.map +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/transactions.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/transactions.types.js.map +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/types.js.map +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/wallet.types.js +0 -0
- /package/lib/commonjs/{sharedTypes → types/shared}/wallet.types.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/account.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/account.types.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/achCredit.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/activity.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/authorization.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/authorization.types.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/bookPayment.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/bookPayment.types.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/card.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/card.types.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/checkDeposit.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/checkDeposit.types.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/index.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/index.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/onLoadResponse.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/onLoadResponse.types.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/payments.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/payments.types.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/transactions.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/transactions.types.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/types.js.map +0 -0
- /package/lib/module/{sharedTypes → types/shared}/wallet.types.js +0 -0
- /package/lib/module/{sharedTypes → types/shared}/wallet.types.js.map +0 -0
- /package/lib/typescript/{components/UNCardComponent/networking → networking}/common/UNNetworkConstants.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/account.types.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/authorization.types.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/bookPayment.types.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/card.types.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/checkDeposit.types.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/index.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/onLoadResponse.types.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/payments.types.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/transactions.types.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/types.d.ts +0 -0
- /package/lib/typescript/{sharedTypes → types/shared}/wallet.types.d.ts +0 -0
- /package/src/{sharedTypes → types/shared}/account.types.ts +0 -0
- /package/src/{sharedTypes → types/shared}/authorization.types.ts +0 -0
- /package/src/{sharedTypes → types/shared}/bookPayment.types.ts +0 -0
- /package/src/{sharedTypes → types/shared}/card.types.ts +0 -0
- /package/src/{sharedTypes → types/shared}/checkDeposit.types.ts +0 -0
- /package/src/{sharedTypes → types/shared}/index.ts +0 -0
- /package/src/{sharedTypes → types/shared}/onLoadResponse.types.ts +0 -0
- /package/src/{sharedTypes → types/shared}/payments.types.ts +0 -0
- /package/src/{sharedTypes → types/shared}/transactions.types.ts +0 -0
- /package/src/{sharedTypes → types/shared}/types.ts +0 -0
- /package/src/{sharedTypes → types/shared}/wallet.types.ts +0 -0
package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js
CHANGED
|
@@ -1,62 +1,74 @@
|
|
|
1
|
-
import React, { useEffect, useRef
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import { PresentationMode } from '../../../scripts/html/bodyHtml';
|
|
5
|
-
import { WebComponent, WebComponentType } from '../../../webComponent/WebComponent';
|
|
6
|
-
import { renderingBottomSheetRequest } from '../UNBottomSheetComponent.utils';
|
|
1
|
+
import React, { useEffect, useRef } from 'react';
|
|
2
|
+
import { WebComponent } from '../../../webComponent/WebComponent';
|
|
3
|
+
import { injectHtmlFullScreenHeight, renderingBottomSheetRequest } from '../UNBottomSheetComponent.utils';
|
|
7
4
|
import { getStylesObject } from './UNAddToWalletBottomSheetItem.styles';
|
|
8
5
|
import { ActivityIndicator } from 'react-native';
|
|
9
|
-
import {
|
|
6
|
+
import { UnitMessage } from '../../../messages/webMessages/unitMessages';
|
|
10
7
|
import UnitAddToWalletButtonView from '../../../nativeComponent/UnitAddToWalletButton';
|
|
11
|
-
import { UNCardAddToWalletStatus } from '../../../
|
|
8
|
+
import { UNCardAddToWalletStatus } from '../../../types/shared/wallet.types';
|
|
9
|
+
import { BottomSheetRenderingType } from '../../../types/internal/bottomSheet.types';
|
|
10
|
+
import { PresentationMode, WebComponentType } from '../../../types/internal/webComponent.types';
|
|
11
|
+
import { useCardWallet } from '../../../helpers/pushProvisioningService/hooks/useCardWallet';
|
|
12
|
+
import { launchStartCardProvisioning } from '../../../helpers/pushProvisioningService/startProvisioning';
|
|
13
|
+
import EventBus from '../../../helpers/EventBus';
|
|
12
14
|
export const UNAddToWalletBottomSheetItem = props => {
|
|
13
15
|
const styles = getStylesObject();
|
|
14
16
|
const webRef = useRef(null);
|
|
15
17
|
const {
|
|
18
|
+
renderingType,
|
|
16
19
|
renderingRequest,
|
|
20
|
+
webComponentData,
|
|
17
21
|
cardId
|
|
18
22
|
} = props;
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const event = {
|
|
23
|
-
cardId
|
|
24
|
-
};
|
|
25
|
-
EventBus.Instance.event(CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS, event);
|
|
26
|
-
}, [cardId]);
|
|
23
|
+
const {
|
|
24
|
+
currentUNWallet
|
|
25
|
+
} = useCardWallet(cardId);
|
|
27
26
|
useEffect(() => {
|
|
28
27
|
if (!webRef.current) return;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
const currentWalletStatus = (currentUNWallet === null || currentUNWallet === void 0 ? void 0 : currentUNWallet.status) ?? UNCardAddToWalletStatus.pending;
|
|
29
|
+
if (currentWalletStatus === UNCardAddToWalletStatus.pending) return;
|
|
30
|
+
if (renderingType === BottomSheetRenderingType.Slot && renderingRequest) {
|
|
31
|
+
const isCardInWallet = currentWalletStatus === UNCardAddToWalletStatus.addedToWallet;
|
|
32
|
+
webRef.current.injectJavaScript(`window.UnitMobileSDKConfig["isCardInWallet"] = ${isCardInWallet}`);
|
|
33
33
|
renderingBottomSheetRequest(webRef.current, renderingRequest);
|
|
34
34
|
}
|
|
35
|
-
}, [webRef.current, renderingRequest,
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
38
|
-
|
|
35
|
+
}, [webRef.current, renderingRequest, currentUNWallet]);
|
|
36
|
+
const handleAddToWalletClicked = () => {
|
|
37
|
+
if (!currentUNWallet) return;
|
|
38
|
+
launchStartCardProvisioning(currentUNWallet);
|
|
39
|
+
};
|
|
40
|
+
const handleWebComponentMessage = message => {
|
|
41
|
+
if (!message || !message.type) return;
|
|
42
|
+
switch (message.type) {
|
|
43
|
+
case UnitMessage.UNIT_ON_LOAD:
|
|
44
|
+
injectHtmlFullScreenHeight(webRef.current, props.fullScreenHeight);
|
|
45
|
+
break;
|
|
46
|
+
case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:
|
|
47
|
+
EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW, {});
|
|
48
|
+
break;
|
|
49
|
+
default:
|
|
50
|
+
break;
|
|
39
51
|
}
|
|
40
52
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
cardId
|
|
49
|
-
};
|
|
50
|
-
EventBus.Instance.event(CardNativeMessage.CARD_START_PUSH_PROVISIONING, startPushProvisioningEvent);
|
|
53
|
+
const shouldShowWebComponent = () => {
|
|
54
|
+
// Show .Slot, since it need to be loaded when we inject the requestRendering
|
|
55
|
+
// Otherwise show web component only if the card is in wallet or ready to be provisioned.
|
|
56
|
+
|
|
57
|
+
const isSlot = renderingType === BottomSheetRenderingType.Slot;
|
|
58
|
+
const gotWalletStatus = currentUNWallet && (currentUNWallet.status === UNCardAddToWalletStatus.readyToProvisioning || currentUNWallet.status === UNCardAddToWalletStatus.addedToWallet);
|
|
59
|
+
return isSlot || gotWalletStatus;
|
|
51
60
|
};
|
|
52
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(WebComponent, {
|
|
61
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, shouldShowWebComponent() && /*#__PURE__*/React.createElement(WebComponent, {
|
|
53
62
|
ref: webRef,
|
|
54
|
-
type: WebComponentType.slot,
|
|
63
|
+
type: renderingType === BottomSheetRenderingType.WebComponent ? WebComponentType.cardAction : WebComponentType.slot,
|
|
55
64
|
presentationMode: PresentationMode.CoverInjectedHeight,
|
|
56
|
-
|
|
57
|
-
|
|
65
|
+
params: webComponentData === null || webComponentData === void 0 ? void 0 : webComponentData.params,
|
|
66
|
+
isScrollable: false,
|
|
67
|
+
onMessage: handleWebComponentMessage,
|
|
68
|
+
windowParams: renderingType === BottomSheetRenderingType.WebComponent ? `window.UnitMobileSDKConfig["isCardInWallet"] = ${(currentUNWallet === null || currentUNWallet === void 0 ? void 0 : currentUNWallet.status) === UNCardAddToWalletStatus.addedToWallet}` : ''
|
|
69
|
+
}), (currentUNWallet == undefined || (currentUNWallet === null || currentUNWallet === void 0 ? void 0 : currentUNWallet.status) === UNCardAddToWalletStatus.pending) && /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
58
70
|
style: styles.loader
|
|
59
|
-
}),
|
|
71
|
+
}), (currentUNWallet === null || currentUNWallet === void 0 ? void 0 : currentUNWallet.status) === UNCardAddToWalletStatus.readyToProvisioning && /*#__PURE__*/React.createElement(UnitAddToWalletButtonView, {
|
|
60
72
|
style: styles.addToWalletButton,
|
|
61
73
|
onAddToWalletClicked: handleAddToWalletClicked
|
|
62
74
|
}));
|
package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","WebComponent","injectHtmlFullScreenHeight","renderingBottomSheetRequest","getStylesObject","ActivityIndicator","UnitMessage","UnitAddToWalletButtonView","UNCardAddToWalletStatus","BottomSheetRenderingType","PresentationMode","WebComponentType","useCardWallet","launchStartCardProvisioning","EventBus","UNAddToWalletBottomSheetItem","props","styles","webRef","renderingType","renderingRequest","webComponentData","cardId","currentUNWallet","current","currentWalletStatus","status","pending","Slot","isCardInWallet","addedToWallet","injectJavaScript","handleAddToWalletClicked","handleWebComponentMessage","message","type","UNIT_ON_LOAD","fullScreenHeight","UNIT_REQUEST_CLOSE_FLOW","Instance","event","shouldShowWebComponent","isSlot","gotWalletStatus","readyToProvisioning","createElement","Fragment","ref","cardAction","slot","presentationMode","CoverInjectedHeight","params","isScrollable","onMessage","windowParams","undefined","style","loader","addToWalletButton","onAddToWalletClicked"],"sources":["UNAddToWalletBottomSheetItem.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport type WebView from 'react-native-webview';\nimport { WebComponent } from '../../../webComponent/WebComponent';\nimport { injectHtmlFullScreenHeight, renderingBottomSheetRequest } from '../UNBottomSheetComponent.utils';\nimport { getStylesObject } from './UNAddToWalletBottomSheetItem.styles';\nimport { ActivityIndicator } from 'react-native';\nimport { UnitMessage, type RequestRenderingEvent } from '../../../messages/webMessages/unitMessages';\nimport UnitAddToWalletButtonView from '../../../nativeComponent/UnitAddToWalletButton';\nimport { UNCardAddToWalletStatus } from '../../../types/shared/wallet.types';\nimport { BottomSheetRenderingType, WebComponentData } from '../../../types/internal/bottomSheet.types';\nimport { PresentationMode, WebComponentType } from '../../../types/internal/webComponent.types';\nimport { useCardWallet } from '../../../helpers/pushProvisioningService/hooks/useCardWallet';\nimport { launchStartCardProvisioning } from '../../../helpers/pushProvisioningService/startProvisioning';\nimport type { WebViewMessage } from '../../../messages/webMessages';\nimport EventBus from '../../../helpers/EventBus';\n\nexport interface UNAddToWalletBottomSheetItemProps {\n renderingType: BottomSheetRenderingType\n renderingRequest?: RequestRenderingEvent\n webComponentData?: WebComponentData\n cardId: string,\n fullScreenHeight: number\n}\n\nexport const UNAddToWalletBottomSheetItem = (props: UNAddToWalletBottomSheetItemProps) => {\n const styles = getStylesObject();\n\n const webRef = useRef<WebView>(null);\n\n const { renderingType, renderingRequest, webComponentData, cardId } = props;\n const { currentUNWallet } = useCardWallet(cardId);\n\n useEffect(() => {\n if (!webRef.current) return;\n const currentWalletStatus = currentUNWallet?.status ?? UNCardAddToWalletStatus.pending;\n if (currentWalletStatus === UNCardAddToWalletStatus.pending) return;\n\n if (renderingType === BottomSheetRenderingType.Slot && renderingRequest) {\n const isCardInWallet = currentWalletStatus === UNCardAddToWalletStatus.addedToWallet;\n webRef.current.injectJavaScript(`window.UnitMobileSDKConfig[\"isCardInWallet\"] = ${isCardInWallet}`);\n renderingBottomSheetRequest(webRef.current, renderingRequest);\n }\n\n }, [webRef.current, renderingRequest, currentUNWallet]);\n\n const handleAddToWalletClicked = () => {\n if (!currentUNWallet) return;\n launchStartCardProvisioning(currentUNWallet);\n };\n\n const handleWebComponentMessage = (message: WebViewMessage) => {\n if (!message || !message.type) return;\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n injectHtmlFullScreenHeight(webRef.current, props.fullScreenHeight);\n break;\n case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW, {});\n break;\n default:\n break;\n }\n };\n\n const shouldShowWebComponent = () => {\n // Show .Slot, since it need to be loaded when we inject the requestRendering\n // Otherwise show web component only if the card is in wallet or ready to be provisioned.\n\n const isSlot = renderingType === BottomSheetRenderingType.Slot;\n\n const gotWalletStatus = currentUNWallet &&\n (currentUNWallet.status === UNCardAddToWalletStatus.readyToProvisioning ||\n currentUNWallet.status === UNCardAddToWalletStatus.addedToWallet);\n\n return isSlot || gotWalletStatus;\n };\n\n return (\n <>\n {\n shouldShowWebComponent() &&\n <WebComponent\n ref={webRef}\n type={renderingType === BottomSheetRenderingType.WebComponent ? WebComponentType.cardAction : WebComponentType.slot}\n presentationMode={PresentationMode.CoverInjectedHeight}\n params={webComponentData?.params}\n isScrollable={false}\n onMessage={handleWebComponentMessage}\n windowParams={renderingType === BottomSheetRenderingType.WebComponent ? `window.UnitMobileSDKConfig[\"isCardInWallet\"] = ${currentUNWallet?.status === UNCardAddToWalletStatus.addedToWallet}` : ''}\n />\n }\n\n {\n (currentUNWallet == undefined || currentUNWallet?.status === UNCardAddToWalletStatus.pending) &&\n <ActivityIndicator style={styles.loader} />\n }\n\n {\n currentUNWallet?.status === UNCardAddToWalletStatus.readyToProvisioning &&\n <UnitAddToWalletButtonView style={styles.addToWalletButton} onAddToWalletClicked={handleAddToWalletClicked} />\n }\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import React, { useImperativeHandle, useRef, useState } from 'react';
|
|
1
|
+
import React, { useImperativeHandle, useRef, useState, useEffect } from 'react';
|
|
2
2
|
import { Dimensions, View } from 'react-native';
|
|
3
3
|
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
4
4
|
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
5
5
|
import EventBus from '../../helpers/EventBus';
|
|
6
|
-
import { WebComponent
|
|
6
|
+
import { WebComponent } from '../../webComponent/WebComponent';
|
|
7
7
|
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
8
|
-
import { getCardParams, getCardScript, injectRefreshEventIfNeeded,
|
|
9
|
-
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
8
|
+
import { getCardParams, getCardScript, injectRefreshEventIfNeeded, injectOpenActionsMenuScript, injectRequestCardActionScript } from './UNCardComponent.utils';
|
|
10
9
|
import { CardMessage } from '../../messages/webMessages/cardMessage';
|
|
11
|
-
import { launchGetWallets } from './UNCardComponent.utils';
|
|
12
|
-
import { CardAddToWalletErrors, CardNativeMessage } from '../../messages/nativeMessages/cardMessage';
|
|
13
10
|
import { RESPONSE_KEYS } from '../../messages/webMessages/onLoadMessage';
|
|
11
|
+
import { BottomSheetRenderingType } from '../../types/internal/bottomSheet.types';
|
|
12
|
+
import { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';
|
|
13
|
+
import { UnitSDK } from '../../unitSdkManager/UnitSdkManager';
|
|
14
|
+
import { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';
|
|
14
15
|
export const UNCardComponent = /*#__PURE__*/React.forwardRef(function UNCardComponent(props, cardRef) {
|
|
15
16
|
const [height, setHeight] = useState(0);
|
|
16
17
|
const windowWidth = Dimensions.get('window').width;
|
|
17
|
-
const walletRef = useRef(null);
|
|
18
|
-
// walletRef can be changed to a state. (After the change of the listener hook)
|
|
19
|
-
// TODO: walletState and checks it works. =)
|
|
20
|
-
|
|
21
18
|
const webRef = useRef(null);
|
|
22
19
|
useImperativeHandle(cardRef, () => ({
|
|
23
20
|
openActionsMenu() {
|
|
@@ -40,14 +37,6 @@ export const UNCardComponent = /*#__PURE__*/React.forwardRef(function UNCardComp
|
|
|
40
37
|
const requestRefresh = data => {
|
|
41
38
|
injectRefreshEventIfNeeded(webRef.current, data, props.cardId);
|
|
42
39
|
};
|
|
43
|
-
const startPushProvisioning = async data => {
|
|
44
|
-
if (data.cardId !== props.cardId) return;
|
|
45
|
-
onAddToWalletClicked();
|
|
46
|
-
};
|
|
47
|
-
const getAddToWalletStatus = data => {
|
|
48
|
-
if (data.cardId !== props.cardId) return;
|
|
49
|
-
getWallets();
|
|
50
|
-
};
|
|
51
40
|
const handleUnitOnLoad = response => {
|
|
52
41
|
if (!props.onLoad) {
|
|
53
42
|
return;
|
|
@@ -76,25 +65,21 @@ export const UNCardComponent = /*#__PURE__*/React.forwardRef(function UNCardComp
|
|
|
76
65
|
busEventKey: CardMessage.CARD_ACTIVATED,
|
|
77
66
|
action: cardActivated
|
|
78
67
|
});
|
|
79
|
-
useListenerToBus({
|
|
80
|
-
busEventKey: CardNativeMessage.CARD_START_PUSH_PROVISIONING,
|
|
81
|
-
action: startPushProvisioning
|
|
82
|
-
});
|
|
83
|
-
useListenerToBus({
|
|
84
|
-
busEventKey: CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS,
|
|
85
|
-
action: getAddToWalletStatus
|
|
86
|
-
});
|
|
87
68
|
const handleMessage = message => {
|
|
88
69
|
if (!message || !message.details) return;
|
|
89
70
|
switch (message.type) {
|
|
90
71
|
case UnitMessage.UNIT_REQUEST_RENDERING:
|
|
91
72
|
{
|
|
92
|
-
const
|
|
73
|
+
const slotData = {
|
|
93
74
|
componentName: WebComponentType.card,
|
|
94
75
|
componentResourceId: props.cardId,
|
|
95
76
|
requestRenderingEvent: message.details
|
|
96
77
|
};
|
|
97
|
-
|
|
78
|
+
const event = {
|
|
79
|
+
type: BottomSheetRenderingType.Slot,
|
|
80
|
+
data: slotData
|
|
81
|
+
};
|
|
82
|
+
EventBus.Instance.event(BottomSheetNativeMessage.START_FLOW, event);
|
|
98
83
|
break;
|
|
99
84
|
}
|
|
100
85
|
case PageMessage.PAGE_HEIGHT:
|
|
@@ -105,30 +90,14 @@ export const UNCardComponent = /*#__PURE__*/React.forwardRef(function UNCardComp
|
|
|
105
90
|
break;
|
|
106
91
|
}
|
|
107
92
|
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
status: walletResponse.status
|
|
115
|
-
};
|
|
116
|
-
EventBus.Instance.event(CardNativeMessage.CARD_UPDATE_ADD_TO_WALLET_STATUS, walletStatus);
|
|
117
|
-
} catch (error) {
|
|
118
|
-
console.error(error);
|
|
93
|
+
useEffect(() => {
|
|
94
|
+
UnitSDK.setCustomerToken(props.customerToken);
|
|
95
|
+
}, [props.customerToken]);
|
|
96
|
+
useEffect(() => {
|
|
97
|
+
if (props.pushProvisioningModule) {
|
|
98
|
+
UnitSDK.setPushProvisioningModule(props.pushProvisioningModule);
|
|
119
99
|
}
|
|
120
|
-
};
|
|
121
|
-
const onAddToWalletClicked = async () => {
|
|
122
|
-
try {
|
|
123
|
-
await launchStartCardProvisioning(props.pushProvisioningModule, walletRef.current);
|
|
124
|
-
} catch (error) {
|
|
125
|
-
if (error instanceof Error) {
|
|
126
|
-
const parsedError = JSON.parse(error.message);
|
|
127
|
-
if (parsedError.code === CardAddToWalletErrors.closedNativeWalletScreen) return;
|
|
128
|
-
}
|
|
129
|
-
console.log(error);
|
|
130
|
-
}
|
|
131
|
-
};
|
|
100
|
+
}, [props.pushProvisioningModule]);
|
|
132
101
|
return /*#__PURE__*/React.createElement(View, {
|
|
133
102
|
style: {
|
|
134
103
|
height
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useImperativeHandle","useRef","useState","Dimensions","View","PageMessage","UnitMessage","EventBus","WebComponent","WebComponentType","useListenerToBus","getCardParams","getCardScript","injectRefreshEventIfNeeded","launchStartCardProvisioning","injectOpenActionsMenuScript","injectRequestCardActionScript","PresentationMode","CardMessage","launchGetWallets","CardAddToWalletErrors","CardNativeMessage","RESPONSE_KEYS","UNCardComponent","forwardRef","props","cardRef","height","setHeight","windowWidth","get","width","walletRef","webRef","openActionsMenu","current","openAction","action","cardStatusChanged","card","onStatusChanged","cardActivated","onCardActivated","requestRefresh","data","cardId","startPushProvisioning","onAddToWalletClicked","getAddToWalletStatus","getWallets","handleUnitOnLoad","response","onLoad","errors","console","error","busEventKey","UNIT_REQUEST_REFRESH","CARD_STATUS_CHANGED","CARD_ACTIVATED","CARD_START_PUSH_PROVISIONING","CARD_GET_ADD_TO_WALLET_STATUS","handleMessage","message","details","type","UNIT_REQUEST_RENDERING","event","componentName","componentResourceId","requestRenderingEvent","Instance","PAGE_HEIGHT","UNIT_ON_LOAD","walletResponse","customerToken","pushProvisioningModule","walletStatus","status","CARD_UPDATE_ADD_TO_WALLET_STATUS","Error","parsedError","JSON","parse","code","closedNativeWalletScreen","log","createElement","style","ref","presentationMode","Default","params","theme","language","script","onMessage","isScrollable"],"sources":["UNCardComponent.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\nimport { Dimensions, NativeModule, 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 { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getCardParams, getCardScript, injectRefreshEventIfNeeded, launchStartCardProvisioning, injectOpenActionsMenuScript, injectRequestCardActionScript } from './UNCardComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { UNOnLoadResponse, UNCardData, UNError, UNCardMenuAction } from '../../sharedTypes';\nimport { CardMessage } from '../../messages/webMessages/cardMessage';\nimport { launchGetWallets } from './UNCardComponent.utils';\nimport type { NativeModules } from 'react-native';\nimport type { UNWallet } from 'src/sharedTypes/wallet.types';\nimport { CardAddToWalletErrors, UNCardAddToWalletStatusEvent, CardGetAddToWalletStatusEvent, CardNativeMessage, CardStartPushProvisioningEvent } from '../../messages/nativeMessages/cardMessage';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nexport interface UNCardComponentProps {\n // inputs\n cardId: string;\n customerToken: string;\n learnMoreUrl?: string;\n\n // ui\n theme?: string;\n language?: string;\n hideActionsMenuButton?: boolean;\n hideCardTitle?: boolean;\n hideSensitiveDataButton?: boolean;\n\n // events\n onLoad?: (response: UNOnLoadResponse<UNCardData>) => void\n onStatusChanged?: (card: UNCardData) => void;\n onCardActivated?: (card: UNCardData) => void;\n pushProvisioningModule?: typeof NativeModules;\n}\nexport interface CardRef {\n openActionsMenu: () => void;\n openAction: (action: UNCardMenuAction) => void;\n}\n\nexport const UNCardComponent = React.forwardRef<CardRef, UNCardComponentProps>(function UNCardComponent(props, cardRef) {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const walletRef = useRef<UNWallet | null>(null);\n // walletRef can be changed to a state. (After the change of the listener hook)\n // TODO: walletState and checks it works. =)\n\n const webRef = useRef<WebView>(null);\n\n useImperativeHandle(cardRef, () => ({\n openActionsMenu() {\n injectOpenActionsMenuScript(webRef.current);\n },\n openAction(action: UNCardMenuAction) {\n injectRequestCardActionScript(webRef.current, action);\n }\n }));\n\n const cardStatusChanged = (card: UNCardData) => {\n if (props.onStatusChanged) {\n props.onStatusChanged(card);\n }\n };\n\n const cardActivated = (card: UNCardData) => {\n if (props.onCardActivated) {\n props.onCardActivated(card);\n }\n };\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data, props.cardId);\n };\n\n const startPushProvisioning = async (data: CardStartPushProvisioningEvent) => {\n if (data.cardId !== props.cardId) return;\n onAddToWalletClicked();\n };\n\n const getAddToWalletStatus = (data: CardGetAddToWalletStatusEvent) => {\n if (data.cardId !== props.cardId) return;\n getWallets();\n };\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.card in response) {\n // CardOnLoadResponse\n props.onLoad(response[RESPONSE_KEYS.card] as UNOnLoadResponse<UNCardData>);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: CardMessage.CARD_STATUS_CHANGED, action: cardStatusChanged });\n useListenerToBus({ busEventKey: CardMessage.CARD_ACTIVATED, action: cardActivated });\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_START_PUSH_PROVISIONING, action: startPushProvisioning });\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS, action: getAddToWalletStatus });\n\n const handleMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.card,\n componentResourceId: props.cardId,\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 case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n }\n };\n\n const getWallets = async () => {\n\n try {\n\n const walletResponse = await launchGetWallets(props.customerToken, props.cardId, props.pushProvisioningModule as NativeModule);\n\n if (!walletResponse) return;\n\n walletRef.current = walletResponse;\n\n const walletStatus: UNCardAddToWalletStatusEvent = { status: walletResponse.status };\n EventBus.Instance.event(CardNativeMessage.CARD_UPDATE_ADD_TO_WALLET_STATUS, walletStatus);\n } catch (error) {\n console.error(error);\n }\n };\n\n const onAddToWalletClicked = async () => {\n try {\n await launchStartCardProvisioning(props.pushProvisioningModule as NativeModule, walletRef.current);\n } catch (error) {\n if (error instanceof Error) {\n const parsedError = JSON.parse(error.message);\n if (parsedError.code === CardAddToWalletErrors.closedNativeWalletScreen) return;\n }\n console.log(error);\n }\n };\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.card}\n presentationMode={PresentationMode.Default}\n params={getCardParams(props)}\n theme={props.theme}\n language={props.language}\n script={getCardScript()}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,mBAAmB,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACpE,SAASC,UAAU,EAAgBC,IAAI,QAAQ,cAAc;AAE7D,SAAsBC,WAAW,QAAQ,wCAAwC;AACjF,SAAqDC,WAAW,QAAQ,yCAAyC;AACjH,OAAOC,QAAQ,MAAM,wBAAwB;AAC7C,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,iCAAiC;AAChF,SAASC,gBAAgB,QAAQ,2BAA2B;AAE5D,SAASC,aAAa,EAAEC,aAAa,EAAEC,0BAA0B,EAAEC,2BAA2B,EAAEC,2BAA2B,EAAEC,6BAA6B,QAAQ,yBAAyB;AAC3L,SAASC,gBAAgB,QAAQ,6BAA6B;AAE9D,SAASC,WAAW,QAAQ,wCAAwC;AACpE,SAASC,gBAAgB,QAAQ,yBAAyB;AAG1D,SAASC,qBAAqB,EAA+DC,iBAAiB,QAAwC,2CAA2C;AAEjM,SAASC,aAAa,QAAiC,0CAA0C;AAyBjG,OAAO,MAAMC,eAAe,gBAAGxB,KAAK,CAACyB,UAAU,CAAgC,SAASD,eAAeA,CAACE,KAAK,EAAEC,OAAO,EAAE;EACtH,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG1B,QAAQ,CAAC,CAAC,CAAC;EACvC,MAAM2B,WAAW,GAAG1B,UAAU,CAAC2B,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK;EAElD,MAAMC,SAAS,GAAG/B,MAAM,CAAkB,IAAI,CAAC;EAC/C;EACA;;EAEA,MAAMgC,MAAM,GAAGhC,MAAM,CAAU,IAAI,CAAC;EAEpCD,mBAAmB,CAAC0B,OAAO,EAAE,OAAO;IAClCQ,eAAeA,CAAA,EAAG;MAChBnB,2BAA2B,CAACkB,MAAM,CAACE,OAAO,CAAC;IAC7C,CAAC;IACDC,UAAUA,CAACC,MAAwB,EAAE;MACnCrB,6BAA6B,CAACiB,MAAM,CAACE,OAAO,EAAEE,MAAM,CAAC;IACvD;EACF,CAAC,CAAC,CAAC;EAEH,MAAMC,iBAAiB,GAAIC,IAAgB,IAAK;IAC9C,IAAId,KAAK,CAACe,eAAe,EAAE;MACzBf,KAAK,CAACe,eAAe,CAACD,IAAI,CAAC;IAC7B;EACF,CAAC;EAED,MAAME,aAAa,GAAIF,IAAgB,IAAK;IAC1C,IAAId,KAAK,CAACiB,eAAe,EAAE;MACzBjB,KAAK,CAACiB,eAAe,CAACH,IAAI,CAAC;IAC7B;EACF,CAAC;EAED,MAAMI,cAAc,GAAIC,IAAyB,IAAK;IACpD/B,0BAA0B,CAACoB,MAAM,CAACE,OAAO,EAAES,IAAI,EAAEnB,KAAK,CAACoB,MAAM,CAAC;EAChE,CAAC;EAED,MAAMC,qBAAqB,GAAG,MAAOF,IAAoC,IAAK;IAC5E,IAAIA,IAAI,CAACC,MAAM,KAAKpB,KAAK,CAACoB,MAAM,EAAE;IAClCE,oBAAoB,EAAE;EACxB,CAAC;EAED,MAAMC,oBAAoB,GAAIJ,IAAmC,IAAK;IACpE,IAAIA,IAAI,CAACC,MAAM,KAAKpB,KAAK,CAACoB,MAAM,EAAE;IAClCI,UAAU,EAAE;EACd,CAAC;EAED,MAAMC,gBAAgB,GAAIC,QAAiC,IAAK;IAC9D,IAAI,CAAC1B,KAAK,CAAC2B,MAAM,EAAE;MACjB;IACF;IAEA,IAAI9B,aAAa,CAAC+B,MAAM,IAAIF,QAAQ,EAAE;MACpC1B,KAAK,CAAC2B,MAAM,CAACD,QAAQ,CAAY;MACjC;IACF;IAEA,IAAI7B,aAAa,CAACiB,IAAI,IAAIY,QAAQ,EAAE;MAClC;MACA1B,KAAK,CAAC2B,MAAM,CAACD,QAAQ,CAAC7B,aAAa,CAACiB,IAAI,CAAC,CAAiC;MAC1E;IACF;IAEAe,OAAO,CAACC,KAAK,CAAC,yCAAyC,CAAC;IACxD;EACF,CAAC;EAED7C,gBAAgB,CAAC;IAAE8C,WAAW,EAAElD,WAAW,CAACmD,oBAAoB;IAAEpB,MAAM,EAAEM;EAAe,CAAC,CAAC;EAC3FjC,gBAAgB,CAAC;IAAE8C,WAAW,EAAEtC,WAAW,CAACwC,mBAAmB;IAAErB,MAAM,EAAEC;EAAkB,CAAC,CAAC;EAC7F5B,gBAAgB,CAAC;IAAE8C,WAAW,EAAEtC,WAAW,CAACyC,cAAc;IAAEtB,MAAM,EAAEI;EAAc,CAAC,CAAC;EACpF/B,gBAAgB,CAAC;IAAE8C,WAAW,EAAEnC,iBAAiB,CAACuC,4BAA4B;IAAEvB,MAAM,EAAES;EAAsB,CAAC,CAAC;EAChHpC,gBAAgB,CAAC;IAAE8C,WAAW,EAAEnC,iBAAiB,CAACwC,6BAA6B;IAAExB,MAAM,EAAEW;EAAqB,CAAC,CAAC;EAEhH,MAAMc,aAAa,GAAIC,OAAuB,IAAK;IACjD,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACC,OAAO,EAAE;IAElC,QAAQD,OAAO,CAACE,IAAI;MAClB,KAAK3D,WAAW,CAAC4D,sBAAsB;QAAE;UACvC,MAAMC,KAA0B,GAAG;YACjCC,aAAa,EAAE3D,gBAAgB,CAAC8B,IAAI;YACpC8B,mBAAmB,EAAE5C,KAAK,CAACoB,MAAM;YACjCyB,qBAAqB,EAAEP,OAAO,CAACC;UACjC,CAAC;UACDzD,QAAQ,CAACgE,QAAQ,CAACJ,KAAK,CAAC7D,WAAW,CAAC4D,sBAAsB,EAAEC,KAAK,CAAC;UAClE;QACF;MACA,KAAK9D,WAAW,CAACmE,WAAW;QAC1B5C,SAAS,CAAEmC,OAAO,CAACC,OAAO,CAAiBrC,MAAM,CAAC;QAClD;MACF,KAAKrB,WAAW,CAACmE,YAAY;QAC3BvB,gBAAgB,CAACa,OAAO,CAACC,OAAO,CAA4B;QAC5D;IAAM;EAEZ,CAAC;EAED,MAAMf,UAAU,GAAG,MAAAA,CAAA,KAAY;IAE7B,IAAI;MAEF,MAAMyB,cAAc,GAAG,MAAMvD,gBAAgB,CAACM,KAAK,CAACkD,aAAa,EAAElD,KAAK,CAACoB,MAAM,EAAEpB,KAAK,CAACmD,sBAAsB,CAAiB;MAE9H,IAAI,CAACF,cAAc,EAAE;MAErB1C,SAAS,CAACG,OAAO,GAAGuC,cAAc;MAElC,MAAMG,YAA0C,GAAG;QAAEC,MAAM,EAAEJ,cAAc,CAACI;MAAO,CAAC;MACpFvE,QAAQ,CAACgE,QAAQ,CAACJ,KAAK,CAAC9C,iBAAiB,CAAC0D,gCAAgC,EAAEF,YAAY,CAAC;IAC3F,CAAC,CAAC,OAAOtB,KAAK,EAAE;MACdD,OAAO,CAACC,KAAK,CAACA,KAAK,CAAC;IACtB;EACF,CAAC;EAED,MAAMR,oBAAoB,GAAG,MAAAA,CAAA,KAAY;IACvC,IAAI;MACF,MAAMjC,2BAA2B,CAACW,KAAK,CAACmD,sBAAsB,EAAkB5C,SAAS,CAACG,OAAO,CAAC;IACpG,CAAC,CAAC,OAAOoB,KAAK,EAAE;MACd,IAAIA,KAAK,YAAYyB,KAAK,EAAE;QAC1B,MAAMC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAAC5B,KAAK,CAACQ,OAAO,CAAC;QAC7C,IAAIkB,WAAW,CAACG,IAAI,KAAKhE,qBAAqB,CAACiE,wBAAwB,EAAE;MAC3E;MACA/B,OAAO,CAACgC,GAAG,CAAC/B,KAAK,CAAC;IACpB;EACF,CAAC;EAED,oBACExD,KAAA,CAAAwF,aAAA,CAACnF,IAAI;IAACoF,KAAK,EAAE;MAAE7D;IAAO;EAAE,gBACtB5B,KAAA,CAAAwF,aAAA,CAAC/E,YAAY;IACXiF,GAAG,EAAExD,MAAO;IACZgC,IAAI,EAAExD,gBAAgB,CAAC8B,IAAK;IAC5BmD,gBAAgB,EAAEzE,gBAAgB,CAAC0E,OAAQ;IAC3CC,MAAM,EAAEjF,aAAa,CAACc,KAAK,CAAE;IAC7BoE,KAAK,EAAEpE,KAAK,CAACoE,KAAM;IACnBC,QAAQ,EAAErE,KAAK,CAACqE,QAAS;IACzBC,MAAM,EAAEnF,aAAa,EAAG;IACxBoF,SAAS,EAAEjC,OAAO,IAAID,aAAa,CAACC,OAAO,CAAE;IAC7ChC,KAAK,EAAEF,WAAY;IACnBoE,YAAY,EAAE;EAAM,EACpB,CACG;AAEX,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"names":["React","useImperativeHandle","useRef","useState","useEffect","Dimensions","View","PageMessage","UnitMessage","EventBus","WebComponent","useListenerToBus","getCardParams","getCardScript","injectRefreshEventIfNeeded","injectOpenActionsMenuScript","injectRequestCardActionScript","CardMessage","RESPONSE_KEYS","BottomSheetRenderingType","PresentationMode","WebComponentType","UnitSDK","BottomSheetNativeMessage","UNCardComponent","forwardRef","props","cardRef","height","setHeight","windowWidth","get","width","webRef","openActionsMenu","current","openAction","action","cardStatusChanged","card","onStatusChanged","cardActivated","onCardActivated","requestRefresh","data","cardId","handleUnitOnLoad","response","onLoad","errors","console","error","busEventKey","UNIT_REQUEST_REFRESH","CARD_STATUS_CHANGED","CARD_ACTIVATED","handleMessage","message","details","type","UNIT_REQUEST_RENDERING","slotData","componentName","componentResourceId","requestRenderingEvent","event","Slot","Instance","START_FLOW","PAGE_HEIGHT","UNIT_ON_LOAD","setCustomerToken","customerToken","pushProvisioningModule","setPushProvisioningModule","createElement","style","ref","presentationMode","Default","params","theme","language","script","onMessage","isScrollable"],"sources":["UNCardComponent.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useEffect } 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 } from '../../webComponent/WebComponent';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getCardParams, getCardScript, injectRefreshEventIfNeeded, injectOpenActionsMenuScript, injectRequestCardActionScript } from './UNCardComponent.utils';\nimport type { UNOnLoadResponse, UNCardData, UNError, UNCardMenuAction } from '../../types/shared';\nimport { CardMessage } from '../../messages/webMessages/cardMessage';\nimport type { NativeModules } from 'react-native';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport { BottomSheetRenderingType, SlotRendering, type BottomSheetSlotData } from '../../types/internal/bottomSheet.types';\nimport { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';\nimport { UnitSDK } from '../../unitSdkManager/UnitSdkManager';\nimport { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';\nexport interface UNCardComponentProps {\n // inputs\n cardId: string;\n customerToken: string;\n learnMoreUrl?: string;\n\n // ui\n theme?: string;\n language?: string;\n hideActionsMenuButton?: boolean;\n hideCardTitle?: boolean;\n hideSensitiveDataButton?: boolean;\n\n // events\n onLoad?: (response: UNOnLoadResponse<UNCardData>) => void\n onStatusChanged?: (card: UNCardData) => void;\n onCardActivated?: (card: UNCardData) => void;\n pushProvisioningModule?: typeof NativeModules;\n}\nexport interface CardRef {\n openActionsMenu: () => void;\n openAction: (action: UNCardMenuAction) => void;\n}\n\nexport const UNCardComponent = React.forwardRef<CardRef, UNCardComponentProps>(function UNCardComponent(props, cardRef) {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const webRef = useRef<WebView>(null);\n\n useImperativeHandle(cardRef, () => ({\n openActionsMenu() {\n injectOpenActionsMenuScript(webRef.current);\n },\n openAction(action: UNCardMenuAction) {\n injectRequestCardActionScript(webRef.current, action);\n }\n }));\n\n const cardStatusChanged = (card: UNCardData) => {\n if (props.onStatusChanged) {\n props.onStatusChanged(card);\n }\n };\n\n const cardActivated = (card: UNCardData) => {\n if (props.onCardActivated) {\n props.onCardActivated(card);\n }\n };\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data, props.cardId);\n };\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.card in response) {\n // CardOnLoadResponse\n props.onLoad(response[RESPONSE_KEYS.card] as UNOnLoadResponse<UNCardData>);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: CardMessage.CARD_STATUS_CHANGED, action: cardStatusChanged });\n useListenerToBus({ busEventKey: CardMessage.CARD_ACTIVATED, action: cardActivated });\n\n const handleMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const slotData: BottomSheetSlotData = {\n componentName: WebComponentType.card,\n componentResourceId: props.cardId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n\n const event = {\n type: BottomSheetRenderingType.Slot,\n data: slotData\n } as SlotRendering;\n\n EventBus.Instance.event(BottomSheetNativeMessage.START_FLOW, event);\n break;\n }\n case PageMessage.PAGE_HEIGHT:\n setHeight((message.details as HeightEvent).height);\n break;\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n }\n };\n\n useEffect(() => {\n UnitSDK.setCustomerToken(props.customerToken);\n }, [props.customerToken]);\n\n useEffect(() => {\n if (props.pushProvisioningModule) {\n UnitSDK.setPushProvisioningModule(props.pushProvisioningModule);\n }\n }, [props.pushProvisioningModule]);\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.card}\n presentationMode={PresentationMode.Default}\n params={getCardParams(props)}\n theme={props.theme}\n language={props.language}\n script={getCardScript()}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n});\n"],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';
|
|
2
|
-
import { WebComponentType } from '../../webComponent
|
|
3
|
-
import { getMobileWalletPayload } from './networking/requests/UNWalletPayloadRequest';
|
|
4
|
-
import { UNWalletCode, UNWalletName } from '../../../src/sharedTypes/wallet.types';
|
|
5
|
-
import { UnitSDK } from '../../unitSdkManager/UnitSdkManager';
|
|
2
|
+
import { WebComponentType } from '../../types/internal/webComponent.types';
|
|
6
3
|
export const getCardParams = props => {
|
|
7
4
|
return `
|
|
8
5
|
card-id="${props.cardId}"
|
|
@@ -28,48 +25,4 @@ export const injectRefreshEventIfNeeded = (currentWeb, requestRefreshEvent, card
|
|
|
28
25
|
currentWeb === null || currentWeb === void 0 ? void 0 : currentWeb.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);
|
|
29
26
|
}
|
|
30
27
|
};
|
|
31
|
-
export const launchGetWallets = async (customerToken, cardId, pushProvisioningModule) => {
|
|
32
|
-
try {
|
|
33
|
-
const env = UnitSDK.getEnv();
|
|
34
|
-
if (!env) return null;
|
|
35
|
-
const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);
|
|
36
|
-
if (!encryptedPayload) return null;
|
|
37
|
-
const walletsResponse = await pushProvisioningModule.launchGetWallets(JSON.stringify({
|
|
38
|
-
encPayload: encryptedPayload
|
|
39
|
-
}));
|
|
40
|
-
const parsedWalletsResponse = JSON.parse(walletsResponse);
|
|
41
|
-
const wallets = parsedWalletsResponse.wallets;
|
|
42
|
-
if (!wallets) return null;
|
|
43
|
-
if (wallets[0].code === UNWalletCode.Apple) {
|
|
44
|
-
return {
|
|
45
|
-
name: UNWalletName.Apple,
|
|
46
|
-
code: UNWalletCode.Apple,
|
|
47
|
-
status: wallets[0].status
|
|
48
|
-
};
|
|
49
|
-
} else {
|
|
50
|
-
const googleWallet = wallets.filter(wallet => {
|
|
51
|
-
return wallet.name === UNWalletName.Google;
|
|
52
|
-
});
|
|
53
|
-
if (!googleWallet) return;
|
|
54
|
-
return {
|
|
55
|
-
name: UNWalletName.Google,
|
|
56
|
-
code: UNWalletCode.Google,
|
|
57
|
-
status: googleWallet[0].status
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
} catch (error) {
|
|
61
|
-
return Promise.reject(error);
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
export const launchStartCardProvisioning = async (pushProvisioningModule, wallet) => {
|
|
65
|
-
try {
|
|
66
|
-
const response = await pushProvisioningModule.launchStartCardProvisioning(JSON.stringify({
|
|
67
|
-
walletCode: wallet === null || wallet === void 0 ? void 0 : wallet.code,
|
|
68
|
-
walletName: wallet === null || wallet === void 0 ? void 0 : wallet.name
|
|
69
|
-
}));
|
|
70
|
-
return response;
|
|
71
|
-
} catch (error) {
|
|
72
|
-
return Promise.reject(error);
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
28
|
//# sourceMappingURL=UNCardComponent.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DISPATCH_REQUEST_REFRESH","WebComponentType","
|
|
1
|
+
{"version":3,"names":["DISPATCH_REQUEST_REFRESH","WebComponentType","getCardParams","props","cardId","customerToken","pushProvisioningModule","hideActionsMenuButton","hideCardTitle","hideSensitiveDataButton","learnMoreUrl","getCardScript","injectOpenActionsMenuScript","currentWeb","injectJavaScript","card","injectRequestCardActionScript","action","injectRefreshEventIfNeeded","requestRefreshEvent","dependencies","includes","valueOf","resourceId","JSON","stringify"],"sources":["UNCardComponent.utils.ts"],"sourcesContent":["import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type WebView from 'react-native-webview';\nimport type { UNCardComponentProps } from './UNCardComponent';\nimport type { RequestRefreshEvent } from '../../messages/webMessages/unitMessages';\nimport type { UNCardMenuAction } from '../../types/shared';\nimport { WebComponentType } from '../../types/internal/webComponent.types';\n\nexport const getCardParams = (props: UNCardComponentProps) => {\n return `\n card-id=\"${props.cardId}\"\n customer-token=\"${props.customerToken}\"\n enable-mobile-wallet=\"${!!props.pushProvisioningModule}\"\n hide-actions-menu-button=\"${props.hideActionsMenuButton || false}\"\n hide-card-title=\"${props.hideCardTitle || false}\"\n hide-sensitive-data-button=\"${props.hideSensitiveDataButton || false}\"\n learn-more-url=\"${props.learnMoreUrl || ''}\"\n `;\n};\n\nexport const getCardScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectOpenActionsMenuScript = (currentWeb: WebView | null) => {\n currentWeb?.injectJavaScript(`dispatchOpenActionsMenu('${WebComponentType.card}')`);\n};\n\nexport const injectRequestCardActionScript = (currentWeb: WebView | null, action: UNCardMenuAction) => {\n currentWeb?.injectJavaScript(`dispatchRequestCardAction('${action}')`);\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null, cardId: string) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.card.valueOf()) && requestRefreshEvent.resourceId == cardId) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,iCAAiC;AAK1E,SAASC,gBAAgB,QAAQ,yCAAyC;AAE1E,OAAO,MAAMC,aAAa,GAAIC,KAA2B,IAAK;EAC5D,OAAQ;AACV,eAAeA,KAAK,CAACC,MAAO;AAC5B,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,4BAA4B,CAAC,CAACF,KAAK,CAACG,sBAAuB;AAC3D,gCAAgCH,KAAK,CAACI,qBAAqB,IAAI,KAAM;AACrE,uBAAuBJ,KAAK,CAACK,aAAa,IAAI,KAAM;AACpD,kCAAkCL,KAAK,CAACM,uBAAuB,IAAI,KAAM;AACzE,sBAAsBN,KAAK,CAACO,YAAY,IAAI,EAAG;AAC/C,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,OAAOX,wBAAwB;AACjC,CAAC;AAED,OAAO,MAAMY,2BAA2B,GAAIC,UAA0B,IAAK;EACzEA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,4BAA2Bb,gBAAgB,CAACc,IAAK,IAAG,CAAC;AACrF,CAAC;AAED,OAAO,MAAMC,6BAA6B,GAAGA,CAACH,UAA0B,EAAEI,MAAwB,KAAK;EACrGJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,8BAA6BG,MAAO,IAAG,CAAC;AACxE,CAAC;AAED,OAAO,MAAMC,0BAA0B,GAAGA,CAACL,UAA0B,EAAEM,mBAA+C,EAAEf,MAAc,KAAK;EACzI,IAAIe,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAACpB,gBAAgB,CAACc,IAAI,CAACO,OAAO,EAAE,CAAC,IAAIH,mBAAmB,CAACI,UAAU,IAAInB,MAAM,EAAE;IACjJS,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,yBAAwBU,IAAI,CAACC,SAAS,CAACN,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { View, NativeModules, Platform } from 'react-native';
|
|
3
|
-
import { WebComponent
|
|
4
|
-
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
3
|
+
import { WebComponent } from '../../webComponent/WebComponent';
|
|
5
4
|
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
6
5
|
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
7
6
|
import { getCheckDepositParams, getCheckDepositScript } from './UNCheckDepositComponent.utils';
|
|
8
7
|
import { CheckMessage } from '../../messages/webMessages/checkMessage';
|
|
9
8
|
import { RESPONSE_KEYS } from '../../messages/webMessages/onLoadMessage';
|
|
9
|
+
import { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';
|
|
10
10
|
const {
|
|
11
11
|
Camera
|
|
12
12
|
} = NativeModules;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","View","NativeModules","Platform","WebComponent","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","View","NativeModules","Platform","WebComponent","PageMessage","UnitMessage","getCheckDepositParams","getCheckDepositScript","CheckMessage","RESPONSE_KEYS","PresentationMode","WebComponentType","Camera","UNCheckDepositComponent","props","height","setHeight","presentationMode","setPresentationMode","Inherit","requestCameraAccess","requestAccess","error","console","OS","handleUnitOnLoad","response","onLoad","errors","account","handleWebViewMessage","message","details","type","CHECK_DEPOSIT_CREATED","onDepositCreated","CHECK_DEPOSIT_RESTART_REQUEST","onRestartRequest","UNIT_ON_LOAD","PAGE_HEIGHT","currentHeight","Default","renderBookPaymentWebView","createElement","checkDeposit","params","script","onMessage","theme","language","isScrollable","style"],"sources":["UNCheckDepositComponent.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { View, NativeModules, Platform } from 'react-native';\nimport { WebComponent } from '../../webComponent/WebComponent';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { getCheckDepositParams, getCheckDepositScript } from './UNCheckDepositComponent.utils';\nimport { CheckMessage } from '../../messages/webMessages/checkMessage';\nimport type { UNCheckDepositData } from '../../types/shared/checkDeposit.types';\nimport type { UNAccountData, UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../types/shared';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';\n\nconst { Camera } = NativeModules;\n\nexport interface UNCheckDepositComponentProps {\n accountId: string;\n fee: number;\n customerToken: string;\n theme?: string;\n language?: string;\n onLoad?: (response: UNOnLoadResponse<UNAccountData>) => void;\n onDepositCreated?: (checkData: UNCheckDepositData) => void\n onRestartRequest?: (checkData: UNCheckDepositData) => void\n}\n\nexport const UNCheckDepositComponent = (props: UNCheckDepositComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n useEffect(() => {\n const requestCameraAccess = async () => {\n try {\n await Camera.requestAccess();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } catch (error: any) {\n console.error(error);\n }\n };\n\n if (Platform.OS == 'ios') {\n requestCameraAccess();\n }\n }, []);\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response) {\n // AccountOnLoadResponse;\n props.onLoad(response[RESPONSE_KEYS.account] as UNOnLoadResponseData<UNAccountData>);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case CheckMessage.CHECK_DEPOSIT_CREATED:\n props.onDepositCreated && props.onDepositCreated(message.details as UNCheckDepositData);\n break;\n case CheckMessage.CHECK_DEPOSIT_RESTART_REQUEST:\n props.onRestartRequest && props.onRestartRequest(message.details as UNCheckDepositData);\n break;\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\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.checkDeposit}\n presentationMode={presentationMode}\n params={getCheckDepositParams(props)}\n script={getCheckDepositScript()}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n theme={props.theme}\n language={props.language}\n isScrollable={true}\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":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { UNCardFlows } from './card/UNCardFlows';
|
|
2
|
+
import { UnitSDK } from '../unitSdkManager/UnitSdkManager';
|
|
3
|
+
export class UNFlows {
|
|
4
|
+
constructor() {
|
|
5
|
+
console.log('new Flows instance created');
|
|
6
|
+
}
|
|
7
|
+
async startPushProvisioning(cardId, customerToken) {
|
|
8
|
+
UnitSDK.setCustomerToken(customerToken);
|
|
9
|
+
UNCardFlows.startPushProvisioning(cardId, customerToken);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=UNFlows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["UNCardFlows","UnitSDK","UNFlows","constructor","console","log","startPushProvisioning","cardId","customerToken","setCustomerToken"],"sources":["UNFlows.ts"],"sourcesContent":["import { UNCardFlows } from './card/UNCardFlows';\nimport { UnitSDK } from '../unitSdkManager/UnitSdkManager';\n\nexport class UNFlows {\n constructor() {\n console.log('new Flows instance created');\n }\n\n public async startPushProvisioning(cardId: string, customerToken: string) {\n UnitSDK.setCustomerToken(customerToken);\n UNCardFlows.startPushProvisioning(cardId, customerToken);\n }\n}\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,oBAAoB;AAChD,SAASC,OAAO,QAAQ,kCAAkC;AAE1D,OAAO,MAAMC,OAAO,CAAC;EACnBC,WAAWA,CAAA,EAAG;IACZC,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;EAC3C;EAEA,MAAaC,qBAAqBA,CAACC,MAAc,EAAEC,aAAqB,EAAE;IACxEP,OAAO,CAACQ,gBAAgB,CAACD,aAAa,CAAC;IACvCR,WAAW,CAACM,qBAAqB,CAACC,MAAM,EAAEC,aAAa,CAAC;EAC1D;AACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
+
import EventBus from '../../helpers/EventBus';
|
|
5
|
+
import { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';
|
|
6
|
+
import { BottomSheetRenderingType } from '../../types/internal/bottomSheet.types';
|
|
7
|
+
import { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';
|
|
8
|
+
export class UNCardFlows {}
|
|
9
|
+
_defineProperty(UNCardFlows, "startPushProvisioning", async (cardId, customerToken) => {
|
|
10
|
+
try {
|
|
11
|
+
const addToWalletComponentData = {
|
|
12
|
+
type: WebComponentType.cardAction,
|
|
13
|
+
presentationMode: PresentationMode.CoverInjectedHeight,
|
|
14
|
+
params: `card-id=${cardId} customer-token=${customerToken} action=AddToWallet`
|
|
15
|
+
};
|
|
16
|
+
const event = {
|
|
17
|
+
type: BottomSheetRenderingType.WebComponent,
|
|
18
|
+
data: addToWalletComponentData
|
|
19
|
+
};
|
|
20
|
+
EventBus.Instance.event(BottomSheetNativeMessage.START_FLOW, event);
|
|
21
|
+
} catch (error) {
|
|
22
|
+
console.error(error);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=UNCardFlows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EventBus","PresentationMode","WebComponentType","BottomSheetRenderingType","BottomSheetNativeMessage","UNCardFlows","_defineProperty","cardId","customerToken","addToWalletComponentData","type","cardAction","presentationMode","CoverInjectedHeight","params","event","WebComponent","data","Instance","START_FLOW","error","console"],"sources":["UNCardFlows.ts"],"sourcesContent":["import EventBus from '../../helpers/EventBus';\nimport { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';\nimport { BottomSheetRenderingType, type WebComponentData, type WebComponentRendering } from '../../types/internal/bottomSheet.types';\nimport { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';\n\nexport class UNCardFlows {\n public static startPushProvisioning = async (cardId: string, customerToken: string) => {\n try {\n const addToWalletComponentData: WebComponentData = {\n type: WebComponentType.cardAction,\n presentationMode: PresentationMode.CoverInjectedHeight,\n params: `card-id=${cardId} customer-token=${customerToken} action=AddToWallet`,\n };\n\n const event: WebComponentRendering = {\n type: BottomSheetRenderingType.WebComponent,\n data: addToWalletComponentData,\n };\n\n EventBus.Instance.event(BottomSheetNativeMessage.START_FLOW, event);\n } catch (error) {\n console.error(error);\n }\n };\n}\n"],"mappings":";;;AAAA,OAAOA,QAAQ,MAAM,wBAAwB;AAC7C,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,yCAAyC;AAC5F,SAASC,wBAAwB,QAA2D,wCAAwC;AACpI,SAASC,wBAAwB,QAAQ,kDAAkD;AAE3F,OAAO,MAAMC,WAAW,CAAC;AAmBxBC,eAAA,CAnBYD,WAAW,2BACgB,OAAOE,MAAc,EAAEC,aAAqB,KAAK;EACrF,IAAI;IACF,MAAMC,wBAA0C,GAAG;MACjDC,IAAI,EAAER,gBAAgB,CAACS,UAAU;MACjCC,gBAAgB,EAAEX,gBAAgB,CAACY,mBAAmB;MACtDC,MAAM,EAAG,WAAUP,MAAO,mBAAkBC,aAAc;IAC5D,CAAC;IAED,MAAMO,KAA4B,GAAG;MACnCL,IAAI,EAAEP,wBAAwB,CAACa,YAAY;MAC3CC,IAAI,EAAER;IACR,CAAC;IAEDT,QAAQ,CAACkB,QAAQ,CAACH,KAAK,CAACX,wBAAwB,CAACe,UAAU,EAAEJ,KAAK,CAAC;EACrE,CAAC,CAAC,OAAOK,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACtB;AACF,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { UNWalletCode, UNWalletName } from '../../../types/shared/wallet.types';
|
|
3
|
+
import { UnitSDK } from '../../../unitSdkManager/UnitSdkManager';
|
|
4
|
+
import { getMobileWalletPayload } from '../../../networking/requests/UNWalletPayloadRequest';
|
|
5
|
+
export const useCardWallet = cardId => {
|
|
6
|
+
const [currentUNWallet, setCurrentUNWallet] = useState();
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
const getEncryptedPayload = async () => {
|
|
9
|
+
const env = UnitSDK.getEnv();
|
|
10
|
+
const customerToken = UnitSDK.getCustomerToken();
|
|
11
|
+
if (!env || !customerToken) return;
|
|
12
|
+
const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);
|
|
13
|
+
return encryptedPayload;
|
|
14
|
+
};
|
|
15
|
+
const getCardWalletData = async () => {
|
|
16
|
+
const currentProvisioningModule = UnitSDK.getPushProvisionModule();
|
|
17
|
+
if (!currentProvisioningModule) return;
|
|
18
|
+
try {
|
|
19
|
+
const encryptedPayload = await getEncryptedPayload();
|
|
20
|
+
const walletsResponse = await currentProvisioningModule.launchGetWallets(JSON.stringify({
|
|
21
|
+
encPayload: encryptedPayload
|
|
22
|
+
}));
|
|
23
|
+
const unWallet = parseWalletsResponse(walletsResponse);
|
|
24
|
+
if (!unWallet) return;
|
|
25
|
+
setCurrentUNWallet(unWallet);
|
|
26
|
+
return;
|
|
27
|
+
} catch (error) {
|
|
28
|
+
return Promise.reject(error);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
getCardWalletData();
|
|
32
|
+
}, [cardId]);
|
|
33
|
+
return {
|
|
34
|
+
currentUNWallet
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
const parseWalletsResponse = walletsResponse => {
|
|
38
|
+
try {
|
|
39
|
+
const parsedWalletsResponse = JSON.parse(walletsResponse);
|
|
40
|
+
const wallets = parsedWalletsResponse.wallets;
|
|
41
|
+
if (!wallets) return null;
|
|
42
|
+
if (wallets[0].code === UNWalletCode.Apple) {
|
|
43
|
+
return {
|
|
44
|
+
name: UNWalletName.Apple,
|
|
45
|
+
code: UNWalletCode.Apple,
|
|
46
|
+
status: wallets[0].status
|
|
47
|
+
};
|
|
48
|
+
} else {
|
|
49
|
+
const googleWallet = wallets.filter(wallet => {
|
|
50
|
+
return wallet.name === UNWalletName.Google;
|
|
51
|
+
});
|
|
52
|
+
if (!googleWallet) return null;
|
|
53
|
+
return {
|
|
54
|
+
name: UNWalletName.Google,
|
|
55
|
+
code: UNWalletCode.Google,
|
|
56
|
+
status: googleWallet[0].status
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
} catch (error) {
|
|
60
|
+
throw new Error('Error parsing wallet response');
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=useCardWallet.js.map
|