react-native-unit-components 1.5.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ios/UNAppInfo/UNAppInfo.swift +5 -1
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +44 -2
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +18 -11
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +3 -5
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +2 -23
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +2 -1
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +2 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +1 -0
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +1 -0
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
- package/lib/commonjs/components/utils/nativeModulesInfo.js +20 -0
- package/lib/commonjs/components/utils/nativeModulesInfo.js.map +1 -0
- package/lib/commonjs/scripts/html/bodyScript.js +13 -2
- package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
- package/lib/commonjs/webComponent/WebComponent.js +2 -1
- package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js +47 -5
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +16 -10
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +3 -5
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +1 -21
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -1
- package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js +2 -1
- package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +2 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +1 -0
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +1 -0
- package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
- package/lib/module/components/utils/nativeModulesInfo.js +13 -0
- package/lib/module/components/utils/nativeModulesInfo.js.map +1 -0
- package/lib/module/scripts/html/bodyScript.js +13 -2
- package/lib/module/scripts/html/bodyScript.js.map +1 -1
- package/lib/module/webComponent/WebComponent.js +2 -1
- package/lib/module/webComponent/WebComponent.js.map +1 -1
- package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +1 -0
- package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.utils.d.ts +4 -1
- package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.utils.d.ts +0 -1
- package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +1 -1
- package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +1 -0
- package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +1 -0
- package/lib/typescript/components/utils/nativeModulesInfo.d.ts +1 -0
- package/lib/typescript/scripts/html/bodyScript.d.ts +1 -0
- package/package.json +1 -1
- package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +44 -5
- package/src/components/UNACHCreditComponent/UNACHCreditComponent.utils.ts +14 -11
- package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +4 -8
- package/src/components/UNACHDebitComponent/UNACHDebitComponent.utils.ts +1 -20
- package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +2 -1
- package/src/components/UNActivityComponent/UNActivityComponent.tsx +1 -1
- package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +3 -1
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +6 -0
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +1 -0
- package/src/components/UNCardComponent/UNCardComponent.tsx +1 -0
- package/src/components/UNCardComponent/UNCardComponent.utils.ts +1 -0
- package/src/components/utils/nativeModulesInfo.ts +11 -0
- package/src/scripts/html/bodyScript.ts +13 -3
- package/src/webComponent/WebComponent.tsx +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_pageMessage","_unitMessages","_EventBus","_interopRequireDefault","_WebComponent","_listenerToBus","_UNCardComponent","_bodyHtml","_cardMessage","_cardMessage2","_onLoadMessage","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNCardComponent","React","forwardRef","props","cardRef","height","setHeight","useState","windowWidth","Dimensions","width","walletRef","useRef","webRef","useImperativeHandle","openActionsMenu","injectOpenActionsMenuScript","current","openAction","action","injectRequestCardActionScript","cardStatusChanged","card","onStatusChanged","cardActivated","onCardActivated","requestRefresh","data","injectRefreshEventIfNeeded","cardId","startPushProvisioning","onAddToWalletClicked","getAddToWalletStatus","getWallets","handleUnitOnLoad","response","onLoad","RESPONSE_KEYS","errors","console","error","useListenerToBus","busEventKey","UnitMessage","UNIT_REQUEST_REFRESH","CardMessage","CARD_STATUS_CHANGED","CARD_ACTIVATED","CardNativeMessage","CARD_START_PUSH_PROVISIONING","CARD_GET_ADD_TO_WALLET_STATUS","handleMessage","message","details","type","UNIT_REQUEST_RENDERING","event","componentName","WebComponentType","componentResourceId","requestRenderingEvent","EventBus","Instance","PageMessage","PAGE_HEIGHT","UNIT_ON_LOAD","walletResponse","launchGetWallets","customerToken","pushProvisioningModule","walletStatus","status","CARD_UPDATE_ADD_TO_WALLET_STATUS","launchStartCardProvisioning","Error","parsedError","JSON","parse","code","CardAddToWalletErrors","closedNativeWalletScreen","log","createElement","View","style","WebComponent","ref","presentationMode","PresentationMode","Default","params","getCardParams","theme","language","script","getCardScript","onMessage","isScrollable","exports"],"sources":["UNCardComponent.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\nimport { Dimensions, NativeModule, View } from 'react-native';\nimport type WebView from 'react-native-webview';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport EventBus from '../../helpers/EventBus';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getCardParams, getCardScript, injectRefreshEventIfNeeded, launchStartCardProvisioning, injectOpenActionsMenuScript, injectRequestCardActionScript } from './UNCardComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { UNOnLoadResponse, UNCardData, UNError, UNCardMenuAction } from '../../sharedTypes';\nimport { CardMessage } from '../../messages/webMessages/cardMessage';\nimport { launchGetWallets } from './UNCardComponent.utils';\nimport type { NativeModules } from 'react-native';\nimport type { UNWallet } from 'src/sharedTypes/wallet.types';\nimport { CardAddToWalletErrors, UNCardAddToWalletStatusEvent, CardGetAddToWalletStatusEvent, CardNativeMessage, CardStartPushProvisioningEvent } from '../../messages/nativeMessages/cardMessage';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nexport interface UNCardComponentProps {\n // inputs\n cardId: string;\n customerToken: string;\n\n // ui\n theme?: string;\n language?: string;\n hideActionsMenuButton?: boolean;\n hideCardTitle?: boolean;\n hideSensitiveDataButton?: boolean;\n\n // events\n onLoad?: (response: UNOnLoadResponse<UNCardData>) => void\n onStatusChanged?: (card: UNCardData) => void;\n onCardActivated?: (card: UNCardData) => void;\n pushProvisioningModule?: typeof NativeModules;\n}\nexport interface CardRef {\n openActionsMenu: () => void;\n openAction: (action: UNCardMenuAction) => void;\n}\n\nexport const UNCardComponent = React.forwardRef<CardRef, UNCardComponentProps>(function UNCardComponent(props, cardRef) {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const walletRef = useRef<UNWallet | null>(null);\n // walletRef can be changed to a state. (After the change of the listener hook)\n // TODO: walletState and checks it works. =)\n\n const webRef = useRef<WebView>(null);\n\n useImperativeHandle(cardRef, () => ({\n openActionsMenu() {\n injectOpenActionsMenuScript(webRef.current);\n },\n openAction(action: UNCardMenuAction) {\n injectRequestCardActionScript(webRef.current, action);\n }\n }));\n\n const cardStatusChanged = (card: UNCardData) => {\n if (props.onStatusChanged) {\n props.onStatusChanged(card);\n }\n };\n\n const cardActivated = (card: UNCardData) => {\n if (props.onCardActivated) {\n props.onCardActivated(card);\n }\n };\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data, props.cardId);\n };\n\n const startPushProvisioning = async (data: CardStartPushProvisioningEvent) => {\n if (data.cardId !== props.cardId) return;\n onAddToWalletClicked();\n };\n\n const getAddToWalletStatus = (data: CardGetAddToWalletStatusEvent) => {\n if (data.cardId !== props.cardId) return;\n getWallets();\n };\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.card in response) {\n // CardOnLoadResponse\n props.onLoad(response[RESPONSE_KEYS.card] as UNOnLoadResponse<UNCardData>);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: CardMessage.CARD_STATUS_CHANGED, action: cardStatusChanged });\n useListenerToBus({ busEventKey: CardMessage.CARD_ACTIVATED, action: cardActivated });\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_START_PUSH_PROVISIONING, action: startPushProvisioning });\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS, action: getAddToWalletStatus });\n\n const handleMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.card,\n componentResourceId: props.cardId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);\n break;\n }\n case PageMessage.PAGE_HEIGHT:\n setHeight((message.details as HeightEvent).height);\n break;\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n }\n };\n\n const getWallets = async () => {\n\n try {\n\n const walletResponse = await launchGetWallets(props.customerToken, props.cardId, props.pushProvisioningModule as NativeModule);\n\n if (!walletResponse) return;\n\n walletRef.current = walletResponse;\n\n const walletStatus: UNCardAddToWalletStatusEvent = { status: walletResponse.status };\n EventBus.Instance.event(CardNativeMessage.CARD_UPDATE_ADD_TO_WALLET_STATUS, walletStatus);\n } catch (error) {\n console.error(error);\n }\n };\n\n const onAddToWalletClicked = async () => {\n try {\n await launchStartCardProvisioning(props.pushProvisioningModule as NativeModule, walletRef.current);\n } catch (error) {\n if (error instanceof Error) {\n const parsedError = JSON.parse(error.message);\n if (parsedError.code === CardAddToWalletErrors.closedNativeWalletScreen) return;\n }\n console.log(error);\n }\n };\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.card}\n presentationMode={PresentationMode.Default}\n params={getCardParams(props)}\n theme={props.theme}\n language={props.language}\n script={getCardScript()}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_pageMessage","_unitMessages","_EventBus","_interopRequireDefault","_WebComponent","_listenerToBus","_UNCardComponent","_bodyHtml","_cardMessage","_cardMessage2","_onLoadMessage","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNCardComponent","React","forwardRef","props","cardRef","height","setHeight","useState","windowWidth","Dimensions","width","walletRef","useRef","webRef","useImperativeHandle","openActionsMenu","injectOpenActionsMenuScript","current","openAction","action","injectRequestCardActionScript","cardStatusChanged","card","onStatusChanged","cardActivated","onCardActivated","requestRefresh","data","injectRefreshEventIfNeeded","cardId","startPushProvisioning","onAddToWalletClicked","getAddToWalletStatus","getWallets","handleUnitOnLoad","response","onLoad","RESPONSE_KEYS","errors","console","error","useListenerToBus","busEventKey","UnitMessage","UNIT_REQUEST_REFRESH","CardMessage","CARD_STATUS_CHANGED","CARD_ACTIVATED","CardNativeMessage","CARD_START_PUSH_PROVISIONING","CARD_GET_ADD_TO_WALLET_STATUS","handleMessage","message","details","type","UNIT_REQUEST_RENDERING","event","componentName","WebComponentType","componentResourceId","requestRenderingEvent","EventBus","Instance","PageMessage","PAGE_HEIGHT","UNIT_ON_LOAD","walletResponse","launchGetWallets","customerToken","pushProvisioningModule","walletStatus","status","CARD_UPDATE_ADD_TO_WALLET_STATUS","launchStartCardProvisioning","Error","parsedError","JSON","parse","code","CardAddToWalletErrors","closedNativeWalletScreen","log","createElement","View","style","WebComponent","ref","presentationMode","PresentationMode","Default","params","getCardParams","theme","language","script","getCardScript","onMessage","isScrollable","exports"],"sources":["UNCardComponent.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\nimport { Dimensions, NativeModule, View } from 'react-native';\nimport type WebView from 'react-native-webview';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport EventBus from '../../helpers/EventBus';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getCardParams, getCardScript, injectRefreshEventIfNeeded, launchStartCardProvisioning, injectOpenActionsMenuScript, injectRequestCardActionScript } from './UNCardComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { UNOnLoadResponse, UNCardData, UNError, UNCardMenuAction } from '../../sharedTypes';\nimport { CardMessage } from '../../messages/webMessages/cardMessage';\nimport { launchGetWallets } from './UNCardComponent.utils';\nimport type { NativeModules } from 'react-native';\nimport type { UNWallet } from 'src/sharedTypes/wallet.types';\nimport { CardAddToWalletErrors, UNCardAddToWalletStatusEvent, CardGetAddToWalletStatusEvent, CardNativeMessage, CardStartPushProvisioningEvent } from '../../messages/nativeMessages/cardMessage';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nexport interface UNCardComponentProps {\n // inputs\n cardId: string;\n customerToken: string;\n learnMoreUrl?: string;\n\n // ui\n theme?: string;\n language?: string;\n hideActionsMenuButton?: boolean;\n hideCardTitle?: boolean;\n hideSensitiveDataButton?: boolean;\n\n // events\n onLoad?: (response: UNOnLoadResponse<UNCardData>) => void\n onStatusChanged?: (card: UNCardData) => void;\n onCardActivated?: (card: UNCardData) => void;\n pushProvisioningModule?: typeof NativeModules;\n}\nexport interface CardRef {\n openActionsMenu: () => void;\n openAction: (action: UNCardMenuAction) => void;\n}\n\nexport const UNCardComponent = React.forwardRef<CardRef, UNCardComponentProps>(function UNCardComponent(props, cardRef) {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const walletRef = useRef<UNWallet | null>(null);\n // walletRef can be changed to a state. (After the change of the listener hook)\n // TODO: walletState and checks it works. =)\n\n const webRef = useRef<WebView>(null);\n\n useImperativeHandle(cardRef, () => ({\n openActionsMenu() {\n injectOpenActionsMenuScript(webRef.current);\n },\n openAction(action: UNCardMenuAction) {\n injectRequestCardActionScript(webRef.current, action);\n }\n }));\n\n const cardStatusChanged = (card: UNCardData) => {\n if (props.onStatusChanged) {\n props.onStatusChanged(card);\n }\n };\n\n const cardActivated = (card: UNCardData) => {\n if (props.onCardActivated) {\n props.onCardActivated(card);\n }\n };\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data, props.cardId);\n };\n\n const startPushProvisioning = async (data: CardStartPushProvisioningEvent) => {\n if (data.cardId !== props.cardId) return;\n onAddToWalletClicked();\n };\n\n const getAddToWalletStatus = (data: CardGetAddToWalletStatusEvent) => {\n if (data.cardId !== props.cardId) return;\n getWallets();\n };\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.card in response) {\n // CardOnLoadResponse\n props.onLoad(response[RESPONSE_KEYS.card] as UNOnLoadResponse<UNCardData>);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: CardMessage.CARD_STATUS_CHANGED, action: cardStatusChanged });\n useListenerToBus({ busEventKey: CardMessage.CARD_ACTIVATED, action: cardActivated });\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_START_PUSH_PROVISIONING, action: startPushProvisioning });\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS, action: getAddToWalletStatus });\n\n const handleMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.card,\n componentResourceId: props.cardId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);\n break;\n }\n case PageMessage.PAGE_HEIGHT:\n setHeight((message.details as HeightEvent).height);\n break;\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n }\n };\n\n const getWallets = async () => {\n\n try {\n\n const walletResponse = await launchGetWallets(props.customerToken, props.cardId, props.pushProvisioningModule as NativeModule);\n\n if (!walletResponse) return;\n\n walletRef.current = walletResponse;\n\n const walletStatus: UNCardAddToWalletStatusEvent = { status: walletResponse.status };\n EventBus.Instance.event(CardNativeMessage.CARD_UPDATE_ADD_TO_WALLET_STATUS, walletStatus);\n } catch (error) {\n console.error(error);\n }\n };\n\n const onAddToWalletClicked = async () => {\n try {\n await launchStartCardProvisioning(props.pushProvisioningModule as NativeModule, walletRef.current);\n } catch (error) {\n if (error instanceof Error) {\n const parsedError = JSON.parse(error.message);\n if (parsedError.code === CardAddToWalletErrors.closedNativeWalletScreen) return;\n }\n console.log(error);\n }\n };\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.card}\n presentationMode={PresentationMode.Default}\n params={getCardParams(props)}\n theme={props.theme}\n language={props.language}\n script={getCardScript()}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n});\n"],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ const getCardParams = props => {
|
|
|
17
17
|
hide-actions-menu-button="${props.hideActionsMenuButton || false}"
|
|
18
18
|
hide-card-title="${props.hideCardTitle || false}"
|
|
19
19
|
hide-sensitive-data-button="${props.hideSensitiveDataButton || false}"
|
|
20
|
+
learn-more-url="${props.learnMoreUrl || ''}"
|
|
20
21
|
`;
|
|
21
22
|
};
|
|
22
23
|
exports.getCardParams = getCardParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bodyScript","require","_WebComponent","_UNWalletPayloadRequest","_wallet","_UnitSdkManager","getCardParams","props","cardId","customerToken","pushProvisioningModule","hideActionsMenuButton","hideCardTitle","hideSensitiveDataButton","exports","getCardScript","DISPATCH_REQUEST_REFRESH","injectOpenActionsMenuScript","currentWeb","injectJavaScript","WebComponentType","card","injectRequestCardActionScript","action","injectRefreshEventIfNeeded","requestRefreshEvent","dependencies","includes","valueOf","resourceId","JSON","stringify","launchGetWallets","env","UnitSDK","getEnv","encryptedPayload","getMobileWalletPayload","walletsResponse","encPayload","parsedWalletsResponse","parse","wallets","code","UNWalletCode","Apple","name","UNWalletName","status","googleWallet","filter","wallet","Google","error","Promise","reject","launchStartCardProvisioning","response","walletCode","walletName"],"sources":["UNCardComponent.utils.ts"],"sourcesContent":["import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type WebView from 'react-native-webview';\nimport type { UNCardComponentProps } from './UNCardComponent';\nimport { WebComponentType } from '../../webComponent/WebComponent';\nimport type { NativeModules } from 'react-native';\nimport { getMobileWalletPayload } from './networking/requests/UNWalletPayloadRequest';\nimport { UNWallet, UNWalletCode, UNWalletName } from '../../../src/sharedTypes/wallet.types';\nimport type { RequestRefreshEvent } from '../../messages/webMessages/unitMessages';\nimport { UnitSDK } from '../../unitSdkManager/UnitSdkManager';\nimport type { UNCardMenuAction } from '../../sharedTypes';\n\nexport const getCardParams = (props: UNCardComponentProps) => {\n return `\n card-id=\"${props.cardId}\"\n customer-token=\"${props.customerToken}\"\n enable-mobile-wallet=\"${!!props.pushProvisioningModule}\"\n hide-actions-menu-button=\"${props.hideActionsMenuButton || false}\"\n hide-card-title=\"${props.hideCardTitle || false}\"\n hide-sensitive-data-button=\"${props.hideSensitiveDataButton || false}\"\n `;\n};\n\nexport const getCardScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectOpenActionsMenuScript = (currentWeb: WebView | null) => {\n currentWeb?.injectJavaScript(`dispatchOpenActionsMenu('${WebComponentType.card}')`);\n};\n\nexport const injectRequestCardActionScript = (currentWeb: WebView | null, action: UNCardMenuAction) => {\n currentWeb?.injectJavaScript(`dispatchRequestCardAction('${action}')`);\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null, cardId: string) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.card.valueOf()) && requestRefreshEvent.resourceId == cardId) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const launchGetWallets = async (customerToken: string, cardId: string, pushProvisioningModule: typeof NativeModules) => {\n try {\n const env = UnitSDK.getEnv();\n if (!env) return null;\n\n const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);\n if (!encryptedPayload) return null;\n\n const walletsResponse = await pushProvisioningModule.launchGetWallets(JSON.stringify({ encPayload: encryptedPayload }));\n const parsedWalletsResponse = JSON.parse(walletsResponse);\n const wallets = parsedWalletsResponse.wallets;\n\n if (!wallets) return null;\n if (wallets[0].code === UNWalletCode.Apple) {\n return ({ name: UNWalletName.Apple, code: UNWalletCode.Apple, status: wallets[0].status });\n } else {\n const googleWallet = wallets.filter((wallet: { name: UNWalletName }) => {\n return wallet.name === UNWalletName.Google;\n });\n if (!googleWallet) return;\n return ({ name: UNWalletName.Google, code: UNWalletCode.Google, status: googleWallet[0].status });\n }\n } catch (error) {\n return Promise.reject(error);\n }\n\n};\n\nexport const launchStartCardProvisioning = async (pushProvisioningModule: typeof NativeModules, wallet: UNWallet | null) => {\n try {\n const response = await pushProvisioningModule.launchStartCardProvisioning(\n JSON.stringify({\n walletCode: wallet?.code,\n walletName: wallet?.name\n }));\n return response;\n }\n\n catch (error) {\n return Promise.reject(error);\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,eAAA,GAAAJ,OAAA;AAGO,MAAMK,aAAa,GAAIC,KAA2B,IAAK;EAC5D,OAAQ;AACV,eAAeA,KAAK,CAACC,MAAO;AAC5B,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,4BAA4B,CAAC,CAACF,KAAK,CAACG,sBAAuB;AAC3D,gCAAgCH,KAAK,CAACI,qBAAqB,IAAI,KAAM;AACrE,uBAAuBJ,KAAK,CAACK,aAAa,IAAI,KAAM;AACpD,kCAAkCL,KAAK,CAACM,uBAAuB,IAAI,KAAM;AACzE,GAAG;AACH,CAAC;AAACC,OAAA,
|
|
1
|
+
{"version":3,"names":["_bodyScript","require","_WebComponent","_UNWalletPayloadRequest","_wallet","_UnitSdkManager","getCardParams","props","cardId","customerToken","pushProvisioningModule","hideActionsMenuButton","hideCardTitle","hideSensitiveDataButton","learnMoreUrl","exports","getCardScript","DISPATCH_REQUEST_REFRESH","injectOpenActionsMenuScript","currentWeb","injectJavaScript","WebComponentType","card","injectRequestCardActionScript","action","injectRefreshEventIfNeeded","requestRefreshEvent","dependencies","includes","valueOf","resourceId","JSON","stringify","launchGetWallets","env","UnitSDK","getEnv","encryptedPayload","getMobileWalletPayload","walletsResponse","encPayload","parsedWalletsResponse","parse","wallets","code","UNWalletCode","Apple","name","UNWalletName","status","googleWallet","filter","wallet","Google","error","Promise","reject","launchStartCardProvisioning","response","walletCode","walletName"],"sources":["UNCardComponent.utils.ts"],"sourcesContent":["import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type WebView from 'react-native-webview';\nimport type { UNCardComponentProps } from './UNCardComponent';\nimport { WebComponentType } from '../../webComponent/WebComponent';\nimport type { NativeModules } from 'react-native';\nimport { getMobileWalletPayload } from './networking/requests/UNWalletPayloadRequest';\nimport { UNWallet, UNWalletCode, UNWalletName } from '../../../src/sharedTypes/wallet.types';\nimport type { RequestRefreshEvent } from '../../messages/webMessages/unitMessages';\nimport { UnitSDK } from '../../unitSdkManager/UnitSdkManager';\nimport type { UNCardMenuAction } from '../../sharedTypes';\n\nexport const getCardParams = (props: UNCardComponentProps) => {\n return `\n card-id=\"${props.cardId}\"\n customer-token=\"${props.customerToken}\"\n enable-mobile-wallet=\"${!!props.pushProvisioningModule}\"\n hide-actions-menu-button=\"${props.hideActionsMenuButton || false}\"\n hide-card-title=\"${props.hideCardTitle || false}\"\n hide-sensitive-data-button=\"${props.hideSensitiveDataButton || false}\"\n learn-more-url=\"${props.learnMoreUrl || ''}\"\n `;\n};\n\nexport const getCardScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectOpenActionsMenuScript = (currentWeb: WebView | null) => {\n currentWeb?.injectJavaScript(`dispatchOpenActionsMenu('${WebComponentType.card}')`);\n};\n\nexport const injectRequestCardActionScript = (currentWeb: WebView | null, action: UNCardMenuAction) => {\n currentWeb?.injectJavaScript(`dispatchRequestCardAction('${action}')`);\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null, cardId: string) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.card.valueOf()) && requestRefreshEvent.resourceId == cardId) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const launchGetWallets = async (customerToken: string, cardId: string, pushProvisioningModule: typeof NativeModules) => {\n try {\n const env = UnitSDK.getEnv();\n if (!env) return null;\n\n const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);\n if (!encryptedPayload) return null;\n\n const walletsResponse = await pushProvisioningModule.launchGetWallets(JSON.stringify({ encPayload: encryptedPayload }));\n const parsedWalletsResponse = JSON.parse(walletsResponse);\n const wallets = parsedWalletsResponse.wallets;\n\n if (!wallets) return null;\n if (wallets[0].code === UNWalletCode.Apple) {\n return ({ name: UNWalletName.Apple, code: UNWalletCode.Apple, status: wallets[0].status });\n } else {\n const googleWallet = wallets.filter((wallet: { name: UNWalletName }) => {\n return wallet.name === UNWalletName.Google;\n });\n if (!googleWallet) return;\n return ({ name: UNWalletName.Google, code: UNWalletCode.Google, status: googleWallet[0].status });\n }\n } catch (error) {\n return Promise.reject(error);\n }\n\n};\n\nexport const launchStartCardProvisioning = async (pushProvisioningModule: typeof NativeModules, wallet: UNWallet | null) => {\n try {\n const response = await pushProvisioningModule.launchStartCardProvisioning(\n JSON.stringify({\n walletCode: wallet?.code,\n walletName: wallet?.name\n }));\n return response;\n }\n\n catch (error) {\n return Promise.reject(error);\n }\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getAndroidPackageName = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const {
|
|
9
|
+
RNAppInfoModule
|
|
10
|
+
} = _reactNative.NativeModules;
|
|
11
|
+
const getAndroidPackageName = async () => {
|
|
12
|
+
try {
|
|
13
|
+
const response = await RNAppInfoModule.getAppPackageName();
|
|
14
|
+
return response;
|
|
15
|
+
} catch (error) {
|
|
16
|
+
console.error(error);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
exports.getAndroidPackageName = getAndroidPackageName;
|
|
20
|
+
//# sourceMappingURL=nativeModulesInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","RNAppInfoModule","NativeModules","getAndroidPackageName","response","getAppPackageName","error","console","exports"],"sources":["nativeModulesInfo.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\nconst { RNAppInfoModule } = NativeModules;\n\nexport const getAndroidPackageName = async () => {\n try {\n const response = await RNAppInfoModule.getAppPackageName();\n return response;\n } catch (error) {\n console.error(error);\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,MAAM;EAAEC;AAAgB,CAAC,GAAGC,0BAAa;AAElC,MAAMC,qBAAqB,GAAG,MAAAA,CAAA,KAAY;EAC/C,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMH,eAAe,CAACI,iBAAiB,EAAE;IAC1D,OAAOD,QAAQ;EACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACtB;AACF,CAAC;AAACE,OAAA,CAAAL,qBAAA,GAAAA,qBAAA"}
|
|
@@ -89,7 +89,7 @@ const LISTENERS = {
|
|
|
89
89
|
window.addEventListener("${_unitMessages.UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}", (e) => {
|
|
90
90
|
postMessageToSDK({ type: "${_unitMessages.UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}", details: e.detail })
|
|
91
91
|
});
|
|
92
|
-
`,
|
|
92
|
+
`,
|
|
93
93
|
unitPaymentCreated: `
|
|
94
94
|
window.addEventListener("${_paymentsMessage.PaymentMessage.PAYMENT_CREATED}", (e) => {
|
|
95
95
|
const response = e.detail
|
|
@@ -98,7 +98,18 @@ const LISTENERS = {
|
|
|
98
98
|
}).catch((e) => {
|
|
99
99
|
console.log(e)
|
|
100
100
|
})
|
|
101
|
-
})
|
|
101
|
+
});
|
|
102
|
+
`,
|
|
103
|
+
unitPlaidTokenCreated: `
|
|
104
|
+
window.addEventListener("${_unitMessages.UnitMessage.UNIT_PLAID_TOKEN_CREATED}", (e) => {
|
|
105
|
+
const response = e.detail
|
|
106
|
+
response.then((data) => {
|
|
107
|
+
postMessageToSDK({ type: "${_unitMessages.UnitMessage.UNIT_PLAID_TOKEN_CREATED}", details: { linkToken: data.data }})
|
|
108
|
+
}).catch((e) => {
|
|
109
|
+
console.log(e)
|
|
110
|
+
})
|
|
111
|
+
});
|
|
112
|
+
`,
|
|
102
113
|
unitAccountChanged: `
|
|
103
114
|
window.addEventListener("${_accountMessage.AccountMessage.UNIT_ACCOUNT_CHANGED}", (e) => {
|
|
104
115
|
const response = e.detail
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_paymentsMessage","require","_cardMessage","_pageMessage","_unitMessages","_accountMessage","_activityMessage","POST_MESSAGE_TO_SDK","exports","POST_PAGE_HEIGHT","PageMessage","PAGE_HEIGHT","LISTENERS","isPageLoaded","PAGE_LOADED","requestRendering","UnitMessage","UNIT_REQUEST_RENDERING","requestRefresh","UNIT_REQUEST_REFRESH","onLoad","UNIT_ON_LOAD","requestCloseFlow","UNIT_REQUEST_CLOSE_FLOW","requestOpenLink","UNIT_REQUEST_OPEN_LINK","unitRequestDownload","UNIT_REQUEST_DOWNLOAD","cardActivated","CardMessage","CARD_ACTIVATED","cardStatusChange","CARD_STATUS_CHANGED","unitRequestExternalSdk","UNIT_REQUEST_EXTERNAL_SDK","unitPaymentCreated","PaymentMessage","PAYMENT_CREATED","unitAccountChanged","AccountMessage","UNIT_ACCOUNT_CHANGED","unitActivityFiltersChanged","ActivityMessage","UNIT_ACTIVITY_FILTERS_CHANGED","DISPATCH_RENDERING_EVENT","DISPATCH_REQUEST_REFRESH","DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT","DISPATCH_PLAID_RESPONSE","UNIT_PLAID_RESPONSE","DISPATCH_OPEN_ACTIONS_MENU","DISPATCH_REQUEST_CARD_ACTION","DISPATCH_REQUEST_ACCOUNT_ACTION"],"sources":["bodyScript.ts"],"sourcesContent":["import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport { CardMessage } from '../../messages/webMessages/cardMessage';\nimport { PageMessage } from '../../messages/webMessages/pageMessage';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { AccountMessage } from '../../messages/webMessages/accountMessage';\nimport { ActivityMessage } from '../../messages/webMessages/activityMessage';\n\nexport const POST_MESSAGE_TO_SDK = `\n const postMessageToSDK = (message) => {\n if ('ReactNativeWebView' in window) {\n const messageString = JSON.stringify(message)\n window['ReactNativeWebView'].postMessage(messageString)\n }\n }\n`;\n\nexport const POST_PAGE_HEIGHT = `\n const postHeight = () => {\n setTimeout(() => {\n const height = window.document.documentElement.getBoundingClientRect().height\n postMessageToSDK({ type: \"${PageMessage.PAGE_HEIGHT}\", details: { height } })\n })\n }\n`;\n\nexport const LISTENERS = {\n isPageLoaded: `\n window.addEventListener('DOMContentLoaded', e => {\n postMessageToSDK({ type: \"${PageMessage.PAGE_LOADED}\" })\n });\n `,\n requestRendering: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_RENDERING}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_RENDERING}\", details: { data: e.detail }})\n });\n `,\n requestRefresh: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_REFRESH}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_REFRESH}\", details: e.detail })\n });\n `,\n onLoad: `\n window.addEventListener(\"${UnitMessage.UNIT_ON_LOAD}\", (e) => {\n postHeight()\n postMessageToSDK({ type: \"${UnitMessage.UNIT_ON_LOAD}\", details: e.detail })\n });\n `,\n requestCloseFlow: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_CLOSE_FLOW}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_CLOSE_FLOW}\" })\n });\n `,\n requestOpenLink: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_OPEN_LINK}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_OPEN_LINK}\", details: e.detail })\n });\n `,\n unitRequestDownload: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_DOWNLOAD}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_DOWNLOAD}\", details: e.detail })\n });\n `,\n cardActivated: `\n window.addEventListener(\"${CardMessage.CARD_ACTIVATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${CardMessage.CARD_ACTIVATED}\", details: { card: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n cardStatusChange: `\n window.addEventListener(\"${CardMessage.CARD_STATUS_CHANGED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${CardMessage.CARD_STATUS_CHANGED}\", details: { card: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitRequestExternalSdk: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}\", details: e.detail })\n });\n`,\n unitPaymentCreated: `\n window.addEventListener(\"${PaymentMessage.PAYMENT_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${PaymentMessage.PAYMENT_CREATED}\", details: { data: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });`\n ,\n unitAccountChanged: `\n window.addEventListener(\"${AccountMessage.UNIT_ACCOUNT_CHANGED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${AccountMessage.UNIT_ACCOUNT_CHANGED}\", details: { account: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitActivityFiltersChanged: `\n window.addEventListener(\"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\", (e) => {\n postMessageToSDK({ type: \"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\", details: e.detail })\n });\n `\n};\n\nexport const DISPATCH_RENDERING_EVENT = `\n const dispatchRenderingEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_RENDERING}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_REQUEST_REFRESH = `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT = `\n const dispatchActivityFilterChangedEvent = (details) => {\n const event = new CustomEvent(\"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\",{ detail: details });\n window.dispatchEvent(event);\n }\n`;\n\nexport const DISPATCH_PLAID_RESPONSE = `\n const dispatchPlaidEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_PLAID_RESPONSE}\",{ detail: details })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_OPEN_ACTIONS_MENU = `\n const dispatchOpenActionsMenu = (componentName) => {\n document.querySelector(componentName).dispatchEvent(new CustomEvent(\"unitRequestOpenActionsMenu\"))\n }\n`;\n\nexport const DISPATCH_REQUEST_CARD_ACTION = `\n const dispatchRequestCardAction = (action) => {\n document.querySelector(\"unit-elements-card\").dispatchEvent(new CustomEvent(\"unitRequestCardAction\", {detail: {action: action}}))\n }\n`;\n\nexport const DISPATCH_REQUEST_ACCOUNT_ACTION = `\n const dispatchRequestAccountAction = (action) => {\n document.querySelector(\"unit-elements-account\").dispatchEvent(new CustomEvent(\"unitRequestAccountAction\", {detail: {action: action}}))\n }\n`;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_paymentsMessage","require","_cardMessage","_pageMessage","_unitMessages","_accountMessage","_activityMessage","POST_MESSAGE_TO_SDK","exports","POST_PAGE_HEIGHT","PageMessage","PAGE_HEIGHT","LISTENERS","isPageLoaded","PAGE_LOADED","requestRendering","UnitMessage","UNIT_REQUEST_RENDERING","requestRefresh","UNIT_REQUEST_REFRESH","onLoad","UNIT_ON_LOAD","requestCloseFlow","UNIT_REQUEST_CLOSE_FLOW","requestOpenLink","UNIT_REQUEST_OPEN_LINK","unitRequestDownload","UNIT_REQUEST_DOWNLOAD","cardActivated","CardMessage","CARD_ACTIVATED","cardStatusChange","CARD_STATUS_CHANGED","unitRequestExternalSdk","UNIT_REQUEST_EXTERNAL_SDK","unitPaymentCreated","PaymentMessage","PAYMENT_CREATED","unitPlaidTokenCreated","UNIT_PLAID_TOKEN_CREATED","unitAccountChanged","AccountMessage","UNIT_ACCOUNT_CHANGED","unitActivityFiltersChanged","ActivityMessage","UNIT_ACTIVITY_FILTERS_CHANGED","DISPATCH_RENDERING_EVENT","DISPATCH_REQUEST_REFRESH","DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT","DISPATCH_PLAID_RESPONSE","UNIT_PLAID_RESPONSE","DISPATCH_OPEN_ACTIONS_MENU","DISPATCH_REQUEST_CARD_ACTION","DISPATCH_REQUEST_ACCOUNT_ACTION"],"sources":["bodyScript.ts"],"sourcesContent":["import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport { CardMessage } from '../../messages/webMessages/cardMessage';\nimport { PageMessage } from '../../messages/webMessages/pageMessage';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { AccountMessage } from '../../messages/webMessages/accountMessage';\nimport { ActivityMessage } from '../../messages/webMessages/activityMessage';\n\nexport const POST_MESSAGE_TO_SDK = `\n const postMessageToSDK = (message) => {\n if ('ReactNativeWebView' in window) {\n const messageString = JSON.stringify(message)\n window['ReactNativeWebView'].postMessage(messageString)\n }\n }\n`;\n\nexport const POST_PAGE_HEIGHT = `\n const postHeight = () => {\n setTimeout(() => {\n const height = window.document.documentElement.getBoundingClientRect().height\n postMessageToSDK({ type: \"${PageMessage.PAGE_HEIGHT}\", details: { height } })\n })\n }\n`;\n\nexport const LISTENERS = {\n isPageLoaded: `\n window.addEventListener('DOMContentLoaded', e => {\n postMessageToSDK({ type: \"${PageMessage.PAGE_LOADED}\" })\n });\n `,\n requestRendering: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_RENDERING}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_RENDERING}\", details: { data: e.detail }})\n });\n `,\n requestRefresh: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_REFRESH}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_REFRESH}\", details: e.detail })\n });\n `,\n onLoad: `\n window.addEventListener(\"${UnitMessage.UNIT_ON_LOAD}\", (e) => {\n postHeight()\n postMessageToSDK({ type: \"${UnitMessage.UNIT_ON_LOAD}\", details: e.detail })\n });\n `,\n requestCloseFlow: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_CLOSE_FLOW}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_CLOSE_FLOW}\" })\n });\n `,\n requestOpenLink: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_OPEN_LINK}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_OPEN_LINK}\", details: e.detail })\n });\n `,\n unitRequestDownload: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_DOWNLOAD}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_DOWNLOAD}\", details: e.detail })\n });\n `,\n cardActivated: `\n window.addEventListener(\"${CardMessage.CARD_ACTIVATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${CardMessage.CARD_ACTIVATED}\", details: { card: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n cardStatusChange: `\n window.addEventListener(\"${CardMessage.CARD_STATUS_CHANGED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${CardMessage.CARD_STATUS_CHANGED}\", details: { card: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitRequestExternalSdk: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}\", details: e.detail })\n });\n `,\n unitPaymentCreated: `\n window.addEventListener(\"${PaymentMessage.PAYMENT_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${PaymentMessage.PAYMENT_CREATED}\", details: { data: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitPlaidTokenCreated: `\n window.addEventListener(\"${UnitMessage.UNIT_PLAID_TOKEN_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_PLAID_TOKEN_CREATED}\", details: { linkToken: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitAccountChanged: `\n window.addEventListener(\"${AccountMessage.UNIT_ACCOUNT_CHANGED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${AccountMessage.UNIT_ACCOUNT_CHANGED}\", details: { account: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitActivityFiltersChanged: `\n window.addEventListener(\"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\", (e) => {\n postMessageToSDK({ type: \"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\", details: e.detail })\n });\n `\n};\n\nexport const DISPATCH_RENDERING_EVENT = `\n const dispatchRenderingEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_RENDERING}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_REQUEST_REFRESH = `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT = `\n const dispatchActivityFilterChangedEvent = (details) => {\n const event = new CustomEvent(\"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\",{ detail: details });\n window.dispatchEvent(event);\n }\n`;\n\nexport const DISPATCH_PLAID_RESPONSE = `\n const dispatchPlaidEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_PLAID_RESPONSE}\",{ detail: details })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_OPEN_ACTIONS_MENU = `\n const dispatchOpenActionsMenu = (componentName) => {\n document.querySelector(componentName).dispatchEvent(new CustomEvent(\"unitRequestOpenActionsMenu\"))\n }\n`;\n\nexport const DISPATCH_REQUEST_CARD_ACTION = `\n const dispatchRequestCardAction = (action) => {\n document.querySelector(\"unit-elements-card\").dispatchEvent(new CustomEvent(\"unitRequestCardAction\", {detail: {action: action}}))\n }\n`;\n\nexport const DISPATCH_REQUEST_ACCOUNT_ACTION = `\n const dispatchRequestAccountAction = (action) => {\n document.querySelector(\"unit-elements-account\").dispatchEvent(new CustomEvent(\"unitRequestAccountAction\", {detail: {action: action}}))\n }\n`;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_EventBus","_interopRequireDefault","_html","_unitMessages","_listenerToBus","_bodyHtml","_UnitSdk","_UnitSdkManager","_sdkMessage","_WebComponent","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNAppInfo","NativeModules","WebComponentType","exports","WebComponent","React","forwardRef","props","webRef","unitScript","setUnitScript","useState","globalUnitScript","sourceHtml","setSourceHtml","componentCurrentTheme","setComponentCurrentTheme","theme","UnitSDK","getTheme","componentCurrentLanguage","setComponentCurrentLanguage","language","getLanguage","baseName","setBaseName","width","updateUnitScript","data","updateInitializedParams","useListenerToBus","busEventKey","SDKMessage","IS_SCRIPT_FETCHED","action","IS_SDK_INITIALIZED","useEffect","getAppName","Platform","OS","name","getBundleName","replace","error","console","fetchUnitScript","themeParam","languageParam","componentParams","params","newHtml","html","HTML_PLACEHOLDER","BODY","getHtmlBody","type","valueOf","presentationMode","SCRIPT_FROM_NATIVE","script","onMessage","e","message","JSON","parse","nativeEvent","UnitMessage","UNIT_REQUEST_REFRESH","details","EventBus","Instance","event","UNIT_REQUEST_DOWNLOAD","handleRequestDownload","UNIT_REQUEST_CLOSE_FLOW","_onScroll","handleScroll","createElement","WebView","ref","originWhitelist","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","cacheEnabled","scrollEnabled","isScrollable","nestedScrollEnabled","onScroll","overScrollMode","injectedJavaScript","style","flex","opacity","source","baseUrl","androidHardwareAccelerationDisabled"],"sources":["WebComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState } from 'react';\nimport { NativeModules, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport EventBus from '../helpers/EventBus';\nimport html, { HTML_PLACEHOLDER } from './html';\nimport { RequestRefreshEvent, UnitMessage, RequestDownloadEvent } from '../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../hooks/listenerToBus';\nimport { getHtmlBody, PresentationMode } from '../scripts/html/bodyHtml';\nimport { fetchUnitScript, globalUnitScript } from '../unitSdkManager/UnitSdk.api';\nimport { UnitSDK } from '../unitSdkManager/UnitSdkManager';\nimport type { WebViewMessage } from '../messages/webMessages';\nimport { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';\nimport { handleRequestDownload } from './WebComponent.utils';\n\nconst { UNAppInfo } = NativeModules;\n\nexport interface WebComponentProps {\n type: WebComponentType;\n presentationMode?: PresentationMode,\n params?: string;\n theme?: string;\n language?: string;\n onMessage?: (message: WebViewMessage) => void;\n script?: string;\n isScrollable?: boolean,\n nestedScrollEnabled?: boolean,\n handleScroll?: (event: any) => void,\n width?: number;\n}\n\nexport enum WebComponentType {\n card = 'unit-elements-card',\n bookPayment = 'unit-elements-book-payment',\n activity = 'unit-elements-activity',\n slot = 'unit-elements-sdk-slot',\n account = 'unit-elements-account',\n checkDeposit = 'unit-elements-check-deposit',\n achDebitPayment = 'unit-elements-ach-debit-payment',\n achCreditPayment = 'unit-elements-ach-credit-payment'\n}\n\nexport const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {\n const [unitScript, setUnitScript] = useState<string | undefined>(globalUnitScript);\n const [sourceHtml, setSourceHtml] = useState<string | null>(null);\n const [componentCurrentTheme, setComponentCurrentTheme] = useState<string | undefined>(props.theme ?? UnitSDK.getTheme());\n const [componentCurrentLanguage, setComponentCurrentLanguage] = useState<string | undefined>(props.language ?? UnitSDK.getLanguage());\n const [baseName, setBaseName] = useState<string>();\n const width = props.width ?? '100%';\n\n const updateUnitScript = (data: SdkScriptFetched) => {\n setUnitScript(data.unitScript);\n };\n\n const updateInitializedParams = () => {\n setComponentCurrentTheme(props.theme ?? UnitSDK.getTheme());\n setComponentCurrentLanguage(props.language ?? UnitSDK.getLanguage());\n };\n\n useListenerToBus({ busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript });\n useListenerToBus({ busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams });\n\n useEffect(() => {\n\n const getAppName = async () => {\n // For iOS, we extend the app name from the HTML to display a prettier access request message.\n // On Android, there is no request message sent from HTML.\n try {\n if (Platform.OS == 'ios') {\n const name = await UNAppInfo.getBundleName();\n setBaseName(name.replace(/ /g, '-'));\n } else { // android\n setBaseName('unit');\n }\n } catch (error: any) {\n console.error(error);\n }\n };\n\n getAppName();\n }, []);\n\n useEffect(() => {\n if (!unitScript) {\n fetchUnitScript();\n return;\n }\n\n const themeParam = componentCurrentTheme ? ` theme=\"${componentCurrentTheme}\"` : '';\n const languageParam = componentCurrentLanguage ? ` language=\"${componentCurrentLanguage}\"` : '';\n\n const componentParams = (props.params || '') + themeParam + languageParam;\n let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), componentParams, props.presentationMode));\n newHtml = newHtml.replace(HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');\n setSourceHtml(newHtml);\n }, [props.params, unitScript, props.presentationMode, componentCurrentTheme, componentCurrentLanguage, props.script]);\n\n const onMessage = (e: WebViewMessageEvent) => {\n const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_REFRESH:\n message.details &&\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_REFRESH, message.details as RequestRefreshEvent);\n break;\n case UnitMessage.UNIT_REQUEST_DOWNLOAD:\n message.details &&\n handleRequestDownload(message.details as RequestDownloadEvent, () => {\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW);\n });\n break;\n default:\n props.onMessage && props.onMessage(message);\n }\n };\n\n if (!sourceHtml) return null;\n\n const _onScroll = (event: any) => {\n if (props.handleScroll) {\n props.handleScroll(event);\n }\n\n return null;\n };\n\n if (!baseName) {\n return null;\n }\n\n return (\n <WebView\n ref={webRef}\n originWhitelist={['*']}\n mediaPlaybackRequiresUserAction={false}\n allowsInlineMediaPlayback={true}\n cacheEnabled={false}\n scrollEnabled={props.isScrollable}\n nestedScrollEnabled={props.nestedScrollEnabled}\n onScroll={_onScroll}\n overScrollMode=\"never\"\n injectedJavaScript={unitScript}\n style={{ width: width, flex: 1, opacity: 0.99 }}\n source={{ html: sourceHtml, baseUrl: `https://${baseName}` }}\n onMessage={onMessage}\n androidHardwareAccelerationDisabled\n />\n );\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_EventBus","_interopRequireDefault","_html","_unitMessages","_listenerToBus","_bodyHtml","_UnitSdk","_UnitSdkManager","_sdkMessage","_WebComponent","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNAppInfo","NativeModules","WebComponentType","exports","WebComponent","React","forwardRef","props","webRef","unitScript","setUnitScript","useState","globalUnitScript","sourceHtml","setSourceHtml","componentCurrentTheme","setComponentCurrentTheme","theme","UnitSDK","getTheme","componentCurrentLanguage","setComponentCurrentLanguage","language","getLanguage","baseName","setBaseName","width","updateUnitScript","data","updateInitializedParams","useListenerToBus","busEventKey","SDKMessage","IS_SCRIPT_FETCHED","action","IS_SDK_INITIALIZED","useEffect","getAppName","Platform","OS","name","getBundleName","replace","error","console","fetchUnitScript","themeParam","languageParam","componentParams","params","newHtml","html","HTML_PLACEHOLDER","BODY","getHtmlBody","type","valueOf","presentationMode","SCRIPT_FROM_NATIVE","script","onMessage","e","message","JSON","parse","nativeEvent","UnitMessage","UNIT_REQUEST_REFRESH","details","EventBus","Instance","event","UNIT_REQUEST_DOWNLOAD","handleRequestDownload","UNIT_REQUEST_CLOSE_FLOW","_onScroll","handleScroll","createElement","WebView","ref","originWhitelist","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","cacheEnabled","scrollEnabled","isScrollable","nestedScrollEnabled","onScroll","overScrollMode","injectedJavaScript","style","flex","opacity","backgroundColor","source","baseUrl","androidHardwareAccelerationDisabled"],"sources":["WebComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState } from 'react';\nimport { NativeModules, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport EventBus from '../helpers/EventBus';\nimport html, { HTML_PLACEHOLDER } from './html';\nimport { RequestRefreshEvent, UnitMessage, RequestDownloadEvent } from '../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../hooks/listenerToBus';\nimport { getHtmlBody, PresentationMode } from '../scripts/html/bodyHtml';\nimport { fetchUnitScript, globalUnitScript } from '../unitSdkManager/UnitSdk.api';\nimport { UnitSDK } from '../unitSdkManager/UnitSdkManager';\nimport type { WebViewMessage } from '../messages/webMessages';\nimport { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';\nimport { handleRequestDownload } from './WebComponent.utils';\n\nconst { UNAppInfo } = NativeModules;\n\nexport interface WebComponentProps {\n type: WebComponentType;\n presentationMode?: PresentationMode,\n params?: string;\n theme?: string;\n language?: string;\n onMessage?: (message: WebViewMessage) => void;\n script?: string;\n isScrollable?: boolean,\n nestedScrollEnabled?: boolean,\n handleScroll?: (event: any) => void,\n width?: number;\n}\n\nexport enum WebComponentType {\n card = 'unit-elements-card',\n bookPayment = 'unit-elements-book-payment',\n activity = 'unit-elements-activity',\n slot = 'unit-elements-sdk-slot',\n account = 'unit-elements-account',\n checkDeposit = 'unit-elements-check-deposit',\n achDebitPayment = 'unit-elements-ach-debit-payment',\n achCreditPayment = 'unit-elements-ach-credit-payment'\n}\n\nexport const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {\n const [unitScript, setUnitScript] = useState<string | undefined>(globalUnitScript);\n const [sourceHtml, setSourceHtml] = useState<string | null>(null);\n const [componentCurrentTheme, setComponentCurrentTheme] = useState<string | undefined>(props.theme ?? UnitSDK.getTheme());\n const [componentCurrentLanguage, setComponentCurrentLanguage] = useState<string | undefined>(props.language ?? UnitSDK.getLanguage());\n const [baseName, setBaseName] = useState<string>();\n const width = props.width ?? '100%';\n\n const updateUnitScript = (data: SdkScriptFetched) => {\n setUnitScript(data.unitScript);\n };\n\n const updateInitializedParams = () => {\n setComponentCurrentTheme(props.theme ?? UnitSDK.getTheme());\n setComponentCurrentLanguage(props.language ?? UnitSDK.getLanguage());\n };\n\n useListenerToBus({ busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript });\n useListenerToBus({ busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams });\n\n useEffect(() => {\n\n const getAppName = async () => {\n // For iOS, we extend the app name from the HTML to display a prettier access request message.\n // On Android, there is no request message sent from HTML.\n try {\n if (Platform.OS == 'ios') {\n const name = await UNAppInfo.getBundleName();\n setBaseName(name.replace(/ /g, '-'));\n } else { // android\n setBaseName('unit');\n }\n } catch (error: any) {\n console.error(error);\n }\n };\n\n getAppName();\n }, []);\n\n useEffect(() => {\n if (!unitScript) {\n fetchUnitScript();\n return;\n }\n\n const themeParam = componentCurrentTheme ? ` theme=\"${componentCurrentTheme}\"` : '';\n const languageParam = componentCurrentLanguage ? ` language=\"${componentCurrentLanguage}\"` : '';\n\n const componentParams = (props.params || '') + themeParam + languageParam;\n let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), componentParams, props.presentationMode));\n newHtml = newHtml.replace(HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');\n setSourceHtml(newHtml);\n }, [props.params, unitScript, props.presentationMode, componentCurrentTheme, componentCurrentLanguage, props.script]);\n\n const onMessage = (e: WebViewMessageEvent) => {\n const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_REFRESH:\n message.details &&\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_REFRESH, message.details as RequestRefreshEvent);\n break;\n case UnitMessage.UNIT_REQUEST_DOWNLOAD:\n message.details &&\n handleRequestDownload(message.details as RequestDownloadEvent, () => {\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW);\n });\n break;\n default:\n props.onMessage && props.onMessage(message);\n }\n };\n\n if (!sourceHtml) return null;\n\n const _onScroll = (event: any) => {\n if (props.handleScroll) {\n props.handleScroll(event);\n }\n\n return null;\n };\n\n if (!baseName) {\n return null;\n }\n\n return (\n <WebView\n ref={webRef}\n originWhitelist={['*']}\n mediaPlaybackRequiresUserAction={false}\n allowsInlineMediaPlayback={true}\n cacheEnabled={false}\n scrollEnabled={props.isScrollable}\n nestedScrollEnabled={props.nestedScrollEnabled}\n onScroll={_onScroll}\n overScrollMode=\"never\"\n injectedJavaScript={unitScript}\n style={{ width: width, flex: 1, opacity: 0.99, backgroundColor: \"transparent\" }}\n source={{ html: sourceHtml, baseUrl: `https://${baseName}` }}\n onMessage={onMessage}\n androidHardwareAccelerationDisabled\n />\n );\n});\n"],"mappings":"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"}
|
|
@@ -1,15 +1,29 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
1
|
+
import React, { useState, useEffect, useRef } from 'react';
|
|
2
2
|
import { WebComponent, WebComponentType } from '../../webComponent/WebComponent';
|
|
3
3
|
import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
4
4
|
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
5
|
-
import { View } from 'react-native';
|
|
6
|
-
import {
|
|
7
|
-
import { getACHCreditParams, getACHCreditScript } from './UNACHCreditComponent.utils';
|
|
5
|
+
import { Platform, View } from 'react-native';
|
|
6
|
+
import { getACHCreditParams, getACHCreditScript, injectUnitPlaidResponse } from './UNACHCreditComponent.utils';
|
|
8
7
|
import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
|
|
9
8
|
import { RESPONSE_KEYS } from '../../messages/webMessages/onLoadMessage';
|
|
9
|
+
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
10
|
+
import { openLink } from 'react-native-plaid-link-sdk';
|
|
11
|
+
import { getAndroidPackageName } from '../utils/nativeModulesInfo';
|
|
10
12
|
export const UNACHCreditComponent = props => {
|
|
11
13
|
const [height, setHeight] = useState(0);
|
|
12
14
|
const [presentationMode, setPresentationMode] = useState(PresentationMode.Inherit);
|
|
15
|
+
const [linkToken, setLinkToken] = useState();
|
|
16
|
+
const [appPackageName, setAppPackageName] = useState();
|
|
17
|
+
const webRef = useRef(null);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
const setPackageNameForAndroid = async () => {
|
|
20
|
+
if (Platform.OS === 'android') {
|
|
21
|
+
const packageName = await getAndroidPackageName();
|
|
22
|
+
setAppPackageName(packageName);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
setPackageNameForAndroid();
|
|
26
|
+
}, []);
|
|
13
27
|
const handleUnitOnLoad = response => {
|
|
14
28
|
if (!props.onLoad) {
|
|
15
29
|
return;
|
|
@@ -53,14 +67,42 @@ export const UNACHCreditComponent = props => {
|
|
|
53
67
|
}
|
|
54
68
|
break;
|
|
55
69
|
}
|
|
70
|
+
case UnitMessage.UNIT_PLAID_TOKEN_CREATED:
|
|
71
|
+
{
|
|
72
|
+
const linkTokenEvent = message.details;
|
|
73
|
+
const linkTokenData = linkTokenEvent.linkToken;
|
|
74
|
+
setLinkToken(linkTokenData.attributes.linkToken);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK:
|
|
78
|
+
{
|
|
79
|
+
const externalSdkType = message.details.type;
|
|
80
|
+
if (externalSdkType !== 'plaid') return;
|
|
81
|
+
linkToken && openLink({
|
|
82
|
+
tokenConfig: {
|
|
83
|
+
noLoadingState: false,
|
|
84
|
+
token: linkToken
|
|
85
|
+
},
|
|
86
|
+
onSuccess: success => {
|
|
87
|
+
injectUnitPlaidResponse(webRef.current, success);
|
|
88
|
+
},
|
|
89
|
+
onExit: exit => {
|
|
90
|
+
console.log(exit);
|
|
91
|
+
}
|
|
92
|
+
}).catch(e => {
|
|
93
|
+
console.error(e);
|
|
94
|
+
});
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
56
97
|
}
|
|
57
98
|
};
|
|
58
99
|
const renderACHCreditWebView = () => {
|
|
59
100
|
return /*#__PURE__*/React.createElement(WebComponent, {
|
|
101
|
+
ref: webRef,
|
|
60
102
|
type: WebComponentType.achCreditPayment,
|
|
61
103
|
presentationMode: presentationMode,
|
|
62
104
|
params: getACHCreditParams(props),
|
|
63
|
-
script: getACHCreditScript(),
|
|
105
|
+
script: getACHCreditScript(appPackageName),
|
|
64
106
|
onMessage: message => handleWebViewMessage(message),
|
|
65
107
|
isScrollable: false,
|
|
66
108
|
theme: props.theme,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","WebComponent","WebComponentType","PresentationMode","PageMessage","View","UnitMessage","getACHCreditParams","getACHCreditScript","PaymentMessage","RESPONSE_KEYS","UNACHCreditComponent","props","height","setHeight","presentationMode","setPresentationMode","Inherit","handleUnitOnLoad","response","onLoad","errors","account","counterpartyAccount","achOnload","data","console","error","handleWebViewMessage","message","details","type","PAYMENT_CREATED","achCreditEvent","onPaymentCreated","UNIT_ON_LOAD","PAGE_HEIGHT","currentHeight","Default","renderACHCreditWebView","createElement","achCreditPayment","params","script","onMessage","isScrollable","theme","language","style"],"sources":["UNACHCreditComponent.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type { UNOnLoadResponse, UNACHData, UNACHOnLoadData, UNError, UNOnLoadResponseData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { View } from 'react-native';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { getACHCreditParams, getACHCreditScript } from './UNACHCreditComponent.utils';\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\n\nexport interface UNACHCreditComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n language?: string;\n isAutoFocus?: boolean;\n fee?: number;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: UNOnLoadResponse<UNACHOnLoadData>) => void;\n}\n\nexport const UNACHCreditComponent = (props: UNACHCreditComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response && RESPONSE_KEYS.counterpartyAccount in response) {\n // ACHOnLoadResponse;\n const achOnload: UNOnLoadResponseData<UNACHOnLoadData> = {\n data: {\n [RESPONSE_KEYS.account]: response[RESPONSE_KEYS.account].data,\n [RESPONSE_KEYS.counterpartyAccount]: response[RESPONSE_KEYS.counterpartyAccount].data,\n }\n };\n props.onLoad(achOnload);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achCreditEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achCreditEvent.data as UNACHData);\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 setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n }\n };\n\n const renderACHCreditWebView = () => {\n return (\n <WebComponent\n type={WebComponentType.achCreditPayment}\n presentationMode={presentationMode}\n params={getACHCreditParams(props)}\n script={getACHCreditScript()}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n language={props.language}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderACHCreditWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderACHCreditWebView()}\n </View>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,iCAAiC;AAChF,SAASC,gBAAgB,QAAQ,6BAA6B;AAG9D,SAAsBC,WAAW,QAAQ,wCAAwC;AACjF,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,yCAAyC;AACrE,SAASC,kBAAkB,EAAEC,kBAAkB,QAAQ,8BAA8B;AACrF,SAASC,cAAc,QAAQ,4CAA4C;AAE3E,SAASC,aAAa,QAAiC,0CAA0C;AAajG,OAAO,MAAMC,oBAAoB,GAAIC,KAAgC,IAAK;EACxE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGd,QAAQ,CAAS,CAAC,CAAC;EAC/C,MAAM,CAACe,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGhB,QAAQ,CAAmBG,gBAAgB,CAACc,OAAO,CAAC;EAEpG,MAAMC,gBAAgB,GAAIC,QAAiC,IAAK;IAC9D,IAAI,CAACP,KAAK,CAACQ,MAAM,EAAE;MACjB;IACF;IAEA,IAAIV,aAAa,CAACW,MAAM,IAAIF,QAAQ,EAAE;MACpCP,KAAK,CAACQ,MAAM,CAACD,QAAQ,CAAY;MACjC;IACF;IAEA,IAAIT,aAAa,CAACY,OAAO,IAAIH,QAAQ,IAAIT,aAAa,CAACa,mBAAmB,IAAIJ,QAAQ,EAAE;MACtF;MACA,MAAMK,SAAgD,GAAG;QACvDC,IAAI,EAAE;UACJ,CAACf,aAAa,CAACY,OAAO,GAAGH,QAAQ,CAACT,aAAa,CAACY,OAAO,CAAC,CAACG,IAAI;UAC7D,CAACf,aAAa,CAACa,mBAAmB,GAAGJ,QAAQ,CAACT,aAAa,CAACa,mBAAmB,CAAC,CAACE;QACnF;MACF,CAAC;MACDb,KAAK,CAACQ,MAAM,CAACI,SAAS,CAAC;MACvB;IACF;IAEAE,OAAO,CAACC,KAAK,CAAC,yCAAyC,CAAC;IACxD;EACF,CAAC;EAED,MAAMC,oBAAoB,GAAIC,OAAuB,IAAK;IACxD,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACC,OAAO,EAAE;IAElC,QAAQD,OAAO,CAACE,IAAI;MAClB,KAAKtB,cAAc,CAACuB,eAAe;QAAE;UACnC,MAAMC,cAAc,GAAGJ,OAAO,CAACC,OAAmB;UAClDlB,KAAK,CAACsB,gBAAgB,IAAItB,KAAK,CAACsB,gBAAgB,CAACD,cAAc,CAACR,IAAI,CAAc;UAClF;QACF;MACA,KAAKnB,WAAW,CAAC6B,YAAY;QAC3BjB,gBAAgB,CAACW,OAAO,CAACC,OAAO,CAA4B;QAC5D;MACF,KAAK1B,WAAW,CAACgC,WAAW;QAAE;UAC5B,MAAMC,aAAa,GAAIR,OAAO,CAACC,OAAO,CAAiBjB,MAAM;UAC7DC,SAAS,CAACuB,aAAa,CAAC;UACxB,IAAItB,gBAAgB,KAAKZ,gBAAgB,CAACc,OAAO,IAAIoB,aAAa,KAAK,CAAC,EAAE;YACxErB,mBAAmB,CAACb,gBAAgB,CAACmC,OAAO,CAAC;UAC/C;UACA;QACF;IAAC;EAEL,CAAC;EAED,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;IACnC,oBACExC,KAAA,CAAAyC,aAAA,CAACvC,YAAY;MACX8B,IAAI,EAAE7B,gBAAgB,CAACuC,gBAAiB;MACxC1B,gBAAgB,EAAEA,gBAAiB;MACnC2B,MAAM,EAAEnC,kBAAkB,CAACK,KAAK,CAAE;MAClC+B,MAAM,EAAEnC,kBAAkB,EAAG;MAC7BoC,SAAS,EAAGf,OAAuB,IAAKD,oBAAoB,CAACC,OAAO,CAAE;MACtEgB,YAAY,EAAE,KAAM;MACpBC,KAAK,EAAElC,KAAK,CAACkC,KAAM;MACnBC,QAAQ,EAAEnC,KAAK,CAACmC;IAAS,EACzB;EAEN,CAAC;EAED,IAAIhC,gBAAgB,KAAKZ,gBAAgB,CAACc,OAAO,EAAE;IACjD,OAAOsB,sBAAsB,EAAE;EACjC;EAEA,oBACExC,KAAA,CAAAyC,aAAA,CAACnC,IAAI;IAAC2C,KAAK,EAAE;MAAEnC,MAAM,EAAEA;IAAO;EAAE,GAC7B0B,sBAAsB,EAAE,CACpB;AAEX,CAAC"}
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useRef","WebComponent","WebComponentType","PresentationMode","PageMessage","Platform","View","getACHCreditParams","getACHCreditScript","injectUnitPlaidResponse","PaymentMessage","RESPONSE_KEYS","UnitMessage","openLink","getAndroidPackageName","UNACHCreditComponent","props","height","setHeight","presentationMode","setPresentationMode","Inherit","linkToken","setLinkToken","appPackageName","setAppPackageName","webRef","setPackageNameForAndroid","OS","packageName","handleUnitOnLoad","response","onLoad","errors","account","counterpartyAccount","achOnload","data","console","error","handleWebViewMessage","message","details","type","PAYMENT_CREATED","achCreditEvent","onPaymentCreated","UNIT_ON_LOAD","PAGE_HEIGHT","currentHeight","Default","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","tokenConfig","noLoadingState","token","onSuccess","success","current","onExit","exit","log","catch","e","renderACHCreditWebView","createElement","ref","achCreditPayment","params","script","onMessage","isScrollable","theme","language","style"],"sources":["UNACHCreditComponent.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type { UNOnLoadResponse, UNACHData, UNACHOnLoadData, UNError, UNOnLoadResponseData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { Platform, View } from 'react-native';\nimport { getACHCreditParams, getACHCreditScript, injectUnitPlaidResponse } from './UNACHCreditComponent.utils';\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport { PlaidLinkTokenData, PlaidTokenCreatedEvent, RequestExternalSdkEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { LinkSuccess, openLink } from 'react-native-plaid-link-sdk';\nimport type WebView from 'react-native-webview';\nimport { getAndroidPackageName } from '../utils/nativeModulesInfo';\n\nexport interface UNACHCreditComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n language?: string;\n isAutoFocus?: boolean;\n fee?: number;\n withPlaid?: boolean;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: UNOnLoadResponse<UNACHOnLoadData>) => void;\n}\n\nexport const UNACHCreditComponent = (props: UNACHCreditComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n const [linkToken, setLinkToken] = useState<string>();\n const [appPackageName, setAppPackageName] = useState<string>();\n const webRef = useRef<WebView>(null);\n\n useEffect(() => {\n const setPackageNameForAndroid = async () => {\n if (Platform.OS === 'android') {\n const packageName = await getAndroidPackageName();\n setAppPackageName(packageName);\n }\n };\n setPackageNameForAndroid();\n }, []);\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response && RESPONSE_KEYS.counterpartyAccount in response) {\n // ACHOnLoadResponse;\n const achOnload: UNOnLoadResponseData<UNACHOnLoadData> = {\n data: {\n [RESPONSE_KEYS.account]: response[RESPONSE_KEYS.account].data,\n [RESPONSE_KEYS.counterpartyAccount]: response[RESPONSE_KEYS.counterpartyAccount].data,\n }\n };\n props.onLoad(achOnload);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achCreditEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achCreditEvent.data as UNACHData);\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 setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n case UnitMessage.UNIT_PLAID_TOKEN_CREATED: {\n const linkTokenEvent = message.details as PlaidTokenCreatedEvent;\n const linkTokenData = linkTokenEvent.linkToken as PlaidLinkTokenData;\n setLinkToken(linkTokenData.attributes.linkToken);\n break;\n }\n\n case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK: {\n const externalSdkType = (message.details as RequestExternalSdkEvent).type;\n if (externalSdkType !== 'plaid') return;\n linkToken && openLink({\n tokenConfig: { noLoadingState: false, token: linkToken },\n onSuccess: (success: LinkSuccess) => {\n injectUnitPlaidResponse(webRef.current, success);\n },\n onExit: exit => { console.log(exit); }\n }).catch(e => {\n console.error(e);\n });\n break;\n }\n }\n };\n\n const renderACHCreditWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.achCreditPayment}\n presentationMode={presentationMode}\n params={getACHCreditParams(props)}\n script={getACHCreditScript(appPackageName)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n language={props.language}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderACHCreditWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderACHCreditWebView()}\n </View>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,23 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DISPATCH_PLAID_RESPONSE, LISTENERS } from '../../scripts/html/bodyScript';
|
|
2
2
|
export const getACHCreditParams = props => {
|
|
3
3
|
return `
|
|
4
4
|
account-id="${props.accountId}"
|
|
5
5
|
customer-token="${props.customerToken}"
|
|
6
|
+
with-plaid="${props.withPlaid ?? false}"
|
|
6
7
|
is-auto-focus="${props.isAutoFocus ?? false}"
|
|
7
8
|
${props.fee ? `fee="${props.fee}"` : ''}
|
|
8
9
|
style="height: 100%"
|
|
9
10
|
`;
|
|
10
11
|
};
|
|
11
|
-
export const getACHCreditScript =
|
|
12
|
+
export const getACHCreditScript = appPackageName => {
|
|
12
13
|
return `
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}).catch((e) => {
|
|
18
|
-
console.log(e)
|
|
19
|
-
})
|
|
20
|
-
});
|
|
14
|
+
${LISTENERS.unitPlaidTokenCreated}
|
|
15
|
+
${appPackageName && `window.UnitMobileSDKConfig.androidPackageName='${appPackageName}'`}
|
|
16
|
+
${LISTENERS.unitPaymentCreated}
|
|
17
|
+
${DISPATCH_PLAID_RESPONSE}
|
|
21
18
|
`;
|
|
22
19
|
};
|
|
20
|
+
export const injectUnitPlaidResponse = (currentWeb, success) => {
|
|
21
|
+
const successObj = {
|
|
22
|
+
data: {
|
|
23
|
+
publicToken: success.publicToken,
|
|
24
|
+
metadata: success.metadata
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
currentWeb === null || currentWeb === void 0 ? void 0 : currentWeb.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);
|
|
28
|
+
};
|
|
23
29
|
//# sourceMappingURL=UNACHCreditComponent.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["DISPATCH_PLAID_RESPONSE","LISTENERS","getACHCreditParams","props","accountId","customerToken","withPlaid","isAutoFocus","fee","getACHCreditScript","appPackageName","unitPlaidTokenCreated","unitPaymentCreated","injectUnitPlaidResponse","currentWeb","success","successObj","data","publicToken","metadata","injectJavaScript","JSON","stringify"],"sources":["UNACHCreditComponent.utils.ts"],"sourcesContent":["import type { UNACHCreditComponentProps } from './UNACHCreditComponent';\nimport type WebView from 'react-native-webview';\nimport type { LinkSuccess } from 'react-native-plaid-link-sdk';\nimport { DISPATCH_PLAID_RESPONSE, LISTENERS } from '../../scripts/html/bodyScript';\n\nexport const getACHCreditParams = (props: UNACHCreditComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n with-plaid=\"${props.withPlaid ?? false}\"\n is-auto-focus=\"${props.isAutoFocus ?? false}\"\n ${props.fee ? `fee=\"${props.fee}\"` : ''}\n style=\"height: 100%\"\n `;\n};\n\nexport const getACHCreditScript = (appPackageName?: string) => {\n return `\n ${LISTENERS.unitPlaidTokenCreated}\n ${appPackageName && `window.UnitMobileSDKConfig.androidPackageName='${appPackageName}'`}\n ${LISTENERS.unitPaymentCreated}\n ${DISPATCH_PLAID_RESPONSE}\n `;\n};\n\nexport const injectUnitPlaidResponse = (currentWeb: WebView | null, success: LinkSuccess) => {\n const successObj = {data: { publicToken: success.publicToken, metadata: success.metadata}};\n currentWeb?.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);\n};\n"],"mappings":"AAGA,SAASA,uBAAuB,EAAEC,SAAS,QAAQ,+BAA+B;AAElF,OAAO,MAAMC,kBAAkB,GAAIC,KAAgC,IAAK;EACtE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,kBAAkBF,KAAK,CAACG,SAAS,IAAI,KAAM;AAC3C,qBAAqBH,KAAK,CAACI,WAAW,IAAI,KAAM;AAChD,MAAMJ,KAAK,CAACK,GAAG,GAAI,QAAOL,KAAK,CAACK,GAAI,GAAE,GAAG,EAAG;AAC5C;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAIC,cAAuB,IAAK;EAC7D,OAAQ;AACV,MAAMT,SAAS,CAACU,qBAAsB;AACtC,MAAMD,cAAc,IAAK,kDAAiDA,cAAe,GAAG;AAC5F,MAAMT,SAAS,CAACW,kBAAmB;AACnC,MAAMZ,uBAAwB;AAC9B,GAAG;AACH,CAAC;AAED,OAAO,MAAMa,uBAAuB,GAAGA,CAACC,UAA0B,EAAEC,OAAoB,KAAK;EAC3F,MAAMC,UAAU,GAAG;IAACC,IAAI,EAAE;MAAEC,WAAW,EAAEH,OAAO,CAACG,WAAW;MAAEC,QAAQ,EAAEJ,OAAO,CAACI;IAAQ;EAAC,CAAC;EAC1FL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,sBAAqBC,IAAI,CAACC,SAAS,CAACN,UAAU,CAAE,GAAE,CAAC;AACnF,CAAC"}
|
|
@@ -4,10 +4,11 @@ import { PresentationMode } from '../../scripts/html/bodyHtml';
|
|
|
4
4
|
import { PageMessage } from '../../messages/webMessages/pageMessage';
|
|
5
5
|
import { Platform, View } from 'react-native';
|
|
6
6
|
import { UnitMessage } from '../../messages/webMessages/unitMessages';
|
|
7
|
-
import { getACHDebitParams, getACHDebitScript,
|
|
7
|
+
import { getACHDebitParams, getACHDebitScript, injectUnitPlaidResponse } from './UNACHDebitComponent.utils';
|
|
8
8
|
import { openLink } from 'react-native-plaid-link-sdk';
|
|
9
9
|
import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';
|
|
10
10
|
import { RESPONSE_KEYS } from '../../messages/webMessages/onLoadMessage';
|
|
11
|
+
import { getAndroidPackageName } from '../utils/nativeModulesInfo';
|
|
11
12
|
export const UNACHDebitComponent = props => {
|
|
12
13
|
const [height, setHeight] = useState(0);
|
|
13
14
|
const [appPackageName, setAppPackageName] = useState('');
|
|
@@ -23,9 +24,6 @@ export const UNACHDebitComponent = props => {
|
|
|
23
24
|
};
|
|
24
25
|
setPackageNameForAndroid();
|
|
25
26
|
}, []);
|
|
26
|
-
const dispatchUnitPlaidResponse = success => {
|
|
27
|
-
injectUnitPlaidResponse(webRef.current, success);
|
|
28
|
-
};
|
|
29
27
|
const handleUnitOnLoad = response => {
|
|
30
28
|
if (!props.onLoad) {
|
|
31
29
|
return;
|
|
@@ -86,7 +84,7 @@ export const UNACHDebitComponent = props => {
|
|
|
86
84
|
token: linkToken
|
|
87
85
|
},
|
|
88
86
|
onSuccess: success => {
|
|
89
|
-
|
|
87
|
+
injectUnitPlaidResponse(webRef.current, success);
|
|
90
88
|
},
|
|
91
89
|
onExit: exit => {
|
|
92
90
|
console.log(exit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","useState","WebComponent","WebComponentType","PresentationMode","PageMessage","Platform","View","UnitMessage","getACHDebitParams","getACHDebitScript","getAndroidPackageName","injectUnitPlaidResponse","openLink","PaymentMessage","RESPONSE_KEYS","UNACHDebitComponent","props","height","setHeight","appPackageName","setAppPackageName","linkToken","setLinkToken","webRef","presentationMode","setPresentationMode","Inherit","setPackageNameForAndroid","OS","packageName","dispatchUnitPlaidResponse","success","current","handleUnitOnLoad","response","onLoad","errors","account","counterpartyAccount","achOnload","data","console","error","handleWebViewMessage","message","details","type","PAYMENT_CREATED","achDebitEvent","onPaymentCreated","UNIT_ON_LOAD","PAGE_HEIGHT","currentHeight","Default","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","tokenConfig","noLoadingState","token","onSuccess","onExit","exit","log","catch","e","renderACHDebitWebView","createElement","ref","achDebitPayment","params","script","onMessage","isScrollable","theme","language","style"],"sources":["UNACHDebitComponent.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type { UNOnLoadResponse, UNACHData, UNError, UNOnLoadResponseData, UNACHOnLoadData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { Platform, View } from 'react-native';\nimport { PlaidLinkTokenData, PlaidTokenCreatedEvent, RequestExternalSdkEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { getACHDebitParams, getACHDebitScript, getAndroidPackageName, injectUnitPlaidResponse } from './UNACHDebitComponent.utils';\n\nimport { LinkSuccess, openLink } from 'react-native-plaid-link-sdk';\nimport type WebView from 'react-native-webview';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\n\nexport interface UNACHDebitComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n language?: string;\n isAutoFocus?: boolean;\n fee?: number;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: UNOnLoadResponse<UNACHOnLoadData>) => void;\n}\n\nexport const UNACHDebitComponent = (props: UNACHDebitComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [appPackageName, setAppPackageName] = useState<string>('');\n const [linkToken, setLinkToken] = useState<string>('');\n const webRef = useRef<WebView>(null);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n useEffect(() => {\n const setPackageNameForAndroid = async () => {\n if (Platform.OS === 'android') {\n const packageName = await getAndroidPackageName();\n setAppPackageName(packageName);\n }\n };\n setPackageNameForAndroid();\n }, []);\n\n const dispatchUnitPlaidResponse = (success: LinkSuccess) => {\n injectUnitPlaidResponse(webRef.current, success);\n };\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response && RESPONSE_KEYS.counterpartyAccount in response) {\n // ACHOnLoadResponse;\n const achOnload: UNOnLoadResponseData<UNACHOnLoadData> = {\n data: {\n [RESPONSE_KEYS.account]: response[RESPONSE_KEYS.account].data,\n [RESPONSE_KEYS.counterpartyAccount]: response[RESPONSE_KEYS.counterpartyAccount].data,\n }\n };\n props.onLoad(achOnload);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achDebitEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achDebitEvent.data as UNACHData);\n break;\n }\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n case UnitMessage.UNIT_PLAID_TOKEN_CREATED: {\n const linkTokenEvent = message.details as PlaidTokenCreatedEvent;\n const linkTokenData = linkTokenEvent.linkToken as PlaidLinkTokenData;\n setLinkToken(linkTokenData.attributes.linkToken);\n break;\n }\n\n case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK: {\n const externalSdkType = (message.details as RequestExternalSdkEvent).type;\n if (externalSdkType !== 'plaid') return;\n linkToken && openLink({\n tokenConfig: { noLoadingState: false, token: linkToken },\n onSuccess: (success) => {\n dispatchUnitPlaidResponse(success);\n },\n onExit: exit => { console.log(exit); }\n }).catch(e => {\n console.error(e);\n });\n break;\n }\n }\n };\n\n const renderACHDebitWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.achDebitPayment}\n presentationMode={presentationMode}\n params={getACHDebitParams(props)}\n script={getACHDebitScript(appPackageName)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n language={props.language}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderACHDebitWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderACHDebitWebView()}\n </View>\n\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useEffect","useRef","useState","WebComponent","WebComponentType","PresentationMode","PageMessage","Platform","View","UnitMessage","getACHDebitParams","getACHDebitScript","injectUnitPlaidResponse","openLink","PaymentMessage","RESPONSE_KEYS","getAndroidPackageName","UNACHDebitComponent","props","height","setHeight","appPackageName","setAppPackageName","linkToken","setLinkToken","webRef","presentationMode","setPresentationMode","Inherit","setPackageNameForAndroid","OS","packageName","handleUnitOnLoad","response","onLoad","errors","account","counterpartyAccount","achOnload","data","console","error","handleWebViewMessage","message","details","type","PAYMENT_CREATED","achDebitEvent","onPaymentCreated","UNIT_ON_LOAD","PAGE_HEIGHT","currentHeight","Default","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","tokenConfig","noLoadingState","token","onSuccess","success","current","onExit","exit","log","catch","e","renderACHDebitWebView","createElement","ref","achDebitPayment","params","script","onMessage","isScrollable","theme","language","style"],"sources":["UNACHDebitComponent.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type { UNOnLoadResponse, UNACHData, UNError, UNOnLoadResponseData, UNACHOnLoadData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { Platform, View } from 'react-native';\nimport { PlaidLinkTokenData, PlaidTokenCreatedEvent, RequestExternalSdkEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { getACHDebitParams, getACHDebitScript, injectUnitPlaidResponse } from './UNACHDebitComponent.utils';\nimport { LinkSuccess, openLink } from 'react-native-plaid-link-sdk';\nimport type WebView from 'react-native-webview';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport { getAndroidPackageName } from '../utils/nativeModulesInfo';\n\nexport interface UNACHDebitComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n language?: string;\n isAutoFocus?: boolean;\n fee?: number;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: UNOnLoadResponse<UNACHOnLoadData>) => void;\n}\n\nexport const UNACHDebitComponent = (props: UNACHDebitComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [appPackageName, setAppPackageName] = useState<string>('');\n const [linkToken, setLinkToken] = useState<string>('');\n const webRef = useRef<WebView>(null);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n useEffect(() => {\n const setPackageNameForAndroid = async () => {\n if (Platform.OS === 'android') {\n const packageName = await getAndroidPackageName();\n setAppPackageName(packageName);\n }\n };\n setPackageNameForAndroid();\n }, []);\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response && RESPONSE_KEYS.counterpartyAccount in response) {\n // ACHOnLoadResponse;\n const achOnload: UNOnLoadResponseData<UNACHOnLoadData> = {\n data: {\n [RESPONSE_KEYS.account]: response[RESPONSE_KEYS.account].data,\n [RESPONSE_KEYS.counterpartyAccount]: response[RESPONSE_KEYS.counterpartyAccount].data,\n }\n };\n props.onLoad(achOnload);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achDebitEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achDebitEvent.data as UNACHData);\n break;\n }\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n case UnitMessage.UNIT_PLAID_TOKEN_CREATED: {\n const linkTokenEvent = message.details as PlaidTokenCreatedEvent;\n const linkTokenData = linkTokenEvent.linkToken as PlaidLinkTokenData;\n setLinkToken(linkTokenData.attributes.linkToken);\n break;\n }\n\n case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK: {\n const externalSdkType = (message.details as RequestExternalSdkEvent).type;\n if (externalSdkType !== 'plaid') return;\n linkToken && openLink({\n tokenConfig: { noLoadingState: false, token: linkToken },\n onSuccess: (success: LinkSuccess) => {\n injectUnitPlaidResponse(webRef.current, success);\n },\n onExit: exit => { console.log(exit); }\n }).catch(e => {\n console.error(e);\n });\n break;\n }\n }\n };\n\n const renderACHDebitWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.achDebitPayment}\n presentationMode={presentationMode}\n params={getACHDebitParams(props)}\n script={getACHDebitScript(appPackageName)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n language={props.language}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderACHDebitWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderACHDebitWebView()}\n </View>\n\n );\n};\n"],"mappings":"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"}
|