react-native-unit-components 1.4.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +5 -57
  2. package/ios/UNAppInfo/UNAppInfo.swift +5 -1
  3. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +46 -3
  4. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  5. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +18 -11
  6. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
  7. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +5 -6
  8. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  9. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +2 -23
  10. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -1
  11. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js +1 -0
  12. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  13. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +2 -1
  14. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
  15. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js +1 -0
  16. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  17. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +2 -1
  18. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  19. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js +2 -1
  20. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  21. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +1 -0
  22. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  23. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js +1 -0
  24. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
  25. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +1 -0
  26. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  27. package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js +1 -0
  28. package/lib/commonjs/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -1
  29. package/lib/commonjs/components/utils/nativeModulesInfo.js +20 -0
  30. package/lib/commonjs/components/utils/nativeModulesInfo.js.map +1 -0
  31. package/lib/commonjs/scripts/html/bodyScript.js +13 -2
  32. package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
  33. package/lib/commonjs/unitSdkManager/UnitSdkManager.js +6 -1
  34. package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
  35. package/lib/commonjs/webComponent/WebComponent.js +8 -3
  36. package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
  37. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js +49 -6
  38. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  39. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +16 -10
  40. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
  41. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +5 -6
  42. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  43. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +1 -21
  44. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -1
  45. package/lib/module/components/UNAccountComponent/UNAccountComponent.js +1 -0
  46. package/lib/module/components/UNAccountComponent/UNAccountComponent.js.map +1 -1
  47. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js +2 -1
  48. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
  49. package/lib/module/components/UNActivityComponent/UNActivityComponent.js +1 -0
  50. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  51. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +2 -1
  52. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  53. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js +2 -1
  54. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  55. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +1 -0
  56. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  57. package/lib/module/components/UNCardComponent/UNCardComponent.js +1 -0
  58. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
  59. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +1 -0
  60. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  61. package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js +1 -0
  62. package/lib/module/components/UNCheckDepositComponent/UNCheckDepositComponent.js.map +1 -1
  63. package/lib/module/components/utils/nativeModulesInfo.js +13 -0
  64. package/lib/module/components/utils/nativeModulesInfo.js.map +1 -0
  65. package/lib/module/scripts/html/bodyScript.js +13 -2
  66. package/lib/module/scripts/html/bodyScript.js.map +1 -1
  67. package/lib/module/unitSdkManager/UnitSdkManager.js +6 -1
  68. package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
  69. package/lib/module/webComponent/WebComponent.js +8 -3
  70. package/lib/module/webComponent/WebComponent.js.map +1 -1
  71. package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +2 -0
  72. package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.utils.d.ts +4 -1
  73. package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.d.ts +1 -0
  74. package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.utils.d.ts +0 -1
  75. package/lib/typescript/components/UNAccountComponent/UNAccountComponent.d.ts +1 -0
  76. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +2 -1
  77. package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +2 -0
  78. package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +2 -0
  79. package/lib/typescript/components/UNCheckDepositComponent/UNCheckDepositComponent.d.ts +1 -0
  80. package/lib/typescript/components/utils/nativeModulesInfo.d.ts +1 -0
  81. package/lib/typescript/scripts/html/bodyScript.d.ts +1 -0
  82. package/lib/typescript/unitSdkManager/UnitSdkManager.d.ts +3 -1
  83. package/lib/typescript/webComponent/WebComponent.d.ts +1 -0
  84. package/package.json +1 -1
  85. package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +46 -5
  86. package/src/components/UNACHCreditComponent/UNACHCreditComponent.utils.ts +14 -11
  87. package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +7 -9
  88. package/src/components/UNACHDebitComponent/UNACHDebitComponent.utils.ts +1 -20
  89. package/src/components/UNAccountComponent/UNAccountComponent.tsx +2 -0
  90. package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +2 -1
  91. package/src/components/UNActivityComponent/UNActivityComponent.tsx +4 -2
  92. package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +3 -1
  93. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +8 -0
  94. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +1 -0
  95. package/src/components/UNCardComponent/UNCardComponent.tsx +5 -2
  96. package/src/components/UNCardComponent/UNCardComponent.utils.ts +1 -0
  97. package/src/components/UNCheckDepositComponent/UNCheckDepositComponent.tsx +3 -1
  98. package/src/components/utils/nativeModulesInfo.ts +11 -0
  99. package/src/scripts/html/bodyScript.ts +13 -3
  100. package/src/unitSdkManager/UnitSdkManager.ts +7 -1
  101. package/src/webComponent/WebComponent.tsx +9 -3
  102. package/ios/UnitReactNativeComponents.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  103. package/ios/UnitReactNativeComponents.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  104. package/ios/UnitReactNativeComponents.xcodeproj/project.xcworkspace/xcuserdata/alonshprung.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  105. package/ios/UnitReactNativeComponents.xcodeproj/xcuserdata/alonshprung.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
package/README.md CHANGED
@@ -1,71 +1,19 @@
1
- # React Native SDK
1
+ # Unit White-Label UIs SDK for React Native 🚀
2
2
 
3
3
  ## Installation
4
4
 
5
5
  Add the react-native-unit-components dependency to your project:
6
6
 
7
- With npm:
7
+ #### With npm:
8
8
  ```bash
9
9
  $ npm install --save react-native-unit-components
10
10
  ```
11
11
 
12
- With yarn:
12
+ #### With yarn:
13
13
  ```bash
14
14
  $ yarn add react-native-unit-components
15
15
  ```
16
16
 
17
- ## Usage
17
+ ## Follow The Official Documentation
18
18
 
