react-native-unit-components 1.5.0 → 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/ios/UNAppInfo/UNAppInfo.swift +5 -1
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +50 -8
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +18 -11
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +9 -11
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +2 -23
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.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 +5 -4
- 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 +4 -3
- 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/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +1 -0
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.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 +5 -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/components/utils/nativeModulesInfo.js +20 -0
- package/lib/commonjs/components/utils/nativeModulesInfo.js.map +1 -0
- 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/scripts/html/bodyScript.js +13 -2
- package/lib/commonjs/scripts/html/bodyScript.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 +6 -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 +49 -7
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +16 -10
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +5 -7
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +1 -21
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.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 +3 -2
- 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 +3 -2
- 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/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +1 -0
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.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 +2 -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/components/utils/nativeModulesInfo.js +13 -0
- package/lib/module/components/utils/nativeModulesInfo.js.map +1 -0
- 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/scripts/html/bodyScript.js +13 -2
- package/lib/module/scripts/html/bodyScript.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 +5 -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 +2 -1
- package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.utils.d.ts +4 -1
- package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.d.ts +1 -1
- package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.utils.d.ts +0 -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 +3 -3
- package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +2 -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 +2 -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/components/utils/nativeModulesInfo.d.ts +1 -0
- 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/scripts/html/bodyScript.d.ts +1 -0
- 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 +47 -8
- package/src/components/UNACHCreditComponent/UNACHCreditComponent.utils.ts +14 -11
- package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +7 -11
- package/src/components/UNACHDebitComponent/UNACHDebitComponent.utils.ts +1 -20
- package/src/components/UNAccountComponent/UNAccountComponent.tsx +15 -8
- package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +4 -3
- package/src/components/UNActivityComponent/UNActivityComponent.tsx +15 -8
- package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +4 -2
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +9 -3
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +1 -0
- 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 +25 -54
- package/src/components/UNCardComponent/UNCardComponent.utils.ts +3 -49
- package/src/components/UNCheckDepositComponent/UNCheckDepositComponent.tsx +4 -4
- package/src/components/utils/nativeModulesInfo.ts +11 -0
- 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/scripts/html/bodyScript.ts +13 -3
- 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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import React, { useEffect, useRef, useState } from 'react';
|
|
3
|
-
import { WebComponent
|
|
3
|
+
import { WebComponent } from '../../webComponent/WebComponent';
|
|
4
4
|
import { Dimensions, Linking, View } from 'react-native';
|
|
5
5
|
import BottomSheet from '../../helpers/BottomSheet/BottomSheet';
|
|
6
6
|
import EventBus from '../../helpers/EventBus';
|
|
@@ -8,15 +8,18 @@ import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
|
8
8
|
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
9
9
|
import { CardMessage } from '../../messages/webMessages/cardMessage';
|
|
10
10
|
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
11
|
-
import { getBottomSheetScript,
|
|
11
|
+
import { extractCardIdFromComponentParams, getBottomSheetScript, injectHtmlFullScreenHeight, isAddToWalletByComponentParams, isAddToWalletFromRequestRendering, renderingBottomSheetRequest, resetHtml } from './UNBottomSheetComponent.utils';
|
|
12
12
|
import { getStylesObject } from './UNBottomSheetComponent.styles';
|
|
13
|
-
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
14
13
|
import { useAppStateListener } from '../../hooks/useAppStateListener';
|
|
15
14
|
import { UNAddToWalletBottomSheetItem } from './components/UNAddToWalletBottomSheetItem';
|
|
16
15
|
import { getAccountActionType } from '../UNAccountComponent/UNAccountComponent.utils';
|
|
17
16
|
import { AccountAction } from '../UNAccountComponent/UNAccountComponent';
|
|
18
17
|
import { AccountMessage } from '../../messages/webMessages/accountMessage';
|
|
19
18
|
import { ActivityMessage } from '../../messages/webMessages/activityMessage';
|
|
19
|
+
import { BOTTOM_SHEET_MAX_PERCENTAGE_SIZE } from './UNBottomSheetComponent.constants';
|
|
20
|
+
import { BottomSheetRenderingType } from '../../types/internal/bottomSheet.types';
|
|
21
|
+
import { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';
|
|
22
|
+
import { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';
|
|
20
23
|
export let ScrollState;
|
|
21
24
|
(function (ScrollState) {
|
|
22
25
|
ScrollState["onTop"] = "onTop";
|
|
@@ -24,115 +27,179 @@ export let ScrollState;
|
|
|
24
27
|
ScrollState["onlyWebView"] = "webViewScroll";
|
|
25
28
|
ScrollState["onlyBottomSheet"] = "onlyBottomSheet";
|
|
26
29
|
})(ScrollState || (ScrollState = {}));
|
|
27
|
-
var CustomDialog;
|
|
28
|
-
(function (CustomDialog) {
|
|
29
|
-
CustomDialog[CustomDialog["addToWallet"] = 0] = "addToWallet";
|
|
30
|
-
})(CustomDialog || (CustomDialog = {}));
|
|
31
30
|
export const UNBottomSheetComponent = () => {
|
|
32
31
|
const [isBottomSheetActive, setIsBottomSheetActive] = useState(false);
|
|
33
32
|
const [height, setHeight] = useState(0);
|
|
33
|
+
const fullScreenHeight = Dimensions.get('window').height * BOTTOM_SHEET_MAX_PERCENTAGE_SIZE;
|
|
34
|
+
const [renderingType, setRenderingType] = useState(BottomSheetRenderingType.Slot);
|
|
34
35
|
const [bottomSheetSlotData, setBottomSheetSlotData] = useState();
|
|
35
|
-
const [
|
|
36
|
+
const [webComponentData, setWebComponentData] = useState();
|
|
37
|
+
const [nativeComponentData, setNativeComponentData] = useState();
|
|
38
|
+
const [isAddToWallet, setIsAddToWallet] = useState(false);
|
|
36
39
|
const [scrollState, setScrollState] = useState(ScrollState.onTop);
|
|
37
|
-
const [
|
|
40
|
+
const [shouldShowComponent, setShouldShowComponent] = useState(false);
|
|
38
41
|
const [newHeightMessage, setNewHeightMessage] = useState(null);
|
|
39
|
-
const [customDialog, setCustomDialog] = useState(null);
|
|
40
42
|
const isAppActive = useAppStateListener();
|
|
41
43
|
const styles = getStylesObject();
|
|
42
44
|
const webRef = useRef(null);
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
+
const startFlow = rendering => {
|
|
46
|
+
setRenderingType(rendering.type);
|
|
45
47
|
setIsBottomSheetActive(true);
|
|
46
|
-
|
|
48
|
+
setShouldShowComponent(true);
|
|
49
|
+
switch (rendering.type) {
|
|
50
|
+
case BottomSheetRenderingType.Slot:
|
|
51
|
+
setBottomSheetSlotData(rendering.data);
|
|
52
|
+
setIsAddToWallet(isAddToWalletFromRequestRendering(rendering.data));
|
|
53
|
+
setWebComponentData(undefined);
|
|
54
|
+
break;
|
|
55
|
+
case BottomSheetRenderingType.WebComponent:
|
|
56
|
+
setIsAddToWallet(isAddToWalletByComponentParams(rendering.data));
|
|
57
|
+
isAddToWallet && setHeight(fullScreenHeight);
|
|
58
|
+
setBottomSheetSlotData(undefined);
|
|
59
|
+
setWebComponentData(rendering.data);
|
|
60
|
+
break;
|
|
61
|
+
case BottomSheetRenderingType.NativeComponent:
|
|
62
|
+
setNativeComponentData(rendering.data);
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
47
65
|
};
|
|
48
66
|
const handleCloseFlow = () => {
|
|
49
67
|
setIsBottomSheetActive(false);
|
|
50
68
|
};
|
|
51
69
|
useEffect(() => {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
70
|
+
switch (renderingType) {
|
|
71
|
+
case BottomSheetRenderingType.Slot:
|
|
72
|
+
if (webRef.current && bottomSheetSlotData !== null && bottomSheetSlotData !== void 0 && bottomSheetSlotData.requestRenderingEvent) {
|
|
73
|
+
renderingBottomSheetRequest(webRef.current, bottomSheetSlotData.requestRenderingEvent);
|
|
74
|
+
}
|
|
75
|
+
break;
|
|
76
|
+
case BottomSheetRenderingType.WebComponent:
|
|
77
|
+
if (isAddToWallet) {
|
|
78
|
+
var _webRef$current;
|
|
79
|
+
(_webRef$current = webRef.current) === null || _webRef$current === void 0 ? void 0 : _webRef$current.injectJavaScript('document.activeElement && document.activeElement.blur();');
|
|
80
|
+
setHeight(fullScreenHeight);
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
case BottomSheetRenderingType.NativeComponent:
|
|
84
|
+
break;
|
|
58
85
|
}
|
|
59
|
-
}, [webRef
|
|
86
|
+
}, [webRef, webComponentData, bottomSheetSlotData, nativeComponentData]);
|
|
60
87
|
useEffect(() => {
|
|
61
88
|
if (!isBottomSheetActive) {
|
|
62
89
|
webRef.current && resetHtml(webRef.current);
|
|
63
90
|
setHeight(0);
|
|
64
|
-
|
|
91
|
+
setShouldShowComponent(false);
|
|
92
|
+
setWebComponentData(undefined);
|
|
93
|
+
setBottomSheetSlotData(undefined);
|
|
94
|
+
setRenderingType(BottomSheetRenderingType.Slot);
|
|
65
95
|
setScrollState(ScrollState.onTop);
|
|
66
|
-
|
|
96
|
+
setIsAddToWallet(false);
|
|
67
97
|
}
|
|
68
98
|
}, [isBottomSheetActive]);
|
|
69
99
|
useEffect(() => {
|
|
70
|
-
if (
|
|
71
|
-
|
|
100
|
+
if (shouldShowComponent) {
|
|
101
|
+
defineScrollState();
|
|
72
102
|
setNewHeight(newHeightMessage);
|
|
73
103
|
}
|
|
74
|
-
}, [
|
|
104
|
+
}, [shouldShowComponent, newHeightMessage, isAddToWallet]);
|
|
75
105
|
useListenerToBus({
|
|
76
|
-
busEventKey:
|
|
77
|
-
action:
|
|
106
|
+
busEventKey: BottomSheetNativeMessage.START_FLOW,
|
|
107
|
+
action: startFlow
|
|
78
108
|
});
|
|
79
109
|
useListenerToBus({
|
|
80
110
|
busEventKey: UnitMessage.UNIT_REQUEST_CLOSE_FLOW,
|
|
81
111
|
action: handleCloseFlow
|
|
82
112
|
});
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
case WebComponentType.card:
|
|
93
|
-
{
|
|
94
|
-
if (customDialog === CustomDialog.addToWallet) {
|
|
95
|
-
setScrollState(ScrollState.unScrollable);
|
|
96
|
-
} else {
|
|
97
|
-
setScrollState(ScrollState.onTop);
|
|
113
|
+
const defineScrollState = () => {
|
|
114
|
+
const scrollStateForSlot = () => {
|
|
115
|
+
if (!(bottomSheetSlotData !== null && bottomSheetSlotData !== void 0 && bottomSheetSlotData.requestRenderingEvent)) return;
|
|
116
|
+
switch (bottomSheetSlotData === null || bottomSheetSlotData === void 0 ? void 0 : bottomSheetSlotData.componentName) {
|
|
117
|
+
case WebComponentType.account:
|
|
118
|
+
{
|
|
119
|
+
const accountActionType = getAccountActionType(bottomSheetSlotData.requestRenderingEvent);
|
|
120
|
+
setScrollState(accountActionType === AccountAction.List ? ScrollState.onTop : ScrollState.unScrollable);
|
|
121
|
+
break;
|
|
98
122
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
setScrollState(ScrollState.unScrollable);
|
|
123
|
+
case WebComponentType.card:
|
|
124
|
+
{
|
|
125
|
+
if (isAddToWallet) {
|
|
126
|
+
setScrollState(ScrollState.unScrollable);
|
|
127
|
+
} else {
|
|
128
|
+
setScrollState(ScrollState.onTop);
|
|
129
|
+
}
|
|
130
|
+
break;
|
|
108
131
|
}
|
|
109
|
-
|
|
132
|
+
default:
|
|
133
|
+
{
|
|
134
|
+
// default web component case
|
|
135
|
+
const nativePlace = bottomSheetSlotData.requestRenderingEvent.data.nativePlace;
|
|
136
|
+
if (nativePlace == 'overFullScreen') {
|
|
137
|
+
setScrollState(ScrollState.onTop);
|
|
138
|
+
} else {
|
|
139
|
+
setScrollState(ScrollState.unScrollable);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
const scrollStateForWebComponent = () => {
|
|
145
|
+
if (isAddToWallet) {
|
|
146
|
+
setScrollState(ScrollState.unScrollable);
|
|
147
|
+
} else {
|
|
148
|
+
setScrollState(ScrollState.onTop);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
switch (renderingType) {
|
|
152
|
+
case BottomSheetRenderingType.Slot:
|
|
153
|
+
scrollStateForSlot();
|
|
154
|
+
break;
|
|
155
|
+
case BottomSheetRenderingType.WebComponent:
|
|
156
|
+
scrollStateForWebComponent();
|
|
157
|
+
break;
|
|
158
|
+
default:
|
|
159
|
+
setScrollState(ScrollState.onTop);
|
|
110
160
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
setHeight(
|
|
115
|
-
} else {
|
|
116
|
-
|
|
161
|
+
};
|
|
162
|
+
const setNewHeight = message => {
|
|
163
|
+
if (isAddToWallet) {
|
|
164
|
+
setHeight(fullScreenHeight);
|
|
165
|
+
} else if (message) {
|
|
166
|
+
const nativePlace = bottomSheetSlotData === null || bottomSheetSlotData === void 0 ? void 0 : bottomSheetSlotData.requestRenderingEvent.data.nativePlace;
|
|
167
|
+
if (nativePlace == 'overFullScreen') {
|
|
168
|
+
injectHtmlFullScreenHeight(webRef.current, fullScreenHeight);
|
|
169
|
+
setHeight(fullScreenHeight);
|
|
170
|
+
} else {
|
|
171
|
+
setHeight(message.details.height);
|
|
172
|
+
}
|
|
117
173
|
}
|
|
118
174
|
};
|
|
119
175
|
const onWebMessage = message => {
|
|
120
176
|
switch (message.type) {
|
|
121
177
|
case PageMessage.PAGE_HEIGHT:
|
|
122
|
-
requestRenderingEvent && setNewHeightMessage(message);
|
|
178
|
+
(bottomSheetSlotData === null || bottomSheetSlotData === void 0 ? void 0 : bottomSheetSlotData.requestRenderingEvent) && setNewHeightMessage(message);
|
|
123
179
|
break;
|
|
124
180
|
case UnitMessage.UNIT_REQUEST_RENDERING:
|
|
125
181
|
{
|
|
126
|
-
var
|
|
182
|
+
var _bottomSheetSlotData$, _bottomSheetSlotData$2;
|
|
183
|
+
setRenderingType(BottomSheetRenderingType.Slot);
|
|
127
184
|
const requestRendering = message.details;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
185
|
+
setWebComponentData(undefined);
|
|
186
|
+
if (requestRendering.data.nativeComponent != (bottomSheetSlotData === null || bottomSheetSlotData === void 0 ? void 0 : (_bottomSheetSlotData$ = bottomSheetSlotData.requestRenderingEvent) === null || _bottomSheetSlotData$ === void 0 ? void 0 : (_bottomSheetSlotData$2 = _bottomSheetSlotData$.data) === null || _bottomSheetSlotData$2 === void 0 ? void 0 : _bottomSheetSlotData$2.nativeComponent)) {
|
|
187
|
+
setIsAddToWallet(requestRendering.data.nativeComponent.includes('action=AddToWallet'));
|
|
188
|
+
|
|
189
|
+
// Animation between bottom sheet screens
|
|
190
|
+
// Close the bottom sheet
|
|
132
191
|
setHeight(0);
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
192
|
+
setShouldShowComponent(false);
|
|
193
|
+
|
|
194
|
+
// Update the bottom sheet data
|
|
195
|
+
setBottomSheetSlotData({
|
|
196
|
+
componentResourceId: bottomSheetSlotData === null || bottomSheetSlotData === void 0 ? void 0 : bottomSheetSlotData.componentResourceId,
|
|
197
|
+
componentName: bottomSheetSlotData === null || bottomSheetSlotData === void 0 ? void 0 : bottomSheetSlotData.componentName,
|
|
198
|
+
requestRenderingEvent: requestRendering
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
// Open the bottom sheet
|
|
202
|
+
setTimeout(() => setShouldShowComponent(true), 400);
|
|
136
203
|
}
|
|
137
204
|
break;
|
|
138
205
|
}
|
|
@@ -175,13 +242,17 @@ export const UNBottomSheetComponent = () => {
|
|
|
175
242
|
setScrollState(ScrollState.onlyWebView);
|
|
176
243
|
};
|
|
177
244
|
const renderBottomSheetItem = () => {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
245
|
+
var _bottomSheetSlotData$3, _webComponentData$par;
|
|
246
|
+
switch (renderingType) {
|
|
247
|
+
case BottomSheetRenderingType.Slot:
|
|
248
|
+
if (bottomSheetSlotData !== null && bottomSheetSlotData !== void 0 && (_bottomSheetSlotData$3 = bottomSheetSlotData.requestRenderingEvent.data.nativeComponent) !== null && _bottomSheetSlotData$3 !== void 0 && _bottomSheetSlotData$3.includes('action=AddToWallet') && bottomSheetSlotData !== null && bottomSheetSlotData !== void 0 && bottomSheetSlotData.componentResourceId) {
|
|
249
|
+
return /*#__PURE__*/React.createElement(UNAddToWalletBottomSheetItem, {
|
|
250
|
+
renderingType: renderingType,
|
|
251
|
+
renderingRequest: bottomSheetSlotData.requestRenderingEvent,
|
|
252
|
+
cardId: bottomSheetSlotData === null || bottomSheetSlotData === void 0 ? void 0 : bottomSheetSlotData.componentResourceId,
|
|
253
|
+
fullScreenHeight: fullScreenHeight
|
|
254
|
+
});
|
|
255
|
+
}
|
|
185
256
|
return /*#__PURE__*/React.createElement(WebComponent, {
|
|
186
257
|
ref: webRef,
|
|
187
258
|
type: WebComponentType.slot,
|
|
@@ -191,6 +262,20 @@ export const UNBottomSheetComponent = () => {
|
|
|
191
262
|
isScrollable: scrollState === ScrollState.onlyWebView || scrollState === ScrollState.onTop,
|
|
192
263
|
handleScroll: onScrollWebView
|
|
193
264
|
});
|
|
265
|
+
case BottomSheetRenderingType.WebComponent:
|
|
266
|
+
if (webComponentData !== null && webComponentData !== void 0 && (_webComponentData$par = webComponentData.params) !== null && _webComponentData$par !== void 0 && _webComponentData$par.includes('action=AddToWallet')) {
|
|
267
|
+
const cardId = extractCardIdFromComponentParams(webComponentData);
|
|
268
|
+
if (!cardId) return null;
|
|
269
|
+
return /*#__PURE__*/React.createElement(UNAddToWalletBottomSheetItem, {
|
|
270
|
+
renderingType: renderingType,
|
|
271
|
+
webComponentData: webComponentData,
|
|
272
|
+
cardId: cardId,
|
|
273
|
+
fullScreenHeight: fullScreenHeight
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
return null;
|
|
277
|
+
case BottomSheetRenderingType.NativeComponent:
|
|
278
|
+
return null;
|
|
194
279
|
}
|
|
195
280
|
};
|
|
196
281
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","WebComponent","WebComponentType","Dimensions","Linking","View","BottomSheet","EventBus","PageMessage","UnitMessage","CardMessage","useListenerToBus","getBottomSheetScript","handleHtmlFullHeight","renderingBottomSheetRequest","resetHtml","getStylesObject","PresentationMode","useAppStateListener","UNAddToWalletBottomSheetItem","getAccountActionType","AccountAction","AccountMessage","ActivityMessage","ScrollState","CustomDialog","UNBottomSheetComponent","isBottomSheetActive","setIsBottomSheetActive","height","setHeight","bottomSheetSlotData","setBottomSheetSlotData","requestRenderingEvent","setRequestRenderingEvent","scrollState","setScrollState","onTop","waitForLoadingNewComponent","setWaitForLoadingNewComponent","newHeightMessage","setNewHeightMessage","customDialog","setCustomDialog","isAppActive","styles","webRef","handleRequestRendering","data","handleCloseFlow","current","undefined","setNewHeight","busEventKey","UNIT_REQUEST_RENDERING","action","UNIT_REQUEST_CLOSE_FLOW","message","componentName","account","accountActionType","List","unScrollable","card","addToWallet","nativePlace","bottomSheetNewHeight","get","details","onWebMessage","type","PAGE_HEIGHT","_requestRenderingEven","requestRendering","nativeComponent","includes","setTimeout","CARD_ACTIVATED","Instance","event","CARD_STATUS_CHANGED","UNIT_ACCOUNT_CHANGED","UNIT_ACTIVITY_FILTERS_CHANGED","UNIT_REQUEST_OPEN_LINK","href","openURL","onScrollWebView","currY","nativeEvent","contentOffset","y","onlyBottomSheet","onlyWebView","handleWebViewScroll","renderBottomSheetItem","createElement","renderingRequest","cardId","componentResourceId","ref","slot","presentationMode","CoverInjectedHeight","script","onMessage","isScrollable","handleScroll","Fragment","pointerEvents","style","container","isOpen","onClose","onOpen","shouldEnableBottomSheetScroll"],"sources":["UNBottomSheetComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useRef, useState } from 'react';\nimport type WebView from 'react-native-webview';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { Dimensions, Linking, View } from 'react-native';\nimport BottomSheet from '../../helpers/BottomSheet/BottomSheet';\nimport EventBus from '../../helpers/EventBus';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { RequestOpenLinkEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { CardMessage, CardActivatedEvent, CardStatusChangedEvent } from '../../messages/webMessages/cardMessage';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport {\n getBottomSheetScript,\n handleHtmlFullHeight,\n renderingBottomSheetRequest,\n resetHtml,\n} from './UNBottomSheetComponent.utils';\nimport { getStylesObject } from './UNBottomSheetComponent.styles';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport { useAppStateListener } from '../../hooks/useAppStateListener';\nimport { UNAddToWalletBottomSheetItem } from './components/UNAddToWalletBottomSheetItem';\nimport { getAccountActionType } from '../UNAccountComponent/UNAccountComponent.utils';\nimport { AccountAction } from '../UNAccountComponent/UNAccountComponent';\nimport type { AccountChangedEvent } from '../../messages/webMessages/accountMessage';\nimport { AccountMessage } from '../../messages/webMessages/accountMessage';\nimport { ActivityFiltersChangedEvent, ActivityMessage } from '../../messages/webMessages/activityMessage';\n\nexport enum ScrollState {\n /*\n Web View ScrollState -\n - Initialization:\n 'onTop': for a scrollable webView.\n (onTop means that the webview is onTop of the BottomSheet and we need to recognize the scroll direction).\n Then, it recognize the scroll direction and update the scroll state as needed.\n\n -'unScrollable': for an unscrollable webView\n */\n onTop = 'onTop',\n unScrollable = 'unScrollable',\n\n /*\n These are only for maintain the bottom sheet scrollState (not an initialize scroll state).\n It relates to the current scroll state.\n onlyWebView means that now the scroll is on webview (only).\n onlyBottomSheet means that now the scroll is on bottomSheet (only).\n */\n onlyWebView = 'webViewScroll',\n onlyBottomSheet = 'onlyBottomSheet',\n}\n\nexport type BottomSheetSlotData = {\n // The data that rendered by the web view\n componentName?: WebComponentType,\n componentResourceId?: string,\n requestRenderingEvent: RequestRenderingEvent\n}\n\nenum CustomDialog {\n addToWallet\n}\n\nexport const UNBottomSheetComponent = () => {\n const [isBottomSheetActive, setIsBottomSheetActive] = useState(false);\n const [height, setHeight] = useState(0);\n\n const [bottomSheetSlotData, setBottomSheetSlotData] = useState<BottomSheetSlotData>();\n const [requestRenderingEvent, setRequestRenderingEvent] = useState<RequestRenderingEvent>();\n const [scrollState, setScrollState] = useState<ScrollState>(ScrollState.onTop);\n\n const [waitForLoadingNewComponent, setWaitForLoadingNewComponent] = useState(false);\n const [newHeightMessage, setNewHeightMessage] = useState<WebViewMessage | null>(null);\n\n const [customDialog, setCustomDialog] = useState<CustomDialog | null>(null);\n\n const isAppActive = useAppStateListener();\n\n const styles = getStylesObject();\n\n const webRef = useRef<WebView>(null);\n\n const handleRequestRendering = (data: BottomSheetSlotData) => {\n setBottomSheetSlotData(data);\n setIsBottomSheetActive(true);\n setRequestRenderingEvent(data.requestRenderingEvent);\n };\n\n const handleCloseFlow = () => {\n setIsBottomSheetActive(false);\n };\n\n useEffect(() => {\n setRequestRenderingEvent(bottomSheetSlotData?.requestRenderingEvent);\n }, [bottomSheetSlotData]);\n\n useEffect(() => {\n if (!webRef.current) return;\n if (requestRenderingEvent) {\n renderingBottomSheetRequest(webRef.current, requestRenderingEvent);\n }\n }, [webRef.current, requestRenderingEvent]);\n\n useEffect(() => {\n if (!isBottomSheetActive) {\n webRef.current && resetHtml(webRef.current);\n setHeight(0);\n setRequestRenderingEvent(undefined);\n setScrollState(ScrollState.onTop);\n setCustomDialog(null);\n }\n }, [isBottomSheetActive]);\n\n useEffect(() => {\n if (!waitForLoadingNewComponent && newHeightMessage) {\n setWaitForLoadingNewComponent(false);\n setNewHeight(newHeightMessage);\n }\n }, [waitForLoadingNewComponent, newHeightMessage]);\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_RENDERING, action: handleRequestRendering });\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_CLOSE_FLOW, action: handleCloseFlow });\n\n const setNewHeight = (message: WebViewMessage) => {\n if (!requestRenderingEvent) return;\n switch (bottomSheetSlotData?.componentName) {\n case WebComponentType.account: {\n const accountActionType = getAccountActionType(requestRenderingEvent);\n setScrollState(\n accountActionType === AccountAction.List ? ScrollState.onTop : ScrollState.unScrollable\n );\n break;\n }\n case WebComponentType.card: {\n if (customDialog === CustomDialog.addToWallet) {\n setScrollState(ScrollState.unScrollable);\n } else {\n setScrollState(ScrollState.onTop);\n }\n break;\n }\n default: {\n const nativePlace = requestRenderingEvent?.data.nativePlace;\n if (nativePlace == 'overFullScreen') {\n setScrollState(ScrollState.onTop);\n } else {\n setScrollState(ScrollState.unScrollable);\n }\n }\n }\n const nativePlace = requestRenderingEvent?.data.nativePlace;\n if (nativePlace == 'overFullScreen') {\n const bottomSheetNewHeight = handleHtmlFullHeight(webRef.current, Dimensions.get('window').height);\n setHeight(bottomSheetNewHeight);\n } else {\n setHeight((message.details as HeightEvent).height);\n }\n };\n\n const onWebMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case PageMessage.PAGE_HEIGHT:\n requestRenderingEvent && setNewHeightMessage(message);\n break;\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const requestRendering = (message.details as RequestRenderingEvent);\n if (requestRendering.data.nativeComponent != requestRenderingEvent?.data?.nativeComponent) {\n if (requestRendering.data.nativeComponent.includes('action=AddToWallet')) {\n setCustomDialog(CustomDialog.addToWallet);\n }\n\n setHeight(0);\n setRequestRenderingEvent(requestRendering);\n setWaitForLoadingNewComponent(true);\n setTimeout(() => setWaitForLoadingNewComponent(false), 400);\n }\n break;\n }\n case CardMessage.CARD_ACTIVATED:\n EventBus.Instance.event(CardMessage.CARD_ACTIVATED, (message.details as CardActivatedEvent).card);\n break;\n case CardMessage.CARD_STATUS_CHANGED:\n EventBus.Instance.event(CardMessage.CARD_STATUS_CHANGED, (message.details as CardStatusChangedEvent).card);\n break;\n case AccountMessage.UNIT_ACCOUNT_CHANGED:\n EventBus.Instance.event(AccountMessage.UNIT_ACCOUNT_CHANGED, (message.details as AccountChangedEvent).account);\n break;\n case ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED:\n EventBus.Instance.event(ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED, (message.details as ActivityFiltersChangedEvent));\n break;\n case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:\n handleCloseFlow();\n break;\n case UnitMessage.UNIT_REQUEST_OPEN_LINK:\n // eslint-disable-next-line no-case-declarations\n const { href } = (message.details as RequestOpenLinkEvent);\n Linking.openURL(href);\n break;\n }\n };\n\n const onScrollWebView = (event: any) => {\n if (scrollState === ScrollState.unScrollable) return;\n\n const currY = event.nativeEvent.contentOffset.y;\n\n if (ScrollState.onTop && currY < 5) {\n setScrollState(ScrollState.onlyBottomSheet);\n }\n\n if (scrollState !== ScrollState.onlyWebView && scrollState === ScrollState.onTop && currY > 5) {\n setScrollState(ScrollState.onlyWebView);\n }\n };\n\n const handleWebViewScroll = () => {\n if (scrollState === ScrollState.unScrollable) return;\n setScrollState(ScrollState.onlyWebView);\n };\n\n const renderBottomSheetItem = () => {\n switch (customDialog) {\n case CustomDialog.addToWallet:\n return <UNAddToWalletBottomSheetItem renderingRequest={requestRenderingEvent} cardId={bottomSheetSlotData?.componentResourceId} />;\n default:\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.slot}\n presentationMode={PresentationMode.CoverInjectedHeight}\n script={getBottomSheetScript()}\n onMessage={onWebMessage}\n isScrollable={scrollState === ScrollState.onlyWebView || scrollState === ScrollState.onTop}\n handleScroll={onScrollWebView}\n />\n );\n }\n };\n\n return (\n <>\n <View\n pointerEvents={isBottomSheetActive ? undefined : 'none'}\n style={styles.container}\n >\n <BottomSheet\n isOpen={isBottomSheetActive}\n height={height}\n onClose={() => setIsBottomSheetActive(false)}\n onOpen={() => setIsBottomSheetActive(true)}\n handleWebViewScroll={() => handleWebViewScroll()}\n shouldEnableBottomSheetScroll={scrollState !== ScrollState.onlyWebView}\n >\n {isAppActive && renderBottomSheetItem()}\n </BottomSheet >\n </View >\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","WebComponent","Dimensions","Linking","View","BottomSheet","EventBus","PageMessage","UnitMessage","CardMessage","useListenerToBus","extractCardIdFromComponentParams","getBottomSheetScript","injectHtmlFullScreenHeight","isAddToWalletByComponentParams","isAddToWalletFromRequestRendering","renderingBottomSheetRequest","resetHtml","getStylesObject","useAppStateListener","UNAddToWalletBottomSheetItem","getAccountActionType","AccountAction","AccountMessage","ActivityMessage","BOTTOM_SHEET_MAX_PERCENTAGE_SIZE","BottomSheetRenderingType","PresentationMode","WebComponentType","BottomSheetNativeMessage","ScrollState","UNBottomSheetComponent","isBottomSheetActive","setIsBottomSheetActive","height","setHeight","fullScreenHeight","get","renderingType","setRenderingType","Slot","bottomSheetSlotData","setBottomSheetSlotData","webComponentData","setWebComponentData","nativeComponentData","setNativeComponentData","isAddToWallet","setIsAddToWallet","scrollState","setScrollState","onTop","shouldShowComponent","setShouldShowComponent","newHeightMessage","setNewHeightMessage","isAppActive","styles","webRef","startFlow","rendering","type","data","undefined","NativeComponent","handleCloseFlow","current","requestRenderingEvent","_webRef$current","injectJavaScript","defineScrollState","setNewHeight","busEventKey","START_FLOW","action","UNIT_REQUEST_CLOSE_FLOW","scrollStateForSlot","componentName","account","accountActionType","List","unScrollable","card","nativePlace","scrollStateForWebComponent","message","details","onWebMessage","PAGE_HEIGHT","UNIT_REQUEST_RENDERING","_bottomSheetSlotData$","_bottomSheetSlotData$2","requestRendering","nativeComponent","includes","componentResourceId","setTimeout","CARD_ACTIVATED","Instance","event","CARD_STATUS_CHANGED","UNIT_ACCOUNT_CHANGED","UNIT_ACTIVITY_FILTERS_CHANGED","UNIT_REQUEST_OPEN_LINK","href","openURL","onScrollWebView","currY","nativeEvent","contentOffset","y","onlyBottomSheet","onlyWebView","handleWebViewScroll","renderBottomSheetItem","_bottomSheetSlotData$3","_webComponentData$par","createElement","renderingRequest","cardId","ref","slot","presentationMode","CoverInjectedHeight","script","onMessage","isScrollable","handleScroll","params","Fragment","pointerEvents","style","container","isOpen","onClose","onOpen","shouldEnableBottomSheetScroll"],"sources":["UNBottomSheetComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useRef, useState } from 'react';\nimport type WebView from 'react-native-webview';\nimport { WebComponent } from '../../webComponent/WebComponent';\nimport { Dimensions, Linking, View } from 'react-native';\nimport BottomSheet from '../../helpers/BottomSheet/BottomSheet';\nimport EventBus from '../../helpers/EventBus';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { RequestOpenLinkEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { CardMessage, CardActivatedEvent, CardStatusChangedEvent } from '../../messages/webMessages/cardMessage';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport {\n extractCardIdFromComponentParams,\n getBottomSheetScript,\n injectHtmlFullScreenHeight,\n isAddToWalletByComponentParams,\n isAddToWalletFromRequestRendering,\n renderingBottomSheetRequest,\n resetHtml,\n} from './UNBottomSheetComponent.utils';\nimport { getStylesObject } from './UNBottomSheetComponent.styles';\nimport { useAppStateListener } from '../../hooks/useAppStateListener';\nimport { UNAddToWalletBottomSheetItem } from './components/UNAddToWalletBottomSheetItem';\nimport { getAccountActionType } from '../UNAccountComponent/UNAccountComponent.utils';\nimport { AccountAction } from '../UNAccountComponent/UNAccountComponent';\nimport type { AccountChangedEvent } from '../../messages/webMessages/accountMessage';\nimport { AccountMessage } from '../../messages/webMessages/accountMessage';\nimport { ActivityFiltersChangedEvent, ActivityMessage } from '../../messages/webMessages/activityMessage';\nimport { BOTTOM_SHEET_MAX_PERCENTAGE_SIZE } from './UNBottomSheetComponent.constants';\nimport { BottomSheetRenderingType, BottomSheetSlotData, NativeComponentData, WebComponentData } from '../../types/internal/bottomSheet.types';\nimport { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';\nimport { BottomSheetNativeMessage, type StartBottomSheetFlowMessage } from '../../messages/nativeMessages/bottomSheetMessage';\n\nexport enum ScrollState {\n /*\n Web View ScrollState -\n - Initialization:\n 'onTop': for a scrollable webView.\n (onTop means that the webview is onTop of the BottomSheet and we need to recognize the scroll direction).\n Then, it recognize the scroll direction and update the scroll state as needed.\n\n -'unScrollable': for an unscrollable webView\n */\n onTop = 'onTop',\n unScrollable = 'unScrollable',\n\n /*\n These are only for maintain the bottom sheet scrollState (not an initialize scroll state).\n It relates to the current scroll state.\n onlyWebView means that now the scroll is on webview (only).\n onlyBottomSheet means that now the scroll is on bottomSheet (only).\n */\n onlyWebView = 'webViewScroll',\n onlyBottomSheet = 'onlyBottomSheet',\n}\n\nexport const UNBottomSheetComponent = () => {\n const [isBottomSheetActive, setIsBottomSheetActive] = useState(false);\n const [height, setHeight] = useState(0);\n\n const fullScreenHeight = Dimensions.get('window').height * BOTTOM_SHEET_MAX_PERCENTAGE_SIZE;\n\n const [renderingType, setRenderingType] = useState<BottomSheetRenderingType>(BottomSheetRenderingType.Slot);\n const [bottomSheetSlotData, setBottomSheetSlotData] = useState<BottomSheetSlotData>();\n const [webComponentData, setWebComponentData] = useState<WebComponentData>();\n const [nativeComponentData, setNativeComponentData] = useState<NativeComponentData>();\n\n const [isAddToWallet, setIsAddToWallet] = useState(false);\n const [scrollState, setScrollState] = useState<ScrollState>(ScrollState.onTop);\n\n const [shouldShowComponent, setShouldShowComponent] = useState(false);\n const [newHeightMessage, setNewHeightMessage] = useState<WebViewMessage | null>(null);\n\n const isAppActive = useAppStateListener();\n\n const styles = getStylesObject();\n\n const webRef = useRef<WebView>(null);\n\n const startFlow = (rendering: StartBottomSheetFlowMessage) => {\n setRenderingType(rendering.type);\n setIsBottomSheetActive(true);\n setShouldShowComponent(true);\n switch (rendering.type) {\n case BottomSheetRenderingType.Slot:\n setBottomSheetSlotData(rendering.data);\n setIsAddToWallet(isAddToWalletFromRequestRendering(rendering.data));\n setWebComponentData(undefined);\n break;\n case BottomSheetRenderingType.WebComponent:\n setIsAddToWallet(isAddToWalletByComponentParams(rendering.data));\n isAddToWallet && setHeight(fullScreenHeight);\n setBottomSheetSlotData(undefined);\n setWebComponentData(rendering.data);\n break;\n case BottomSheetRenderingType.NativeComponent:\n setNativeComponentData(rendering.data);\n break;\n }\n };\n\n const handleCloseFlow = () => {\n setIsBottomSheetActive(false);\n };\n\n useEffect(() => {\n switch (renderingType) {\n case BottomSheetRenderingType.Slot:\n if (webRef.current && bottomSheetSlotData?.requestRenderingEvent) {\n renderingBottomSheetRequest(webRef.current, bottomSheetSlotData.requestRenderingEvent);\n }\n break;\n case BottomSheetRenderingType.WebComponent:\n if (isAddToWallet) {\n webRef.current?.injectJavaScript('document.activeElement && document.activeElement.blur();');\n setHeight(fullScreenHeight);\n }\n break;\n case BottomSheetRenderingType.NativeComponent:\n break;\n }\n }, [webRef, webComponentData, bottomSheetSlotData, nativeComponentData]);\n\n useEffect(() => {\n if (!isBottomSheetActive) {\n webRef.current && resetHtml(webRef.current);\n setHeight(0);\n setShouldShowComponent(false);\n setWebComponentData(undefined);\n setBottomSheetSlotData(undefined);\n setRenderingType(BottomSheetRenderingType.Slot);\n setScrollState(ScrollState.onTop);\n setIsAddToWallet(false);\n }\n }, [isBottomSheetActive]);\n\n useEffect(() => {\n if (shouldShowComponent) {\n defineScrollState();\n setNewHeight(newHeightMessage);\n }\n }, [shouldShowComponent, newHeightMessage, isAddToWallet]);\n\n useListenerToBus({ busEventKey: BottomSheetNativeMessage.START_FLOW, action: startFlow });\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_CLOSE_FLOW, action: handleCloseFlow });\n\n const defineScrollState = () => {\n const scrollStateForSlot = () => {\n if (!bottomSheetSlotData?.requestRenderingEvent) return;\n switch (bottomSheetSlotData?.componentName) {\n case WebComponentType.account: {\n const accountActionType = getAccountActionType(bottomSheetSlotData.requestRenderingEvent);\n setScrollState(\n accountActionType === AccountAction.List ? ScrollState.onTop : ScrollState.unScrollable\n );\n break;\n }\n case WebComponentType.card: {\n if (isAddToWallet) {\n setScrollState(ScrollState.unScrollable);\n } else {\n setScrollState(ScrollState.onTop);\n }\n break;\n }\n default: {\n // default web component case\n const nativePlace = bottomSheetSlotData.requestRenderingEvent.data.nativePlace;\n if (nativePlace == 'overFullScreen') {\n setScrollState(ScrollState.onTop);\n } else {\n setScrollState(ScrollState.unScrollable);\n }\n }\n }\n };\n\n const scrollStateForWebComponent = () => {\n if (isAddToWallet) {\n setScrollState(ScrollState.unScrollable);\n } else {\n setScrollState(ScrollState.onTop);\n }\n };\n\n switch (renderingType) {\n case BottomSheetRenderingType.Slot:\n scrollStateForSlot();\n break;\n case BottomSheetRenderingType.WebComponent:\n scrollStateForWebComponent();\n break;\n default:\n setScrollState(ScrollState.onTop);\n }\n };\n\n const setNewHeight = (message: WebViewMessage | null) => {\n if (isAddToWallet) {\n setHeight(fullScreenHeight);\n } else if (message) {\n const nativePlace = bottomSheetSlotData?.requestRenderingEvent.data.nativePlace;\n if (nativePlace == 'overFullScreen') {\n injectHtmlFullScreenHeight(webRef.current, fullScreenHeight);\n setHeight(fullScreenHeight);\n } else {\n setHeight((message.details as HeightEvent).height);\n }\n }\n };\n\n const onWebMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case PageMessage.PAGE_HEIGHT:\n bottomSheetSlotData?.requestRenderingEvent && setNewHeightMessage(message);\n break;\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n setRenderingType(BottomSheetRenderingType.Slot);\n const requestRendering = (message.details as RequestRenderingEvent);\n setWebComponentData(undefined);\n if (requestRendering.data.nativeComponent != bottomSheetSlotData?.requestRenderingEvent?.data?.nativeComponent) {\n setIsAddToWallet(requestRendering.data.nativeComponent.includes('action=AddToWallet'));\n\n // Animation between bottom sheet screens\n // Close the bottom sheet\n setHeight(0);\n setShouldShowComponent(false);\n\n // Update the bottom sheet data\n setBottomSheetSlotData({\n componentResourceId: bottomSheetSlotData?.componentResourceId,\n componentName: bottomSheetSlotData?.componentName,\n requestRenderingEvent: requestRendering\n });\n\n // Open the bottom sheet\n setTimeout(() => setShouldShowComponent(true), 400);\n }\n break;\n }\n case CardMessage.CARD_ACTIVATED:\n EventBus.Instance.event(CardMessage.CARD_ACTIVATED, (message.details as CardActivatedEvent).card);\n break;\n case CardMessage.CARD_STATUS_CHANGED:\n EventBus.Instance.event(CardMessage.CARD_STATUS_CHANGED, (message.details as CardStatusChangedEvent).card);\n break;\n case AccountMessage.UNIT_ACCOUNT_CHANGED:\n EventBus.Instance.event(AccountMessage.UNIT_ACCOUNT_CHANGED, (message.details as AccountChangedEvent).account);\n break;\n case ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED:\n EventBus.Instance.event(ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED, (message.details as ActivityFiltersChangedEvent));\n break;\n case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:\n handleCloseFlow();\n break;\n case UnitMessage.UNIT_REQUEST_OPEN_LINK:\n // eslint-disable-next-line no-case-declarations\n const { href } = (message.details as RequestOpenLinkEvent);\n Linking.openURL(href);\n break;\n }\n };\n\n const onScrollWebView = (event: any) => {\n if (scrollState === ScrollState.unScrollable) return;\n\n const currY = event.nativeEvent.contentOffset.y;\n\n if (ScrollState.onTop && currY < 5) {\n setScrollState(ScrollState.onlyBottomSheet);\n }\n\n if (scrollState !== ScrollState.onlyWebView && scrollState === ScrollState.onTop && currY > 5) {\n setScrollState(ScrollState.onlyWebView);\n }\n };\n\n const handleWebViewScroll = () => {\n if (scrollState === ScrollState.unScrollable) return;\n setScrollState(ScrollState.onlyWebView);\n };\n\n const renderBottomSheetItem = () => {\n switch (renderingType) {\n case BottomSheetRenderingType.Slot:\n if (bottomSheetSlotData?.requestRenderingEvent.data.nativeComponent?.includes('action=AddToWallet') && bottomSheetSlotData?.componentResourceId) {\n return <UNAddToWalletBottomSheetItem renderingType={renderingType} renderingRequest={bottomSheetSlotData.requestRenderingEvent} cardId={bottomSheetSlotData?.componentResourceId} fullScreenHeight={fullScreenHeight}/>;\n }\n\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.slot}\n presentationMode={PresentationMode.CoverInjectedHeight}\n script={getBottomSheetScript()}\n onMessage={onWebMessage}\n isScrollable={scrollState === ScrollState.onlyWebView || scrollState === ScrollState.onTop}\n handleScroll={onScrollWebView}\n />\n );\n case BottomSheetRenderingType.WebComponent:\n if (webComponentData?.params?.includes('action=AddToWallet')) {\n const cardId = extractCardIdFromComponentParams(webComponentData);\n if (!cardId) return null;\n return <UNAddToWalletBottomSheetItem renderingType={renderingType} webComponentData={webComponentData} cardId={cardId} fullScreenHeight={fullScreenHeight}/>;\n }\n return null;\n case BottomSheetRenderingType.NativeComponent:\n return null;\n }\n };\n\n return (\n <>\n <View\n pointerEvents={isBottomSheetActive ? undefined : 'none'}\n style={styles.container}\n >\n <BottomSheet\n isOpen={isBottomSheetActive}\n height={height}\n onClose={() => setIsBottomSheetActive(false)}\n onOpen={() => setIsBottomSheetActive(true)}\n handleWebViewScroll={() => handleWebViewScroll()}\n shouldEnableBottomSheetScroll={scrollState !== ScrollState.onlyWebView}\n >\n {isAppActive && renderBottomSheetItem()}\n </BottomSheet >\n </View >\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LISTENERS } from './../../scripts/html/bodyScript';
|
|
2
|
-
import {
|
|
2
|
+
import { webViewId } from '../../scripts/html/bodyHtml';
|
|
3
3
|
export const getBottomSheetScript = () => {
|
|
4
4
|
return LISTENERS.requestRefresh;
|
|
5
5
|
};
|
|
@@ -12,14 +12,31 @@ export const renderingBottomSheetRequest = (currentWebView, renderingRequest) =>
|
|
|
12
12
|
export const resetHtml = currentWebView => {
|
|
13
13
|
currentWebView === null || currentWebView === void 0 ? void 0 : currentWebView.injectJavaScript(`
|
|
14
14
|
document.activeElement && document.activeElement.blur();
|
|
15
|
-
document.getElementById('
|
|
15
|
+
document.getElementById('${webViewId}').style.height = null;
|
|
16
16
|
`);
|
|
17
17
|
};
|
|
18
|
-
export const
|
|
19
|
-
const bottomSheetHeight = windowHeight * BOTTOM_SHEET_MAX_PERCENTAGE_SIZE;
|
|
18
|
+
export const injectHtmlFullScreenHeight = (currentWebView, bottomSheetHeight) => {
|
|
20
19
|
currentWebView && (currentWebView === null || currentWebView === void 0 ? void 0 : currentWebView.injectJavaScript(`
|
|
21
|
-
document.getElementById('
|
|
20
|
+
document.getElementById('${webViewId}').style.height = '${bottomSheetHeight}px';
|
|
22
21
|
`));
|
|
23
|
-
|
|
22
|
+
};
|
|
23
|
+
export const isAddToWalletFromRequestRendering = data => {
|
|
24
|
+
var _data$requestRenderin, _data$requestRenderin2;
|
|
25
|
+
return ((_data$requestRenderin = data.requestRenderingEvent) === null || _data$requestRenderin === void 0 ? void 0 : (_data$requestRenderin2 = _data$requestRenderin.data) === null || _data$requestRenderin2 === void 0 ? void 0 : _data$requestRenderin2.nativeComponent.includes('AddToWallet')) ?? false;
|
|
26
|
+
};
|
|
27
|
+
export const isAddToWalletByComponentParams = data => {
|
|
28
|
+
var _data$params;
|
|
29
|
+
return ((_data$params = data.params) === null || _data$params === void 0 ? void 0 : _data$params.includes('AddToWallet')) ?? false;
|
|
30
|
+
};
|
|
31
|
+
export const extractCardIdFromComponentParams = data => {
|
|
32
|
+
var _data$params2;
|
|
33
|
+
const regex = /card-id=(\d+)/;
|
|
34
|
+
const match = (_data$params2 = data.params) === null || _data$params2 === void 0 ? void 0 : _data$params2.match(regex);
|
|
35
|
+
if (match && match[1]) {
|
|
36
|
+
const cardId = match[1];
|
|
37
|
+
return cardId;
|
|
38
|
+
} else {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
24
41
|
};
|
|
25
42
|
//# sourceMappingURL=UNBottomSheetComponent.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LISTENERS","
|
|
1
|
+
{"version":3,"names":["LISTENERS","webViewId","getBottomSheetScript","requestRefresh","renderingBottomSheetRequest","currentWebView","renderingRequest","injectJavaScript","JSON","stringify","data","resetHtml","injectHtmlFullScreenHeight","bottomSheetHeight","isAddToWalletFromRequestRendering","_data$requestRenderin","_data$requestRenderin2","requestRenderingEvent","nativeComponent","includes","isAddToWalletByComponentParams","_data$params","params","extractCardIdFromComponentParams","_data$params2","regex","match","cardId"],"sources":["UNBottomSheetComponent.utils.ts"],"sourcesContent":["import { LISTENERS } from './../../scripts/html/bodyScript';\nimport type WebView from 'react-native-webview';\nimport type { RequestRenderingEvent } from '../../messages/webMessages/unitMessages';\nimport type { BottomSheetSlotData, WebComponentData } from '../../types/internal/bottomSheet.types';\nimport { webViewId } from '../../scripts/html/bodyHtml';\n\nexport const getBottomSheetScript = () => {\n return LISTENERS.requestRefresh;\n};\n\nexport const renderingBottomSheetRequest = (currentWebView: WebView, renderingRequest: RequestRenderingEvent) => {\n currentWebView?.injectJavaScript(`\n document.activeElement && document.activeElement.blur();\n dispatchRenderingEvent('${JSON.stringify(renderingRequest.data)}');\n `);\n};\n\nexport const resetHtml = (currentWebView: WebView) => {\n currentWebView?.injectJavaScript(`\n document.activeElement && document.activeElement.blur();\n document.getElementById('${webViewId}').style.height = null;\n `);\n};\n\nexport const injectHtmlFullScreenHeight = (currentWebView: WebView | null, bottomSheetHeight: number) => {\n currentWebView && currentWebView?.injectJavaScript(`\n document.getElementById('${webViewId}').style.height = '${bottomSheetHeight}px';\n `);\n};\n\nexport const isAddToWalletFromRequestRendering = (data: BottomSheetSlotData): boolean => {\n return data.requestRenderingEvent?.data?.nativeComponent.includes('AddToWallet') ?? false;\n};\n\nexport const isAddToWalletByComponentParams = (data: WebComponentData): boolean => {\n return data.params?.includes('AddToWallet') ?? false;\n};\n\nexport const extractCardIdFromComponentParams = (data: WebComponentData): string | null => {\n const regex = /card-id=(\\d+)/;\n const match = data.params?.match(regex);\n\n if (match && match[1]) {\n const cardId = match[1];\n return cardId;\n } else {\n return null;\n }\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iCAAiC;AAI3D,SAASC,SAAS,QAAQ,6BAA6B;AAEvD,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,OAAOF,SAAS,CAACG,cAAc;AACjC,CAAC;AAED,OAAO,MAAMC,2BAA2B,GAAGA,CAACC,cAAuB,EAAEC,gBAAuC,KAAK;EAC/GD,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEE,gBAAgB,CAAE;AACpC;AACA,8BAA8BC,IAAI,CAACC,SAAS,CAACH,gBAAgB,CAACI,IAAI,CAAE;AACpE,GAAG,CAAC;AACJ,CAAC;AAED,OAAO,MAAMC,SAAS,GAAIN,cAAuB,IAAK;EACpDA,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEE,gBAAgB,CAAE;AACpC;AACA,+BAA+BN,SAAU;AACzC,GAAG,CAAC;AACJ,CAAC;AAED,OAAO,MAAMW,0BAA0B,GAAGA,CAACP,cAA8B,EAAEQ,iBAAyB,KAAK;EACvGR,cAAc,KAAIA,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEE,gBAAgB,CAAE;AACtD,+BAA+BN,SAAU,sBAAqBY,iBAAkB;AAChF,GAAG,CAAC;AACJ,CAAC;AAED,OAAO,MAAMC,iCAAiC,GAAIJ,IAAyB,IAAc;EAAA,IAAAK,qBAAA,EAAAC,sBAAA;EACvF,OAAO,EAAAD,qBAAA,GAAAL,IAAI,CAACO,qBAAqB,cAAAF,qBAAA,wBAAAC,sBAAA,GAA1BD,qBAAA,CAA4BL,IAAI,cAAAM,sBAAA,uBAAhCA,sBAAA,CAAkCE,eAAe,CAACC,QAAQ,CAAC,aAAa,CAAC,KAAI,KAAK;AAC3F,CAAC;AAED,OAAO,MAAMC,8BAA8B,GAAIV,IAAsB,IAAc;EAAA,IAAAW,YAAA;EACjF,OAAO,EAAAA,YAAA,GAAAX,IAAI,CAACY,MAAM,cAAAD,YAAA,uBAAXA,YAAA,CAAaF,QAAQ,CAAC,aAAa,CAAC,KAAI,KAAK;AACtD,CAAC;AAED,OAAO,MAAMI,gCAAgC,GAAIb,IAAsB,IAAoB;EAAA,IAAAc,aAAA;EACzF,MAAMC,KAAK,GAAG,eAAe;EAC7B,MAAMC,KAAK,IAAAF,aAAA,GAAGd,IAAI,CAACY,MAAM,cAAAE,aAAA,uBAAXA,aAAA,CAAaE,KAAK,CAACD,KAAK,CAAC;EAEvC,IAAIC,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,EAAE;IACrB,MAAMC,MAAM,GAAGD,KAAK,CAAC,CAAC,CAAC;IACvB,OAAOC,MAAM;EACf,CAAC,MAAM;IACL,OAAO,IAAI;EACb;AACF,CAAC"}
|
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
|
}));
|