react-native-unit-components 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -1
- package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +8 -0
- package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +12 -0
- package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +4 -0
- package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +6 -5
- package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
- package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/commonjs/messages/nativeMessages/cardMessage.js +1 -13
- package/lib/commonjs/messages/nativeMessages/cardMessage.js.map +1 -1
- package/lib/commonjs/messages/webMessages/accountMessage.js +12 -0
- package/lib/commonjs/messages/webMessages/accountMessage.js.map +1 -0
- package/lib/commonjs/messages/webMessages/index.js.map +1 -1
- package/lib/commonjs/messages/webMessages/unitMessages.js.map +1 -1
- package/lib/commonjs/scripts/html/bodyScript.js +14 -3
- package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
- package/lib/commonjs/sharedTypes/account.types.js +31 -0
- package/lib/commonjs/sharedTypes/account.types.js.map +1 -0
- package/lib/commonjs/sharedTypes/achCredit.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/bookPayment.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/card.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/index.js +11 -0
- package/lib/commonjs/sharedTypes/index.js.map +1 -1
- package/lib/commonjs/sharedTypes/onLoadResponse.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/payments.types.js +6 -6
- package/lib/commonjs/sharedTypes/payments.types.js.map +1 -1
- package/lib/commonjs/sharedTypes/types.js.map +1 -1
- package/lib/commonjs/sharedTypes/wallet.types.js +13 -1
- package/lib/commonjs/sharedTypes/wallet.types.js.map +1 -1
- package/lib/commonjs/webComponent/html.js +2 -0
- package/lib/commonjs/webComponent/html.js.map +1 -1
- package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
- package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js +8 -0
- package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js +11 -0
- package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
- package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +4 -0
- package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +7 -6
- package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
- package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
- package/lib/module/messages/nativeMessages/cardMessage.js +0 -11
- package/lib/module/messages/nativeMessages/cardMessage.js.map +1 -1
- package/lib/module/messages/webMessages/accountMessage.js +5 -0
- package/lib/module/messages/webMessages/accountMessage.js.map +1 -0
- package/lib/module/messages/webMessages/index.js.map +1 -1
- package/lib/module/messages/webMessages/unitMessages.js.map +1 -1
- package/lib/module/scripts/html/bodyScript.js +14 -3
- package/lib/module/scripts/html/bodyScript.js.map +1 -1
- package/lib/module/sharedTypes/account.types.js +23 -0
- package/lib/module/sharedTypes/account.types.js.map +1 -0
- package/lib/module/sharedTypes/achCredit.types.js.map +1 -1
- package/lib/module/sharedTypes/bookPayment.types.js.map +1 -1
- package/lib/module/sharedTypes/card.types.js.map +1 -1
- package/lib/module/sharedTypes/index.js +1 -0
- package/lib/module/sharedTypes/index.js.map +1 -1
- package/lib/module/sharedTypes/onLoadResponse.types.js.map +1 -1
- package/lib/module/sharedTypes/payments.types.js +4 -4
- package/lib/module/sharedTypes/payments.types.js.map +1 -1
- package/lib/module/sharedTypes/types.js.map +1 -1
- package/lib/module/sharedTypes/wallet.types.js +11 -0
- package/lib/module/sharedTypes/wallet.types.js.map +1 -1
- package/lib/module/webComponent/html.js +2 -0
- package/lib/module/webComponent/html.js.map +1 -1
- package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +2 -2
- package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.d.ts +2 -2
- package/lib/typescript/components/UNAccountComponent/UNAccountComponent.d.ts +4 -2
- package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +2 -2
- package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +2 -2
- package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +2 -2
- package/lib/typescript/messages/nativeMessages/cardMessage.d.ts +4 -13
- package/lib/typescript/messages/webMessages/accountMessage.d.ts +8 -0
- package/lib/typescript/messages/webMessages/index.d.ts +3 -2
- package/lib/typescript/messages/webMessages/unitMessages.d.ts +2 -2
- package/lib/typescript/scripts/html/bodyScript.d.ts +1 -0
- package/lib/typescript/sharedTypes/account.types.d.ts +114 -0
- package/lib/typescript/sharedTypes/achCredit.types.d.ts +13 -13
- package/lib/typescript/sharedTypes/bookPayment.types.d.ts +11 -11
- package/lib/typescript/sharedTypes/card.types.d.ts +18 -18
- package/lib/typescript/sharedTypes/index.d.ts +1 -0
- package/lib/typescript/sharedTypes/onLoadResponse.types.d.ts +3 -3
- package/lib/typescript/sharedTypes/payments.types.d.ts +5 -5
- package/lib/typescript/sharedTypes/types.d.ts +7 -7
- package/lib/typescript/sharedTypes/wallet.types.d.ts +11 -2
- package/package.json +1 -1
- package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +3 -3
- package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +3 -3
- package/src/components/UNAccountComponent/UNAccountComponent.tsx +11 -3
- package/src/components/UNActivityComponent/UNActivityComponent.tsx +15 -4
- package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +3 -3
- package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +11 -1
- package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.tsx +8 -7
- package/src/components/UNCardComponent/UNCardComponent.tsx +5 -5
- package/src/messages/nativeMessages/cardMessage.ts +5 -15
- package/src/messages/webMessages/accountMessage.ts +12 -0
- package/src/messages/webMessages/index.ts +3 -0
- package/src/messages/webMessages/unitMessages.ts +2 -2
- package/src/scripts/html/bodyScript.ts +14 -2
- package/src/sharedTypes/account.types.ts +117 -0
- package/src/sharedTypes/achCredit.types.ts +13 -13
- package/src/sharedTypes/bookPayment.types.ts +11 -11
- package/src/sharedTypes/card.types.ts +18 -18
- package/src/sharedTypes/index.ts +1 -0
- package/src/sharedTypes/onLoadResponse.types.ts +5 -5
- package/src/sharedTypes/payments.types.ts +5 -5
- package/src/sharedTypes/types.ts +8 -8
- package/src/sharedTypes/wallet.types.ts +13 -3
- package/src/webComponent/html.ts +2 -0
- package/ios/UnitReactNativeComponents.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
- package/ios/UnitReactNativeComponents.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/UnitReactNativeComponents.xcodeproj/project.xcworkspace/xcuserdata/alonshprung.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/UnitReactNativeComponents.xcodeproj/xcuserdata/alonshprung.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
package/README.md
CHANGED
|
@@ -244,7 +244,6 @@ export default function YourComponent() {
|
|
|
244
244
|
```js
|
|
245
245
|
import React from 'react';
|
|
246
246
|
import { UNACHCreditComponent, UNACHData } from 'react-native-unit-components';
|
|
247
|
-
|
|
248
247
|
export default function YourComponent() {
|
|
249
248
|
return (
|
|
250
249
|
<UNACHCreditComponent
|
|
@@ -255,3 +254,73 @@ export default function YourComponent() {
|
|
|
255
254
|
);
|
|
256
255
|
}
|
|
257
256
|
```
|
|
257
|
+
|
|
258
|
+
#### ACH Debit Payment Component
|
|
259
|
+
|
|
260
|
+
##### Prerequirements
|
|
261
|
+
|
|
262
|
+
###### Installation of the SDK
|
|
263
|
+
In your project directory, run:
|
|
264
|
+
|
|
265
|
+
With npm:
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
npm install --save react-native-plaid-link-sdk
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
With yarn:
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
yarn add react-native-plaid-link-sdk
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
###### Installation for iOS
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
Add Plaid to your project’s Podfile as follows (likely located at ios/Podfile).
|
|
281
|
+
|
|
282
|
+
```
|
|
283
|
+
pod 'Plaid', '~> <insert latest version>'
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
Then install your CocoaPods dependencies:
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
(cd ios && pod install)
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
###### Installation for Android
|
|
293
|
+
|
|
294
|
+
Register your app id with Plaid:
|
|
295
|
+
|
|
296
|
+
- Log in to the [Plaid dashboard](https://dashboard.plaid.com/signin) and go to Team Settings -> API.
|
|
297
|
+
|
|
298
|
+
- Next to Allowed Android package names, click Configure, then Add New Android Package Name.
|
|
299
|
+
|
|
300
|
+
- Enter your package name, for example com.plaid.example.
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
##### UNACHDebitComponent props:
|
|
304
|
+
| Name | Type | Required | Description |
|
|
305
|
+
| --------------------- | -------------------------------------- | --------- | ---------------------------------------------- |
|
|
306
|
+
| customerToken | string | YES | A Unit Customer token. |
|
|
307
|
+
| accountId | string | YES | Unit account id. The account from which money is being sent. |
|
|
308
|
+
| theme | string | No | A URL that specifies the UI configuration. |
|
|
309
|
+
| fee | number | NO | Bill your counterparty for his activity. |
|
|
310
|
+
| is-auto-focus | boolean | NO | Auto-focus the 'add new recipient' button once the component is mounted. Default "false" |
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
##### Example:
|
|
314
|
+
```js
|
|
315
|
+
import React from 'react';
|
|
316
|
+
import { UNACHDebitComponent, UNACHData } from 'react-native-unit-components';
|
|
317
|
+
export default function YourComponent() {
|
|
318
|
+
return (
|
|
319
|
+
<UNACHDebitComponent
|
|
320
|
+
customerToken={''}
|
|
321
|
+
accountId={'1105561'}
|
|
322
|
+
onPaymentCreated={(payment: UNACHData) => { console.log(payment) }}
|
|
323
|
+
/>
|
|
324
|
+
);
|
|
325
|
+
}
|
|
326
|
+
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_bodyHtml","_pageMessage","_reactNative","_unitMessages","_UNACHCreditComponent","_paymentsMessage","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNACHCreditComponent","props","height","setHeight","useState","presentationMode","setPresentationMode","PresentationMode","Inherit","handleWebViewMessage","message","details","type","PaymentMessage","PAYMENT_CREATED","achCreditEvent","onPaymentCreated","data","UnitMessage","UNIT_ON_LOAD","onLoad","PageMessage","PAGE_HEIGHT","currentHeight","Default","renderACHCreditWebView","createElement","WebComponent","WebComponentType","achCreditPayment","params","getACHCreditParams","script","getACHCreditScript","onMessage","isScrollable","theme","View","style","exports"],"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 {
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_bodyHtml","_pageMessage","_reactNative","_unitMessages","_UNACHCreditComponent","_paymentsMessage","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNACHCreditComponent","props","height","setHeight","useState","presentationMode","setPresentationMode","PresentationMode","Inherit","handleWebViewMessage","message","details","type","PaymentMessage","PAYMENT_CREATED","achCreditEvent","onPaymentCreated","data","UnitMessage","UNIT_ON_LOAD","onLoad","PageMessage","PAGE_HEIGHT","currentHeight","Default","renderACHCreditWebView","createElement","WebComponent","WebComponentType","achCreditPayment","params","getACHCreditParams","script","getACHCreditScript","onMessage","isScrollable","theme","View","style","exports"],"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 { UNResponseUnitOnLoadEvent, UNACHData } 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';\n\nexport interface UNACHCreditComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n isAutoFocus?: boolean;\n fee?: number;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: UNResponseUnitOnLoadEvent) => 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 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 props.onLoad && props.onLoad(message.details as UNResponseUnitOnLoadEvent);\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 />\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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_bodyHtml","_pageMessage","_reactNative","_unitMessages","_UNACHDebitComponent","_reactNativePlaidLinkSdk","_paymentsMessage","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNACHDebitComponent","props","height","setHeight","useState","appPackageName","setAppPackageName","linkToken","setLinkToken","webRef","useRef","presentationMode","setPresentationMode","PresentationMode","Inherit","useEffect","setPackageNameForAndroid","Platform","OS","packageName","getAndroidPackageName","dispatchUnitPlaidResponse","success","injectUnitPlaidResponse","current","handleWebViewMessage","message","details","type","PaymentMessage","PAYMENT_CREATED","achDebitEvent","onPaymentCreated","data","UnitMessage","UNIT_ON_LOAD","onLoad","PageMessage","PAGE_HEIGHT","currentHeight","Default","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","openLink","tokenConfig","noLoadingState","token","onSuccess","onExit","exit","console","log","catch","e","error","renderACHDebitWebView","createElement","WebComponent","ref","WebComponentType","achDebitPayment","params","getACHDebitParams","script","getACHDebitScript","onMessage","isScrollable","theme","View","style","exports"],"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 {
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_bodyHtml","_pageMessage","_reactNative","_unitMessages","_UNACHDebitComponent","_reactNativePlaidLinkSdk","_paymentsMessage","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNACHDebitComponent","props","height","setHeight","useState","appPackageName","setAppPackageName","linkToken","setLinkToken","webRef","useRef","presentationMode","setPresentationMode","PresentationMode","Inherit","useEffect","setPackageNameForAndroid","Platform","OS","packageName","getAndroidPackageName","dispatchUnitPlaidResponse","success","injectUnitPlaidResponse","current","handleWebViewMessage","message","details","type","PaymentMessage","PAYMENT_CREATED","achDebitEvent","onPaymentCreated","data","UnitMessage","UNIT_ON_LOAD","onLoad","PageMessage","PAGE_HEIGHT","currentHeight","Default","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","openLink","tokenConfig","noLoadingState","token","onSuccess","onExit","exit","console","log","catch","e","error","renderACHDebitWebView","createElement","WebComponent","ref","WebComponentType","achDebitPayment","params","getACHDebitParams","script","getACHDebitScript","onMessage","isScrollable","theme","View","style","exports"],"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 { UNResponseUnitOnLoadEvent, UNACHData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { Platform, View } from 'react-native';\nimport { PlaidLinkTokenData, PlaidTokenCreatedEvent, RequestExternalSdkEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { getACHDebitParams, getACHDebitScript, getAndroidPackageName, injectUnitPlaidResponse } from './UNACHDebitComponent.utils';\n\nimport { LinkSuccess, openLink } from 'react-native-plaid-link-sdk';\nimport type WebView from 'react-native-webview';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\n\nexport interface UNACHDebitComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n isAutoFocus?: boolean;\n fee?: number;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: UNResponseUnitOnLoadEvent) => void;\n}\n\nexport const UNACHDebitComponent = (props: UNACHDebitComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [appPackageName, setAppPackageName] = useState<string>('');\n const [linkToken, setLinkToken] = useState<string>('');\n const webRef = useRef<WebView>(null);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n useEffect(() => {\n const setPackageNameForAndroid = async () => {\n if (Platform.OS === 'android') {\n const packageName = await getAndroidPackageName();\n setAppPackageName(packageName);\n }\n };\n setPackageNameForAndroid();\n }, []);\n\n const dispatchUnitPlaidResponse = (success: LinkSuccess) => {\n injectUnitPlaidResponse(webRef.current, success);\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achDebitEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achDebitEvent.data as UNACHData);\n break;\n }\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as UNResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n case UnitMessage.UNIT_PLAID_TOKEN_CREATED: {\n const linkTokenEvent = message.details as PlaidTokenCreatedEvent;\n const linkTokenData = linkTokenEvent.linkToken as PlaidLinkTokenData;\n setLinkToken(linkTokenData.attributes.linkToken);\n break;\n }\n\n case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK: {\n const externalSdkType = (message.details as RequestExternalSdkEvent).type;\n if (externalSdkType !== 'plaid') return;\n linkToken && openLink({\n tokenConfig: { noLoadingState: false, token: linkToken},\n onSuccess: (success) => {\n dispatchUnitPlaidResponse(success);\n },\n onExit: exit => { console.log(exit); }\n }).catch(e => {\n console.error(e);\n });\n break;\n }\n }\n };\n\n const renderACHDebitWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.achDebitPayment}\n presentationMode={presentationMode}\n params={getACHDebitParams(props)}\n script={getACHDebitScript(appPackageName)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderACHDebitWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderACHDebitWebView()}\n </View>\n\n );\n};\n"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ var _WebComponent = require("../../webComponent/WebComponent");
|
|
|
13
13
|
var _UNAccountComponent = require("./UNAccountComponent.utils");
|
|
14
14
|
var _bodyHtml = require("../../scripts/html/bodyHtml");
|
|
15
15
|
var _listenerToBus = require("../../hooks/listenerToBus");
|
|
16
|
+
var _accountMessage = require("../../messages/webMessages/accountMessage");
|
|
16
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -27,6 +28,9 @@ const UNAccountComponent = props => {
|
|
|
27
28
|
const windowWidth = _reactNative.Dimensions.get('window').width;
|
|
28
29
|
const [requestRefreshEvent, setRequestRefreshEvent] = (0, _react.useState)(null);
|
|
29
30
|
const webRef = (0, _react.useRef)(null);
|
|
31
|
+
const handleAccountChanged = account => {
|
|
32
|
+
props.onAccountChanged && props.onAccountChanged(account);
|
|
33
|
+
};
|
|
30
34
|
const requestRefresh = data => {
|
|
31
35
|
setRequestRefreshEvent(data);
|
|
32
36
|
};
|
|
@@ -34,6 +38,10 @@ const UNAccountComponent = props => {
|
|
|
34
38
|
busEventKey: _unitMessages.UnitMessage.UNIT_REQUEST_REFRESH,
|
|
35
39
|
action: requestRefresh
|
|
36
40
|
});
|
|
41
|
+
(0, _listenerToBus.useListenerToBus)({
|
|
42
|
+
busEventKey: _accountMessage.AccountMessage.UNIT_ACCOUNT_CHANGED,
|
|
43
|
+
action: handleAccountChanged
|
|
44
|
+
});
|
|
37
45
|
(0, _react.useEffect)(() => {
|
|
38
46
|
(0, _UNAccountComponent.injectRefreshEventIfNeeded)(webRef.current, requestRefreshEvent);
|
|
39
47
|
}, [requestRefreshEvent]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_pageMessage","_unitMessages","_EventBus","_interopRequireDefault","_WebComponent","_UNAccountComponent","_bodyHtml","_listenerToBus","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AccountAction","exports","UNAccountComponent","props","height","setHeight","useState","windowWidth","Dimensions","width","requestRefreshEvent","setRequestRefreshEvent","webRef","useRef","requestRefresh","data","useListenerToBus","busEventKey","UnitMessage","UNIT_REQUEST_REFRESH","action","useEffect","injectRefreshEventIfNeeded","current","handleMessage","message","type","UNIT_ON_LOAD","onLoad","details","UNIT_REQUEST_RENDERING","event","componentName","WebComponentType","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_pageMessage","_unitMessages","_EventBus","_interopRequireDefault","_WebComponent","_UNAccountComponent","_bodyHtml","_listenerToBus","_accountMessage","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AccountAction","exports","UNAccountComponent","props","height","setHeight","useState","windowWidth","Dimensions","width","requestRefreshEvent","setRequestRefreshEvent","webRef","useRef","handleAccountChanged","account","onAccountChanged","requestRefresh","data","useListenerToBus","busEventKey","UnitMessage","UNIT_REQUEST_REFRESH","action","AccountMessage","UNIT_ACCOUNT_CHANGED","useEffect","injectRefreshEventIfNeeded","current","handleMessage","message","type","UNIT_ON_LOAD","onLoad","details","UNIT_REQUEST_RENDERING","event","componentName","WebComponentType","componentResourceId","accountId","requestRenderingEvent","EventBus","Instance","PageMessage","PAGE_HEIGHT","createElement","View","style","WebComponent","ref","presentationMode","PresentationMode","Default","params","getAccountParams","script","getAccountScript","theme","onMessage","isScrollable"],"sources":["UNAccountComponent.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport type WebView from 'react-native-webview';\nimport { HeightEvent, PageMessage } from '../..//messages/webMessages/pageMessage';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport EventBus from '../../helpers/EventBus';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getAccountParams, getAccountScript, injectRefreshEventIfNeeded } from './UNAccountComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport type { UNResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { UNAccountData } from '../../sharedTypes/account.types';\nimport { AccountMessage } from '../../messages/webMessages/accountMessage';\n\nexport interface UNAccountComponentProps {\n accountId?: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: UNResponseUnitOnLoadEvent) => void;\n onAccountChanged?: (account: UNAccountData) => void;\n}\n\nexport enum AccountAction {\n List = 'account-list',\n Menu = 'account-menu'\n}\n\nexport const UNAccountComponent = (props: UNAccountComponentProps) => {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const [requestRefreshEvent, setRequestRefreshEvent] = useState<RequestRefreshEvent | null>(null);\n\n const webRef = useRef<WebView>(null);\n\n const handleAccountChanged = (account: UNAccountData) => {\n props.onAccountChanged && props.onAccountChanged(account)\n }\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n setRequestRefreshEvent(data);\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: AccountMessage.UNIT_ACCOUNT_CHANGED, action: handleAccountChanged });\n\n useEffect(() => {\n injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);\n }, [requestRefreshEvent]);\n\n const handleMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as UNResponseUnitOnLoadEvent);\n break;\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.account,\n componentResourceId: props.accountId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);\n break;\n }\n case PageMessage.PAGE_HEIGHT:\n setHeight((message.details as HeightEvent).height);\n break;\n }\n };\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.account}\n presentationMode={PresentationMode.Default}\n params={getAccountParams(props)}\n script={getAccountScript()}\n theme={props.theme}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n};\n"],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ var _pageMessage = require("../../messages/webMessages/pageMessage");
|
|
|
12
12
|
var _bodyHtml = require("../../scripts/html/bodyHtml");
|
|
13
13
|
var _WebComponent = require("../../webComponent/WebComponent");
|
|
14
14
|
var _UNActivityComponent = require("./UNActivityComponent.utils");
|
|
15
|
+
var _EventBus = _interopRequireDefault(require("../../helpers/EventBus"));
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
17
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
19
|
const DEFAULT_HEIGHT = _reactNative.Dimensions.get('window').height * 0.5;
|
|
@@ -27,6 +29,16 @@ const UNActivityComponent = props => {
|
|
|
27
29
|
});
|
|
28
30
|
const handleWebViewMessage = message => {
|
|
29
31
|
switch (message.type) {
|
|
32
|
+
case _unitMessages.UnitMessage.UNIT_REQUEST_RENDERING:
|
|
33
|
+
{
|
|
34
|
+
const event = {
|
|
35
|
+
componentName: _WebComponent.WebComponentType.activity,
|
|
36
|
+
componentResourceId: props.accountId,
|
|
37
|
+
requestRenderingEvent: message.details
|
|
38
|
+
};
|
|
39
|
+
_EventBus.default.Instance.event(_unitMessages.UnitMessage.UNIT_REQUEST_RENDERING, event);
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
30
42
|
case _unitMessages.UnitMessage.UNIT_ON_LOAD:
|
|
31
43
|
props.onLoad && props.onLoad(message.details);
|
|
32
44
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_unitMessages","_listenerToBus","_pageMessage","_bodyHtml","_WebComponent","_UNActivityComponent","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_unitMessages","_listenerToBus","_pageMessage","_bodyHtml","_WebComponent","_UNActivityComponent","_EventBus","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","DEFAULT_HEIGHT","Dimensions","height","UNActivityComponent","props","webRef","useRef","defaultHeight","setDefaultHeight","useState","requestRefresh","data","injectRefreshEventIfNeeded","current","useListenerToBus","busEventKey","UnitMessage","UNIT_REQUEST_REFRESH","action","handleWebViewMessage","message","type","UNIT_REQUEST_RENDERING","event","componentName","WebComponentType","activity","componentResourceId","accountId","requestRenderingEvent","details","EventBus","Instance","UNIT_ON_LOAD","onLoad","PageMessage","PAGE_HEIGHT","currentHeight","renderActivityWebView","createElement","WebComponent","ref","presentationMode","PresentationMode","Inherit","params","getActivityParams","onMessage","nestedScrollEnabled","theme","script","getActivityScript","View","style","exports"],"sources":["UNActivityComponent.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { UNResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { getActivityParams, getActivityScript, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';\nimport type WebView from 'react-native-webview';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport EventBus from '../../helpers/EventBus';\n\nconst DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;\nexport interface UNActivityComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: UNResponseUnitOnLoadEvent) => void\n}\n\nexport const UNActivityComponent = (props: UNActivityComponentProps) => {\n const webRef = useRef<WebView>(null);\n const [defaultHeight, setDefaultHeight] = useState<number>();\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data);\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.activity,\n componentResourceId: props.accountId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);\n break;\n }\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as UNResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n currentHeight === 0 && setDefaultHeight(DEFAULT_HEIGHT);\n break;\n }\n }\n };\n\n const renderActivityWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.activity}\n presentationMode={PresentationMode.Inherit}\n params={getActivityParams(props)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n nestedScrollEnabled={true}\n theme={props.theme}\n script={getActivityScript()}\n />\n );\n };\n\n if (!defaultHeight) {\n return renderActivityWebView();\n }\n\n return (\n <View style={{ height: defaultHeight }}>\n {renderActivityWebView()}\n </View>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_bodyHtml","_UNBookPaymentComponent","_pageMessage","_reactNative","_unitMessages","_paymentsMessage","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNBookPaymentComponent","props","height","setHeight","useState","presentationMode","setPresentationMode","PresentationMode","Inherit","handleWebViewMessage","message","details","type","PaymentMessage","PAYMENT_CREATED","onPaymentCreated","data","UnitMessage","UNIT_ON_LOAD","onLoad","PageMessage","PAGE_HEIGHT","currentHeight","Default","renderBookPaymentWebView","createElement","WebComponent","WebComponentType","bookPayment","params","getBookPaymentParams","script","getBookPaymentScript","onMessage","isScrollable","theme","View","style","exports"],"sources":["UNBookPaymentComponent.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type {
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_bodyHtml","_UNBookPaymentComponent","_pageMessage","_reactNative","_unitMessages","_paymentsMessage","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNBookPaymentComponent","props","height","setHeight","useState","presentationMode","setPresentationMode","PresentationMode","Inherit","handleWebViewMessage","message","details","type","PaymentMessage","PAYMENT_CREATED","onPaymentCreated","data","UnitMessage","UNIT_ON_LOAD","onLoad","PageMessage","PAGE_HEIGHT","currentHeight","Default","renderBookPaymentWebView","createElement","WebComponent","WebComponentType","bookPayment","params","getBookPaymentParams","script","getBookPaymentScript","onMessage","isScrollable","theme","View","style","exports"],"sources":["UNBookPaymentComponent.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport { getBookPaymentParams, getBookPaymentScript } from './UNBookPaymentComponent.utils';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type { UNResponseUnitOnLoadEvent, UNBookPaymentData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { View } from 'react-native';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { BookPaymentEvent } from '../../messages/webMessages/bookPaymentMessage';\n\nexport interface UNBookPaymentComponentProps {\n accountId: string;\n customerToken: string;\n isSameCustomer: boolean;\n counterPartyAccountId: string;\n counterPartyName: string;\n theme?: string;\n onPaymentCreated?: (data: UNBookPaymentData) => void;\n onLoad?: (response: UNResponseUnitOnLoadEvent) => void;\n}\n\nexport const UNBookPaymentComponent = (props: UNBookPaymentComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED:\n props.onPaymentCreated && props.onPaymentCreated((message.details as BookPaymentEvent).data);\n break;\n case UnitMessage.UNIT_ON_LOAD:\n props.onLoad && props.onLoad(message.details as UNResponseUnitOnLoadEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n }\n };\n\n const renderBookPaymentWebView = () => {\n return (\n <WebComponent\n type={WebComponentType.bookPayment}\n presentationMode={presentationMode}\n params={getBookPaymentParams(props)}\n script={getBookPaymentScript()}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderBookPaymentWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderBookPaymentWebView()}\n </View>\n );\n};\n"],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ var _useAppStateListener = require("../../hooks/useAppStateListener");
|
|
|
20
20
|
var _UNAddToWalletBottomSheetItem = require("./components/UNAddToWalletBottomSheetItem");
|
|
21
21
|
var _UNAccountComponent = require("../UNAccountComponent/UNAccountComponent.utils");
|
|
22
22
|
var _UNAccountComponent2 = require("../UNAccountComponent/UNAccountComponent");
|
|
23
|
+
var _accountMessage = require("../../messages/webMessages/accountMessage");
|
|
23
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
25
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -147,6 +148,9 @@ const UNBottomSheetComponent = () => {
|
|
|
147
148
|
case _cardMessage.CardMessage.CARD_STATUS_CHANGED:
|
|
148
149
|
_EventBus.default.Instance.event(_cardMessage.CardMessage.CARD_STATUS_CHANGED, message.details.card);
|
|
149
150
|
break;
|
|
151
|
+
case _accountMessage.AccountMessage.UNIT_ACCOUNT_CHANGED:
|
|
152
|
+
_EventBus.default.Instance.event(_accountMessage.AccountMessage.UNIT_ACCOUNT_CHANGED, message.details.account);
|
|
153
|
+
break;
|
|
150
154
|
case _unitMessages.UnitMessage.UNIT_REQUEST_CLOSE_FLOW:
|
|
151
155
|
handleCloseFlow();
|
|
152
156
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_reactNative","_BottomSheet","_interopRequireDefault","_EventBus","_pageMessage","_unitMessages","_cardMessage","_listenerToBus","_UNBottomSheetComponent","_UNBottomSheetComponent2","_bodyHtml","_useAppStateListener","_UNAddToWalletBottomSheetItem","_UNAccountComponent","_UNAccountComponent2","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ScrollState","exports","CustomDialog","UNBottomSheetComponent","isBottomSheetActive","setIsBottomSheetActive","useState","height","setHeight","bottomSheetSlotData","setBottomSheetSlotData","requestRenderingEvent","setRequestRenderingEvent","scrollState","setScrollState","onTop","waitForLoadingNewComponent","setWaitForLoadingNewComponent","newHeightMessage","setNewHeightMessage","customDialog","setCustomDialog","isAppActive","useAppStateListener","styles","getStylesObject","webRef","useRef","handleRequestRendering","data","handleCloseFlow","useEffect","current","renderingBottomSheetRequest","resetHtml","undefined","setNewHeight","useListenerToBus","busEventKey","UnitMessage","UNIT_REQUEST_RENDERING","action","UNIT_REQUEST_CLOSE_FLOW","message","componentName","WebComponentType","account","accountActionType","getAccountActionType","AccountAction","List","unScrollable","card","addToWallet","nativePlace","bottomSheetNewHeight","handleHtmlFullHeight","Dimensions","details","onWebMessage","type","PageMessage","PAGE_HEIGHT","_requestRenderingEven","requestRendering","nativeComponent","includes","setTimeout","CardMessage","CARD_STATUS_CHANGED","EventBus","Instance","event","UNIT_REQUEST_OPEN_LINK","href","Linking","openURL","onScrollWebView","currY","nativeEvent","contentOffset","y","onlyBottomSheet","onlyWebView","handleWebViewScroll","renderBottomSheetItem","createElement","UNAddToWalletBottomSheetItem","renderingRequest","cardId","componentResourceId","WebComponent","ref","slot","presentationMode","PresentationMode","CoverInjectedHeight","script","getBottomSheetScript","onMessage","isScrollable","handleScroll","Fragment","View","pointerEvents","style","container","isOpen","onClose","onOpen","shouldEnableBottomSheetScroll"],"sources":["UNBottomSheetComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useRef, useState } from 'react';\nimport type WebView from 'react-native-webview';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { Dimensions, Linking, View } from 'react-native';\nimport BottomSheet from '../../helpers/BottomSheet/BottomSheet';\nimport EventBus from '../../helpers/EventBus';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { RequestOpenLinkEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { CardMessage, CardStatusChangedEvent } from '../../messages/webMessages/cardMessage';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getBottomSheetScript, handleHtmlFullHeight, renderingBottomSheetRequest, resetHtml } from './UNBottomSheetComponent.utils';\nimport { getStylesObject } from './UNBottomSheetComponent.styles';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport { useAppStateListener } from '../../hooks/useAppStateListener';\nimport { UNAddToWalletBottomSheetItem } from './components/UNAddToWalletBottomSheetItem';\nimport { getAccountActionType } from '../UNAccountComponent/UNAccountComponent.utils';\nimport { AccountAction } from '../UNAccountComponent/UNAccountComponent';\n\nexport enum ScrollState {\n /*\n Web View ScrollState -\n - Initialization:\n 'onTop': for a scrollable webView.\n (onTop means that the webview is onTop of the BottomSheet and we need to recognize the scroll direction).\n Then, it recognize the scroll direction and update the scroll state as needed.\n\n -'unScrollable': for an unscrollable webView\n */\n onTop = 'onTop',\n unScrollable = 'unScrollable',\n\n /*\n These are only for maintain the bottom sheet scrollState (not an initialize scroll state).\n It relates to the current scroll state.\n onlyWebView means that now the scroll is on webview (only).\n onlyBottomSheet means that now the scroll is on bottomSheet (only).\n */\n onlyWebView = 'webViewScroll',\n onlyBottomSheet = 'onlyBottomSheet',\n}\n\nexport type BottomSheetSlotData = {\n // The data that rendered by the web view\n componentName?: WebComponentType,\n componentResourceId?: string,\n requestRenderingEvent: RequestRenderingEvent\n}\n\nenum CustomDialog {\n addToWallet\n}\n\nexport const UNBottomSheetComponent = () => {\n const [isBottomSheetActive, setIsBottomSheetActive] = useState(false);\n const [height, setHeight] = useState(0);\n\n const [bottomSheetSlotData, setBottomSheetSlotData] = useState<BottomSheetSlotData>();\n const [requestRenderingEvent, setRequestRenderingEvent] = useState<RequestRenderingEvent>();\n const [scrollState, setScrollState] = useState<ScrollState>(ScrollState.onTop);\n\n const [waitForLoadingNewComponent, setWaitForLoadingNewComponent] = useState(false);\n const [newHeightMessage, setNewHeightMessage] = useState<WebViewMessage | null>(null);\n\n const [customDialog, setCustomDialog] = useState<CustomDialog | null>(null);\n\n const isAppActive = useAppStateListener();\n\n const styles = getStylesObject();\n\n const webRef = useRef<WebView>(null);\n\n const handleRequestRendering = (data: BottomSheetSlotData) => {\n setBottomSheetSlotData(data);\n setIsBottomSheetActive(true);\n setRequestRenderingEvent(data.requestRenderingEvent);\n };\n\n const handleCloseFlow = () => {\n setIsBottomSheetActive(false);\n };\n\n useEffect(() => {\n setRequestRenderingEvent(bottomSheetSlotData?.requestRenderingEvent);\n }, [bottomSheetSlotData]);\n\n useEffect(() => {\n if (!webRef.current) return;\n if (requestRenderingEvent) {\n renderingBottomSheetRequest(webRef.current, requestRenderingEvent);\n }\n }, [webRef.current, requestRenderingEvent]);\n\n useEffect(() => {\n if (!isBottomSheetActive) {\n webRef.current && resetHtml(webRef.current);\n setHeight(0);\n setRequestRenderingEvent(undefined);\n setScrollState(ScrollState.onTop);\n setCustomDialog(null);\n }\n }, [isBottomSheetActive]);\n\n useEffect(() => {\n if (!waitForLoadingNewComponent && newHeightMessage) {\n setWaitForLoadingNewComponent(false);\n setNewHeight(newHeightMessage);\n }\n }, [waitForLoadingNewComponent, newHeightMessage]);\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_RENDERING, action: handleRequestRendering });\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_CLOSE_FLOW, action: handleCloseFlow });\n\n const setNewHeight = (message: WebViewMessage) => {\n if (!requestRenderingEvent) return;\n switch (bottomSheetSlotData?.componentName) {\n case WebComponentType.account: {\n const accountActionType = getAccountActionType(requestRenderingEvent);\n setScrollState(\n accountActionType === AccountAction.List ? ScrollState.onTop : ScrollState.unScrollable\n );\n break;\n }\n case WebComponentType.card: {\n if (customDialog === CustomDialog.addToWallet) {\n setScrollState(ScrollState.unScrollable);\n } else {\n setScrollState(ScrollState.onTop);\n }\n break;\n }\n default: {\n const nativePlace = requestRenderingEvent?.data.nativePlace;\n if (nativePlace == 'overFullScreen') {\n setScrollState(ScrollState.onTop);\n } else {\n setScrollState(ScrollState.unScrollable);\n }\n }\n }\n const nativePlace = requestRenderingEvent?.data.nativePlace;\n if (nativePlace == 'overFullScreen') {\n const bottomSheetNewHeight = handleHtmlFullHeight(webRef.current, Dimensions.get('window').height);\n setHeight(bottomSheetNewHeight);\n } else {\n setHeight((message.details as HeightEvent).height);\n }\n };\n\n const onWebMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case PageMessage.PAGE_HEIGHT:\n requestRenderingEvent && setNewHeightMessage(message);\n break;\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const requestRendering = (message.details as RequestRenderingEvent);\n if (requestRendering.data.nativeComponent != requestRenderingEvent?.data?.nativeComponent) {\n if (requestRendering.data.nativeComponent.includes('action=AddToWallet')) {\n setCustomDialog(CustomDialog.addToWallet);\n }\n\n setHeight(0);\n setRequestRenderingEvent(requestRendering);\n setWaitForLoadingNewComponent(true);\n setTimeout(() => setWaitForLoadingNewComponent(false), 400);\n }\n break;\n }\n case CardMessage.CARD_STATUS_CHANGED:\n EventBus.Instance.event(CardMessage.CARD_STATUS_CHANGED, (message.details as CardStatusChangedEvent).card);\n break;\n case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:\n handleCloseFlow();\n break;\n case UnitMessage.UNIT_REQUEST_OPEN_LINK:\n // eslint-disable-next-line no-case-declarations\n const { href } = (message.details as RequestOpenLinkEvent);\n Linking.openURL(href);\n break;\n }\n };\n\n const onScrollWebView = (event: any) => {\n if (scrollState === ScrollState.unScrollable) return;\n\n const currY = event.nativeEvent.contentOffset.y;\n\n if (ScrollState.onTop && currY < 5) {\n setScrollState(ScrollState.onlyBottomSheet);\n }\n\n if (scrollState !== ScrollState.onlyWebView && scrollState === ScrollState.onTop && currY > 5) {\n setScrollState(ScrollState.onlyWebView);\n }\n };\n\n const handleWebViewScroll = () => {\n if (scrollState === ScrollState.unScrollable) return;\n setScrollState(ScrollState.onlyWebView);\n };\n\n const renderBottomSheetItem = () => {\n switch (customDialog) {\n case CustomDialog.addToWallet:\n return <UNAddToWalletBottomSheetItem renderingRequest={requestRenderingEvent} cardId={bottomSheetSlotData?.componentResourceId} />;\n default:\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.slot}\n presentationMode={PresentationMode.CoverInjectedHeight}\n script={getBottomSheetScript()}\n onMessage={onWebMessage}\n isScrollable={scrollState === ScrollState.onlyWebView || scrollState === ScrollState.onTop}\n handleScroll={onScrollWebView}\n />\n );\n }\n };\n\n return (\n <>\n <View\n pointerEvents={isBottomSheetActive ? undefined : 'none'}\n style={styles.container}\n >\n <BottomSheet\n isOpen={isBottomSheetActive}\n height={height}\n onClose={() => setIsBottomSheetActive(false)}\n onOpen={() => setIsBottomSheetActive(true)}\n handleWebViewScroll={() => handleWebViewScroll()}\n shouldEnableBottomSheetScroll={scrollState !== ScrollState.onlyWebView}\n >\n {isAppActive && renderBottomSheetItem()}\n </BottomSheet >\n </View >\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_reactNative","_BottomSheet","_interopRequireDefault","_EventBus","_pageMessage","_unitMessages","_cardMessage","_listenerToBus","_UNBottomSheetComponent","_UNBottomSheetComponent2","_bodyHtml","_useAppStateListener","_UNAddToWalletBottomSheetItem","_UNAccountComponent","_UNAccountComponent2","_accountMessage","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ScrollState","exports","CustomDialog","UNBottomSheetComponent","isBottomSheetActive","setIsBottomSheetActive","useState","height","setHeight","bottomSheetSlotData","setBottomSheetSlotData","requestRenderingEvent","setRequestRenderingEvent","scrollState","setScrollState","onTop","waitForLoadingNewComponent","setWaitForLoadingNewComponent","newHeightMessage","setNewHeightMessage","customDialog","setCustomDialog","isAppActive","useAppStateListener","styles","getStylesObject","webRef","useRef","handleRequestRendering","data","handleCloseFlow","useEffect","current","renderingBottomSheetRequest","resetHtml","undefined","setNewHeight","useListenerToBus","busEventKey","UnitMessage","UNIT_REQUEST_RENDERING","action","UNIT_REQUEST_CLOSE_FLOW","message","componentName","WebComponentType","account","accountActionType","getAccountActionType","AccountAction","List","unScrollable","card","addToWallet","nativePlace","bottomSheetNewHeight","handleHtmlFullHeight","Dimensions","details","onWebMessage","type","PageMessage","PAGE_HEIGHT","_requestRenderingEven","requestRendering","nativeComponent","includes","setTimeout","CardMessage","CARD_STATUS_CHANGED","EventBus","Instance","event","AccountMessage","UNIT_ACCOUNT_CHANGED","UNIT_REQUEST_OPEN_LINK","href","Linking","openURL","onScrollWebView","currY","nativeEvent","contentOffset","y","onlyBottomSheet","onlyWebView","handleWebViewScroll","renderBottomSheetItem","createElement","UNAddToWalletBottomSheetItem","renderingRequest","cardId","componentResourceId","WebComponent","ref","slot","presentationMode","PresentationMode","CoverInjectedHeight","script","getBottomSheetScript","onMessage","isScrollable","handleScroll","Fragment","View","pointerEvents","style","container","isOpen","onClose","onOpen","shouldEnableBottomSheetScroll"],"sources":["UNBottomSheetComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useRef, useState } from 'react';\nimport type WebView from 'react-native-webview';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { Dimensions, Linking, View } from 'react-native';\nimport BottomSheet from '../../helpers/BottomSheet/BottomSheet';\nimport EventBus from '../../helpers/EventBus';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { RequestOpenLinkEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { CardMessage, CardStatusChangedEvent } from '../../messages/webMessages/cardMessage';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport {\n getBottomSheetScript,\n handleHtmlFullHeight,\n renderingBottomSheetRequest,\n resetHtml,\n} from './UNBottomSheetComponent.utils';\nimport { getStylesObject } from './UNBottomSheetComponent.styles';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport { useAppStateListener } from '../../hooks/useAppStateListener';\nimport { UNAddToWalletBottomSheetItem } from './components/UNAddToWalletBottomSheetItem';\nimport { getAccountActionType } from '../UNAccountComponent/UNAccountComponent.utils';\nimport { AccountAction } from '../UNAccountComponent/UNAccountComponent';\nimport type { AccountChangedEvent } from '../../messages/webMessages/accountMessage';\nimport { AccountMessage } from '../../messages/webMessages/accountMessage';\n\nexport enum ScrollState {\n /*\n Web View ScrollState -\n - Initialization:\n 'onTop': for a scrollable webView.\n (onTop means that the webview is onTop of the BottomSheet and we need to recognize the scroll direction).\n Then, it recognize the scroll direction and update the scroll state as needed.\n\n -'unScrollable': for an unscrollable webView\n */\n onTop = 'onTop',\n unScrollable = 'unScrollable',\n\n /*\n These are only for maintain the bottom sheet scrollState (not an initialize scroll state).\n It relates to the current scroll state.\n onlyWebView means that now the scroll is on webview (only).\n onlyBottomSheet means that now the scroll is on bottomSheet (only).\n */\n onlyWebView = 'webViewScroll',\n onlyBottomSheet = 'onlyBottomSheet',\n}\n\nexport type BottomSheetSlotData = {\n // The data that rendered by the web view\n componentName?: WebComponentType,\n componentResourceId?: string,\n requestRenderingEvent: RequestRenderingEvent\n}\n\nenum CustomDialog {\n addToWallet\n}\n\nexport const UNBottomSheetComponent = () => {\n const [isBottomSheetActive, setIsBottomSheetActive] = useState(false);\n const [height, setHeight] = useState(0);\n\n const [bottomSheetSlotData, setBottomSheetSlotData] = useState<BottomSheetSlotData>();\n const [requestRenderingEvent, setRequestRenderingEvent] = useState<RequestRenderingEvent>();\n const [scrollState, setScrollState] = useState<ScrollState>(ScrollState.onTop);\n\n const [waitForLoadingNewComponent, setWaitForLoadingNewComponent] = useState(false);\n const [newHeightMessage, setNewHeightMessage] = useState<WebViewMessage | null>(null);\n\n const [customDialog, setCustomDialog] = useState<CustomDialog | null>(null);\n\n const isAppActive = useAppStateListener();\n\n const styles = getStylesObject();\n\n const webRef = useRef<WebView>(null);\n\n const handleRequestRendering = (data: BottomSheetSlotData) => {\n setBottomSheetSlotData(data);\n setIsBottomSheetActive(true);\n setRequestRenderingEvent(data.requestRenderingEvent);\n };\n\n const handleCloseFlow = () => {\n setIsBottomSheetActive(false);\n };\n\n useEffect(() => {\n setRequestRenderingEvent(bottomSheetSlotData?.requestRenderingEvent);\n }, [bottomSheetSlotData]);\n\n useEffect(() => {\n if (!webRef.current) return;\n if (requestRenderingEvent) {\n renderingBottomSheetRequest(webRef.current, requestRenderingEvent);\n }\n }, [webRef.current, requestRenderingEvent]);\n\n useEffect(() => {\n if (!isBottomSheetActive) {\n webRef.current && resetHtml(webRef.current);\n setHeight(0);\n setRequestRenderingEvent(undefined);\n setScrollState(ScrollState.onTop);\n setCustomDialog(null);\n }\n }, [isBottomSheetActive]);\n\n useEffect(() => {\n if (!waitForLoadingNewComponent && newHeightMessage) {\n setWaitForLoadingNewComponent(false);\n setNewHeight(newHeightMessage);\n }\n }, [waitForLoadingNewComponent, newHeightMessage]);\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_RENDERING, action: handleRequestRendering });\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_CLOSE_FLOW, action: handleCloseFlow });\n\n const setNewHeight = (message: WebViewMessage) => {\n if (!requestRenderingEvent) return;\n switch (bottomSheetSlotData?.componentName) {\n case WebComponentType.account: {\n const accountActionType = getAccountActionType(requestRenderingEvent);\n setScrollState(\n accountActionType === AccountAction.List ? ScrollState.onTop : ScrollState.unScrollable\n );\n break;\n }\n case WebComponentType.card: {\n if (customDialog === CustomDialog.addToWallet) {\n setScrollState(ScrollState.unScrollable);\n } else {\n setScrollState(ScrollState.onTop);\n }\n break;\n }\n default: {\n const nativePlace = requestRenderingEvent?.data.nativePlace;\n if (nativePlace == 'overFullScreen') {\n setScrollState(ScrollState.onTop);\n } else {\n setScrollState(ScrollState.unScrollable);\n }\n }\n }\n const nativePlace = requestRenderingEvent?.data.nativePlace;\n if (nativePlace == 'overFullScreen') {\n const bottomSheetNewHeight = handleHtmlFullHeight(webRef.current, Dimensions.get('window').height);\n setHeight(bottomSheetNewHeight);\n } else {\n setHeight((message.details as HeightEvent).height);\n }\n };\n\n const onWebMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case PageMessage.PAGE_HEIGHT:\n requestRenderingEvent && setNewHeightMessage(message);\n break;\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const requestRendering = (message.details as RequestRenderingEvent);\n if (requestRendering.data.nativeComponent != requestRenderingEvent?.data?.nativeComponent) {\n if (requestRendering.data.nativeComponent.includes('action=AddToWallet')) {\n setCustomDialog(CustomDialog.addToWallet);\n }\n\n setHeight(0);\n setRequestRenderingEvent(requestRendering);\n setWaitForLoadingNewComponent(true);\n setTimeout(() => setWaitForLoadingNewComponent(false), 400);\n }\n break;\n }\n case CardMessage.CARD_STATUS_CHANGED:\n EventBus.Instance.event(CardMessage.CARD_STATUS_CHANGED, (message.details as CardStatusChangedEvent).card);\n break;\n case AccountMessage.UNIT_ACCOUNT_CHANGED:\n EventBus.Instance.event(AccountMessage.UNIT_ACCOUNT_CHANGED, (message.details as AccountChangedEvent).account);\n break;\n case UnitMessage.UNIT_REQUEST_CLOSE_FLOW:\n handleCloseFlow();\n break;\n case UnitMessage.UNIT_REQUEST_OPEN_LINK:\n // eslint-disable-next-line no-case-declarations\n const { href } = (message.details as RequestOpenLinkEvent);\n Linking.openURL(href);\n break;\n }\n };\n\n const onScrollWebView = (event: any) => {\n if (scrollState === ScrollState.unScrollable) return;\n\n const currY = event.nativeEvent.contentOffset.y;\n\n if (ScrollState.onTop && currY < 5) {\n setScrollState(ScrollState.onlyBottomSheet);\n }\n\n if (scrollState !== ScrollState.onlyWebView && scrollState === ScrollState.onTop && currY > 5) {\n setScrollState(ScrollState.onlyWebView);\n }\n };\n\n const handleWebViewScroll = () => {\n if (scrollState === ScrollState.unScrollable) return;\n setScrollState(ScrollState.onlyWebView);\n };\n\n const renderBottomSheetItem = () => {\n switch (customDialog) {\n case CustomDialog.addToWallet:\n return <UNAddToWalletBottomSheetItem renderingRequest={requestRenderingEvent} cardId={bottomSheetSlotData?.componentResourceId} />;\n default:\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.slot}\n presentationMode={PresentationMode.CoverInjectedHeight}\n script={getBottomSheetScript()}\n onMessage={onWebMessage}\n isScrollable={scrollState === ScrollState.onlyWebView || scrollState === ScrollState.onTop}\n handleScroll={onScrollWebView}\n />\n );\n }\n };\n\n return (\n <>\n <View\n pointerEvents={isBottomSheetActive ? undefined : 'none'}\n style={styles.container}\n >\n <BottomSheet\n isOpen={isBottomSheetActive}\n height={height}\n onClose={() => setIsBottomSheetActive(false)}\n onOpen={() => setIsBottomSheetActive(true)}\n handleWebViewScroll={() => handleWebViewScroll()}\n shouldEnableBottomSheetScroll={scrollState !== ScrollState.onlyWebView}\n >\n {isAppActive && renderBottomSheetItem()}\n </BottomSheet >\n </View >\n </>\n );\n};\n"],"mappings":"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"}
|
package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js
CHANGED
|
@@ -14,6 +14,7 @@ var _UNAddToWalletBottomSheetItem = require("./UNAddToWalletBottomSheetItem.styl
|
|
|
14
14
|
var _reactNative = require("react-native");
|
|
15
15
|
var _listenerToBus = require("../../../hooks/listenerToBus");
|
|
16
16
|
var _UnitAddToWalletButton = _interopRequireDefault(require("../../../nativeComponent/UnitAddToWalletButton"));
|
|
17
|
+
var _wallet = require("../../../sharedTypes/wallet.types");
|
|
17
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -24,7 +25,7 @@ const UNAddToWalletBottomSheetItem = props => {
|
|
|
24
25
|
renderingRequest,
|
|
25
26
|
cardId
|
|
26
27
|
} = props;
|
|
27
|
-
const [addToWalletStatus, setAddToWalletStatus] = (0, _react.useState)(
|
|
28
|
+
const [addToWalletStatus, setAddToWalletStatus] = (0, _react.useState)(_wallet.UNCardAddToWalletStatus.pending);
|
|
28
29
|
(0, _react.useEffect)(() => {
|
|
29
30
|
if (!cardId) return;
|
|
30
31
|
const event = {
|
|
@@ -34,8 +35,8 @@ const UNAddToWalletBottomSheetItem = props => {
|
|
|
34
35
|
}, [cardId]);
|
|
35
36
|
(0, _react.useEffect)(() => {
|
|
36
37
|
if (!webRef.current) return;
|
|
37
|
-
if (addToWalletStatus ===
|
|
38
|
-
const isCardInWallet = addToWalletStatus ===
|
|
38
|
+
if (addToWalletStatus === _wallet.UNCardAddToWalletStatus.pending) return;
|
|
39
|
+
const isCardInWallet = addToWalletStatus === _wallet.UNCardAddToWalletStatus.addedToWallet;
|
|
39
40
|
webRef.current.injectJavaScript(`window.UnitMobileSDKConfig["isCardInWallet"] = ${isCardInWallet}`);
|
|
40
41
|
if (renderingRequest) {
|
|
41
42
|
(0, _UNBottomSheetComponent.renderingBottomSheetRequest)(webRef.current, renderingRequest);
|
|
@@ -62,9 +63,9 @@ const UNAddToWalletBottomSheetItem = props => {
|
|
|
62
63
|
type: _WebComponent.WebComponentType.slot,
|
|
63
64
|
presentationMode: _bodyHtml.PresentationMode.CoverInjectedHeight,
|
|
64
65
|
isScrollable: false
|
|
65
|
-
}), addToWalletStatus ===
|
|
66
|
+
}), addToWalletStatus === _wallet.UNCardAddToWalletStatus.pending && /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
|
|
66
67
|
style: styles.loader
|
|
67
|
-
}), addToWalletStatus ===
|
|
68
|
+
}), addToWalletStatus === _wallet.UNCardAddToWalletStatus.readyToProvisioning && /*#__PURE__*/_react.default.createElement(_UnitAddToWalletButton.default, {
|
|
68
69
|
style: styles.addToWalletButton,
|
|
69
70
|
onAddToWalletClicked: handleAddToWalletClicked
|
|
70
71
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_cardMessage","_EventBus","_interopRequireDefault","_bodyHtml","_WebComponent","_UNBottomSheetComponent","_UNAddToWalletBottomSheetItem","_reactNative","_listenerToBus","_UnitAddToWalletButton","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNAddToWalletBottomSheetItem","props","styles","getStylesObject","webRef","useRef","renderingRequest","cardId","addToWalletStatus","setAddToWalletStatus","useState","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_cardMessage","_EventBus","_interopRequireDefault","_bodyHtml","_WebComponent","_UNBottomSheetComponent","_UNAddToWalletBottomSheetItem","_reactNative","_listenerToBus","_UnitAddToWalletButton","_wallet","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNAddToWalletBottomSheetItem","props","styles","getStylesObject","webRef","useRef","renderingRequest","cardId","addToWalletStatus","setAddToWalletStatus","useState","UNCardAddToWalletStatus","pending","useEffect","event","EventBus","Instance","CardNativeMessage","CARD_GET_ADD_TO_WALLET_STATUS","current","isCardInWallet","addedToWallet","injectJavaScript","renderingBottomSheetRequest","gotCardWalletStatus","data","status","useListenerToBus","busEventKey","CARD_UPDATE_ADD_TO_WALLET_STATUS","action","handleAddToWalletClicked","startPushProvisioningEvent","CARD_START_PUSH_PROVISIONING","createElement","Fragment","WebComponent","ref","type","WebComponentType","slot","presentationMode","PresentationMode","CoverInjectedHeight","isScrollable","ActivityIndicator","style","loader","readyToProvisioning","addToWalletButton","onAddToWalletClicked","exports"],"sources":["UNAddToWalletBottomSheetItem.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport type WebView from 'react-native-webview';\nimport { UNCardAddToWalletStatusEvent, CardGetAddToWalletStatusEvent, CardNativeMessage, CardStartPushProvisioningEvent } from '../../../messages/nativeMessages/cardMessage';\nimport EventBus from '../../../helpers/EventBus';\nimport { PresentationMode } from '../../../scripts/html/bodyHtml';\nimport { WebComponent, WebComponentType } from '../../../webComponent/WebComponent';\nimport { renderingBottomSheetRequest } from '../UNBottomSheetComponent.utils';\nimport { getStylesObject } from './UNAddToWalletBottomSheetItem.styles';\nimport { ActivityIndicator } from 'react-native';\nimport { useListenerToBus } from '../../../hooks/listenerToBus';\nimport type { RequestRenderingEvent } from '../../../messages/webMessages/unitMessages';\nimport UnitAddToWalletButtonView from '../../../nativeComponent/UnitAddToWalletButton';\nimport { UNCardAddToWalletStatus } from '../../../sharedTypes/wallet.types';\n\nexport interface UNAddToWalletBottomSheetItemProps {\n renderingRequest?: RequestRenderingEvent\n cardId?: string\n}\n\nexport const UNAddToWalletBottomSheetItem = (props: UNAddToWalletBottomSheetItemProps) => {\n const styles = getStylesObject();\n\n const webRef = useRef<WebView>(null);\n\n const { renderingRequest, cardId } = props;\n\n const [addToWalletStatus, setAddToWalletStatus] = useState<UNCardAddToWalletStatus>(UNCardAddToWalletStatus.pending);\n\n useEffect(() => {\n if (!cardId) return;\n const event: CardGetAddToWalletStatusEvent = { cardId };\n EventBus.Instance.event(CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS, event);\n }, [cardId]);\n\n useEffect(() => {\n if (!webRef.current) return;\n if (addToWalletStatus === UNCardAddToWalletStatus.pending) return;\n\n const isCardInWallet = addToWalletStatus === UNCardAddToWalletStatus.addedToWallet;\n webRef.current.injectJavaScript(`window.UnitMobileSDKConfig[\"isCardInWallet\"] = ${isCardInWallet}`);\n\n if (renderingRequest) {\n renderingBottomSheetRequest(webRef.current, renderingRequest);\n }\n }, [webRef.current, renderingRequest, addToWalletStatus]);\n\n const gotCardWalletStatus = (data?: UNCardAddToWalletStatusEvent) => {\n if (data != null) {\n setAddToWalletStatus(data.status);\n }\n };\n\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_UPDATE_ADD_TO_WALLET_STATUS, action: gotCardWalletStatus });\n\n const handleAddToWalletClicked = () => {\n if (!cardId) return;\n const startPushProvisioningEvent: CardStartPushProvisioningEvent = { cardId };\n EventBus.Instance.event(CardNativeMessage.CARD_START_PUSH_PROVISIONING, startPushProvisioningEvent);\n };\n\n return (\n <>\n <WebComponent\n ref={webRef}\n type={WebComponentType.slot}\n presentationMode={PresentationMode.CoverInjectedHeight}\n isScrollable={false}\n />\n {addToWalletStatus === UNCardAddToWalletStatus.pending && <ActivityIndicator style={styles.loader} />}\n {addToWalletStatus === UNCardAddToWalletStatus.readyToProvisioning && <UnitAddToWalletButtonView style={styles.addToWalletButton} onAddToWalletClicked={handleAddToWalletClicked} />}\n </>\n );\n};\n"],"mappings":"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"}
|