19
- ### Initialize Unit SDK
20
- Call to `UnitSDK.init` in your root component with the requested environment and your source.
21
- This also helps us to improve the app performance.
22
-
23
- The `UNEnvironment` enum should be used.
24
- ```js
25
- enum UNEnvironment {
26
- sandbox,
27
- production
28
- }
29
- ```
30
- #### Input:
31
- | Name | Type | Required | Description |
32
- | --------------- | ---------------------------- | --------- | -------------------------------------------- |
33
- | env | UNEnvironment | YES | Unit environment. |
34
- | theme | string | NO | A URL that specifies the UI configuration. |
35
-
36
- #### Example:
37
- ```js
38
- import React, { useEffect } from 'react';
39
- import { UnitSDK, UNEnvironment } from 'react-native-unit-components';
40
-
41
- const THEME = 'A URL that specifies the UI configuration';
42
-
43
- export default function YourRootComponent() {
44
- useEffect(() => {
45
- UnitSDK.init(UNEnvironment.production, THEME);
46
- }, [])
47
- }
48
- ```
49
-
50
- ### Bottom Sheet Component
51
-
52
- The `UNBottomSheetComponent` is a View that our SDK controls in order to show menus and forms in your application.
53
- It is mandatory to have one `UNBottomSheetComponent` when our components are visible.
54
-
55
- The `UNBottomSheetComponent` have an absolute position and should be able to take the full width the height of the screen.
56
- We recommend to place the `UNBottomSheetComponent` in your root component of your application.
57
-
58
- #### The structure of your root component might look as follows:
59
- ```js
60
- import React, { useEffect } from 'react';
61
- import { UNBottomSheetComponent } from 'react-native-unit-components';
62
-
63
- export default function YourRootComponent() {
64
- return (
65
- <>
66
- <YourComponents />
67
- <UNBottomSheetComponent />
68
- </>
69
- );
70
- }
71
- ```
19
+ Please follow [the official White-Label UIs React Native SDK documentation](https://guides.unit.co/react-native-sdk).
@@ -12,7 +12,11 @@ class UNAppInfo: NSObject {
12
12
  @objc func getBundleName(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
13
13
  if let bundleName = Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as? String {
14
14
  resolve(bundleName)
15
- } else {
15
+ }
16
+ else if let bundleName = Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as? String {
17
+ resolve(bundleName)
18
+ }
19
+ else {
16
20
  reject("ERROR", "Could not get bundle name", nil)
17
21
  }
18
22
  }
@@ -9,15 +9,29 @@ var _WebComponent = require("../../webComponent/WebComponent");
9
9
  var _bodyHtml = require("../../scripts/html/bodyHtml");
10
10
  var _pageMessage = require("../../messages/webMessages/pageMessage");
11
11
  var _reactNative = require("react-native");
12
- var _unitMessages = require("../../messages/webMessages/unitMessages");
13
12
  var _UNACHCreditComponent = require("./UNACHCreditComponent.utils");
14
13
  var _paymentsMessage = require("../../messages/webMessages/paymentsMessage");
15
14
  var _onLoadMessage = require("../../messages/webMessages/onLoadMessage");
15
+ var _unitMessages = require("../../messages/webMessages/unitMessages");
16
+ var _reactNativePlaidLinkSdk = require("react-native-plaid-link-sdk");
17
+ var _nativeModulesInfo = require("../utils/nativeModulesInfo");
16
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); }
17
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; }
18
20
  const UNACHCreditComponent = props => {
19
21
  const [height, setHeight] = (0, _react.useState)(0);
20
22
  const [presentationMode, setPresentationMode] = (0, _react.useState)(_bodyHtml.PresentationMode.Inherit);
23
+ const [linkToken, setLinkToken] = (0, _react.useState)();
24
+ const [appPackageName, setAppPackageName] = (0, _react.useState)();
25
+ const webRef = (0, _react.useRef)(null);
26
+ (0, _react.useEffect)(() => {
27
+ const setPackageNameForAndroid = async () => {
28
+ if (_reactNative.Platform.OS === 'android') {
29
+ const packageName = await (0, _nativeModulesInfo.getAndroidPackageName)();
30
+ setAppPackageName(packageName);
31
+ }
32
+ };
33
+ setPackageNameForAndroid();
34
+ }, []);
21
35
  const handleUnitOnLoad = response => {
22
36
  if (!props.onLoad) {
23
37
  return;
@@ -61,17 +75,46 @@ const UNACHCreditComponent = props => {
61
75
  }
62
76
  break;
63
77
  }
78
+ case _unitMessages.UnitMessage.UNIT_PLAID_TOKEN_CREATED:
79
+ {
80
+ const linkTokenEvent = message.details;
81
+ const linkTokenData = linkTokenEvent.linkToken;
82
+ setLinkToken(linkTokenData.attributes.linkToken);
83
+ break;
84
+ }
85
+ case _unitMessages.UnitMessage.UNIT_REQUEST_EXTERNAL_SDK:
86
+ {
87
+ const externalSdkType = message.details.type;
88
+ if (externalSdkType !== 'plaid') return;
89
+ linkToken && (0, _reactNativePlaidLinkSdk.openLink)({
90
+ tokenConfig: {
91
+ noLoadingState: false,
92
+ token: linkToken
93
+ },
94
+ onSuccess: success => {
95
+ (0, _UNACHCreditComponent.injectUnitPlaidResponse)(webRef.current, success);
96
+ },
97
+ onExit: exit => {
98
+ console.log(exit);
99
+ }
100
+ }).catch(e => {
101
+ console.error(e);
102
+ });
103
+ break;
104
+ }
64
105
  }
65
106
  };
66
107
  const renderACHCreditWebView = () => {
67
108
  return /*#__PURE__*/_react.default.createElement(_WebComponent.WebComponent, {
109
+ ref: webRef,
68
110
  type: _WebComponent.WebComponentType.achCreditPayment,
69
111
  presentationMode: presentationMode,
70
112
  params: (0, _UNACHCreditComponent.getACHCreditParams)(props),
71
- script: (0, _UNACHCreditComponent.getACHCreditScript)(),
113
+ script: (0, _UNACHCreditComponent.getACHCreditScript)(appPackageName),
72
114
  onMessage: message => handleWebViewMessage(message),
73
115
  isScrollable: false,
74
- theme: props.theme
116
+ theme: props.theme,
117
+ language: props.language
75
118
  });
76
119
  };
