react-native-unit-components 1.9.1 → 1.10.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/android/src/main/java/com/unitreactnativecomponents/UnitReactNativeComponentsPackage.kt +9 -12
- package/android/src/main/java/com/unitreactnativecomponents/appInfo/UNAppInfoModule.kt +59 -0
- package/android/src/main/java/com/unitreactnativecomponents/extensions/ContextExtensions.kt +35 -0
- package/ios/Extensions/Bundle+Extensions.swift +23 -0
- package/ios/UNAppInfo/IOSAppInfo.swift +47 -0
- package/ios/UNAppInfo/UNAppInfoExportModule.m +5 -2
- package/ios/UnitReactNativeComponents.xcodeproj/project.pbxproj +34 -0
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +2 -2
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +2 -2
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +11 -7
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +13 -9
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +4 -0
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +22 -8
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.js +7 -2
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +11 -8
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/commonjs/components/UNMultipleCardsComponent/UNMultipleCardsComponent.js +86 -0
- package/lib/commonjs/components/UNMultipleCardsComponent/UNMultipleCardsComponent.js.map +1 -0
- package/lib/commonjs/components/UNMultipleCardsComponent/UNMultipleCardsComponent.utils.js +41 -0
- package/lib/commonjs/components/UNMultipleCardsComponent/UNMultipleCardsComponent.utils.js.map +1 -0
- package/lib/commonjs/components/UNMultipleCardsComponent/index.js +21 -0
- package/lib/commonjs/components/UNMultipleCardsComponent/index.js.map +1 -0
- package/lib/commonjs/components/index.js +11 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/flows/card/UNCardFlows.js +8 -4
- package/lib/commonjs/flows/card/UNCardFlows.js.map +1 -1
- package/lib/commonjs/helpers/pushProvisioningService/helpers.js +34 -0
- package/lib/commonjs/helpers/pushProvisioningService/helpers.js.map +1 -0
- package/lib/commonjs/helpers/pushProvisioningService/hooks/useCardWallet.js +32 -2
- package/lib/commonjs/helpers/pushProvisioningService/hooks/useCardWallet.js.map +1 -1
- package/lib/commonjs/helpers/pushProvisioningService/types.js +41 -0
- package/lib/commonjs/helpers/pushProvisioningService/types.js.map +1 -0
- package/lib/commonjs/hooks/useListenerToEvent.js +26 -0
- package/lib/commonjs/hooks/useListenerToEvent.js.map +1 -0
- package/lib/commonjs/messages/webMessages/index.js.map +1 -1
- package/lib/commonjs/messages/webMessages/multipleCardsMessage.js +12 -0
- package/lib/commonjs/messages/webMessages/multipleCardsMessage.js.map +1 -0
- package/lib/commonjs/messages/webMessages/onLoadMessage.js +2 -1
- package/lib/commonjs/messages/webMessages/onLoadMessage.js.map +1 -1
- package/lib/commonjs/networking/requests/UNWalletPayloadRequest.js +27 -3
- package/lib/commonjs/networking/requests/UNWalletPayloadRequest.js.map +1 -1
- package/lib/commonjs/slices/ConfigurationSlice.js +36 -0
- package/lib/commonjs/slices/ConfigurationSlice.js.map +1 -0
- package/lib/commonjs/slices/SharedEventsSlice.js +28 -0
- package/lib/commonjs/slices/SharedEventsSlice.js.map +1 -0
- package/lib/commonjs/store/store.js +5 -1
- package/lib/commonjs/store/store.js.map +1 -1
- package/lib/commonjs/types/internal/errorHelpers.js +20 -0
- package/lib/commonjs/types/internal/errorHelpers.js.map +1 -0
- package/lib/commonjs/types/internal/webComponent.types.js +1 -0
- package/lib/commonjs/types/internal/webComponent.types.js.map +1 -1
- package/lib/commonjs/types/shared/activity.types.js +7 -0
- package/lib/commonjs/types/shared/activity.types.js.map +1 -1
- package/lib/commonjs/types/shared/error.types.js +29 -0
- package/lib/commonjs/types/shared/error.types.js.map +1 -0
- package/lib/commonjs/types/shared/index.js +22 -0
- package/lib/commonjs/types/shared/index.js.map +1 -1
- package/lib/commonjs/types/shared/multipleCards.types.js +13 -0
- package/lib/commonjs/types/shared/multipleCards.types.js.map +1 -0
- package/lib/commonjs/types/shared/onLoadResponse.types.js +4 -0
- package/lib/commonjs/types/shared/onLoadResponse.types.js.map +1 -1
- package/lib/commonjs/unitSdkManager/UnitSdk.api.js +6 -13
- package/lib/commonjs/unitSdkManager/UnitSdk.api.js.map +1 -1
- package/lib/commonjs/unitSdkManager/UnitSdk.constants.js +1 -1
- package/lib/commonjs/unitSdkManager/UnitSdk.constants.js.map +1 -1
- package/lib/commonjs/unitSdkManager/UnitSdkManager.js +8 -18
- package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
- package/lib/commonjs/utils/AppInfo.js +49 -0
- package/lib/commonjs/utils/AppInfo.js.map +1 -0
- package/lib/commonjs/utils/SDKInfo.js +13 -0
- package/lib/commonjs/utils/SDKInfo.js.map +1 -0
- package/lib/commonjs/webComponent/WebComponent.js +30 -32
- package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
- package/lib/commonjs/webComponent/WebComponent.utils.js +19 -1
- package/lib/commonjs/webComponent/WebComponent.utils.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 +11 -6
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js +13 -8
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +4 -0
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +22 -8
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.js +7 -2
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.js +12 -8
- package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/module/components/UNMultipleCardsComponent/UNMultipleCardsComponent.js +77 -0
- package/lib/module/components/UNMultipleCardsComponent/UNMultipleCardsComponent.js.map +1 -0
- package/lib/module/components/UNMultipleCardsComponent/UNMultipleCardsComponent.utils.js +33 -0
- package/lib/module/components/UNMultipleCardsComponent/UNMultipleCardsComponent.utils.js.map +1 -0
- package/lib/module/components/UNMultipleCardsComponent/index.js +2 -0
- package/lib/module/components/UNMultipleCardsComponent/index.js.map +1 -0
- package/lib/module/components/index.js +1 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/flows/card/UNCardFlows.js +8 -3
- package/lib/module/flows/card/UNCardFlows.js.map +1 -1
- package/lib/module/helpers/pushProvisioningService/helpers.js +24 -0
- package/lib/module/helpers/pushProvisioningService/helpers.js.map +1 -0
- package/lib/module/helpers/pushProvisioningService/hooks/useCardWallet.js +35 -5
- package/lib/module/helpers/pushProvisioningService/hooks/useCardWallet.js.map +1 -1
- package/lib/module/helpers/pushProvisioningService/types.js +34 -0
- package/lib/module/helpers/pushProvisioningService/types.js.map +1 -0
- package/lib/module/hooks/useListenerToEvent.js +19 -0
- package/lib/module/hooks/useListenerToEvent.js.map +1 -0
- package/lib/module/messages/webMessages/index.js.map +1 -1
- package/lib/module/messages/webMessages/multipleCardsMessage.js +5 -0
- package/lib/module/messages/webMessages/multipleCardsMessage.js.map +1 -0
- package/lib/module/messages/webMessages/onLoadMessage.js +2 -1
- package/lib/module/messages/webMessages/onLoadMessage.js.map +1 -1
- package/lib/module/networking/requests/UNWalletPayloadRequest.js +27 -3
- package/lib/module/networking/requests/UNWalletPayloadRequest.js.map +1 -1
- package/lib/module/slices/ConfigurationSlice.js +25 -0
- package/lib/module/slices/ConfigurationSlice.js.map +1 -0
- package/lib/module/slices/SharedEventsSlice.js +19 -0
- package/lib/module/slices/SharedEventsSlice.js.map +1 -0
- package/lib/module/store/store.js +5 -1
- package/lib/module/store/store.js.map +1 -1
- package/lib/module/types/internal/errorHelpers.js +12 -0
- package/lib/module/types/internal/errorHelpers.js.map +1 -0
- package/lib/module/types/internal/webComponent.types.js +1 -0
- package/lib/module/types/internal/webComponent.types.js.map +1 -1
- package/lib/module/types/shared/activity.types.js +5 -1
- package/lib/module/types/shared/activity.types.js.map +1 -1
- package/lib/module/types/shared/error.types.js +22 -0
- package/lib/module/types/shared/error.types.js.map +1 -0
- package/lib/module/types/shared/index.js +2 -0
- package/lib/module/types/shared/index.js.map +1 -1
- package/lib/module/types/shared/multipleCards.types.js +6 -0
- package/lib/module/types/shared/multipleCards.types.js.map +1 -0
- package/lib/module/types/shared/onLoadResponse.types.js +1 -1
- package/lib/module/types/shared/onLoadResponse.types.js.map +1 -1
- package/lib/module/unitSdkManager/UnitSdk.api.js +5 -10
- package/lib/module/unitSdkManager/UnitSdk.api.js.map +1 -1
- package/lib/module/unitSdkManager/UnitSdk.constants.js +1 -1
- package/lib/module/unitSdkManager/UnitSdk.constants.js.map +1 -1
- package/lib/module/unitSdkManager/UnitSdkManager.js +8 -17
- package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
- package/lib/module/utils/AppInfo.js +39 -0
- package/lib/module/utils/AppInfo.js.map +1 -0
- package/lib/module/utils/SDKInfo.js +5 -0
- package/lib/module/utils/SDKInfo.js.map +1 -0
- package/lib/module/webComponent/WebComponent.js +33 -34
- package/lib/module/webComponent/WebComponent.js.map +1 -1
- package/lib/module/webComponent/WebComponent.utils.js +15 -0
- package/lib/module/webComponent/WebComponent.utils.js.map +1 -1
- package/lib/typescript/{components → src/components}/UNActivityComponent/UNActivityComponent.d.ts +3 -0
- package/lib/typescript/src/components/UNMultipleCardsComponent/UNMultipleCardsComponent.d.ts +15 -0
- package/lib/typescript/src/components/UNMultipleCardsComponent/UNMultipleCardsComponent.utils.d.ts +3 -0
- package/lib/typescript/src/components/UNMultipleCardsComponent/index.d.ts +1 -0
- package/lib/typescript/{components → src/components}/index.d.ts +1 -0
- package/lib/typescript/src/helpers/pushProvisioningService/helpers.d.ts +4 -0
- package/lib/typescript/src/helpers/pushProvisioningService/types.d.ts +49 -0
- package/lib/typescript/src/hooks/useListenerToEvent.d.ts +9 -0
- package/lib/typescript/{messages → src/messages}/webMessages/index.d.ts +3 -2
- package/lib/typescript/src/messages/webMessages/multipleCardsMessage.d.ts +6 -0
- package/lib/typescript/{messages → src/messages}/webMessages/onLoadMessage.d.ts +7 -3
- package/lib/typescript/{networking → src/networking}/requests/UNWalletPayloadRequest.d.ts +1 -1
- package/lib/typescript/src/slices/ConfigurationSlice.d.ts +10 -0
- package/lib/typescript/src/slices/SharedEventsSlice.d.ts +56 -0
- package/lib/typescript/src/store/store.d.ts +76 -0
- package/lib/typescript/src/types/internal/errorHelpers.d.ts +4 -0
- package/lib/typescript/{types → src/types}/internal/webComponent.types.d.ts +1 -0
- package/lib/typescript/{types → src/types}/shared/activity.types.d.ts +5 -1
- package/lib/typescript/src/types/shared/error.types.d.ts +36 -0
- package/lib/typescript/{types → src/types}/shared/index.d.ts +2 -0
- package/lib/typescript/src/types/shared/multipleCards.types.d.ts +6 -0
- package/lib/typescript/src/types/shared/onLoadResponse.types.d.ts +5 -0
- package/lib/typescript/src/unitSdkManager/UnitSdk.api.d.ts +1 -0
- package/lib/typescript/{unitSdkManager → src/unitSdkManager}/UnitSdkManager.d.ts +4 -8
- package/lib/typescript/src/utils/AppInfo.d.ts +4 -0
- package/lib/typescript/src/utils/SDKInfo.d.ts +1 -0
- package/lib/typescript/{webComponent → src/webComponent}/WebComponent.utils.d.ts +3 -0
- package/package.json +3 -3
- package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +2 -2
- package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +2 -2
- package/src/components/UNAccountComponent/UNAccountComponent.tsx +25 -12
- package/src/components/UNActivityComponent/UNActivityComponent.tsx +33 -16
- package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +4 -1
- package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +42 -16
- package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.tsx +7 -2
- package/src/components/UNCardComponent/UNCardComponent.tsx +11 -10
- package/src/components/UNMultipleCardsComponent/UNMultipleCardsComponent.tsx +119 -0
- package/src/components/UNMultipleCardsComponent/UNMultipleCardsComponent.utils.ts +36 -0
- package/src/components/UNMultipleCardsComponent/index.ts +3 -0
- package/src/components/index.ts +1 -0
- package/src/flows/card/UNCardFlows.ts +10 -4
- package/src/helpers/pushProvisioningService/helpers.ts +31 -0
- package/src/helpers/pushProvisioningService/hooks/useCardWallet.ts +35 -6
- package/src/helpers/pushProvisioningService/types.ts +52 -0
- package/src/hooks/useListenerToEvent.ts +32 -0
- package/src/messages/webMessages/index.ts +3 -0
- package/src/messages/webMessages/multipleCardsMessage.ts +9 -0
- package/src/messages/webMessages/onLoadMessage.ts +14 -3
- package/src/networking/requests/UNWalletPayloadRequest.ts +25 -4
- package/src/slices/ConfigurationSlice.ts +31 -0
- package/src/slices/SharedEventsSlice.ts +93 -0
- package/src/store/store.ts +6 -2
- package/src/types/internal/errorHelpers.ts +22 -0
- package/src/types/internal/webComponent.types.ts +1 -1
- package/src/types/shared/activity.types.ts +6 -1
- package/src/types/shared/error.types.ts +38 -0
- package/src/types/shared/index.ts +2 -0
- package/src/types/shared/multipleCards.types.ts +8 -0
- package/src/types/shared/onLoadResponse.types.ts +2 -12
- package/src/unitSdkManager/UnitSdk.api.ts +5 -8
- package/src/unitSdkManager/UnitSdk.constants.ts +1 -1
- package/src/unitSdkManager/UnitSdkManager.ts +8 -20
- package/src/utils/AppInfo.ts +40 -0
- package/src/utils/SDKInfo.ts +5 -0
- package/src/webComponent/WebComponent.tsx +37 -34
- package/src/webComponent/WebComponent.utils.ts +17 -0
- package/android/src/main/java/com/unitreactnativecomponents/getapplicationid/UNAppInfoModule.kt +0 -35
- package/ios/UNAppInfo/UNAppInfo.swift +0 -23
- package/lib/commonjs/components/utils/nativeModulesInfo.js +0 -20
- package/lib/commonjs/components/utils/nativeModulesInfo.js.map +0 -1
- package/lib/commonjs/helpers/EventBus.js +0 -58
- package/lib/commonjs/helpers/EventBus.js.map +0 -1
- package/lib/commonjs/hooks/listenerToBus.js +0 -34
- package/lib/commonjs/hooks/listenerToBus.js.map +0 -1
- package/lib/module/components/utils/nativeModulesInfo.js +0 -13
- package/lib/module/components/utils/nativeModulesInfo.js.map +0 -1
- package/lib/module/helpers/EventBus.js +0 -51
- package/lib/module/helpers/EventBus.js.map +0 -1
- package/lib/module/hooks/listenerToBus.js +0 -25
- package/lib/module/hooks/listenerToBus.js.map +0 -1
- package/lib/typescript/components/utils/nativeModulesInfo.d.ts +0 -1
- package/lib/typescript/helpers/EventBus.d.ts +0 -13
- package/lib/typescript/hooks/listenerToBus.d.ts +0 -7
- package/lib/typescript/store/store.d.ts +0 -6
- package/lib/typescript/types/shared/onLoadResponse.types.d.ts +0 -14
- package/lib/typescript/unitSdkManager/UnitSdk.api.d.ts +0 -3
- package/src/components/utils/nativeModulesInfo.ts +0 -11
- package/src/helpers/EventBus.ts +0 -58
- package/src/hooks/listenerToBus.ts +0 -31
- /package/lib/typescript/{assets → src/assets}/images/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNACHCreditComponent/UNACHCreditComponent.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNACHCreditComponent/UNACHCreditComponent.utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNACHCreditComponent/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNACHDebitComponent/UNACHDebitComponent.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNACHDebitComponent/UNACHDebitComponent.utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNACHDebitComponent/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNAccountComponent/UNAccountComponent.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNAccountComponent/UNAccountComponent.utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNAccountComponent/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNActivityComponent/UNActivityComponent.utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNActivityComponent/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBookPaymentComponent/UNBookPaymentComponent.utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBookPaymentComponent/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBottomSheetComponent/UNBottomSheetComponent.constants.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBottomSheetComponent/UNBottomSheetComponent.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBottomSheetComponent/UNBottomSheetComponent.styles.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBottomSheetComponent/UNBottomSheetComponent.utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/UNAddToWalletBottomSheetItem.styles.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBottomSheetComponent/components/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNBottomSheetComponent/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNCardComponent/UNCardComponent.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNCardComponent/UNCardComponent.utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNCardComponent/index.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNCheckDepositComponent/UNCheckDepositComponent.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNCheckDepositComponent/UNCheckDepositComponent.utils.d.ts +0 -0
- /package/lib/typescript/{components → src/components}/UNCheckDepositComponent/index.d.ts +0 -0
- /package/lib/typescript/{flows → src/flows}/UNFlows.d.ts +0 -0
- /package/lib/typescript/{flows → src/flows}/card/UNCardFlows.d.ts +0 -0
- /package/lib/typescript/{helpers → src/helpers}/BottomSheet/BottomSheet.d.ts +0 -0
- /package/lib/typescript/{helpers → src/helpers}/BottomSheet/BottomSheet.styles.d.ts +0 -0
- /package/lib/typescript/{helpers → src/helpers}/pushProvisioningService/hooks/useCardWallet.d.ts +0 -0
- /package/lib/typescript/{helpers → src/helpers}/pushProvisioningService/hooks/useLaunchInitialize.d.ts +0 -0
- /package/lib/typescript/{helpers → src/helpers}/pushProvisioningService/startProvisioning.d.ts +0 -0
- /package/lib/typescript/{helpers → src/helpers}/store/helpers.d.ts +0 -0
- /package/lib/typescript/{hooks → src/hooks}/useAppStateListener.d.ts +0 -0
- /package/lib/typescript/{index.d.ts → src/index.d.ts} +0 -0
- /package/lib/typescript/{messages → src/messages}/nativeMessages/bottomSheetMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/nativeMessages/cardMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/nativeMessages/index.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/nativeMessages/sdkMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/webMessages/accountMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/webMessages/achCreditMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/webMessages/activityMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/webMessages/bookPaymentMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/webMessages/cardMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/webMessages/checkMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/webMessages/pageMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/webMessages/paymentsMessage.d.ts +0 -0
- /package/lib/typescript/{messages → src/messages}/webMessages/unitMessages.d.ts +0 -0
- /package/lib/typescript/{nativeComponent → src/nativeComponent}/UnitAddToWalletButton.d.ts +0 -0
- /package/lib/typescript/{networking → src/networking}/common/UNNetworkConstants.d.ts +0 -0
- /package/lib/typescript/{scripts → src/scripts}/html/bodyHtml.d.ts +0 -0
- /package/lib/typescript/{scripts → src/scripts}/html/bodyScript.d.ts +0 -0
- /package/lib/typescript/{scripts → src/scripts}/html/fontFaces.d.ts +0 -0
- /package/lib/typescript/{slices → src/slices}/pushProvisioningSlice.d.ts +0 -0
- /package/lib/typescript/{store → src/store}/index.d.ts +0 -0
- /package/lib/typescript/{styles → src/styles}/fonts.d.ts +0 -0
- /package/lib/typescript/{styles → src/styles}/variables.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/internal/bottomSheet.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/account.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/achCredit.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/authorization.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/bookPayment.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/card.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/checkDeposit.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/fonts.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/payments.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/transactions.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/versioning.types.d.ts +0 -0
- /package/lib/typescript/{types → src/types}/shared/wallet.types.d.ts +0 -0
- /package/lib/typescript/{unitSdkManager → src/unitSdkManager}/UnitSdk.constants.d.ts +0 -0
- /package/lib/typescript/{unitSdkManager → src/unitSdkManager}/UnitSdkManager.utils.internal.d.ts +0 -0
- /package/lib/typescript/{unitSdkManager → src/unitSdkManager}/unitUiManager/unitUiManager.d.ts +0 -0
- /package/lib/typescript/{utils → src/utils}/webVersioningStrategy.utils.d.ts +0 -0
- /package/lib/typescript/{webComponent → src/webComponent}/WebComponent.d.ts +0 -0
- /package/lib/typescript/{webComponent → src/webComponent}/html.d.ts +0 -0
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import React, { useRef, useState } from 'react';
|
|
2
2
|
import { Dimensions, View } from 'react-native';
|
|
3
3
|
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
4
|
-
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
5
4
|
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
6
5
|
import { WebComponent } from '../../webComponent/WebComponent';
|
|
7
6
|
import { getActivityParams, getActivityScript, injectFiltersChanged, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';
|
|
8
|
-
import EventBus from '../../helpers/EventBus';
|
|
9
7
|
import { RESPONSE_KEYS } from '../../messages/webMessages/onLoadMessage';
|
|
10
8
|
import { ActivityMessage } from '../../messages/webMessages/activityMessage';
|
|
11
9
|
import { BottomSheetRenderingType } from '../../types/internal/bottomSheet.types';
|
|
12
10
|
import { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';
|
|
13
11
|
import { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';
|
|
14
12
|
import { withReduxStore } from '../../helpers/store/helpers';
|
|
13
|
+
import { setEvent } from '../../slices/SharedEventsSlice';
|
|
14
|
+
import { useDispatch } from 'react-redux';
|
|
15
|
+
import { useListenerToEvent } from '../../hooks/useListenerToEvent';
|
|
15
16
|
const DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;
|
|
16
17
|
const UNActivityComponent = props => {
|
|
18
|
+
const dispatch = useDispatch();
|
|
17
19
|
const webRef = useRef(null);
|
|
18
20
|
const [defaultHeight, setDefaultHeight] = useState();
|
|
19
21
|
const requestRefresh = data => {
|
|
@@ -22,11 +24,11 @@ const UNActivityComponent = props => {
|
|
|
22
24
|
const dispatchActivityFiltersChanged = query => {
|
|
23
25
|
injectFiltersChanged(webRef.current, query);
|
|
24
26
|
};
|
|
25
|
-
|
|
27
|
+
useListenerToEvent({
|
|
26
28
|
busEventKey: UnitMessage.UNIT_REQUEST_REFRESH,
|
|
27
29
|
action: requestRefresh
|
|
28
30
|
});
|
|
29
|
-
|
|
31
|
+
useListenerToEvent({
|
|
30
32
|
busEventKey: ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED,
|
|
31
33
|
action: dispatchActivityFiltersChanged
|
|
32
34
|
});
|
|
@@ -38,11 +40,11 @@ const UNActivityComponent = props => {
|
|
|
38
40
|
props.onLoad(response);
|
|
39
41
|
return;
|
|
40
42
|
}
|
|
41
|
-
if (RESPONSE_KEYS.
|
|
43
|
+
if (RESPONSE_KEYS.authorizations in response && RESPONSE_KEYS.transactions in response) {
|
|
42
44
|
// ActivityOnLoadResponse;
|
|
43
45
|
const activityOnLoad = {
|
|
44
46
|
data: {
|
|
45
|
-
[RESPONSE_KEYS.
|
|
47
|
+
[RESPONSE_KEYS.authorizations]: response[RESPONSE_KEYS.authorizations].data,
|
|
46
48
|
[RESPONSE_KEYS.transactions]: response[RESPONSE_KEYS.transactions].data
|
|
47
49
|
}
|
|
48
50
|
};
|
|
@@ -61,11 +63,14 @@ const UNActivityComponent = props => {
|
|
|
61
63
|
componentResourceId: props.accountId,
|
|
62
64
|
requestRenderingEvent: message.details
|
|
63
65
|
};
|
|
64
|
-
const
|
|
66
|
+
const data = {
|
|
65
67
|
type: BottomSheetRenderingType.Slot,
|
|
66
68
|
data: slotData
|
|
67
69
|
};
|
|
68
|
-
|
|
70
|
+
dispatch(setEvent({
|
|
71
|
+
key: BottomSheetNativeMessage.START_FLOW,
|
|
72
|
+
data
|
|
73
|
+
}));
|
|
69
74
|
break;
|
|
70
75
|
}
|
|
71
76
|
case UnitMessage.UNIT_ON_LOAD:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","useState","Dimensions","View","UnitMessage","
|
|
1
|
+
{"version":3,"names":["React","useRef","useState","Dimensions","View","UnitMessage","PageMessage","WebComponent","getActivityParams","getActivityScript","injectFiltersChanged","injectRefreshEventIfNeeded","RESPONSE_KEYS","ActivityMessage","BottomSheetRenderingType","PresentationMode","WebComponentType","BottomSheetNativeMessage","withReduxStore","setEvent","useDispatch","useListenerToEvent","DEFAULT_HEIGHT","get","height","UNActivityComponent","props","dispatch","webRef","defaultHeight","setDefaultHeight","requestRefresh","data","current","dispatchActivityFiltersChanged","query","busEventKey","UNIT_REQUEST_REFRESH","action","UNIT_ACTIVITY_FILTERS_CHANGED","handleUnitOnLoad","response","onLoad","errors","authorizations","transactions","activityOnLoad","console","error","handleWebViewMessage","message","type","UNIT_REQUEST_RENDERING","slotData","componentName","activity","componentResourceId","accountId","requestRenderingEvent","details","Slot","key","START_FLOW","UNIT_ON_LOAD","PAGE_HEIGHT","currentHeight","renderActivityWebView","createElement","ref","presentationMode","Inherit","params","onMessage","nestedScrollEnabled","theme","language","script","style"],"sources":["UNActivityComponent.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport type { UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../types/shared';\nimport { WebComponent } from '../../webComponent/WebComponent';\nimport {\n getActivityParams,\n getActivityScript,\n injectFiltersChanged,\n injectRefreshEventIfNeeded,\n} from './UNActivityComponent.utils';\nimport type WebView from 'react-native-webview';\nimport type { UNActivityOnLoadData } from '../../types/shared/activity.types';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport { ActivityMessage } from '../../messages/webMessages/activityMessage';\nimport {\n BottomSheetRenderingType,\n type BottomSheetSlotData,\n type SlotRendering,\n} from '../../types/internal/bottomSheet.types';\nimport { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';\nimport { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';\nimport { withReduxStore } from '../../helpers/store/helpers';\nimport { setEvent } from '../../slices/SharedEventsSlice';\nimport { useDispatch } from 'react-redux';\nimport { useListenerToEvent } from '../../hooks/useListenerToEvent';\nimport type { UNActivityComponentPaginationType } from '../../types/shared';\n\nconst DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;\n\nexport interface UNActivityComponentProps {\n // inputs\n customerToken: string;\n accountId?: string;\n queryFilter?: string;\n\n // ui\n theme?: string;\n language?: string;\n hideFilterButton?: boolean;\n paginationType?: UNActivityComponentPaginationType;\n transactionsPerPage?: number;\n // event\n onLoad?: (response: UNOnLoadResponse<UNActivityOnLoadData>) => void;\n}\n\nconst UNActivityComponent = (props: UNActivityComponentProps) => {\n const dispatch = useDispatch();\n const webRef = useRef<WebView>(null);\n const [defaultHeight, setDefaultHeight] = useState<number>();\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data);\n };\n\n const dispatchActivityFiltersChanged = (query: string) => {\n injectFiltersChanged(webRef.current, query);\n };\n\n useListenerToEvent({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToEvent({\n busEventKey: ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED,\n action: dispatchActivityFiltersChanged,\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.authorizations in response && RESPONSE_KEYS.transactions in response) {\n // ActivityOnLoadResponse;\n const activityOnLoad: UNOnLoadResponseData<UNActivityOnLoadData> = {\n data: {\n [RESPONSE_KEYS.authorizations]: response[RESPONSE_KEYS.authorizations].data,\n [RESPONSE_KEYS.transactions]: response[RESPONSE_KEYS.transactions].data,\n },\n };\n props.onLoad(activityOnLoad);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const slotData: BottomSheetSlotData = {\n componentName: WebComponentType.activity,\n componentResourceId: props.accountId,\n requestRenderingEvent: message.details as RequestRenderingEvent,\n };\n\n const data = {\n type: BottomSheetRenderingType.Slot,\n data: slotData,\n } as SlotRendering;\n\n dispatch(setEvent({ key: BottomSheetNativeMessage.START_FLOW, data }));\n break;\n }\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 currentHeight === 0 && setDefaultHeight(DEFAULT_HEIGHT);\n break;\n }\n }\n };\n\n const renderActivityWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.activity}\n presentationMode={PresentationMode.Inherit}\n params={getActivityParams(props)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n nestedScrollEnabled={true}\n theme={props.theme}\n language={props.language}\n script={getActivityScript()}\n />\n );\n };\n\n if (!defaultHeight) {\n return renderActivityWebView();\n }\n\n return (\n <View style={{ height: defaultHeight }}>\n {renderActivityWebView()}\n </View>\n );\n};\n\nexport default withReduxStore<UNActivityComponentProps>(UNActivityComponent);\n"],"mappings":"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"}
|
|
@@ -3,11 +3,15 @@ import { WebComponentType } from '../../types/internal/webComponent.types';
|
|
|
3
3
|
export const getActivityParams = props => {
|
|
4
4
|
const accountIdParam = props.accountId ? `account-id="${props.accountId}"` : '';
|
|
5
5
|
const queryFilterParam = props.queryFilter ? `query-filter="${props.queryFilter}"` : '';
|
|
6
|
+
const paginationTypeParam = props.paginationType ? `pagination-type="${props.paginationType}"` : '';
|
|
7
|
+
const transactionsPerPageParam = props.transactionsPerPage ? `transactions-per-page="${props.transactionsPerPage}"` : '';
|
|
6
8
|
return `
|
|
7
9
|
customer-token="${props.customerToken}"
|
|
8
10
|
${accountIdParam}
|
|
9
11
|
hide-filter-button="${props.hideFilterButton || false}"
|
|
10
12
|
${queryFilterParam}
|
|
13
|
+
${paginationTypeParam}
|
|
14
|
+
${transactionsPerPageParam}
|
|
11
15
|
style="height: 100%"
|
|
12
16
|
`;
|
|
13
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DISPATCH_REQUEST_REFRESH","WebComponentType","getActivityParams","props","accountIdParam","accountId","queryFilterParam","queryFilter","customerToken","hideFilterButton","getActivityScript","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","activity","valueOf","injectJavaScript","JSON","stringify","injectFiltersChanged","query"],"sources":["UNActivityComponent.utils.ts"],"sourcesContent":["import type { RequestRefreshEvent } from './../../messages/webMessages/unitMessages';\nimport type { WebView } from 'react-native-webview';\nimport { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type { UNActivityComponentProps } from './UNActivityComponent';\nimport { WebComponentType } from '../../types/internal/webComponent.types';\n\nexport const getActivityParams = (props: UNActivityComponentProps) => {\n const accountIdParam = props.accountId ? `account-id=\"${props.accountId}\"` : '';\n const queryFilterParam = props.queryFilter ? `query-filter=\"${props.queryFilter}\"` : '';\n\n return `\n customer-token=\"${props.customerToken}\"\n ${accountIdParam}\n hide-filter-button=\"${props.hideFilterButton || false}\"\n ${queryFilterParam}\n style=\"height: 100%\"\n `;\n};\n\nexport const getActivityScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.activity.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const injectFiltersChanged = (currentWeb: WebView | null, query: string) => {\n currentWeb?.injectJavaScript(`dispatchActivityFilterChangedEvent('${query}')`);\n};\n"],"mappings":"AAEA,SAASA,wBAAwB,QAAQ,iCAAiC;AAE1E,SAASC,gBAAgB,QAAQ,yCAAyC;AAE1E,OAAO,MAAMC,iBAAiB,GAAIC,KAA+B,IAAK;EACpE,MAAMC,cAAc,GAAGD,KAAK,CAACE,SAAS,GAAI,eAAcF,KAAK,CAACE,SAAU,GAAE,GAAG,EAAE;EAC/E,MAAMC,gBAAgB,GAAGH,KAAK,CAACI,WAAW,GAAI,iBAAgBJ,KAAK,CAACI,WAAY,GAAE,GAAG,EAAE;
|
|
1
|
+
{"version":3,"names":["DISPATCH_REQUEST_REFRESH","WebComponentType","getActivityParams","props","accountIdParam","accountId","queryFilterParam","queryFilter","paginationTypeParam","paginationType","transactionsPerPageParam","transactionsPerPage","customerToken","hideFilterButton","getActivityScript","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","activity","valueOf","injectJavaScript","JSON","stringify","injectFiltersChanged","query"],"sources":["UNActivityComponent.utils.ts"],"sourcesContent":["import type { RequestRefreshEvent } from './../../messages/webMessages/unitMessages';\nimport type { WebView } from 'react-native-webview';\nimport { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type { UNActivityComponentProps } from './UNActivityComponent';\nimport { WebComponentType } from '../../types/internal/webComponent.types';\n\nexport const getActivityParams = (props: UNActivityComponentProps) => {\n const accountIdParam = props.accountId ? `account-id=\"${props.accountId}\"` : '';\n const queryFilterParam = props.queryFilter ? `query-filter=\"${props.queryFilter}\"` : '';\n const paginationTypeParam = props.paginationType ? `pagination-type=\"${props.paginationType}\"` : '';\n const transactionsPerPageParam = props.transactionsPerPage ? `transactions-per-page=\"${props.transactionsPerPage}\"` : '';\n return `\n customer-token=\"${props.customerToken}\"\n ${accountIdParam}\n hide-filter-button=\"${props.hideFilterButton || false}\"\n ${queryFilterParam}\n ${paginationTypeParam}\n ${transactionsPerPageParam}\n style=\"height: 100%\"\n `;\n};\n\nexport const getActivityScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.activity.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const injectFiltersChanged = (currentWeb: WebView | null, query: string) => {\n currentWeb?.injectJavaScript(`dispatchActivityFilterChangedEvent('${query}')`);\n};\n"],"mappings":"AAEA,SAASA,wBAAwB,QAAQ,iCAAiC;AAE1E,SAASC,gBAAgB,QAAQ,yCAAyC;AAE1E,OAAO,MAAMC,iBAAiB,GAAIC,KAA+B,IAAK;EACpE,MAAMC,cAAc,GAAGD,KAAK,CAACE,SAAS,GAAI,eAAcF,KAAK,CAACE,SAAU,GAAE,GAAG,EAAE;EAC/E,MAAMC,gBAAgB,GAAGH,KAAK,CAACI,WAAW,GAAI,iBAAgBJ,KAAK,CAACI,WAAY,GAAE,GAAG,EAAE;EACvF,MAAMC,mBAAmB,GAAGL,KAAK,CAACM,cAAc,GAAI,oBAAmBN,KAAK,CAACM,cAAe,GAAE,GAAG,EAAE;EACnG,MAAMC,wBAAwB,GAAGP,KAAK,CAACQ,mBAAmB,GAAI,0BAAyBR,KAAK,CAACQ,mBAAoB,GAAE,GAAG,EAAE;EACxH,OAAQ;AACV,sBAAsBR,KAAK,CAACS,aAAc;AAC1C,MAAMR,cAAe;AACrB,0BAA0BD,KAAK,CAACU,gBAAgB,IAAI,KAAM;AAC1D,MAAMP,gBAAiB;AACvB,MAAME,mBAAoB;AAC1B,MAAME,wBAAyB;AAC/B;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMI,iBAAiB,GAAGA,CAAA,KAAM;EACrC,OAAOd,wBAAwB;AACjC,CAAC;AAED,OAAO,MAAMe,0BAA0B,GAAGA,CAACC,UAA0B,EAAEC,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAAClB,gBAAgB,CAACmB,QAAQ,CAACC,OAAO,EAAE,CAAC,EAAE;IACzGL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,yBAAwBC,IAAI,CAACC,SAAS,CAACP,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC;AAED,OAAO,MAAMQ,oBAAoB,GAAGA,CAACT,UAA0B,EAAEU,KAAa,KAAK;EACjFV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,uCAAsCI,KAAM,IAAG,CAAC;AAChF,CAAC"}
|
|
@@ -3,11 +3,9 @@ import React, { useEffect, useRef, useState } from 'react';
|
|
|
3
3
|
import { WebComponent } from '../../webComponent/WebComponent';
|
|
4
4
|
import { Dimensions, Linking, View } from 'react-native';
|
|
5
5
|
import BottomSheet from '../../helpers/BottomSheet/BottomSheet';
|
|
6
|
-
import EventBus from '../../helpers/EventBus';
|
|
7
6
|
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
8
7
|
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
9
8
|
import { CardMessage } from '../../messages/webMessages/cardMessage';
|
|
10
|
-
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
11
9
|
import { extractCardIdFromComponentParams, getBottomSheetScript, injectHtmlFullScreenHeight, isAddToWalletByComponentParams, isAddToWalletFromRequestRendering, renderingBottomSheetRequest, resetHtml } from './UNBottomSheetComponent.utils';
|
|
12
10
|
import { getStylesObject } from './UNBottomSheetComponent.styles';
|
|
13
11
|
import { useAppStateListener } from '../../hooks/useAppStateListener';
|
|
@@ -21,6 +19,9 @@ import { BottomSheetRenderingType } from '../../types/internal/bottomSheet.types
|
|
|
21
19
|
import { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';
|
|
22
20
|
import { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';
|
|
23
21
|
import { withReduxStore } from '../../helpers/store/helpers';
|
|
22
|
+
import { useListenerToEvent } from '../../hooks/useListenerToEvent';
|
|
23
|
+
import { setEvent } from '../../slices/SharedEventsSlice';
|
|
24
|
+
import { useDispatch } from 'react-redux';
|
|
24
25
|
export let ScrollState;
|
|
25
26
|
(function (ScrollState) {
|
|
26
27
|
ScrollState["onTop"] = "onTop";
|
|
@@ -29,6 +30,7 @@ export let ScrollState;
|
|
|
29
30
|
ScrollState["onlyBottomSheet"] = "onlyBottomSheet";
|
|
30
31
|
})(ScrollState || (ScrollState = {}));
|
|
31
32
|
const UNBottomSheetComponent = () => {
|
|
33
|
+
const dispatch = useDispatch();
|
|
32
34
|
const [isBottomSheetActive, setIsBottomSheetActive] = useState(false);
|
|
33
35
|
const [height, setHeight] = useState(0);
|
|
34
36
|
const fullScreenHeight = Dimensions.get('window').height * BOTTOM_SHEET_MAX_PERCENTAGE_SIZE;
|
|
@@ -103,11 +105,11 @@ const UNBottomSheetComponent = () => {
|
|
|
103
105
|
setNewHeight(newHeightMessage);
|
|
104
106
|
}
|
|
105
107
|
}, [shouldShowComponent, newHeightMessage, isAddToWallet]);
|
|
106
|
-
|
|
108
|
+
useListenerToEvent({
|
|
107
109
|
busEventKey: BottomSheetNativeMessage.START_FLOW,
|
|
108
110
|
action: startFlow
|
|
109
111
|
});
|
|
110
|
-
|
|
112
|
+
useListenerToEvent({
|
|
111
113
|
busEventKey: UnitMessage.UNIT_REQUEST_CLOSE_FLOW,
|
|
112
114
|
action: handleCloseFlow
|
|
113
115
|
});
|
|
@@ -206,16 +208,28 @@ const UNBottomSheetComponent = () => {
|
|
|
206
208
|
break;
|
|
207
209
|
}
|
|
208
210
|
case CardMessage.CARD_ACTIVATED:
|
|
209
|
-
|
|
211
|
+
dispatch(setEvent({
|
|
212
|
+
key: CardMessage.CARD_ACTIVATED,
|
|
213
|
+
data: message.details.card
|
|
214
|
+
}));
|
|
210
215
|
break;
|
|
211
216
|
case CardMessage.CARD_STATUS_CHANGED:
|
|
212
|
-
|
|
217
|
+
dispatch(setEvent({
|
|
218
|
+
key: CardMessage.CARD_STATUS_CHANGED,
|
|
219
|
+
data: message.details.card
|
|
220
|
+
}));
|
|
213
221
|
break;
|
|
214
222
|
case AccountMessage.UNIT_ACCOUNT_CHANGED:
|
|
215
|
-
|
|
223
|
+
dispatch(setEvent({
|
|
224
|
+
key: AccountMessage.UNIT_ACCOUNT_CHANGED,
|
|
225
|
+
data: message.details.account
|
|
226
|
+
}));
|
|
216
227
|
break;
|
|
217
228
|
case ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED:
|
|
218
|
-
|
|
229
|
+
dispatch(setEvent({
|
|
230
|
+
key: ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED,
|
|
231
|
+
data: message.details
|
|
232
|
+
}));
|
|
219
233
|
break;
|
|
220
234
|
case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:
|
|
221
235
|
handleCloseFlow();
|
|
@@ -1 +1 @@
|
|
|
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","UNAccountAction","AccountMessage","ActivityMessage","BOTTOM_SHEET_MAX_PERCENTAGE_SIZE","BottomSheetRenderingType","PresentationMode","WebComponentType","BottomSheetNativeMessage","withReduxStore","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","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 { UNAccountAction } 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';\nimport { withReduxStore } from '../../helpers/store/helpers';\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\nconst 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 === UNAccountAction.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 const height = (message.details as HeightEvent).height;\n setHeight(height < fullScreenHeight ? height : fullScreenHeight);\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 <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\nexport default withReduxStore(UNBottomSheetComponent);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","WebComponent","Dimensions","Linking","View","BottomSheet","PageMessage","UnitMessage","CardMessage","extractCardIdFromComponentParams","getBottomSheetScript","injectHtmlFullScreenHeight","isAddToWalletByComponentParams","isAddToWalletFromRequestRendering","renderingBottomSheetRequest","resetHtml","getStylesObject","useAppStateListener","UNAddToWalletBottomSheetItem","getAccountActionType","UNAccountAction","AccountMessage","ActivityMessage","BOTTOM_SHEET_MAX_PERCENTAGE_SIZE","BottomSheetRenderingType","PresentationMode","WebComponentType","BottomSheetNativeMessage","withReduxStore","useListenerToEvent","setEvent","useDispatch","ScrollState","UNBottomSheetComponent","dispatch","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","key","CARD_STATUS_CHANGED","UNIT_ACCOUNT_CHANGED","UNIT_ACTIVITY_FILTERS_CHANGED","UNIT_REQUEST_OPEN_LINK","href","openURL","onScrollWebView","event","currY","nativeEvent","contentOffset","y","onlyBottomSheet","onlyWebView","handleWebViewScroll","renderBottomSheetItem","_bottomSheetSlotData$3","_webComponentData$par","createElement","renderingRequest","cardId","ref","slot","presentationMode","CoverInjectedHeight","script","onMessage","isScrollable","handleScroll","params","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 { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { RequestOpenLinkEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { CardMessage, CardActivatedEvent, CardStatusChangedEvent } from '../../messages/webMessages/cardMessage';\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 { UNAccountAction } 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 {\n BottomSheetRenderingType,\n BottomSheetSlotData,\n NativeComponentData,\n WebComponentData,\n} from '../../types/internal/bottomSheet.types';\nimport { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';\nimport {\n BottomSheetNativeMessage,\n type StartBottomSheetFlowMessage,\n} from '../../messages/nativeMessages/bottomSheetMessage';\nimport { withReduxStore } from '../../helpers/store/helpers';\nimport { useListenerToEvent } from '../../hooks/useListenerToEvent';\nimport { setEvent } from '../../slices/SharedEventsSlice';\nimport { useDispatch } from 'react-redux';\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\nconst UNBottomSheetComponent = () => {\n const dispatch = useDispatch();\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 useListenerToEvent({ busEventKey: BottomSheetNativeMessage.START_FLOW, action: startFlow });\n useListenerToEvent({ 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 === UNAccountAction.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 const height = (message.details as HeightEvent).height;\n setHeight(height < fullScreenHeight ? height : fullScreenHeight);\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 dispatch(setEvent({\n key: CardMessage.CARD_ACTIVATED,\n data: (message.details as CardActivatedEvent).card,\n }));\n break;\n case CardMessage.CARD_STATUS_CHANGED:\n dispatch(setEvent({\n key: CardMessage.CARD_STATUS_CHANGED,\n data: (message.details as CardStatusChangedEvent).card,\n }));\n break;\n case AccountMessage.UNIT_ACCOUNT_CHANGED:\n dispatch(setEvent({\n key: AccountMessage.UNIT_ACCOUNT_CHANGED,\n data: (message.details as AccountChangedEvent).account,\n }));\n break;\n case ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED:\n dispatch(setEvent({\n key: ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED,\n data: (message.details as ActivityFiltersChangedEvent),\n }));\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}\n renderingRequest={bottomSheetSlotData.requestRenderingEvent}\n cardId={bottomSheetSlotData?.componentResourceId}\n 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}\n cardId={cardId} fullScreenHeight={fullScreenHeight} />;\n }\n return null;\n case BottomSheetRenderingType.NativeComponent:\n return null;\n }\n };\n\n return (\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\nexport default withReduxStore(UNBottomSheetComponent);\n"],"mappings":"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"}
|
|
@@ -10,8 +10,10 @@ import { BottomSheetRenderingType } from '../../../../types/internal/bottomSheet
|
|
|
10
10
|
import { PresentationMode, WebComponentType } from '../../../../types/internal/webComponent.types';
|
|
11
11
|
import { useCardWallet } from '../../../../helpers/pushProvisioningService/hooks/useCardWallet';
|
|
12
12
|
import { launchStartCardProvisioning } from '../../../../helpers/pushProvisioningService/startProvisioning';
|
|
13
|
-
import
|
|
13
|
+
import { useDispatch } from 'react-redux';
|
|
14
|
+
import { setEvent } from '../../../../slices/SharedEventsSlice';
|
|
14
15
|
export const UNAddToWalletBottomSheetItem = props => {
|
|
16
|
+
const dispatch = useDispatch();
|
|
15
17
|
const styles = getStylesObject();
|
|
16
18
|
const webRef = useRef(null);
|
|
17
19
|
const {
|
|
@@ -44,7 +46,10 @@ export const UNAddToWalletBottomSheetItem = props => {
|
|
|
44
46
|
injectHtmlFullScreenHeight(webRef.current, props.fullScreenHeight);
|
|
45
47
|
break;
|
|
46
48
|
case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:
|
|
47
|
-
|
|
49
|
+
dispatch(setEvent({
|
|
50
|
+
key: UnitMessage.UNIT_REQUEST_CLOSE_FLOW,
|
|
51
|
+
data: {}
|
|
52
|
+
}));
|
|
48
53
|
break;
|
|
49
54
|
default:
|
|
50
55
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","WebComponent","injectHtmlFullScreenHeight","renderingBottomSheetRequest","getStylesObject","ActivityIndicator","UnitMessage","UnitAddToWalletButtonView","UNCardAddToWalletStatus","BottomSheetRenderingType","PresentationMode","WebComponentType","useCardWallet","launchStartCardProvisioning","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","WebComponent","injectHtmlFullScreenHeight","renderingBottomSheetRequest","getStylesObject","ActivityIndicator","UnitMessage","UnitAddToWalletButtonView","UNCardAddToWalletStatus","BottomSheetRenderingType","PresentationMode","WebComponentType","useCardWallet","launchStartCardProvisioning","useDispatch","setEvent","UNAddToWalletBottomSheetItem","props","dispatch","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","key","data","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 { useDispatch } from 'react-redux';\nimport { setEvent } from '../../../../slices/SharedEventsSlice';\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 dispatch = useDispatch();\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 dispatch(setEvent({\n key: UnitMessage.UNIT_REQUEST_CLOSE_FLOW,\n data: {},\n }));\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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"}
|
|
@@ -2,9 +2,7 @@ import React, { useImperativeHandle, useRef, useState, useEffect } from 'react';
|
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
4
4
|
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
5
|
-
import EventBus from '../../helpers/EventBus';
|
|
6
5
|
import { WebComponent } from '../../webComponent/WebComponent';
|
|
7
|
-
import { useListenerToBus } from '../../hooks/listenerToBus';
|
|
8
6
|
import { getCardParams, getCardScript, injectRefreshEventIfNeeded, injectOpenActionsMenuScript, injectRequestCardActionScript, injectRequestShowSensitiveDataScript, injectRequestHideSensitiveDataScript } from './UNCardComponent.utils';
|
|
9
7
|
import { CardMessage } from '../../messages/webMessages/cardMessage';
|
|
10
8
|
import { RESPONSE_KEYS } from '../../messages/webMessages/onLoadMessage';
|
|
@@ -14,9 +12,12 @@ import { UnitSDK } from '../../unitSdkManager/UnitSdkManager';
|
|
|
14
12
|
import { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';
|
|
15
13
|
import { useLaunchInitialize } from '../../helpers/pushProvisioningService/hooks/useLaunchInitialize';
|
|
16
14
|
import { selectWallet } from '../../slices/pushProvisioningSlice';
|
|
17
|
-
import { useSelector } from 'react-redux';
|
|
15
|
+
import { useDispatch, useSelector } from 'react-redux';
|
|
18
16
|
import { withReduxStoreAndRefForwarding } from '../../helpers/store/helpers';
|
|
17
|
+
import { useListenerToEvent } from '../../hooks/useListenerToEvent';
|
|
18
|
+
import { setEvent } from '../../slices/SharedEventsSlice';
|
|
19
19
|
const UNCardComponent = /*#__PURE__*/React.forwardRef(function UNCardComponent(props, cardRef) {
|
|
20
|
+
const dispatch = useDispatch();
|
|
20
21
|
const [height, setHeight] = useState(0);
|
|
21
22
|
const webRef = useRef(null);
|
|
22
23
|
const {
|
|
@@ -68,15 +69,15 @@ const UNCardComponent = /*#__PURE__*/React.forwardRef(function UNCardComponent(p
|
|
|
68
69
|
console.error('On Load Error: unexpected response type');
|
|
69
70
|
return;
|
|
70
71
|
};
|
|
71
|
-
|
|
72
|
+
useListenerToEvent({
|
|
72
73
|
busEventKey: UnitMessage.UNIT_REQUEST_REFRESH,
|
|
73
74
|
action: requestRefresh
|
|
74
75
|
});
|
|
75
|
-
|
|
76
|
+
useListenerToEvent({
|
|
76
77
|
busEventKey: CardMessage.CARD_STATUS_CHANGED,
|
|
77
78
|
action: cardStatusChanged
|
|
78
79
|
});
|
|
79
|
-
|
|
80
|
+
useListenerToEvent({
|
|
80
81
|
busEventKey: CardMessage.CARD_ACTIVATED,
|
|
81
82
|
action: cardActivated
|
|
82
83
|
});
|
|
@@ -90,11 +91,14 @@ const UNCardComponent = /*#__PURE__*/React.forwardRef(function UNCardComponent(p
|
|
|
90
91
|
componentResourceId: props.cardId,
|
|
91
92
|
requestRenderingEvent: message.details
|
|
92
93
|
};
|
|
93
|
-
const
|
|
94
|
+
const data = {
|
|
94
95
|
type: BottomSheetRenderingType.Slot,
|
|
95
96
|
data: slotData
|
|
96
97
|
};
|
|
97
|
-
|
|
98
|
+
dispatch(setEvent({
|
|
99
|
+
key: BottomSheetNativeMessage.START_FLOW,
|
|
100
|
+
data
|
|
101
|
+
}));
|
|
98
102
|
break;
|
|
99
103
|
}
|
|
100
104
|
case PageMessage.PAGE_HEIGHT:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useImperativeHandle","useRef","useState","useEffect","View","PageMessage","UnitMessage","EventBus","WebComponent","useListenerToBus","getCardParams","getCardScript","injectRefreshEventIfNeeded","injectOpenActionsMenuScript","injectRequestCardActionScript","injectRequestShowSensitiveDataScript","injectRequestHideSensitiveDataScript","CardMessage","RESPONSE_KEYS","BottomSheetRenderingType","PresentationMode","WebComponentType","UnitSDK","BottomSheetNativeMessage","useLaunchInitialize","selectWallet","useSelector","withReduxStoreAndRefForwarding","UNCardComponent","forwardRef","props","cardRef","height","setHeight","webRef","initializePushProvisioning","signedNonce","openActionsMenu","current","openAction","action","showSensitiveData","hideSensitiveData","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","getPushProvisionModule","createElement","style","width","minWidth","ref","presentationMode","Default","params","theme","language","script","onMessage","isScrollable"],"sources":["UNCardComponent.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useEffect } from 'react';\nimport { 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 {\n getCardParams,\n getCardScript,\n injectRefreshEventIfNeeded,\n injectOpenActionsMenuScript,\n injectRequestCardActionScript,\n injectRequestShowSensitiveDataScript, injectRequestHideSensitiveDataScript,\n} 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 {\n BottomSheetRenderingType,\n SlotRendering,\n type BottomSheetSlotData,\n} from '../../types/internal/bottomSheet.types';\nimport { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';\nimport { UnitSDK } from '../../unitSdkManager/UnitSdkManager';\nimport { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';\nimport { useLaunchInitialize } from '../../helpers/pushProvisioningService/hooks/useLaunchInitialize';\nimport { selectWallet } from '../../slices/pushProvisioningSlice';\nimport { useSelector } from 'react-redux';\nimport { withReduxStoreAndRefForwarding } from '../../helpers/store/helpers';\n\n\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}\n\nexport interface CardRef {\n openActionsMenu: () => void;\n openAction: (action: UNCardMenuAction) => void;\n showSensitiveData: () => void;\n hideSensitiveData: () => void;\n}\n\nconst UNCardComponent = React.forwardRef<CardRef, UNCardComponentProps>(function UNCardComponent(props, cardRef) {\n const [height, setHeight] = useState(0);\n\n const webRef = useRef<WebView>(null);\n const { initializePushProvisioning } = useLaunchInitialize();\n const { signedNonce } = useSelector(selectWallet);\n\n useImperativeHandle(cardRef, () => ({\n openActionsMenu() {\n injectOpenActionsMenuScript(webRef.current);\n },\n openAction(action: UNCardMenuAction) {\n injectRequestCardActionScript(webRef.current, action);\n },\n showSensitiveData() {\n injectRequestShowSensitiveDataScript(webRef.current);\n },\n hideSensitiveData() {\n injectRequestHideSensitiveDataScript(webRef.current);\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 useEffect(() => {\n if (signedNonce || !UnitSDK.getPushProvisionModule()) return;\n initializePushProvisioning();\n }, []);\n\n return (\n <View style={{ height, width: '100%', minWidth: 235 }}>\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 isScrollable={false}\n />\n </View >\n );\n\n});\n\nexport default withReduxStoreAndRefForwarding<UNCardComponentProps, CardRef>(UNCardComponent);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useImperativeHandle","useRef","useState","useEffect","View","PageMessage","UnitMessage","WebComponent","getCardParams","getCardScript","injectRefreshEventIfNeeded","injectOpenActionsMenuScript","injectRequestCardActionScript","injectRequestShowSensitiveDataScript","injectRequestHideSensitiveDataScript","CardMessage","RESPONSE_KEYS","BottomSheetRenderingType","PresentationMode","WebComponentType","UnitSDK","BottomSheetNativeMessage","useLaunchInitialize","selectWallet","useDispatch","useSelector","withReduxStoreAndRefForwarding","useListenerToEvent","setEvent","UNCardComponent","forwardRef","props","cardRef","dispatch","height","setHeight","webRef","initializePushProvisioning","signedNonce","openActionsMenu","current","openAction","action","showSensitiveData","hideSensitiveData","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","Slot","key","START_FLOW","PAGE_HEIGHT","UNIT_ON_LOAD","setCustomerToken","customerToken","pushProvisioningModule","setPushProvisioningModule","getPushProvisionModule","createElement","style","width","minWidth","ref","presentationMode","Default","params","theme","language","script","onMessage","isScrollable"],"sources":["UNCardComponent.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useEffect } from 'react';\nimport { 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 { WebComponent } from '../../webComponent/WebComponent';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport {\n getCardParams,\n getCardScript,\n injectRefreshEventIfNeeded,\n injectOpenActionsMenuScript,\n injectRequestCardActionScript,\n injectRequestShowSensitiveDataScript, injectRequestHideSensitiveDataScript,\n} 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 {\n BottomSheetRenderingType,\n SlotRendering,\n type BottomSheetSlotData,\n} from '../../types/internal/bottomSheet.types';\nimport { PresentationMode, WebComponentType } from '../../types/internal/webComponent.types';\nimport { UnitSDK } from '../../unitSdkManager/UnitSdkManager';\nimport { BottomSheetNativeMessage } from '../../messages/nativeMessages/bottomSheetMessage';\nimport { useLaunchInitialize } from '../../helpers/pushProvisioningService/hooks/useLaunchInitialize';\nimport { selectWallet } from '../../slices/pushProvisioningSlice';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { withReduxStoreAndRefForwarding } from '../../helpers/store/helpers';\nimport { useListenerToEvent } from '../../hooks/useListenerToEvent';\nimport { setEvent } from '../../slices/SharedEventsSlice';\n\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}\n\nexport interface CardRef {\n openActionsMenu: () => void;\n openAction: (action: UNCardMenuAction) => void;\n showSensitiveData: () => void;\n hideSensitiveData: () => void;\n}\n\nconst UNCardComponent = React.forwardRef<CardRef, UNCardComponentProps>(function UNCardComponent(props, cardRef) {\n const dispatch = useDispatch();\n\n const [height, setHeight] = useState(0);\n\n const webRef = useRef<WebView>(null);\n const { initializePushProvisioning } = useLaunchInitialize();\n const { signedNonce } = useSelector(selectWallet);\n\n useImperativeHandle(cardRef, () => ({\n openActionsMenu() {\n injectOpenActionsMenuScript(webRef.current);\n },\n openAction(action: UNCardMenuAction) {\n injectRequestCardActionScript(webRef.current, action);\n },\n showSensitiveData() {\n injectRequestShowSensitiveDataScript(webRef.current);\n },\n hideSensitiveData() {\n injectRequestHideSensitiveDataScript(webRef.current);\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 useListenerToEvent({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToEvent({ busEventKey: CardMessage.CARD_STATUS_CHANGED, action: cardStatusChanged });\n useListenerToEvent({ 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 data = {\n type: BottomSheetRenderingType.Slot,\n data: slotData,\n } as SlotRendering;\n\n dispatch(setEvent({ key: BottomSheetNativeMessage.START_FLOW, data }));\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 useEffect(() => {\n if (signedNonce || !UnitSDK.getPushProvisionModule()) return;\n initializePushProvisioning();\n }, []);\n\n return (\n <View style={{ height, width: '100%', minWidth: 235 }}>\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 isScrollable={false}\n />\n </View>\n );\n\n});\n\nexport default withReduxStoreAndRefForwarding<UNCardComponentProps, CardRef>(UNCardComponent);\n"],"mappings":"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"}
|