react-native-unit-components 1.1.0 → 1.2.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.
Files changed (120) hide show
  1. package/README.md +70 -1
  2. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  3. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  4. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +8 -0
  5. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  6. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +12 -0
  7. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  8. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  9. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js +4 -0
  10. package/lib/commonjs/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  11. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +6 -5
  12. package/lib/commonjs/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
  13. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
  14. package/lib/commonjs/messages/nativeMessages/cardMessage.js +1 -13
  15. package/lib/commonjs/messages/nativeMessages/cardMessage.js.map +1 -1
  16. package/lib/commonjs/messages/webMessages/accountMessage.js +12 -0
  17. package/lib/commonjs/messages/webMessages/accountMessage.js.map +1 -0
  18. package/lib/commonjs/messages/webMessages/index.js.map +1 -1
  19. package/lib/commonjs/messages/webMessages/unitMessages.js.map +1 -1
  20. package/lib/commonjs/scripts/html/bodyScript.js +14 -3
  21. package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
  22. package/lib/commonjs/sharedTypes/account.types.js +31 -0
  23. package/lib/commonjs/sharedTypes/account.types.js.map +1 -0
  24. package/lib/commonjs/sharedTypes/achCredit.types.js.map +1 -1
  25. package/lib/commonjs/sharedTypes/bookPayment.types.js.map +1 -1
  26. package/lib/commonjs/sharedTypes/card.types.js.map +1 -1
  27. package/lib/commonjs/sharedTypes/index.js +11 -0
  28. package/lib/commonjs/sharedTypes/index.js.map +1 -1
  29. package/lib/commonjs/sharedTypes/onLoadResponse.types.js.map +1 -1
  30. package/lib/commonjs/sharedTypes/payments.types.js +6 -6
  31. package/lib/commonjs/sharedTypes/payments.types.js.map +1 -1
  32. package/lib/commonjs/sharedTypes/types.js.map +1 -1
  33. package/lib/commonjs/sharedTypes/wallet.types.js +13 -1
  34. package/lib/commonjs/sharedTypes/wallet.types.js.map +1 -1
  35. package/lib/commonjs/webComponent/WebComponent.js +2 -1
  36. package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
  37. package/lib/commonjs/webComponent/html.js +2 -0
  38. package/lib/commonjs/webComponent/html.js.map +1 -1
  39. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  40. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  41. package/lib/module/components/UNAccountComponent/UNAccountComponent.js +8 -0
  42. package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  43. package/lib/module/components/UNActivityComponent/UNActivityComponent.js +11 -0
  44. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  45. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  46. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js +4 -0
  47. package/lib/module/components/UNBottomSheetComponent/UNBottomSheetComponent.js.map +1 -1
  48. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js +7 -6
  49. package/lib/module/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.js.map +1 -1
  50. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
  51. package/lib/module/messages/nativeMessages/cardMessage.js +0 -11
  52. package/lib/module/messages/nativeMessages/cardMessage.js.map +1 -1
  53. package/lib/module/messages/webMessages/accountMessage.js +5 -0
  54. package/lib/module/messages/webMessages/accountMessage.js.map +1 -0
  55. package/lib/module/messages/webMessages/index.js.map +1 -1
  56. package/lib/module/messages/webMessages/unitMessages.js.map +1 -1
  57. package/lib/module/scripts/html/bodyScript.js +14 -3
  58. package/lib/module/scripts/html/bodyScript.js.map +1 -1
  59. package/lib/module/sharedTypes/account.types.js +23 -0
  60. package/lib/module/sharedTypes/account.types.js.map +1 -0
  61. package/lib/module/sharedTypes/achCredit.types.js.map +1 -1
  62. package/lib/module/sharedTypes/bookPayment.types.js.map +1 -1
  63. package/lib/module/sharedTypes/card.types.js.map +1 -1
  64. package/lib/module/sharedTypes/index.js +1 -0
  65. package/lib/module/sharedTypes/index.js.map +1 -1
  66. package/lib/module/sharedTypes/onLoadResponse.types.js.map +1 -1
  67. package/lib/module/sharedTypes/payments.types.js +4 -4
  68. package/lib/module/sharedTypes/payments.types.js.map +1 -1
  69. package/lib/module/sharedTypes/types.js.map +1 -1
  70. package/lib/module/sharedTypes/wallet.types.js +11 -0
  71. package/lib/module/sharedTypes/wallet.types.js.map +1 -1
  72. package/lib/module/webComponent/WebComponent.js +2 -1
  73. package/lib/module/webComponent/WebComponent.js.map +1 -1
  74. package/lib/module/webComponent/html.js +2 -0
  75. package/lib/module/webComponent/html.js.map +1 -1
  76. package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +2 -2
  77. package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.d.ts +2 -2
  78. package/lib/typescript/components/UNAccountComponent/UNAccountComponent.d.ts +4 -2
  79. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +2 -2
  80. package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +2 -2
  81. package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +2 -2
  82. package/lib/typescript/messages/nativeMessages/cardMessage.d.ts +4 -13
  83. package/lib/typescript/messages/webMessages/accountMessage.d.ts +8 -0
  84. package/lib/typescript/messages/webMessages/index.d.ts +3 -2
  85. package/lib/typescript/messages/webMessages/unitMessages.d.ts +2 -2
  86. package/lib/typescript/scripts/html/bodyScript.d.ts +1 -0
  87. package/lib/typescript/sharedTypes/account.types.d.ts +114 -0
  88. package/lib/typescript/sharedTypes/achCredit.types.d.ts +13 -13
  89. package/lib/typescript/sharedTypes/bookPayment.types.d.ts +11 -11
  90. package/lib/typescript/sharedTypes/card.types.d.ts +18 -18
  91. package/lib/typescript/sharedTypes/index.d.ts +1 -0
  92. package/lib/typescript/sharedTypes/onLoadResponse.types.d.ts +3 -3
  93. package/lib/typescript/sharedTypes/payments.types.d.ts +5 -5
  94. package/lib/typescript/sharedTypes/types.d.ts +7 -7
  95. package/lib/typescript/sharedTypes/wallet.types.d.ts +11 -2
  96. package/package.json +1 -1
  97. package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +3 -3
  98. package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +3 -3
  99. package/src/components/UNAccountComponent/UNAccountComponent.tsx +11 -3
  100. package/src/components/UNActivityComponent/UNActivityComponent.tsx +15 -4
  101. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +3 -3
  102. package/src/components/UNBottomSheetComponent/UNBottomSheetComponent.tsx +11 -1
  103. package/src/components/UNBottomSheetComponent/components/UNAddToWalletBottomSheetItem.tsx +8 -7
  104. package/src/components/UNCardComponent/UNCardComponent.tsx +5 -5
  105. package/src/messages/nativeMessages/cardMessage.ts +5 -15
  106. package/src/messages/webMessages/accountMessage.ts +12 -0
  107. package/src/messages/webMessages/index.ts +3 -0
  108. package/src/messages/webMessages/unitMessages.ts +2 -2
  109. package/src/scripts/html/bodyScript.ts +14 -2
  110. package/src/sharedTypes/account.types.ts +117 -0
  111. package/src/sharedTypes/achCredit.types.ts +13 -13
  112. package/src/sharedTypes/bookPayment.types.ts +11 -11
  113. package/src/sharedTypes/card.types.ts +18 -18
  114. package/src/sharedTypes/index.ts +1 -0
  115. package/src/sharedTypes/onLoadResponse.types.ts +5 -5
  116. package/src/sharedTypes/payments.types.ts +5 -5
  117. package/src/sharedTypes/types.ts +8 -8
  118. package/src/sharedTypes/wallet.types.ts +13 -3
  119. package/src/webComponent/WebComponent.tsx +1 -1
  120. package/src/webComponent/html.ts +2 -0
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 { ResponseUnitOnLoadEvent, 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: ResponseUnitOnLoadEvent) => 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 ResponseUnitOnLoadEvent);\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
+ {"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 { ResponseUnitOnLoadEvent, 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: ResponseUnitOnLoadEvent) => 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 ResponseUnitOnLoadEvent);\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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"}
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","account","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 { ResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\n\nexport interface UNAccountComponentProps {\n accountId?: string;\n customerToken: string;\n theme?: string;\n onLoad?: (response: ResponseUnitOnLoadEvent) => 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 requestRefresh = (data: RequestRefreshEvent) => {\n setRequestRefreshEvent(data);\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\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 ResponseUnitOnLoadEvent);\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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"}
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","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","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_ON_LOAD","onLoad","details","PageMessage","PAGE_HEIGHT","currentHeight","renderActivityWebView","createElement","WebComponent","ref","WebComponentType","activity","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, 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 { ResponseUnitOnLoadEvent } from '../../sharedTypes';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { getActivityParams, getActivityScript, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';\nimport type WebView from 'react-native-webview';\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: ResponseUnitOnLoadEvent) => 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_ON_LOAD:\n props.onLoad && props.onLoad(message.details as ResponseUnitOnLoadEvent);\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
+ {"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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAEA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,oBAAA,GAAAP,OAAA;AAGA,IAAAQ,SAAA,GAAAC,sBAAA,CAAAT,OAAA;AAA8C,SAAAS,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAW,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAE9C,MAAMW,cAAc,GAAGC,uBAAU,CAACb,GAAG,CAAC,QAAQ,CAAC,CAACc,MAAM,GAAG,GAAG;AAQrD,MAAMC,mBAAmB,GAAIC,KAA+B,IAAK;EACtE,MAAMC,MAAM,GAAG,IAAAC,aAAM,EAAU,IAAI,CAAC;EACpC,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,GAAU;EAE5D,MAAMC,cAAc,GAAIC,IAAyB,IAAK;IACpD,IAAAC,+CAA0B,EAACP,MAAM,CAACQ,OAAO,EAAEF,IAAI,CAAC;EAClD,CAAC;EAED,IAAAG,+BAAgB,EAAC;IAAEC,WAAW,EAAEC,yBAAW,CAACC,oBAAoB;IAAEC,MAAM,EAAER;EAAe,CAAC,CAAC;EAE3F,MAAMS,oBAAoB,GAAIC,OAAuB,IAAK;IACxD,QAAQA,OAAO,CAACC,IAAI;MAClB,KAAKL,yBAAW,CAACM,sBAAsB;QAAE;UACvC,MAAMC,KAA0B,GAAG;YACjCC,aAAa,EAAEC,8BAAgB,CAACC,QAAQ;YACxCC,mBAAmB,EAAEvB,KAAK,CAACwB,SAAS;YACpCC,qBAAqB,EAAET,OAAO,CAACU;UACjC,CAAC;UACDC,iBAAQ,CAACC,QAAQ,CAACT,KAAK,CAACP,yBAAW,CAACM,sBAAsB,EAAEC,KAAK,CAAC;UAClE;QACF;MACA,KAAKP,yBAAW,CAACiB,YAAY;QAC3B7B,KAAK,CAAC8B,MAAM,IAAI9B,KAAK,CAAC8B,MAAM,CAACd,OAAO,CAACU,OAAO,CAA8B;QAC1E;MACF,KAAKK,wBAAW,CAACC,WAAW;QAAE;UAC5B,MAAMC,aAAa,GAAIjB,OAAO,CAACU,OAAO,CAAiB5B,MAAM;UAC7DmC,aAAa,KAAK,CAAC,IAAI7B,gBAAgB,CAACR,cAAc,CAAC;UACvD;QACF;IAAC;EAEL,CAAC;EAED,MAAMsC,qBAAqB,GAAGA,CAAA,KAAM;IAClC,oBACExE,MAAA,CAAAc,OAAA,CAAA2D,aAAA,CAACjE,aAAA,CAAAkE,YAAY;MACXC,GAAG,EAAEpC,MAAO;MACZgB,IAAI,EAAEI,8BAAgB,CAACC,QAAS;MAChCgB,gBAAgB,EAAEC,0BAAgB,CAACC,OAAQ;MAC3CC,MAAM,EAAE,IAAAC,sCAAiB,EAAC1C,KAAK,CAAE;MACjC2C,SAAS,EAAG3B,OAAuB,IAAKD,oBAAoB,CAACC,OAAO,CAAE;MACtE4B,mBAAmB,EAAE,IAAK;MAC1BC,KAAK,EAAE7C,KAAK,CAAC6C,KAAM;MACnBC,MAAM,EAAE,IAAAC,sCAAiB;IAAG,EAC5B;EAEN,CAAC;EAED,IAAI,CAAC5C,aAAa,EAAE;IAClB,OAAO+B,qBAAqB,EAAE;EAChC;EAEA,oBACExE,MAAA,CAAAc,OAAA,CAAA2D,aAAA,CAACtE,YAAA,CAAAmF,IAAI;IAACC,KAAK,EAAE;MAAEnD,MAAM,EAAEK;IAAc;EAAE,GACpC+B,qBAAqB,EAAE,CACnB;AAEX,CAAC;AAACgB,OAAA,CAAAnD,mBAAA,GAAAA,mBAAA"}
@@ -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 { ResponseUnitOnLoadEvent, 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: ResponseUnitOnLoadEvent) => 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 ResponseUnitOnLoadEvent);\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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"}
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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"}
@@ -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)(_cardMessage.CardAddToWalletStatus.pending);
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 === _cardMessage.CardAddToWalletStatus.pending) return;
38
- const isCardInWallet = addToWalletStatus === _cardMessage.CardAddToWalletStatus.addedToWallet;
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 === _cardMessage.CardAddToWalletStatus.pending && /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
66
+ }), addToWalletStatus === _wallet.UNCardAddToWalletStatus.pending && /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
66
67
  style: styles.loader
67
- }), addToWalletStatus === _cardMessage.CardAddToWalletStatus.readyToProvisioning && /*#__PURE__*/_react.default.createElement(_UnitAddToWalletButton.default, {
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","CardAddToWalletStatus","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 { CardAddToWalletStatus, CardAddToWalletStatusEvent, 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';\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<CardAddToWalletStatus>(CardAddToWalletStatus.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 === CardAddToWalletStatus.pending) return;\n\n const isCardInWallet = addToWalletStatus === CardAddToWalletStatus.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?: CardAddToWalletStatusEvent) => {\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 === CardAddToWalletStatus.pending && <ActivityIndicator style={styles.loader} />}\n {addToWalletStatus === CardAddToWalletStatus.readyToProvisioning && <UnitAddToWalletButtonView style={styles.addToWalletButton} onAddToWalletClicked={handleAddToWalletClicked} />}\n </>\n );\n};\n"],"mappings":"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"}
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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"}