77
120
  if (presentationMode === _bodyHtml.PresentationMode.Inherit) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_bodyHtml","_pageMessage","_reactNative","_unitMessages","_UNACHCreditComponent","_paymentsMessage","_onLoadMessage","_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","handleUnitOnLoad","response","onLoad","RESPONSE_KEYS","errors","account","counterpartyAccount","achOnload","data","console","error","handleWebViewMessage","message","details","type","PaymentMessage","PAYMENT_CREATED","achCreditEvent","onPaymentCreated","UnitMessage","UNIT_ON_LOAD","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 { UNOnLoadResponse, UNACHData, UNACHOnLoadData, UNError, UNOnLoadResponseData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { View } from 'react-native';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { getACHCreditParams, getACHCreditScript } from './UNACHCreditComponent.utils';\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\n\nexport interface UNACHCreditComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n isAutoFocus?: boolean;\n fee?: number;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: UNOnLoadResponse<UNACHOnLoadData>) => void;\n}\n\nexport const UNACHCreditComponent = (props: UNACHCreditComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response && RESPONSE_KEYS.counterpartyAccount in response) {\n // ACHOnLoadResponse;\n const achOnload: UNOnLoadResponseData<UNACHOnLoadData> = {\n data: {\n [RESPONSE_KEYS.account]: response[RESPONSE_KEYS.account].data,\n [RESPONSE_KEYS.counterpartyAccount]: response[RESPONSE_KEYS.counterpartyAccount].data,\n }\n };\n props.onLoad(achOnload);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achCreditEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achCreditEvent.data as UNACHData);\n break;\n }\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n }\n };\n\n const renderACHCreditWebView = () => {\n return (\n <WebComponent\n type={WebComponentType.achCreditPayment}\n presentationMode={presentationMode}\n params={getACHCreditParams(props)}\n script={getACHCreditScript()}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n />\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","_UNACHCreditComponent","_paymentsMessage","_onLoadMessage","_unitMessages","_reactNativePlaidLinkSdk","_nativeModulesInfo","_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","linkToken","setLinkToken","appPackageName","setAppPackageName","webRef","useRef","useEffect","setPackageNameForAndroid","Platform","OS","packageName","getAndroidPackageName","handleUnitOnLoad","response","onLoad","RESPONSE_KEYS","errors","account","counterpartyAccount","achOnload","data","console","error","handleWebViewMessage","message","details","type","PaymentMessage","PAYMENT_CREATED","achCreditEvent","onPaymentCreated","UnitMessage","UNIT_ON_LOAD","PageMessage","PAGE_HEIGHT","currentHeight","Default","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","openLink","tokenConfig","noLoadingState","token","onSuccess","success","injectUnitPlaidResponse","current","onExit","exit","log","catch","e","renderACHCreditWebView","createElement","WebComponent","ref","WebComponentType","achCreditPayment","params","getACHCreditParams","script","getACHCreditScript","onMessage","isScrollable","theme","language","View","style","exports"],"sources":["UNACHCreditComponent.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport type { UNOnLoadResponse, UNACHData, UNACHOnLoadData, UNError, UNOnLoadResponseData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { Platform, View } from 'react-native';\nimport { getACHCreditParams, getACHCreditScript, injectUnitPlaidResponse } from './UNACHCreditComponent.utils';\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport { PlaidLinkTokenData, PlaidTokenCreatedEvent, RequestExternalSdkEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { LinkSuccess, openLink } from 'react-native-plaid-link-sdk';\nimport type WebView from 'react-native-webview';\nimport { getAndroidPackageName } from '../utils/nativeModulesInfo';\n\nexport interface UNACHCreditComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n language?: string;\n isAutoFocus?: boolean;\n fee?: number;\n withPlaid?: boolean;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: UNOnLoadResponse<UNACHOnLoadData>) => void;\n}\n\nexport const UNACHCreditComponent = (props: UNACHCreditComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n const [linkToken, setLinkToken] = useState<string>();\n const [appPackageName, setAppPackageName] = useState<string>();\n const webRef = useRef<WebView>(null);\n\n useEffect(() => {\n const setPackageNameForAndroid = async () => {\n if (Platform.OS === 'android') {\n const packageName = await getAndroidPackageName();\n setAppPackageName(packageName);\n }\n };\n setPackageNameForAndroid();\n }, []);\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response && RESPONSE_KEYS.counterpartyAccount in response) {\n // ACHOnLoadResponse;\n const achOnload: UNOnLoadResponseData<UNACHOnLoadData> = {\n data: {\n [RESPONSE_KEYS.account]: response[RESPONSE_KEYS.account].data,\n [RESPONSE_KEYS.counterpartyAccount]: response[RESPONSE_KEYS.counterpartyAccount].data,\n }\n };\n props.onLoad(achOnload);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achCreditEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achCreditEvent.data as UNACHData);\n break;\n }\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n case UnitMessage.UNIT_PLAID_TOKEN_CREATED: {\n const linkTokenEvent = message.details as PlaidTokenCreatedEvent;\n const linkTokenData = linkTokenEvent.linkToken as PlaidLinkTokenData;\n setLinkToken(linkTokenData.attributes.linkToken);\n break;\n }\n\n case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK: {\n const externalSdkType = (message.details as RequestExternalSdkEvent).type;\n if (externalSdkType !== 'plaid') return;\n linkToken && openLink({\n tokenConfig: { noLoadingState: false, token: linkToken },\n onSuccess: (success: LinkSuccess) => {\n injectUnitPlaidResponse(webRef.current, success);\n },\n onExit: exit => { console.log(exit); }\n }).catch(e => {\n console.error(e);\n });\n break;\n }\n }\n };\n\n const renderACHCreditWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.achCreditPayment}\n presentationMode={presentationMode}\n params={getACHCreditParams(props)}\n script={getACHCreditScript(appPackageName)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n language={props.language}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderACHCreditWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderACHCreditWebView()}\n </View>\n );\n};\n"],"mappings":"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"}
@@ -3,29 +3,36 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getACHCreditScript = exports.getACHCreditParams = void 0;
7
- var _paymentsMessage = require("../../messages/webMessages/paymentsMessage");
6
+ exports.injectUnitPlaidResponse = exports.getACHCreditScript = exports.getACHCreditParams = void 0;
7
+ var _bodyScript = require("../../scripts/html/bodyScript");
8
8
  const getACHCreditParams = props => {
9
9
  return `
10
10
  account-id="${props.accountId}"
11
11
  customer-token="${props.customerToken}"
12
+ with-plaid="${props.withPlaid ?? false}"
12
13
  is-auto-focus="${props.isAutoFocus ?? false}"
13
14
  ${props.fee ? `fee="${props.fee}"` : ''}
14
15
  style="height: 100%"
15
16
  `;
16
17
  };
17
18
  exports.getACHCreditParams = getACHCreditParams;
18
- const getACHCreditScript = () => {
19
+ const getACHCreditScript = appPackageName => {
19
20
  return `
20
- window.addEventListener("${_paymentsMessage.PaymentMessage.PAYMENT_CREATED}", (e) => {
21
- const response = e.detail
22
- response.then((data) => {
23
- postMessageToSDK({ type: "${_paymentsMessage.PaymentMessage.PAYMENT_CREATED}", details: { data: JSON.stringify(data.data) }})
24
- }).catch((e) => {
25
- console.log(e)
26
- })
27
- });
21
+ ${_bodyScript.LISTENERS.unitPlaidTokenCreated}
22
+ ${appPackageName && `window.UnitMobileSDKConfig.androidPackageName='${appPackageName}'`}
23
+ ${_bodyScript.LISTENERS.unitPaymentCreated}
24
+ ${_bodyScript.DISPATCH_PLAID_RESPONSE}
28
25
  `;
29
26
  };
30
27
  exports.getACHCreditScript = getACHCreditScript;
28
+ const injectUnitPlaidResponse = (currentWeb, success) => {
29
+ const successObj = {
30
+ data: {
31
+ publicToken: success.publicToken,
32
+ metadata: success.metadata
33
+ }
34
+ };
35
+ currentWeb === null || currentWeb === void 0 ? void 0 : currentWeb.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);
36
+ };
37
+ exports.injectUnitPlaidResponse = injectUnitPlaidResponse;
31
38
  //# sourceMappingURL=UNACHCreditComponent.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_paymentsMessage","require","getACHCreditParams","props","accountId","customerToken","isAutoFocus","fee","exports","getACHCreditScript","PaymentMessage","PAYMENT_CREATED"],"sources":["UNACHCreditComponent.utils.ts"],"sourcesContent":["import type { UNACHCreditComponentProps } from './UNACHCreditComponent';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\n\nexport const getACHCreditParams = (props: UNACHCreditComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n is-auto-focus=\"${props.isAutoFocus ?? false}\"\n ${props.fee ? `fee=\"${props.fee}\"` : ''}\n style=\"height: 100%\"\n `;\n};\n\nexport const getACHCreditScript = () => {\n return `\n window.addEventListener(\"${PaymentMessage.PAYMENT_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${PaymentMessage.PAYMENT_CREATED}\", details: { data: JSON.stringify(data.data) }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `;\n};\n"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AAEO,MAAMC,kBAAkB,GAAIC,KAAgC,IAAK;EACtE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,qBAAqBF,KAAK,CAACG,WAAW,IAAI,KAAM;AAChD,MAAMH,KAAK,CAACI,GAAG,GAAI,QAAOJ,KAAK,CAACI,GAAI,GAAE,GAAG,EAAG;AAC5C;AACA,GAAG;AACH,CAAC;AAACC,OAAA,CAAAN,kBAAA,GAAAA,kBAAA;AAEK,MAAMO,kBAAkB,GAAGA,CAAA,KAAM;EACtC,OAAQ;AACV,+BAA+BC,+BAAc,CAACC,eAAgB;AAC9D;AACA;AACA,sCAAsCD,+BAAc,CAACC,eAAgB;AACrE;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AAACH,OAAA,CAAAC,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"names":["_bodyScript","require","getACHCreditParams","props","accountId","customerToken","withPlaid","isAutoFocus","fee","exports","getACHCreditScript","appPackageName","LISTENERS","unitPlaidTokenCreated","unitPaymentCreated","DISPATCH_PLAID_RESPONSE","injectUnitPlaidResponse","currentWeb","success","successObj","data","publicToken","metadata","injectJavaScript","JSON","stringify"],"sources":["UNACHCreditComponent.utils.ts"],"sourcesContent":["import type { UNACHCreditComponentProps } from './UNACHCreditComponent';\nimport type WebView from 'react-native-webview';\nimport type { LinkSuccess } from 'react-native-plaid-link-sdk';\nimport { DISPATCH_PLAID_RESPONSE, LISTENERS } from '../../scripts/html/bodyScript';\n\nexport const getACHCreditParams = (props: UNACHCreditComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n with-plaid=\"${props.withPlaid ?? false}\"\n is-auto-focus=\"${props.isAutoFocus ?? false}\"\n ${props.fee ? `fee=\"${props.fee}\"` : ''}\n style=\"height: 100%\"\n `;\n};\n\nexport const getACHCreditScript = (appPackageName?: string) => {\n return `\n ${LISTENERS.unitPlaidTokenCreated}\n ${appPackageName && `window.UnitMobileSDKConfig.androidPackageName='${appPackageName}'`}\n ${LISTENERS.unitPaymentCreated}\n ${DISPATCH_PLAID_RESPONSE}\n `;\n};\n\nexport const injectUnitPlaidResponse = (currentWeb: WebView | null, success: LinkSuccess) => {\n const successObj = {data: { publicToken: success.publicToken, metadata: success.metadata}};\n currentWeb?.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);\n};\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,kBAAkB,GAAIC,KAAgC,IAAK;EACtE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,kBAAkBF,KAAK,CAACG,SAAS,IAAI,KAAM;AAC3C,qBAAqBH,KAAK,CAACI,WAAW,IAAI,KAAM;AAChD,MAAMJ,KAAK,CAACK,GAAG,GAAI,QAAOL,KAAK,CAACK,GAAI,GAAE,GAAG,EAAG;AAC5C;AACA,GAAG;AACH,CAAC;AAACC,OAAA,CAAAP,kBAAA,GAAAA,kBAAA;AAEK,MAAMQ,kBAAkB,GAAIC,cAAuB,IAAK;EAC7D,OAAQ;AACV,MAAMC,qBAAS,CAACC,qBAAsB;AACtC,MAAMF,cAAc,IAAK,kDAAiDA,cAAe,GAAG;AAC5F,MAAMC,qBAAS,CAACE,kBAAmB;AACnC,MAAMC,mCAAwB;AAC9B,GAAG;AACH,CAAC;AAACN,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AAEK,MAAMM,uBAAuB,GAAGA,CAACC,UAA0B,EAAEC,OAAoB,KAAK;EAC3F,MAAMC,UAAU,GAAG;IAACC,IAAI,EAAE;MAAEC,WAAW,EAAEH,OAAO,CAACG,WAAW;MAAEC,QAAQ,EAAEJ,OAAO,CAACI;IAAQ;EAAC,CAAC;EAC1FL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,sBAAqBC,IAAI,CAACC,SAAS,CAACN,UAAU,CAAE,GAAE,CAAC;AACnF,CAAC;AAACV,OAAA,CAAAO,uBAAA,GAAAA,uBAAA"}
@@ -14,6 +14,7 @@ var _UNACHDebitComponent = require("./UNACHDebitComponent.utils");
14
14
  var _reactNativePlaidLinkSdk = require("react-native-plaid-link-sdk");
15
15
  var _paymentsMessage = require("../../messages/webMessages/paymentsMessage");
16
16
  var _onLoadMessage = require("../../messages/webMessages/onLoadMessage");
17
+ var _nativeModulesInfo = require("../utils/nativeModulesInfo");
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; }
19
20
  const UNACHDebitComponent = props => {
@@ -25,15 +26,12 @@ const UNACHDebitComponent = props => {
25
26
  (0, _react.useEffect)(() => {
26
27
  const setPackageNameForAndroid = async () => {
27
28
  if (_reactNative.Platform.OS === 'android') {
28
- const packageName = await (0, _UNACHDebitComponent.getAndroidPackageName)();
29
+ const packageName = await (0, _nativeModulesInfo.getAndroidPackageName)();
29
30
  setAppPackageName(packageName);
30
31
  }
31
32
  };
32
33
  setPackageNameForAndroid();
33
34
  }, []);
34
- const dispatchUnitPlaidResponse = success => {
35
- (0, _UNACHDebitComponent.injectUnitPlaidResponse)(webRef.current, success);
36
- };
37
35
  const handleUnitOnLoad = response => {
38
36
  if (!props.onLoad) {
39
37
  return;
@@ -94,7 +92,7 @@ const UNACHDebitComponent = props => {
94
92
  token: linkToken
95
93
  },
96
94
  onSuccess: success => {
97
- dispatchUnitPlaidResponse(success);
95
+ (0, _UNACHDebitComponent.injectUnitPlaidResponse)(webRef.current, success);
98
96
  },
99
97
  onExit: exit => {
100
98
  console.log(exit);
@@ -115,7 +113,8 @@ const UNACHDebitComponent = props => {
115
113
  script: (0, _UNACHDebitComponent.getACHDebitScript)(appPackageName),
116
114
  onMessage: message => handleWebViewMessage(message),
117
115
  isScrollable: false,
118
- theme: props.theme
116
+ theme: props.theme,
117
+ language: props.language
119
118
  });
120
119
  };
121
120
  if (presentationMode === _bodyHtml.PresentationMode.Inherit) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_WebComponent","_bodyHtml","_pageMessage","_reactNative","_unitMessages","_UNACHDebitComponent","_reactNativePlaidLinkSdk","_paymentsMessage","_onLoadMessage","_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","handleUnitOnLoad","response","onLoad","RESPONSE_KEYS","errors","account","counterpartyAccount","achOnload","data","console","error","handleWebViewMessage","message","details","type","PaymentMessage","PAYMENT_CREATED","achDebitEvent","onPaymentCreated","UnitMessage","UNIT_ON_LOAD","PageMessage","PAGE_HEIGHT","currentHeight","Default","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","openLink","tokenConfig","noLoadingState","token","onSuccess","onExit","exit","log","catch","e","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 { UNOnLoadResponse, UNACHData, UNError, UNOnLoadResponseData, UNACHOnLoadData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { Platform, View } from 'react-native';\nimport { PlaidLinkTokenData, PlaidTokenCreatedEvent, RequestExternalSdkEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { getACHDebitParams, getACHDebitScript, getAndroidPackageName, injectUnitPlaidResponse } from './UNACHDebitComponent.utils';\n\nimport { LinkSuccess, openLink } from 'react-native-plaid-link-sdk';\nimport type WebView from 'react-native-webview';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\n\nexport interface UNACHDebitComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n isAutoFocus?: boolean;\n fee?: number;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: UNOnLoadResponse<UNACHOnLoadData>) => void;\n}\n\nexport const UNACHDebitComponent = (props: UNACHDebitComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [appPackageName, setAppPackageName] = useState<string>('');\n const [linkToken, setLinkToken] = useState<string>('');\n const webRef = useRef<WebView>(null);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n useEffect(() => {\n const setPackageNameForAndroid = async () => {\n if (Platform.OS === 'android') {\n const packageName = await getAndroidPackageName();\n setAppPackageName(packageName);\n }\n };\n setPackageNameForAndroid();\n }, []);\n\n const dispatchUnitPlaidResponse = (success: LinkSuccess) => {\n injectUnitPlaidResponse(webRef.current, success);\n };\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response && RESPONSE_KEYS.counterpartyAccount in response) {\n // ACHOnLoadResponse;\n const achOnload: UNOnLoadResponseData<UNACHOnLoadData> = {\n data: {\n [RESPONSE_KEYS.account]: response[RESPONSE_KEYS.account].data,\n [RESPONSE_KEYS.counterpartyAccount]: response[RESPONSE_KEYS.counterpartyAccount].data,\n }\n };\n props.onLoad(achOnload);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achDebitEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achDebitEvent.data as UNACHData);\n break;\n }\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n case UnitMessage.UNIT_PLAID_TOKEN_CREATED: {\n const linkTokenEvent = message.details as PlaidTokenCreatedEvent;\n const linkTokenData = linkTokenEvent.linkToken as PlaidLinkTokenData;\n setLinkToken(linkTokenData.attributes.linkToken);\n break;\n }\n\n case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK: {\n const externalSdkType = (message.details as RequestExternalSdkEvent).type;\n if (externalSdkType !== 'plaid') return;\n linkToken && openLink({\n tokenConfig: { noLoadingState: false, token: linkToken},\n onSuccess: (success) => {\n dispatchUnitPlaidResponse(success);\n },\n onExit: exit => { console.log(exit); }\n }).catch(e => {\n console.error(e);\n });\n break;\n }\n }\n };\n\n const renderACHDebitWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.achDebitPayment}\n presentationMode={presentationMode}\n params={getACHDebitParams(props)}\n script={getACHDebitScript(appPackageName)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n />\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","_onLoadMessage","_nativeModulesInfo","_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","handleUnitOnLoad","response","onLoad","RESPONSE_KEYS","errors","account","counterpartyAccount","achOnload","data","console","error","handleWebViewMessage","message","details","type","PaymentMessage","PAYMENT_CREATED","achDebitEvent","onPaymentCreated","UnitMessage","UNIT_ON_LOAD","PageMessage","PAGE_HEIGHT","currentHeight","Default","UNIT_PLAID_TOKEN_CREATED","linkTokenEvent","linkTokenData","attributes","UNIT_REQUEST_EXTERNAL_SDK","externalSdkType","openLink","tokenConfig","noLoadingState","token","onSuccess","success","injectUnitPlaidResponse","current","onExit","exit","log","catch","e","renderACHDebitWebView","createElement","WebComponent","ref","WebComponentType","achDebitPayment","params","getACHDebitParams","script","getACHDebitScript","onMessage","isScrollable","theme","language","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 { UNOnLoadResponse, UNACHData, UNError, UNOnLoadResponseData, UNACHOnLoadData } from '../../sharedTypes';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { Platform, View } from 'react-native';\nimport { PlaidLinkTokenData, PlaidTokenCreatedEvent, RequestExternalSdkEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { getACHDebitParams, getACHDebitScript, injectUnitPlaidResponse } from './UNACHDebitComponent.utils';\nimport { LinkSuccess, openLink } from 'react-native-plaid-link-sdk';\nimport type WebView from 'react-native-webview';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport type { ACHEvent } from '../../messages/webMessages/achCreditMessage';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport { getAndroidPackageName } from '../utils/nativeModulesInfo';\n\nexport interface UNACHDebitComponentProps {\n accountId: string;\n customerToken: string;\n theme?: string;\n language?: string;\n isAutoFocus?: boolean;\n fee?: number;\n onPaymentCreated?: (data: UNACHData) => void;\n onLoad?: (response: UNOnLoadResponse<UNACHOnLoadData>) => void;\n}\n\nexport const UNACHDebitComponent = (props: UNACHDebitComponentProps) => {\n const [height, setHeight] = useState<number>(0);\n const [appPackageName, setAppPackageName] = useState<string>('');\n const [linkToken, setLinkToken] = useState<string>('');\n const webRef = useRef<WebView>(null);\n const [presentationMode, setPresentationMode] = useState<PresentationMode>(PresentationMode.Inherit);\n\n useEffect(() => {\n const setPackageNameForAndroid = async () => {\n if (Platform.OS === 'android') {\n const packageName = await getAndroidPackageName();\n setAppPackageName(packageName);\n }\n };\n setPackageNameForAndroid();\n }, []);\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response && RESPONSE_KEYS.counterpartyAccount in response) {\n // ACHOnLoadResponse;\n const achOnload: UNOnLoadResponseData<UNACHOnLoadData> = {\n data: {\n [RESPONSE_KEYS.account]: response[RESPONSE_KEYS.account].data,\n [RESPONSE_KEYS.counterpartyAccount]: response[RESPONSE_KEYS.counterpartyAccount].data,\n }\n };\n props.onLoad(achOnload);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case PaymentMessage.PAYMENT_CREATED: {\n const achDebitEvent = message.details as ACHEvent;\n props.onPaymentCreated && props.onPaymentCreated(achDebitEvent.data as UNACHData);\n break;\n }\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n setHeight(currentHeight);\n if (presentationMode === PresentationMode.Inherit && currentHeight === 0) {\n setPresentationMode(PresentationMode.Default);\n }\n break;\n }\n case UnitMessage.UNIT_PLAID_TOKEN_CREATED: {\n const linkTokenEvent = message.details as PlaidTokenCreatedEvent;\n const linkTokenData = linkTokenEvent.linkToken as PlaidLinkTokenData;\n setLinkToken(linkTokenData.attributes.linkToken);\n break;\n }\n\n case UnitMessage.UNIT_REQUEST_EXTERNAL_SDK: {\n const externalSdkType = (message.details as RequestExternalSdkEvent).type;\n if (externalSdkType !== 'plaid') return;\n linkToken && openLink({\n tokenConfig: { noLoadingState: false, token: linkToken },\n onSuccess: (success: LinkSuccess) => {\n injectUnitPlaidResponse(webRef.current, success);\n },\n onExit: exit => { console.log(exit); }\n }).catch(e => {\n console.error(e);\n });\n break;\n }\n }\n };\n\n const renderACHDebitWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.achDebitPayment}\n presentationMode={presentationMode}\n params={getACHDebitParams(props)}\n script={getACHDebitScript(appPackageName)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n isScrollable={false}\n theme={props.theme}\n language={props.language}\n />\n );\n };\n\n if (presentationMode === PresentationMode.Inherit) {\n return renderACHDebitWebView();\n }\n\n return (\n <View style={{ height: height }}>\n {renderACHDebitWebView()}\n </View>\n\n );\n};\n"],"mappings":"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"}
@@ -3,13 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.injectUnitPlaidResponse = exports.getAndroidPackageName = exports.getACHDebitScript = exports.getACHDebitParams = void 0;
6
+ exports.injectUnitPlaidResponse = exports.getACHDebitScript = exports.getACHDebitParams = void 0;
7
7
  var _bodyScript = require("./../../scripts/html/bodyScript");
8
- var _reactNative = require("react-native");
9
- var _unitMessages = require("../../messages/webMessages/unitMessages");
10
- const {
11
- RNAppInfoModule
12
- } = _reactNative.NativeModules;
13
8
  const getACHDebitParams = props => {
14
9
  return `
15
10
  account-id="${props.accountId}"
@@ -20,25 +15,9 @@ const getACHDebitParams = props => {
20
15
  `;
21
16
  };
22
17
  exports.getACHDebitParams = getACHDebitParams;
23
- const getAndroidPackageName = async () => {
24
- try {
25
- const response = await RNAppInfoModule.getAppPackageName();
26
- return response;
27
- } catch (error) {
28
- console.error(error);
29
- }
30
- };
31
- exports.getAndroidPackageName = getAndroidPackageName;
32
18
  const getACHDebitScript = androidPackageName => {
33
19
  return `
34
- window.addEventListener("${_unitMessages.UnitMessage.UNIT_PLAID_TOKEN_CREATED}", (e) => {
35
- const response = e.detail
36
- response.then((data) => {
37
- postMessageToSDK({ type: "${_unitMessages.UnitMessage.UNIT_PLAID_TOKEN_CREATED}", details: { linkToken: data.data }})
38
- }).catch((e) => {
39
- console.log(e)
40
- })
41
- });
20
+ ${_bodyScript.LISTENERS.unitPlaidTokenCreated}
42
21
  ${androidPackageName && `window.UnitMobileSDKConfig.androidPackageName='${androidPackageName}'`}
43
22
  ${_bodyScript.LISTENERS.unitPaymentCreated}
44
23
  ${_bodyScript.DISPATCH_PLAID_RESPONSE}
@@ -1 +1 @@
1
- {"version":3,"names":["_bodyScript","require","_reactNative","_unitMessages","RNAppInfoModule","NativeModules","getACHDebitParams","props","accountId","customerToken","isAutoFocus","fee","exports","getAndroidPackageName","response","getAppPackageName","error","console","getACHDebitScript","androidPackageName","UnitMessage","UNIT_PLAID_TOKEN_CREATED","LISTENERS","unitPaymentCreated","DISPATCH_PLAID_RESPONSE","injectUnitPlaidResponse","currentWeb","success","successObj","data","publicToken","metadata","injectJavaScript","JSON","stringify"],"sources":["UNACHDebitComponent.utils.ts"],"sourcesContent":["import { DISPATCH_PLAID_RESPONSE, LISTENERS } from './../../scripts/html/bodyScript';\nimport type { UNACHDebitComponentProps } from './UNACHDebitComponent';\n\nimport type WebView from 'react-native-webview';\nimport type { LinkSuccess } from 'react-native-plaid-link-sdk';\nimport { NativeModules } from 'react-native';\nconst { RNAppInfoModule } = NativeModules;\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\n\nexport const getACHDebitParams = (props: UNACHDebitComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n is-auto-focus=\"${props.isAutoFocus ?? false}\"\n ${props.fee ? `fee=\"${props.fee}\"` : ''}\n style=\"height: 100%\"\n `;\n};\n\nexport const getAndroidPackageName = async () => {\n try {\n const response = await RNAppInfoModule.getAppPackageName();\n return response;\n } catch (error) {\n console.error(error);\n }\n};\n\nexport const getACHDebitScript = (androidPackageName?: string) => {\n return `\n window.addEventListener(\"${UnitMessage.UNIT_PLAID_TOKEN_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_PLAID_TOKEN_CREATED}\", details: { linkToken: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n ${androidPackageName && `window.UnitMobileSDKConfig.androidPackageName='${androidPackageName}'`}\n ${LISTENERS.unitPaymentCreated}\n ${DISPATCH_PLAID_RESPONSE}\n `;\n};\n\nexport const injectUnitPlaidResponse = (currentWeb: WebView | null, success: LinkSuccess) => {\n const successObj = {data: { publicToken: success.publicToken, metadata: success.metadata}};\n currentWeb?.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AADA,MAAM;EAAEG;AAAgB,CAAC,GAAGC,0BAAa;AAGlC,MAAMC,iBAAiB,GAAIC,KAA+B,IAAK;EACpE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,qBAAqBF,KAAK,CAACG,WAAW,IAAI,KAAM;AAChD,MAAMH,KAAK,CAACI,GAAG,GAAI,QAAOJ,KAAK,CAACI,GAAI,GAAE,GAAG,EAAG;AAC5C;AACA,GAAG;AACH,CAAC;AAACC,OAAA,CAAAN,iBAAA,GAAAA,iBAAA;AAEK,MAAMO,qBAAqB,GAAG,MAAAA,CAAA,KAAY;EAC/C,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMV,eAAe,CAACW,iBAAiB,EAAE;IAC1D,OAAOD,QAAQ;EACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACtB;AACF,CAAC;AAACJ,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAEK,MAAMK,iBAAiB,GAAIC,kBAA2B,IAAK;EAChE,OAAQ;AACV,iCAAiCC,yBAAW,CAACC,wBAAyB;AACtE;AACA;AACA,sCAAsCD,yBAAW,CAACC,wBAAyB;AAC3E;AACA;AACA;AACA;AACA,MAAMF,kBAAkB,IAAK,kDAAiDA,kBAAmB,GAAG;AACpG,MAAMG,qBAAS,CAACC,kBAAmB;AACnC,MAAMC,mCAAwB;AAC9B,KAAK;AACL,CAAC;AAACZ,OAAA,CAAAM,iBAAA,GAAAA,iBAAA;AAEK,MAAMO,uBAAuB,GAAGA,CAACC,UAA0B,EAAEC,OAAoB,KAAK;EAC3F,MAAMC,UAAU,GAAG;IAACC,IAAI,EAAE;MAAEC,WAAW,EAAEH,OAAO,CAACG,WAAW;MAAEC,QAAQ,EAAEJ,OAAO,CAACI;IAAQ;EAAC,CAAC;EAC1FL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,sBAAqBC,IAAI,CAACC,SAAS,CAACN,UAAU,CAAE,GAAE,CAAC;AACnF,CAAC;AAAChB,OAAA,CAAAa,uBAAA,GAAAA,uBAAA"}
1
+ {"version":3,"names":["_bodyScript","require","getACHDebitParams","props","accountId","customerToken","isAutoFocus","fee","exports","getACHDebitScript","androidPackageName","LISTENERS","unitPlaidTokenCreated","unitPaymentCreated","DISPATCH_PLAID_RESPONSE","injectUnitPlaidResponse","currentWeb","success","successObj","data","publicToken","metadata","injectJavaScript","JSON","stringify"],"sources":["UNACHDebitComponent.utils.ts"],"sourcesContent":["import { DISPATCH_PLAID_RESPONSE, LISTENERS } from './../../scripts/html/bodyScript';\nimport type { UNACHDebitComponentProps } from './UNACHDebitComponent';\n\nimport type WebView from 'react-native-webview';\nimport type { LinkSuccess } from 'react-native-plaid-link-sdk';\n\nexport const getACHDebitParams = (props: UNACHDebitComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n is-auto-focus=\"${props.isAutoFocus ?? false}\"\n ${props.fee ? `fee=\"${props.fee}\"` : ''}\n style=\"height: 100%\"\n `;\n};\n\nexport const getACHDebitScript = (androidPackageName?: string) => {\n return `\n ${LISTENERS.unitPlaidTokenCreated}\n ${androidPackageName && `window.UnitMobileSDKConfig.androidPackageName='${androidPackageName}'`}\n ${LISTENERS.unitPaymentCreated}\n ${DISPATCH_PLAID_RESPONSE}\n `;\n};\n\nexport const injectUnitPlaidResponse = (currentWeb: WebView | null, success: LinkSuccess) => {\n const successObj = {data: { publicToken: success.publicToken, metadata: success.metadata}};\n currentWeb?.injectJavaScript(`dispatchPlaidEvent(${JSON.stringify(successObj)})`);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAMO,MAAMC,iBAAiB,GAAIC,KAA+B,IAAK;EACpE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,qBAAqBF,KAAK,CAACG,WAAW,IAAI,KAAM;AAChD,MAAMH,KAAK,CAACI,GAAG,GAAI,QAAOJ,KAAK,CAACI,GAAI,GAAE,GAAG,EAAG;AAC5C;AACA,GAAG;AACH,CAAC;AAACC,OAAA,CAAAN,iBAAA,GAAAA,iBAAA;AAEK,MAAMO,iBAAiB,GAAIC,kBAA2B,IAAK;EAChE,OAAQ;AACV,MAAMC,qBAAS,CAACC,qBAAsB;AACtC,MAAMF,kBAAkB,IAAK,kDAAiDA,kBAAmB,GAAG;AACpG,MAAMC,qBAAS,CAACE,kBAAmB;AACnC,MAAMC,mCAAwB;AAC9B,KAAK;AACL,CAAC;AAACN,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAEK,MAAMM,uBAAuB,GAAGA,CAACC,UAA0B,EAAEC,OAAoB,KAAK;EAC3F,MAAMC,UAAU,GAAG;IAACC,IAAI,EAAE;MAAEC,WAAW,EAAEH,OAAO,CAACG,WAAW;MAAEC,QAAQ,EAAEJ,OAAO,CAACI;IAAQ;EAAC,CAAC;EAC1FL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,sBAAqBC,IAAI,CAACC,SAAS,CAACN,UAAU,CAAE,GAAE,CAAC;AACnF,CAAC;AAACV,OAAA,CAAAO,uBAAA,GAAAA,uBAAA"}
@@ -101,6 +101,7 @@ const UNAccountComponent = /*#__PURE__*/_react.default.forwardRef(function UNAcc
101
101
  params: (0, _UNAccountComponent.getAccountParams)(props),
102
102
  script: (0, _UNAccountComponent.getAccountScript)(),
103
103
  theme: props.theme,
104
+ language: props.language,
104
105
  onMessage: message => handleMessage(message),
105
106
  width: windowWidth,
106
107
  isScrollable: false
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_pageMessage","_unitMessages","_EventBus","_interopRequireDefault","_WebComponent","_UNAccountComponent","_bodyHtml","_listenerToBus","_accountMessage","_onLoadMessage","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","React","forwardRef","props","accountRef","height","setHeight","useState","windowWidth","Dimensions","width","requestRefreshEvent","setRequestRefreshEvent","webRef","useRef","handleAccountChanged","account","onAccountChanged","requestRefresh","data","handleUnitOnLoad","response","onLoad","RESPONSE_KEYS","errors","console","error","useListenerToBus","busEventKey","UnitMessage","UNIT_REQUEST_REFRESH","action","AccountMessage","UNIT_ACCOUNT_CHANGED","useEffect","injectRefreshEventIfNeeded","current","useImperativeHandle","openActionsMenu","injectOpenActionsMenuScript","openAction","injectRequestAccountActionScript","handleMessage","message","type","UNIT_ON_LOAD","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, useImperativeHandle, 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, injectOpenActionsMenuScript, injectRefreshEventIfNeeded, injectRequestAccountActionScript } from './UNAccountComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport type { UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../sharedTypes';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { UNAccountData } from '../../sharedTypes/account.types';\nimport { AccountMessage } from '../../messages/webMessages/accountMessage';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport type { UNAccountMenuAction } from '../../sharedTypes';\n\nexport interface UNAccountComponentProps {\n // inputs\n accountId?: string;\n customerToken: string;\n\n // ui\n theme?: string;\n hideActionsMenuButton?: boolean;\n hideSelectionMenuButton?: boolean;\n\n // events\n onLoad?: (response: UNOnLoadResponse<[UNAccountData]>) => void;\n onAccountChanged?: (account: UNAccountData) => void;\n}\n\nexport interface UNAccountRef {\n openActionsMenu: () => void;\n openAction: (action: UNAccountMenuAction) => void;\n}\n\nexport enum AccountAction {\n List = 'account-list',\n Menu = 'account-menu'\n}\n\nexport const UNAccountComponent = React.forwardRef<UNAccountRef, UNAccountComponentProps>(function UNAccountComponent(props, accountRef) {\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 const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response) {\n // AccountsOnLoadResponse;\n props.onLoad(response[RESPONSE_KEYS.account] as UNOnLoadResponseData<[UNAccountData]>);\n return;\n }\n\n console.error('On Load Error: unexpected response type.');\n return;\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: AccountMessage.UNIT_ACCOUNT_CHANGED, action: handleAccountChanged });\n\n useEffect(() => {\n injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);\n }, [requestRefreshEvent]);\n\n useImperativeHandle(accountRef, () => ({\n openActionsMenu() {\n injectOpenActionsMenuScript(webRef.current);\n },\n openAction(action: UNAccountMenuAction) {\n injectRequestAccountActionScript(webRef.current, action);\n }\n }));\n\n const handleMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\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","_onLoadMessage","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","React","forwardRef","props","accountRef","height","setHeight","useState","windowWidth","Dimensions","width","requestRefreshEvent","setRequestRefreshEvent","webRef","useRef","handleAccountChanged","account","onAccountChanged","requestRefresh","data","handleUnitOnLoad","response","onLoad","RESPONSE_KEYS","errors","console","error","useListenerToBus","busEventKey","UnitMessage","UNIT_REQUEST_REFRESH","action","AccountMessage","UNIT_ACCOUNT_CHANGED","useEffect","injectRefreshEventIfNeeded","current","useImperativeHandle","openActionsMenu","injectOpenActionsMenuScript","openAction","injectRequestAccountActionScript","handleMessage","message","type","UNIT_ON_LOAD","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","language","onMessage","isScrollable"],"sources":["UNAccountComponent.tsx"],"sourcesContent":["import React, { useEffect, useImperativeHandle, 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, injectOpenActionsMenuScript, injectRefreshEventIfNeeded, injectRequestAccountActionScript } from './UNAccountComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport type { UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../sharedTypes';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { UNAccountData } from '../../sharedTypes/account.types';\nimport { AccountMessage } from '../../messages/webMessages/accountMessage';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport type { UNAccountMenuAction } from '../../sharedTypes';\n\nexport interface UNAccountComponentProps {\n // inputs\n accountId?: string;\n customerToken: string;\n\n // ui\n theme?: string;\n language?: string;\n hideActionsMenuButton?: boolean;\n hideSelectionMenuButton?: boolean;\n\n // events\n onLoad?: (response: UNOnLoadResponse<[UNAccountData]>) => void;\n onAccountChanged?: (account: UNAccountData) => void;\n}\n\nexport interface UNAccountRef {\n openActionsMenu: () => void;\n openAction: (action: UNAccountMenuAction) => void;\n}\n\nexport enum AccountAction {\n List = 'account-list',\n Menu = 'account-menu'\n}\n\nexport const UNAccountComponent = React.forwardRef<UNAccountRef, UNAccountComponentProps>(function UNAccountComponent(props, accountRef) {\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 const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.account in response) {\n // AccountsOnLoadResponse;\n props.onLoad(response[RESPONSE_KEYS.account] as UNOnLoadResponseData<[UNAccountData]>);\n return;\n }\n\n console.error('On Load Error: unexpected response type.');\n return;\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: AccountMessage.UNIT_ACCOUNT_CHANGED, action: handleAccountChanged });\n\n useEffect(() => {\n injectRefreshEventIfNeeded(webRef.current, requestRefreshEvent);\n }, [requestRefreshEvent]);\n\n useImperativeHandle(accountRef, () => ({\n openActionsMenu() {\n injectOpenActionsMenuScript(webRef.current);\n },\n openAction(action: UNAccountMenuAction) {\n injectRequestAccountActionScript(webRef.current, action);\n }\n }));\n\n const handleMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\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 language={props.language}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n});\n"],"mappings":"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"}
@@ -8,9 +8,10 @@ var _UNAccountComponent = require("./UNAccountComponent");
8
8
  var _unitMessages = require("../../messages/webMessages/unitMessages");
9
9
  var _WebComponent = require("../../webComponent/WebComponent");
10
10
  const getAccountParams = props => {
11
+ const accountIdParam = props.accountId ? `account-id="${props.accountId}"` : '';
11
12
  return `
12
- account-id="${props.accountId}"
13
13
  customer-token="${props.customerToken}"
14
+ ${accountIdParam}
14
15
  hide-actions-menu-button="${props.hideActionsMenuButton || false}"
15
16
  hide-selection-menu-button="${props.hideSelectionMenuButton || false}"
16
17
  `;
@@ -1 +1 @@
1
- {"version":3,"names":["_UNAccountComponent","require","_unitMessages","_WebComponent","getAccountParams","props","accountId","customerToken","hideActionsMenuButton","hideSelectionMenuButton","exports","getAccountScript","UnitMessage","UNIT_REQUEST_REFRESH","injectOpenActionsMenuScript","currentWeb","injectJavaScript","WebComponentType","account","injectRequestAccountActionScript","action","injectRefreshEventIfNeeded","requestRefreshEvent","dependencies","includes","valueOf","JSON","stringify","getAccountActionType","requestRendering","data","nativeComponent","AccountAction","List","Menu"],"sources":["UNAccountComponent.utils.ts"],"sourcesContent":["import { AccountAction, UNAccountComponentProps } from './UNAccountComponent';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport type WebView from 'react-native-webview';\nimport { WebComponentType } from '../../webComponent/WebComponent';\nimport type { UNAccountMenuAction } from 'src/sharedTypes';\n\nexport const getAccountParams = (props: UNAccountComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n hide-actions-menu-button=\"${props.hideActionsMenuButton || false}\"\n hide-selection-menu-button=\"${props.hideSelectionMenuButton || false}\"\n `;\n};\n\nexport const getAccountScript = () => {\n return `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n `;\n};\n\nexport const injectOpenActionsMenuScript = (currentWeb: WebView | null) => {\n currentWeb?.injectJavaScript(`dispatchOpenActionsMenu('${WebComponentType.account}')`);\n};\n\nexport const injectRequestAccountActionScript = (currentWeb: WebView | null, action: UNAccountMenuAction) => {\n currentWeb?.injectJavaScript(`dispatchRequestAccountAction('${action}')`);\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.account.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const getAccountActionType = (requestRendering: RequestRenderingEvent) => {\n return requestRendering.data.nativeComponent.includes(AccountAction.List) ? AccountAction.List : AccountAction.Menu;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AAGO,MAAMG,gBAAgB,GAAIC,KAA8B,IAAK;EAClE,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,gCAAgCF,KAAK,CAACG,qBAAqB,IAAI,KAAM;AACrE,kCAAkCH,KAAK,CAACI,uBAAuB,IAAI,KAAM;AACzE,GAAG;AACH,CAAC;AAACC,OAAA,CAAAN,gBAAA,GAAAA,gBAAA;AAEK,MAAMO,gBAAgB,GAAGA,CAAA,KAAM;EACpC,OAAQ;AACV;AACA,qCAAqCC,yBAAW,CAACC,oBAAqB;AACtE;AACA;AACA,GAAG;AACH,CAAC;AAACH,OAAA,CAAAC,gBAAA,GAAAA,gBAAA;AAEK,MAAMG,2BAA2B,GAAIC,UAA0B,IAAK;EACzEA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,4BAA2BC,8BAAgB,CAACC,OAAQ,IAAG,CAAC;AACxF,CAAC;AAACR,OAAA,CAAAI,2BAAA,GAAAA,2BAAA;AAEK,MAAMK,gCAAgC,GAAGA,CAACJ,UAA0B,EAAEK,MAA2B,KAAK;EAC3GL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,iCAAgCI,MAAO,IAAG,CAAC;AAC3E,CAAC;AAACV,OAAA,CAAAS,gCAAA,GAAAA,gCAAA;AAEK,MAAME,0BAA0B,GAAGA,CAACN,UAA0B,EAAEO,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAACP,8BAAgB,CAACC,OAAO,CAACO,OAAO,EAAE,CAAC,EAAE;IACxGV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,yBAAwBU,IAAI,CAACC,SAAS,CAACL,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC;AAACZ,OAAA,CAAAW,0BAAA,GAAAA,0BAAA;AAEK,MAAMO,oBAAoB,GAAIC,gBAAuC,IAAK;EAC/E,OAAOA,gBAAgB,CAACC,IAAI,CAACC,eAAe,CAACP,QAAQ,CAACQ,iCAAa,CAACC,IAAI,CAAC,GAAGD,iCAAa,CAACC,IAAI,GAAGD,iCAAa,CAACE,IAAI;AACrH,CAAC;AAACxB,OAAA,CAAAkB,oBAAA,GAAAA,oBAAA"}
1
+ {"version":3,"names":["_UNAccountComponent","require","_unitMessages","_WebComponent","getAccountParams","props","accountIdParam","accountId","customerToken","hideActionsMenuButton","hideSelectionMenuButton","exports","getAccountScript","UnitMessage","UNIT_REQUEST_REFRESH","injectOpenActionsMenuScript","currentWeb","injectJavaScript","WebComponentType","account","injectRequestAccountActionScript","action","injectRefreshEventIfNeeded","requestRefreshEvent","dependencies","includes","valueOf","JSON","stringify","getAccountActionType","requestRendering","data","nativeComponent","AccountAction","List","Menu"],"sources":["UNAccountComponent.utils.ts"],"sourcesContent":["import { AccountAction, UNAccountComponentProps } from './UNAccountComponent';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport type WebView from 'react-native-webview';\nimport { WebComponentType } from '../../webComponent/WebComponent';\nimport type { UNAccountMenuAction } from 'src/sharedTypes';\n\nexport const getAccountParams = (props: UNAccountComponentProps) => {\n const accountIdParam = props.accountId ? `account-id=\"${props.accountId}\"` : '';\n return `\n customer-token=\"${props.customerToken}\"\n ${accountIdParam}\n hide-actions-menu-button=\"${props.hideActionsMenuButton || false}\"\n hide-selection-menu-button=\"${props.hideSelectionMenuButton || false}\"\n `;\n};\n\nexport const getAccountScript = () => {\n return `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n `;\n};\n\nexport const injectOpenActionsMenuScript = (currentWeb: WebView | null) => {\n currentWeb?.injectJavaScript(`dispatchOpenActionsMenu('${WebComponentType.account}')`);\n};\n\nexport const injectRequestAccountActionScript = (currentWeb: WebView | null, action: UNAccountMenuAction) => {\n currentWeb?.injectJavaScript(`dispatchRequestAccountAction('${action}')`);\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.account.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const getAccountActionType = (requestRendering: RequestRenderingEvent) => {\n return requestRendering.data.nativeComponent.includes(AccountAction.List) ? AccountAction.List : AccountAction.Menu;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AAGO,MAAMG,gBAAgB,GAAIC,KAA8B,IAAK;EAClE,MAAMC,cAAc,GAAGD,KAAK,CAACE,SAAS,GAAI,eAAcF,KAAK,CAACE,SAAU,GAAE,GAAG,EAAE;EAC/E,OAAQ;AACV,sBAAsBF,KAAK,CAACG,aAAc;AAC1C,MAAMF,cAAe;AACrB,gCAAgCD,KAAK,CAACI,qBAAqB,IAAI,KAAM;AACrE,kCAAkCJ,KAAK,CAACK,uBAAuB,IAAI,KAAM;AACzE,GAAG;AACH,CAAC;AAACC,OAAA,CAAAP,gBAAA,GAAAA,gBAAA;AAEK,MAAMQ,gBAAgB,GAAGA,CAAA,KAAM;EACpC,OAAQ;AACV;AACA,qCAAqCC,yBAAW,CAACC,oBAAqB;AACtE;AACA;AACA,GAAG;AACH,CAAC;AAACH,OAAA,CAAAC,gBAAA,GAAAA,gBAAA;AAEK,MAAMG,2BAA2B,GAAIC,UAA0B,IAAK;EACzEA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,4BAA2BC,8BAAgB,CAACC,OAAQ,IAAG,CAAC;AACxF,CAAC;AAACR,OAAA,CAAAI,2BAAA,GAAAA,2BAAA;AAEK,MAAMK,gCAAgC,GAAGA,CAACJ,UAA0B,EAAEK,MAA2B,KAAK;EAC3GL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,iCAAgCI,MAAO,IAAG,CAAC;AAC3E,CAAC;AAACV,OAAA,CAAAS,gCAAA,GAAAA,gCAAA;AAEK,MAAME,0BAA0B,GAAGA,CAACN,UAA0B,EAAEO,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAACP,8BAAgB,CAACC,OAAO,CAACO,OAAO,EAAE,CAAC,EAAE;IACxGV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,yBAAwBU,IAAI,CAACC,SAAS,CAACL,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC;AAACZ,OAAA,CAAAW,0BAAA,GAAAA,0BAAA;AAEK,MAAMO,oBAAoB,GAAIC,gBAAuC,IAAK;EAC/E,OAAOA,gBAAgB,CAACC,IAAI,CAACC,eAAe,CAACP,QAAQ,CAACQ,iCAAa,CAACC,IAAI,CAAC,GAAGD,iCAAa,CAACC,IAAI,GAAGD,iCAAa,CAACE,IAAI;AACrH,CAAC;AAACxB,OAAA,CAAAkB,oBAAA,GAAAA,oBAAA"}
@@ -90,6 +90,7 @@ const UNActivityComponent = props => {
90
90
  onMessage: message => handleWebViewMessage(message),
91
91
  nestedScrollEnabled: true,
92
92
  theme: props.theme,
93
+ language: props.language,
93
94
  script: (0, _UNActivityComponent.getActivityScript)()
94
95
  });
95
96
  };