react-native-unit-components 1.5.0 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/ios/UNAppInfo/UNAppInfo.swift +5 -1
  2. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js +44 -2
  3. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  4. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +18 -11
  5. package/lib/commonjs/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
  6. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js +3 -5
  7. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  8. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +2 -23
  9. package/lib/commonjs/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -1
  10. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js +2 -1
  11. package/lib/commonjs/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
  12. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  13. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js +2 -1
  14. package/lib/commonjs/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  15. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  16. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +1 -0
  17. package/lib/commonjs/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  18. package/lib/commonjs/components/UNCardComponent/UNCardComponent.js.map +1 -1
  19. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js +1 -0
  20. package/lib/commonjs/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  21. package/lib/commonjs/components/utils/nativeModulesInfo.js +20 -0
  22. package/lib/commonjs/components/utils/nativeModulesInfo.js.map +1 -0
  23. package/lib/commonjs/scripts/html/bodyScript.js +13 -2
  24. package/lib/commonjs/scripts/html/bodyScript.js.map +1 -1
  25. package/lib/commonjs/webComponent/WebComponent.js +2 -1
  26. package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
  27. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js +47 -5
  28. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.js.map +1 -1
  29. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js +16 -10
  30. package/lib/module/components/UNACHCreditComponent/UNACHCreditComponent.utils.js.map +1 -1
  31. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js +3 -5
  32. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.js.map +1 -1
  33. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js +1 -21
  34. package/lib/module/components/UNACHDebitComponent/UNACHDebitComponent.utils.js.map +1 -1
  35. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js +2 -1
  36. package/lib/module/components/UNAccountComponent/UNAccountComponent.utils.js.map +1 -1
  37. package/lib/module/components/UNActivityComponent/UNActivityComponent.js.map +1 -1
  38. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js +2 -1
  39. package/lib/module/components/UNActivityComponent/UNActivityComponent.utils.js.map +1 -1
  40. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.js.map +1 -1
  41. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js +1 -0
  42. package/lib/module/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.js.map +1 -1
  43. package/lib/module/components/UNCardComponent/UNCardComponent.js.map +1 -1
  44. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js +1 -0
  45. package/lib/module/components/UNCardComponent/UNCardComponent.utils.js.map +1 -1
  46. package/lib/module/components/utils/nativeModulesInfo.js +13 -0
  47. package/lib/module/components/utils/nativeModulesInfo.js.map +1 -0
  48. package/lib/module/scripts/html/bodyScript.js +13 -2
  49. package/lib/module/scripts/html/bodyScript.js.map +1 -1
  50. package/lib/module/webComponent/WebComponent.js +2 -1
  51. package/lib/module/webComponent/WebComponent.js.map +1 -1
  52. package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.d.ts +1 -0
  53. package/lib/typescript/components/UNACHCreditComponent/UNACHCreditComponent.utils.d.ts +4 -1
  54. package/lib/typescript/components/UNACHDebitComponent/UNACHDebitComponent.utils.d.ts +0 -1
  55. package/lib/typescript/components/UNActivityComponent/UNActivityComponent.d.ts +1 -1
  56. package/lib/typescript/components/UNBookPaymentComponent/UNBookPaymentComponent.d.ts +1 -0
  57. package/lib/typescript/components/UNCardComponent/UNCardComponent.d.ts +1 -0
  58. package/lib/typescript/components/utils/nativeModulesInfo.d.ts +1 -0
  59. package/lib/typescript/scripts/html/bodyScript.d.ts +1 -0
  60. package/package.json +1 -1
  61. package/src/components/UNACHCreditComponent/UNACHCreditComponent.tsx +44 -5
  62. package/src/components/UNACHCreditComponent/UNACHCreditComponent.utils.ts +14 -11
  63. package/src/components/UNACHDebitComponent/UNACHDebitComponent.tsx +4 -8
  64. package/src/components/UNACHDebitComponent/UNACHDebitComponent.utils.ts +1 -20
  65. package/src/components/UNAccountComponent/UNAccountComponent.utils.ts +2 -1
  66. package/src/components/UNActivityComponent/UNActivityComponent.tsx +1 -1
  67. package/src/components/UNActivityComponent/UNActivityComponent.utils.ts +3 -1
  68. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.tsx +6 -0
  69. package/src/components/UNBookPaymentComponent/UNBookPaymentComponent.utils.ts +1 -0
  70. package/src/components/UNCardComponent/UNCardComponent.tsx +1 -0
  71. package/src/components/UNCardComponent/UNCardComponent.utils.ts +1 -0
  72. package/src/components/utils/nativeModulesInfo.ts +11 -0
  73. package/src/scripts/html/bodyScript.ts +13 -3
  74. package/src/webComponent/WebComponent.tsx +1 -1
@@ -1,9 +1,4 @@
1
1
  import { DISPATCH_PLAID_RESPONSE, LISTENERS } from './../../scripts/html/bodyScript';
2
- import { NativeModules } from 'react-native';
3
- const {
4
- RNAppInfoModule
5
- } = NativeModules;
6
- import { UnitMessage } from '../../messages/webMessages/unitMessages';
7
2
  export const getACHDebitParams = props => {
8
3
  return `
9
4
  account-id="${props.accountId}"
@@ -13,24 +8,9 @@ export const getACHDebitParams = props => {
13
8
  style="height: 100%"
14
9
  `;
15
10
  };
16
- export const getAndroidPackageName = async () => {
17
- try {
18
- const response = await RNAppInfoModule.getAppPackageName();
19
- return response;
20
- } catch (error) {
21
- console.error(error);
22
- }
23
- };
24
11
  export const getACHDebitScript = androidPackageName => {
25
12
  return `
26
- window.addEventListener("${UnitMessage.UNIT_PLAID_TOKEN_CREATED}", (e) => {
27
- const response = e.detail
28
- response.then((data) => {
29
- postMessageToSDK({ type: "${UnitMessage.UNIT_PLAID_TOKEN_CREATED}", details: { linkToken: data.data }})
30
- }).catch((e) => {
31
- console.log(e)
32
- })
33
- });
13
+ ${LISTENERS.unitPlaidTokenCreated}
34
14
  ${androidPackageName && `window.UnitMobileSDKConfig.androidPackageName='${androidPackageName}'`}
35
15
  ${LISTENERS.unitPaymentCreated}
36
16
  ${DISPATCH_PLAID_RESPONSE}
@@ -1 +1 @@
1
- {"version":3,"names":["DISPATCH_PLAID_RESPONSE","LISTENERS","NativeModules","RNAppInfoModule","UnitMessage","getACHDebitParams","props","accountId","customerToken","isAutoFocus","fee","getAndroidPackageName","response","getAppPackageName","error","console","getACHDebitScript","androidPackageName","UNIT_PLAID_TOKEN_CREATED","unitPaymentCreated","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,SAASA,uBAAuB,EAAEC,SAAS,QAAQ,iCAAiC;AAKpF,SAASC,aAAa,QAAQ,cAAc;AAC5C,MAAM;EAAEC;AAAgB,CAAC,GAAGD,aAAa;AACzC,SAASE,WAAW,QAAQ,yCAAyC;AAErE,OAAO,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;AAED,OAAO,MAAMC,qBAAqB,GAAG,MAAAA,CAAA,KAAY;EAC/C,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMT,eAAe,CAACU,iBAAiB,EAAE;IAC1D,OAAOD,QAAQ;EACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACtB;AACF,CAAC;AAED,OAAO,MAAME,iBAAiB,GAAIC,kBAA2B,IAAK;EAChE,OAAQ;AACV,iCAAiCb,WAAW,CAACc,wBAAyB;AACtE;AACA;AACA,sCAAsCd,WAAW,CAACc,wBAAyB;AAC3E;AACA;AACA;AACA;AACA,MAAMD,kBAAkB,IAAK,kDAAiDA,kBAAmB,GAAG;AACpG,MAAMhB,SAAS,CAACkB,kBAAmB;AACnC,MAAMnB,uBAAwB;AAC9B,KAAK;AACL,CAAC;AAED,OAAO,MAAMoB,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"}
1
+ {"version":3,"names":["DISPATCH_PLAID_RESPONSE","LISTENERS","getACHDebitParams","props","accountId","customerToken","isAutoFocus","fee","getACHDebitScript","androidPackageName","unitPlaidTokenCreated","unitPaymentCreated","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,SAASA,uBAAuB,EAAEC,SAAS,QAAQ,iCAAiC;AAMpF,OAAO,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;AAED,OAAO,MAAMC,iBAAiB,GAAIC,kBAA2B,IAAK;EAChE,OAAQ;AACV,MAAMR,SAAS,CAACS,qBAAsB;AACtC,MAAMD,kBAAkB,IAAK,kDAAiDA,kBAAmB,GAAG;AACpG,MAAMR,SAAS,CAACU,kBAAmB;AACnC,MAAMX,uBAAwB;AAC9B,KAAK;AACL,CAAC;AAED,OAAO,MAAMY,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"}
@@ -2,9 +2,10 @@ import { AccountAction } from './UNAccountComponent';
2
2
  import { UnitMessage } from '../../messages/webMessages/unitMessages';
3
3
  import { WebComponentType } from '../../webComponent/WebComponent';
4
4
  export const getAccountParams = props => {
5
+ const accountIdParam = props.accountId ? `account-id="${props.accountId}"` : '';
5
6
  return `
6
- account-id="${props.accountId}"
7
7
  customer-token="${props.customerToken}"
8
+ ${accountIdParam}
8
9
  hide-actions-menu-button="${props.hideActionsMenuButton || false}"
9
10
  hide-selection-menu-button="${props.hideSelectionMenuButton || false}"
10
11
  `;
@@ -1 +1 @@
1
- {"version":3,"names":["AccountAction","UnitMessage","WebComponentType","getAccountParams","props","accountId","customerToken","hideActionsMenuButton","hideSelectionMenuButton","getAccountScript","UNIT_REQUEST_REFRESH","injectOpenActionsMenuScript","currentWeb","injectJavaScript","account","injectRequestAccountActionScript","action","injectRefreshEventIfNeeded","requestRefreshEvent","dependencies","includes","valueOf","JSON","stringify","getAccountActionType","requestRendering","data","nativeComponent","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,SAASA,aAAa,QAAiC,sBAAsB;AAC7E,SAAqDC,WAAW,QAAQ,yCAAyC;AAEjH,SAASC,gBAAgB,QAAQ,iCAAiC;AAGlE,OAAO,MAAMC,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;AAED,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,OAAQ;AACV;AACA,qCAAqCR,WAAW,CAACS,oBAAqB;AACtE;AACA;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,2BAA2B,GAAIC,UAA0B,IAAK;EACzEA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,4BAA2BX,gBAAgB,CAACY,OAAQ,IAAG,CAAC;AACxF,CAAC;AAED,OAAO,MAAMC,gCAAgC,GAAGA,CAACH,UAA0B,EAAEI,MAA2B,KAAK;EAC3GJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,iCAAgCG,MAAO,IAAG,CAAC;AAC3E,CAAC;AAED,OAAO,MAAMC,0BAA0B,GAAGA,CAACL,UAA0B,EAAEM,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAAClB,gBAAgB,CAACY,OAAO,CAACO,OAAO,EAAE,CAAC,EAAE;IACxGT,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,yBAAwBS,IAAI,CAACC,SAAS,CAACL,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC;AAED,OAAO,MAAMM,oBAAoB,GAAIC,gBAAuC,IAAK;EAC/E,OAAOA,gBAAgB,CAACC,IAAI,CAACC,eAAe,CAACP,QAAQ,CAACpB,aAAa,CAAC4B,IAAI,CAAC,GAAG5B,aAAa,CAAC4B,IAAI,GAAG5B,aAAa,CAAC6B,IAAI;AACrH,CAAC"}
1
+ {"version":3,"names":["AccountAction","UnitMessage","WebComponentType","getAccountParams","props","accountIdParam","accountId","customerToken","hideActionsMenuButton","hideSelectionMenuButton","getAccountScript","UNIT_REQUEST_REFRESH","injectOpenActionsMenuScript","currentWeb","injectJavaScript","account","injectRequestAccountActionScript","action","injectRefreshEventIfNeeded","requestRefreshEvent","dependencies","includes","valueOf","JSON","stringify","getAccountActionType","requestRendering","data","nativeComponent","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,SAASA,aAAa,QAAiC,sBAAsB;AAC7E,SAAqDC,WAAW,QAAQ,yCAAyC;AAEjH,SAASC,gBAAgB,QAAQ,iCAAiC;AAGlE,OAAO,MAAMC,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;AAED,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,OAAQ;AACV;AACA,qCAAqCT,WAAW,CAACU,oBAAqB;AACtE;AACA;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,2BAA2B,GAAIC,UAA0B,IAAK;EACzEA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,4BAA2BZ,gBAAgB,CAACa,OAAQ,IAAG,CAAC;AACxF,CAAC;AAED,OAAO,MAAMC,gCAAgC,GAAGA,CAACH,UAA0B,EAAEI,MAA2B,KAAK;EAC3GJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,iCAAgCG,MAAO,IAAG,CAAC;AAC3E,CAAC;AAED,OAAO,MAAMC,0BAA0B,GAAGA,CAACL,UAA0B,EAAEM,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAACnB,gBAAgB,CAACa,OAAO,CAACO,OAAO,EAAE,CAAC,EAAE;IACxGT,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEC,gBAAgB,CAAE,yBAAwBS,IAAI,CAACC,SAAS,CAACL,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC;AAED,OAAO,MAAMM,oBAAoB,GAAIC,gBAAuC,IAAK;EAC/E,OAAOA,gBAAgB,CAACC,IAAI,CAACC,eAAe,CAACP,QAAQ,CAACrB,aAAa,CAAC6B,IAAI,CAAC,GAAG7B,aAAa,CAAC6B,IAAI,GAAG7B,aAAa,CAAC8B,IAAI;AACrH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useRef","useState","Dimensions","View","UnitMessage","useListenerToBus","PageMessage","PresentationMode","WebComponent","WebComponentType","getActivityParams","getActivityScript","injectFiltersChanged","injectRefreshEventIfNeeded","EventBus","RESPONSE_KEYS","ActivityMessage","DEFAULT_HEIGHT","get","height","UNActivityComponent","props","webRef","defaultHeight","setDefaultHeight","requestRefresh","data","current","dispatchActivityFiltersChanged","query","busEventKey","UNIT_REQUEST_REFRESH","action","UNIT_ACTIVITY_FILTERS_CHANGED","handleUnitOnLoad","response","onLoad","errors","authorization","transactions","activityOnLoad","console","error","handleWebViewMessage","message","type","UNIT_REQUEST_RENDERING","event","componentName","activity","componentResourceId","accountId","requestRenderingEvent","details","Instance","UNIT_ON_LOAD","PAGE_HEIGHT","currentHeight","renderActivityWebView","createElement","ref","presentationMode","Inherit","params","onMessage","nestedScrollEnabled","theme","language","script","style"],"sources":["UNActivityComponent.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { 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 { UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../sharedTypes';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { getActivityParams, getActivityScript, injectFiltersChanged, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';\nimport type WebView from 'react-native-webview';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport EventBus from '../../helpers/EventBus';\nimport type { UNActivityOnLoadData } from '../../sharedTypes/activity.types';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport { ActivityMessage } from '../../messages/webMessages/activityMessage';\n\nconst DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;\nexport interface UNActivityComponentProps {\n // inputs\n accountId: string;\n customerToken: string;\n queryFilter?: string\n\n // ui\n theme?: string;\n language?: string;\n hideFilterButton?: boolean;\n\n // event\n onLoad?: (response: UNOnLoadResponse<UNActivityOnLoadData>) => 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 const dispatchActivityFiltersChanged = (query: string) => {\n injectFiltersChanged(webRef.current, query);\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED, action: dispatchActivityFiltersChanged });\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.authorization in response && RESPONSE_KEYS.transactions in response) {\n // ActivityOnLoadResponse;\n const activityOnLoad: UNOnLoadResponseData<UNActivityOnLoadData> = {\n data: {\n [RESPONSE_KEYS.authorization]: response[RESPONSE_KEYS.authorization].data,\n [RESPONSE_KEYS.transactions]: response[RESPONSE_KEYS.transactions].data\n }\n };\n props.onLoad(activityOnLoad);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const 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 handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n currentHeight === 0 && setDefaultHeight(DEFAULT_HEIGHT);\n break;\n }\n }\n };\n\n const renderActivityWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.activity}\n presentationMode={PresentationMode.Inherit}\n params={getActivityParams(props)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n nestedScrollEnabled={true}\n theme={props.theme}\n language={props.language}\n script={getActivityScript()}\n />\n );\n };\n\n if (!defaultHeight) {\n return renderActivityWebView();\n }\n\n return (\n <View style={{ height: defaultHeight }}>\n {renderActivityWebView()}\n </View>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useRef","useState","Dimensions","View","UnitMessage","useListenerToBus","PageMessage","PresentationMode","WebComponent","WebComponentType","getActivityParams","getActivityScript","injectFiltersChanged","injectRefreshEventIfNeeded","EventBus","RESPONSE_KEYS","ActivityMessage","DEFAULT_HEIGHT","get","height","UNActivityComponent","props","webRef","defaultHeight","setDefaultHeight","requestRefresh","data","current","dispatchActivityFiltersChanged","query","busEventKey","UNIT_REQUEST_REFRESH","action","UNIT_ACTIVITY_FILTERS_CHANGED","handleUnitOnLoad","response","onLoad","errors","authorization","transactions","activityOnLoad","console","error","handleWebViewMessage","message","type","UNIT_REQUEST_RENDERING","event","componentName","activity","componentResourceId","accountId","requestRenderingEvent","details","Instance","UNIT_ON_LOAD","PAGE_HEIGHT","currentHeight","renderActivityWebView","createElement","ref","presentationMode","Inherit","params","onMessage","nestedScrollEnabled","theme","language","script","style"],"sources":["UNActivityComponent.tsx"],"sourcesContent":["import React, { useRef, useState } from 'react';\nimport { Dimensions, View } from 'react-native';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { 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 { UNError, UNOnLoadResponse, UNOnLoadResponseData } from '../../sharedTypes';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { getActivityParams, getActivityScript, injectFiltersChanged, injectRefreshEventIfNeeded } from './UNActivityComponent.utils';\nimport type WebView from 'react-native-webview';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport EventBus from '../../helpers/EventBus';\nimport type { UNActivityOnLoadData } from '../../sharedTypes/activity.types';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nimport { ActivityMessage } from '../../messages/webMessages/activityMessage';\n\nconst DEFAULT_HEIGHT = Dimensions.get('window').height * 0.5;\nexport interface UNActivityComponentProps {\n // inputs\n customerToken: string;\n accountId?: string;\n queryFilter?: string\n\n // ui\n theme?: string;\n language?: string;\n hideFilterButton?: boolean;\n\n // event\n onLoad?: (response: UNOnLoadResponse<UNActivityOnLoadData>) => 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 const dispatchActivityFiltersChanged = (query: string) => {\n injectFiltersChanged(webRef.current, query);\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED, action: dispatchActivityFiltersChanged });\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.authorization in response && RESPONSE_KEYS.transactions in response) {\n // ActivityOnLoadResponse;\n const activityOnLoad: UNOnLoadResponseData<UNActivityOnLoadData> = {\n data: {\n [RESPONSE_KEYS.authorization]: response[RESPONSE_KEYS.authorization].data,\n [RESPONSE_KEYS.transactions]: response[RESPONSE_KEYS.transactions].data\n }\n };\n props.onLoad(activityOnLoad);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n const handleWebViewMessage = (message: WebViewMessage) => {\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const 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 handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n case PageMessage.PAGE_HEIGHT: {\n const currentHeight = (message.details as HeightEvent).height;\n currentHeight === 0 && setDefaultHeight(DEFAULT_HEIGHT);\n break;\n }\n }\n };\n\n const renderActivityWebView = () => {\n return (\n <WebComponent\n ref={webRef}\n type={WebComponentType.activity}\n presentationMode={PresentationMode.Inherit}\n params={getActivityParams(props)}\n onMessage={(message: WebViewMessage) => handleWebViewMessage(message)}\n nestedScrollEnabled={true}\n theme={props.theme}\n language={props.language}\n script={getActivityScript()}\n />\n );\n };\n\n if (!defaultHeight) {\n return renderActivityWebView();\n }\n\n return (\n <View style={{ height: defaultHeight }}>\n {renderActivityWebView()}\n </View>\n );\n};\n"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { WebComponentType } from './../../webComponent/WebComponent';
2
2
  import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';
3
3
  export const getActivityParams = props => {
4
+ const accountIdParam = props.accountId ? `account-id="${props.accountId}"` : '';
4
5
  const queryFilterParam = props.queryFilter ? `query-filter="${props.queryFilter}"` : '';
5
6
  return `
6
- account-id="${props.accountId}"
7
7
  customer-token="${props.customerToken}"
8
+ ${accountIdParam}
8
9
  hide-filter-button="${props.hideFilterButton || false}"
9
10
  ${queryFilterParam}
10
11
  style="height: 100%"
@@ -1 +1 @@
1
- {"version":3,"names":["WebComponentType","DISPATCH_REQUEST_REFRESH","getActivityParams","props","queryFilterParam","queryFilter","accountId","customerToken","hideFilterButton","getActivityScript","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","activity","valueOf","injectJavaScript","JSON","stringify","injectFiltersChanged","query"],"sources":["UNActivityComponent.utils.ts"],"sourcesContent":["import { WebComponentType } from './../../webComponent/WebComponent';\nimport type { RequestRefreshEvent } from './../../messages/webMessages/unitMessages';\nimport type { WebView } from 'react-native-webview';\nimport { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type { UNActivityComponentProps } from './UNActivityComponent';\n\nexport const getActivityParams = (props: UNActivityComponentProps) => {\n const queryFilterParam = props.queryFilter ? `query-filter=\"${props.queryFilter}\"` : '';\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n hide-filter-button=\"${props.hideFilterButton || false}\"\n ${queryFilterParam}\n style=\"height: 100%\"\n `;\n};\n\nexport const getActivityScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.activity.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const injectFiltersChanged = (currentWeb: WebView | null, query: string) => {\n currentWeb?.injectJavaScript(`dispatchActivityFilterChangedEvent('${query}')`);\n};\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,mCAAmC;AAGpE,SAASC,wBAAwB,QAAQ,iCAAiC;AAG1E,OAAO,MAAMC,iBAAiB,GAAIC,KAA+B,IAAK;EACpE,MAAMC,gBAAgB,GAAGD,KAAK,CAACE,WAAW,GAAI,iBAAgBF,KAAK,CAACE,WAAY,GAAE,GAAG,EAAE;EACvF,OAAQ;AACV,kBAAkBF,KAAK,CAACG,SAAU;AAClC,sBAAsBH,KAAK,CAACI,aAAc;AAC1C,0BAA0BJ,KAAK,CAACK,gBAAgB,IAAI,KAAM;AAC1D,MAAMJ,gBAAiB;AACvB;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMK,iBAAiB,GAAGA,CAAA,KAAM;EACrC,OAAOR,wBAAwB;AACjC,CAAC;AAED,OAAO,MAAMS,0BAA0B,GAAGA,CAACC,UAA0B,EAAEC,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAACd,gBAAgB,CAACe,QAAQ,CAACC,OAAO,EAAE,CAAC,EAAE;IACzGL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,yBAAwBC,IAAI,CAACC,SAAS,CAACP,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC;AAED,OAAO,MAAMQ,oBAAoB,GAAGA,CAACT,UAA0B,EAAEU,KAAa,KAAK;EACjFV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,uCAAsCI,KAAM,IAAG,CAAC;AAChF,CAAC"}
1
+ {"version":3,"names":["WebComponentType","DISPATCH_REQUEST_REFRESH","getActivityParams","props","accountIdParam","accountId","queryFilterParam","queryFilter","customerToken","hideFilterButton","getActivityScript","injectRefreshEventIfNeeded","currentWeb","requestRefreshEvent","dependencies","includes","activity","valueOf","injectJavaScript","JSON","stringify","injectFiltersChanged","query"],"sources":["UNActivityComponent.utils.ts"],"sourcesContent":["import { WebComponentType } from './../../webComponent/WebComponent';\nimport type { RequestRefreshEvent } from './../../messages/webMessages/unitMessages';\nimport type { WebView } from 'react-native-webview';\nimport { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type { UNActivityComponentProps } from './UNActivityComponent';\n\nexport const getActivityParams = (props: UNActivityComponentProps) => {\n const accountIdParam = props.accountId ? `account-id=\"${props.accountId}\"` : '';\n const queryFilterParam = props.queryFilter ? `query-filter=\"${props.queryFilter}\"` : '';\n\n return `\n customer-token=\"${props.customerToken}\"\n ${accountIdParam}\n hide-filter-button=\"${props.hideFilterButton || false}\"\n ${queryFilterParam}\n style=\"height: 100%\"\n `;\n};\n\nexport const getActivityScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.activity.valueOf())) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const injectFiltersChanged = (currentWeb: WebView | null, query: string) => {\n currentWeb?.injectJavaScript(`dispatchActivityFilterChangedEvent('${query}')`);\n};\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,mCAAmC;AAGpE,SAASC,wBAAwB,QAAQ,iCAAiC;AAG1E,OAAO,MAAMC,iBAAiB,GAAIC,KAA+B,IAAK;EACpE,MAAMC,cAAc,GAAGD,KAAK,CAACE,SAAS,GAAI,eAAcF,KAAK,CAACE,SAAU,GAAE,GAAG,EAAE;EAC/E,MAAMC,gBAAgB,GAAGH,KAAK,CAACI,WAAW,GAAI,iBAAgBJ,KAAK,CAACI,WAAY,GAAE,GAAG,EAAE;EAEvF,OAAQ;AACV,sBAAsBJ,KAAK,CAACK,aAAc;AAC1C,MAAMJ,cAAe;AACrB,0BAA0BD,KAAK,CAACM,gBAAgB,IAAI,KAAM;AAC1D,MAAMH,gBAAiB;AACvB;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMI,iBAAiB,GAAGA,CAAA,KAAM;EACrC,OAAOT,wBAAwB;AACjC,CAAC;AAED,OAAO,MAAMU,0BAA0B,GAAGA,CAACC,UAA0B,EAAEC,mBAA+C,KAAK;EACzH,IAAIA,mBAAmB,IAAIA,mBAAmB,CAACC,YAAY,CAACC,QAAQ,CAACf,gBAAgB,CAACgB,QAAQ,CAACC,OAAO,EAAE,CAAC,EAAE;IACzGL,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,yBAAwBC,IAAI,CAACC,SAAS,CAACP,mBAAmB,CAAE,IAAG,CAAC;EAChG;AACF,CAAC;AAED,OAAO,MAAMQ,oBAAoB,GAAGA,CAACT,UAA0B,EAAEU,KAAa,KAAK;EACjFV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEM,gBAAgB,CAAE,uCAAsCI,KAAM,IAAG,CAAC;AAChF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","WebComponent","WebComponentType","PresentationMode","getBookPaymentParams","getBookPaymentScript","PageMessage","View","UnitMessage","PaymentMessage","RESPONSE_KEYS","UNBookPaymentComponent","props","height","setHeight","presentationMode","setPresentationMode","Inherit","handleUnitOnLoad","response","onLoad","errors","account","console","error","handleWebViewMessage","message","details","type","PAYMENT_CREATED","onPaymentCreated","data","UNIT_ON_LOAD","PAGE_HEIGHT","currentHeight","Default","renderBookPaymentWebView","createElement","bookPayment","params","script","onMessage","isScrollable","theme","language","style"],"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 { UNOnLoadResponse, UNBookPaymentData, UNError, UNAccountData, UNOnLoadResponseData } 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';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\n\nexport interface UNBookPaymentComponentProps {\n accountId: string;\n customerToken: string;\n isSameCustomer: boolean;\n counterPartyAccountId: string;\n counterPartyName: string;\n theme?: string;\n language?: string;\n onPaymentCreated?: (data: UNBookPaymentData) => void;\n onLoad?: (response: UNOnLoadResponse<UNAccountData>) => 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 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 // AccountOnLoadResponse;\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 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 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 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 language={props.language}\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","useState","WebComponent","WebComponentType","PresentationMode","getBookPaymentParams","getBookPaymentScript","PageMessage","View","UnitMessage","PaymentMessage","RESPONSE_KEYS","UNBookPaymentComponent","props","height","setHeight","presentationMode","setPresentationMode","Inherit","handleUnitOnLoad","response","onLoad","errors","account","console","error","handleWebViewMessage","message","details","type","PAYMENT_CREATED","onPaymentCreated","data","UNIT_ON_LOAD","PAGE_HEIGHT","currentHeight","Default","renderBookPaymentWebView","createElement","bookPayment","params","script","onMessage","isScrollable","theme","language","style"],"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 { UNOnLoadResponse, UNBookPaymentData, UNError, UNAccountData, UNOnLoadResponseData } 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';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\n\nexport interface UNBookPaymentComponentProps {\n //inputs\n accountId: string;\n customerToken: string;\n isSameCustomer: boolean;\n counterPartyAccountId: string;\n counterPartyName: string;\n\n // ui\n theme?: string;\n language?: string;\n isAutoFocus?: boolean;\n\n // events\n onPaymentCreated?: (data: UNBookPaymentData) => void;\n onLoad?: (response: UNOnLoadResponse<UNAccountData>) => 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 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 // AccountOnLoadResponse;\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 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 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 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 language={props.language}\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":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,YAAY,EAAEC,gBAAgB,QAAQ,iCAAiC;AAChF,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,oBAAoB,EAAEC,oBAAoB,QAAQ,gCAAgC;AAG3F,SAAsBC,WAAW,QAAQ,wCAAwC;AACjF,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,WAAW,QAAQ,yCAAyC;AACrE,SAASC,cAAc,QAAQ,4CAA4C;AAE3E,SAASC,aAAa,QAAiC,0CAA0C;AAoBjG,OAAO,MAAMC,sBAAsB,GAAIC,KAAkC,IAAK;EAC5E,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGd,QAAQ,CAAS,CAAC,CAAC;EAC/C,MAAM,CAACe,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGhB,QAAQ,CAAmBG,gBAAgB,CAACc,OAAO,CAAC;EAEpG,MAAMC,gBAAgB,GAAIC,QAAiC,IAAK;IAC9D,IAAI,CAACP,KAAK,CAACQ,MAAM,EAAE;MACjB;IACF;IAEA,IAAIV,aAAa,CAACW,MAAM,IAAIF,QAAQ,EAAE;MACpCP,KAAK,CAACQ,MAAM,CAACD,QAAQ,CAAY;MACjC;IACF;IAEA,IAAIT,aAAa,CAACY,OAAO,IAAIH,QAAQ,EAAE;MACrC;MACAP,KAAK,CAACQ,MAAM,CAACD,QAAQ,CAACT,aAAa,CAACY,OAAO,CAAC,CAAwC;MACpF;IACF;IAEAC,OAAO,CAACC,KAAK,CAAC,yCAAyC,CAAC;IACxD;EACF,CAAC;EAED,MAAMC,oBAAoB,GAAIC,OAAuB,IAAK;IACxD,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACC,OAAO,EAAE;IAElC,QAAQD,OAAO,CAACE,IAAI;MAClB,KAAKnB,cAAc,CAACoB,eAAe;QACjCjB,KAAK,CAACkB,gBAAgB,IAAIlB,KAAK,CAACkB,gBAAgB,CAAEJ,OAAO,CAACC,OAAO,CAAsBI,IAAI,CAAC;QAC5F;MACF,KAAKvB,WAAW,CAACwB,YAAY;QAC3Bd,gBAAgB,CAACQ,OAAO,CAACC,OAAO,CAA4B;QAC5D;MACF,KAAKrB,WAAW,CAAC2B,WAAW;QAAE;UAC5B,MAAMC,aAAa,GAAIR,OAAO,CAACC,OAAO,CAAiBd,MAAM;UAC7DC,SAAS,CAACoB,aAAa,CAAC;UACxB,IAAInB,gBAAgB,KAAKZ,gBAAgB,CAACc,OAAO,IAAIiB,aAAa,KAAK,CAAC,EAAE;YACxElB,mBAAmB,CAACb,gBAAgB,CAACgC,OAAO,CAAC;UAC/C;UACA;QACF;IAAC;EAEL,CAAC;EAED,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;IACrC,oBACErC,KAAA,CAAAsC,aAAA,CAACpC,YAAY;MACX2B,IAAI,EAAE1B,gBAAgB,CAACoC,WAAY;MACnCvB,gBAAgB,EAAEA,gBAAiB;MACnCwB,MAAM,EAAEnC,oBAAoB,CAACQ,KAAK,CAAE;MACpC4B,MAAM,EAAEnC,oBAAoB,EAAG;MAC/BoC,SAAS,EAAGf,OAAuB,IAAKD,oBAAoB,CAACC,OAAO,CAAE;MACtEgB,YAAY,EAAE,KAAM;MACpBC,KAAK,EAAE/B,KAAK,CAAC+B,KAAM;MACnBC,QAAQ,EAAEhC,KAAK,CAACgC;IAAS,EACzB;EAEN,CAAC;EAED,IAAI7B,gBAAgB,KAAKZ,gBAAgB,CAACc,OAAO,EAAE;IACjD,OAAOmB,wBAAwB,EAAE;EACnC;EAEA,oBACErC,KAAA,CAAAsC,aAAA,CAAC9B,IAAI;IAACsC,KAAK,EAAE;MAAEhC,MAAM,EAAEA;IAAO;EAAE,GAC7BuB,wBAAwB,EAAE,CACtB;AAEX,CAAC"}
@@ -7,6 +7,7 @@ export const getBookPaymentParams = props => {
7
7
  is-same-customer="${props.isSameCustomer}"
8
8
  counterparty-account-id="${props.counterPartyAccountId}"
9
9
  counterparty-name="${props.counterPartyName}"
10
+ is-auto-focus="${props.isAutoFocus || false}"
10
11
  style="height: 100%"
11
12
  `;
12
13
  };
@@ -1 +1 @@
1
- {"version":3,"names":["LISTENERS","PaymentMessage","getBookPaymentParams","props","accountId","customerToken","isSameCustomer","counterPartyAccountId","counterPartyName","getBookPaymentScript","PAYMENT_CREATED","requestRefresh"],"sources":["UNBookPaymentComponent.utils.ts"],"sourcesContent":["import { LISTENERS } from './../../scripts/html/bodyScript';\nimport type { UNBookPaymentComponentProps } from './UNBookPaymentComponent';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\n\nexport const getBookPaymentParams = (props: UNBookPaymentComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n is-same-customer=\"${props.isSameCustomer}\"\n counterparty-account-id=\"${props.counterPartyAccountId}\"\n counterparty-name=\"${props.counterPartyName}\"\n style=\"height: 100%\"\n `;\n};\n\nexport const getBookPaymentScript = () => {\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 ${LISTENERS.requestRefresh}\n `;\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iCAAiC;AAG3D,SAASC,cAAc,QAAQ,4CAA4C;AAE3E,OAAO,MAAMC,oBAAoB,GAAIC,KAAkC,IAAK;EAC1E,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,wBAAwBF,KAAK,CAACG,cAAe;AAC7C,+BAA+BH,KAAK,CAACI,qBAAsB;AAC3D,yBAAyBJ,KAAK,CAACK,gBAAiB;AAChD;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,OAAQ;AACV,+BAA+BR,cAAc,CAACS,eAAgB;AAC9D;AACA;AACA,sCAAsCT,cAAc,CAACS,eAAgB;AACrE;AACA;AACA;AACA;AACA;AACA,MAAMV,SAAS,CAACW,cAAe;AAC/B,GAAG;AACH,CAAC"}
1
+ {"version":3,"names":["LISTENERS","PaymentMessage","getBookPaymentParams","props","accountId","customerToken","isSameCustomer","counterPartyAccountId","counterPartyName","isAutoFocus","getBookPaymentScript","PAYMENT_CREATED","requestRefresh"],"sources":["UNBookPaymentComponent.utils.ts"],"sourcesContent":["import { LISTENERS } from './../../scripts/html/bodyScript';\nimport type { UNBookPaymentComponentProps } from './UNBookPaymentComponent';\n\nimport { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\n\nexport const getBookPaymentParams = (props: UNBookPaymentComponentProps) => {\n return `\n account-id=\"${props.accountId}\"\n customer-token=\"${props.customerToken}\"\n is-same-customer=\"${props.isSameCustomer}\"\n counterparty-account-id=\"${props.counterPartyAccountId}\"\n counterparty-name=\"${props.counterPartyName}\"\n is-auto-focus=\"${props.isAutoFocus || false}\"\n style=\"height: 100%\"\n `;\n};\n\nexport const getBookPaymentScript = () => {\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 ${LISTENERS.requestRefresh}\n `;\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iCAAiC;AAG3D,SAASC,cAAc,QAAQ,4CAA4C;AAE3E,OAAO,MAAMC,oBAAoB,GAAIC,KAAkC,IAAK;EAC1E,OAAQ;AACV,kBAAkBA,KAAK,CAACC,SAAU;AAClC,sBAAsBD,KAAK,CAACE,aAAc;AAC1C,wBAAwBF,KAAK,CAACG,cAAe;AAC7C,+BAA+BH,KAAK,CAACI,qBAAsB;AAC3D,yBAAyBJ,KAAK,CAACK,gBAAiB;AAChD,qBAAqBL,KAAK,CAACM,WAAW,IAAI,KAAM;AAChD;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,OAAQ;AACV,+BAA+BT,cAAc,CAACU,eAAgB;AAC9D;AACA;AACA,sCAAsCV,cAAc,CAACU,eAAgB;AACrE;AACA;AACA;AACA;AACA;AACA,MAAMX,SAAS,CAACY,cAAe;AAC/B,GAAG;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useImperativeHandle","useRef","useState","Dimensions","View","PageMessage","UnitMessage","EventBus","WebComponent","WebComponentType","useListenerToBus","getCardParams","getCardScript","injectRefreshEventIfNeeded","launchStartCardProvisioning","injectOpenActionsMenuScript","injectRequestCardActionScript","PresentationMode","CardMessage","launchGetWallets","CardAddToWalletErrors","CardNativeMessage","RESPONSE_KEYS","UNCardComponent","forwardRef","props","cardRef","height","setHeight","windowWidth","get","width","walletRef","webRef","openActionsMenu","current","openAction","action","cardStatusChanged","card","onStatusChanged","cardActivated","onCardActivated","requestRefresh","data","cardId","startPushProvisioning","onAddToWalletClicked","getAddToWalletStatus","getWallets","handleUnitOnLoad","response","onLoad","errors","console","error","busEventKey","UNIT_REQUEST_REFRESH","CARD_STATUS_CHANGED","CARD_ACTIVATED","CARD_START_PUSH_PROVISIONING","CARD_GET_ADD_TO_WALLET_STATUS","handleMessage","message","details","type","UNIT_REQUEST_RENDERING","event","componentName","componentResourceId","requestRenderingEvent","Instance","PAGE_HEIGHT","UNIT_ON_LOAD","walletResponse","customerToken","pushProvisioningModule","walletStatus","status","CARD_UPDATE_ADD_TO_WALLET_STATUS","Error","parsedError","JSON","parse","code","closedNativeWalletScreen","log","createElement","style","ref","presentationMode","Default","params","theme","language","script","onMessage","isScrollable"],"sources":["UNCardComponent.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\nimport { Dimensions, NativeModule, View } from 'react-native';\nimport type WebView from 'react-native-webview';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport EventBus from '../../helpers/EventBus';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getCardParams, getCardScript, injectRefreshEventIfNeeded, launchStartCardProvisioning, injectOpenActionsMenuScript, injectRequestCardActionScript } from './UNCardComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { UNOnLoadResponse, UNCardData, UNError, UNCardMenuAction } from '../../sharedTypes';\nimport { CardMessage } from '../../messages/webMessages/cardMessage';\nimport { launchGetWallets } from './UNCardComponent.utils';\nimport type { NativeModules } from 'react-native';\nimport type { UNWallet } from 'src/sharedTypes/wallet.types';\nimport { CardAddToWalletErrors, UNCardAddToWalletStatusEvent, CardGetAddToWalletStatusEvent, CardNativeMessage, CardStartPushProvisioningEvent } from '../../messages/nativeMessages/cardMessage';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nexport interface UNCardComponentProps {\n // inputs\n cardId: string;\n customerToken: string;\n\n // ui\n theme?: string;\n language?: string;\n hideActionsMenuButton?: boolean;\n hideCardTitle?: boolean;\n hideSensitiveDataButton?: boolean;\n\n // events\n onLoad?: (response: UNOnLoadResponse<UNCardData>) => void\n onStatusChanged?: (card: UNCardData) => void;\n onCardActivated?: (card: UNCardData) => void;\n pushProvisioningModule?: typeof NativeModules;\n}\nexport interface CardRef {\n openActionsMenu: () => void;\n openAction: (action: UNCardMenuAction) => void;\n}\n\nexport const UNCardComponent = React.forwardRef<CardRef, UNCardComponentProps>(function UNCardComponent(props, cardRef) {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const walletRef = useRef<UNWallet | null>(null);\n // walletRef can be changed to a state. (After the change of the listener hook)\n // TODO: walletState and checks it works. =)\n\n const webRef = useRef<WebView>(null);\n\n useImperativeHandle(cardRef, () => ({\n openActionsMenu() {\n injectOpenActionsMenuScript(webRef.current);\n },\n openAction(action: UNCardMenuAction) {\n injectRequestCardActionScript(webRef.current, action);\n }\n }));\n\n const cardStatusChanged = (card: UNCardData) => {\n if (props.onStatusChanged) {\n props.onStatusChanged(card);\n }\n };\n\n const cardActivated = (card: UNCardData) => {\n if (props.onCardActivated) {\n props.onCardActivated(card);\n }\n };\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data, props.cardId);\n };\n\n const startPushProvisioning = async (data: CardStartPushProvisioningEvent) => {\n if (data.cardId !== props.cardId) return;\n onAddToWalletClicked();\n };\n\n const getAddToWalletStatus = (data: CardGetAddToWalletStatusEvent) => {\n if (data.cardId !== props.cardId) return;\n getWallets();\n };\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.card in response) {\n // CardOnLoadResponse\n props.onLoad(response[RESPONSE_KEYS.card] as UNOnLoadResponse<UNCardData>);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: CardMessage.CARD_STATUS_CHANGED, action: cardStatusChanged });\n useListenerToBus({ busEventKey: CardMessage.CARD_ACTIVATED, action: cardActivated });\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_START_PUSH_PROVISIONING, action: startPushProvisioning });\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS, action: getAddToWalletStatus });\n\n const handleMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.card,\n componentResourceId: props.cardId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);\n break;\n }\n case PageMessage.PAGE_HEIGHT:\n setHeight((message.details as HeightEvent).height);\n break;\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n }\n };\n\n const getWallets = async () => {\n\n try {\n\n const walletResponse = await launchGetWallets(props.customerToken, props.cardId, props.pushProvisioningModule as NativeModule);\n\n if (!walletResponse) return;\n\n walletRef.current = walletResponse;\n\n const walletStatus: UNCardAddToWalletStatusEvent = { status: walletResponse.status };\n EventBus.Instance.event(CardNativeMessage.CARD_UPDATE_ADD_TO_WALLET_STATUS, walletStatus);\n } catch (error) {\n console.error(error);\n }\n };\n\n const onAddToWalletClicked = async () => {\n try {\n await launchStartCardProvisioning(props.pushProvisioningModule as NativeModule, walletRef.current);\n } catch (error) {\n if (error instanceof Error) {\n const parsedError = JSON.parse(error.message);\n if (parsedError.code === CardAddToWalletErrors.closedNativeWalletScreen) return;\n }\n console.log(error);\n }\n };\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.card}\n presentationMode={PresentationMode.Default}\n params={getCardParams(props)}\n theme={props.theme}\n language={props.language}\n script={getCardScript()}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useImperativeHandle","useRef","useState","Dimensions","View","PageMessage","UnitMessage","EventBus","WebComponent","WebComponentType","useListenerToBus","getCardParams","getCardScript","injectRefreshEventIfNeeded","launchStartCardProvisioning","injectOpenActionsMenuScript","injectRequestCardActionScript","PresentationMode","CardMessage","launchGetWallets","CardAddToWalletErrors","CardNativeMessage","RESPONSE_KEYS","UNCardComponent","forwardRef","props","cardRef","height","setHeight","windowWidth","get","width","walletRef","webRef","openActionsMenu","current","openAction","action","cardStatusChanged","card","onStatusChanged","cardActivated","onCardActivated","requestRefresh","data","cardId","startPushProvisioning","onAddToWalletClicked","getAddToWalletStatus","getWallets","handleUnitOnLoad","response","onLoad","errors","console","error","busEventKey","UNIT_REQUEST_REFRESH","CARD_STATUS_CHANGED","CARD_ACTIVATED","CARD_START_PUSH_PROVISIONING","CARD_GET_ADD_TO_WALLET_STATUS","handleMessage","message","details","type","UNIT_REQUEST_RENDERING","event","componentName","componentResourceId","requestRenderingEvent","Instance","PAGE_HEIGHT","UNIT_ON_LOAD","walletResponse","customerToken","pushProvisioningModule","walletStatus","status","CARD_UPDATE_ADD_TO_WALLET_STATUS","Error","parsedError","JSON","parse","code","closedNativeWalletScreen","log","createElement","style","ref","presentationMode","Default","params","theme","language","script","onMessage","isScrollable"],"sources":["UNCardComponent.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\nimport { Dimensions, NativeModule, View } from 'react-native';\nimport type WebView from 'react-native-webview';\nimport { HeightEvent, PageMessage } from '../../messages/webMessages/pageMessage';\nimport { RequestRefreshEvent, RequestRenderingEvent, UnitMessage } from '../../messages/webMessages/unitMessages';\nimport EventBus from '../../helpers/EventBus';\nimport { WebComponent, WebComponentType } from '../../webComponent/WebComponent';\nimport { useListenerToBus } from '../../hooks/listenerToBus';\nimport type { WebViewMessage } from '../../messages/webMessages';\nimport { getCardParams, getCardScript, injectRefreshEventIfNeeded, launchStartCardProvisioning, injectOpenActionsMenuScript, injectRequestCardActionScript } from './UNCardComponent.utils';\nimport { PresentationMode } from '../../scripts/html/bodyHtml';\nimport type { UNOnLoadResponse, UNCardData, UNError, UNCardMenuAction } from '../../sharedTypes';\nimport { CardMessage } from '../../messages/webMessages/cardMessage';\nimport { launchGetWallets } from './UNCardComponent.utils';\nimport type { NativeModules } from 'react-native';\nimport type { UNWallet } from 'src/sharedTypes/wallet.types';\nimport { CardAddToWalletErrors, UNCardAddToWalletStatusEvent, CardGetAddToWalletStatusEvent, CardNativeMessage, CardStartPushProvisioningEvent } from '../../messages/nativeMessages/cardMessage';\nimport type { BottomSheetSlotData } from '../UNBottomSheetComponent/UNBottomSheetComponent';\nimport { RESPONSE_KEYS, UnitOnLoadResponseEvent } from '../../messages/webMessages/onLoadMessage';\nexport interface UNCardComponentProps {\n // inputs\n cardId: string;\n customerToken: string;\n learnMoreUrl?: string;\n\n // ui\n theme?: string;\n language?: string;\n hideActionsMenuButton?: boolean;\n hideCardTitle?: boolean;\n hideSensitiveDataButton?: boolean;\n\n // events\n onLoad?: (response: UNOnLoadResponse<UNCardData>) => void\n onStatusChanged?: (card: UNCardData) => void;\n onCardActivated?: (card: UNCardData) => void;\n pushProvisioningModule?: typeof NativeModules;\n}\nexport interface CardRef {\n openActionsMenu: () => void;\n openAction: (action: UNCardMenuAction) => void;\n}\n\nexport const UNCardComponent = React.forwardRef<CardRef, UNCardComponentProps>(function UNCardComponent(props, cardRef) {\n const [height, setHeight] = useState(0);\n const windowWidth = Dimensions.get('window').width;\n\n const walletRef = useRef<UNWallet | null>(null);\n // walletRef can be changed to a state. (After the change of the listener hook)\n // TODO: walletState and checks it works. =)\n\n const webRef = useRef<WebView>(null);\n\n useImperativeHandle(cardRef, () => ({\n openActionsMenu() {\n injectOpenActionsMenuScript(webRef.current);\n },\n openAction(action: UNCardMenuAction) {\n injectRequestCardActionScript(webRef.current, action);\n }\n }));\n\n const cardStatusChanged = (card: UNCardData) => {\n if (props.onStatusChanged) {\n props.onStatusChanged(card);\n }\n };\n\n const cardActivated = (card: UNCardData) => {\n if (props.onCardActivated) {\n props.onCardActivated(card);\n }\n };\n\n const requestRefresh = (data: RequestRefreshEvent) => {\n injectRefreshEventIfNeeded(webRef.current, data, props.cardId);\n };\n\n const startPushProvisioning = async (data: CardStartPushProvisioningEvent) => {\n if (data.cardId !== props.cardId) return;\n onAddToWalletClicked();\n };\n\n const getAddToWalletStatus = (data: CardGetAddToWalletStatusEvent) => {\n if (data.cardId !== props.cardId) return;\n getWallets();\n };\n\n const handleUnitOnLoad = (response: UnitOnLoadResponseEvent) => {\n if (!props.onLoad) {\n return;\n }\n\n if (RESPONSE_KEYS.errors in response) {\n props.onLoad(response as UNError);\n return;\n }\n\n if (RESPONSE_KEYS.card in response) {\n // CardOnLoadResponse\n props.onLoad(response[RESPONSE_KEYS.card] as UNOnLoadResponse<UNCardData>);\n return;\n }\n\n console.error('On Load Error: unexpected response type');\n return;\n };\n\n useListenerToBus({ busEventKey: UnitMessage.UNIT_REQUEST_REFRESH, action: requestRefresh });\n useListenerToBus({ busEventKey: CardMessage.CARD_STATUS_CHANGED, action: cardStatusChanged });\n useListenerToBus({ busEventKey: CardMessage.CARD_ACTIVATED, action: cardActivated });\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_START_PUSH_PROVISIONING, action: startPushProvisioning });\n useListenerToBus({ busEventKey: CardNativeMessage.CARD_GET_ADD_TO_WALLET_STATUS, action: getAddToWalletStatus });\n\n const handleMessage = (message: WebViewMessage) => {\n if (!message || !message.details) return;\n\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_RENDERING: {\n const event: BottomSheetSlotData = {\n componentName: WebComponentType.card,\n componentResourceId: props.cardId,\n requestRenderingEvent: message.details as RequestRenderingEvent\n };\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_RENDERING, event);\n break;\n }\n case PageMessage.PAGE_HEIGHT:\n setHeight((message.details as HeightEvent).height);\n break;\n case UnitMessage.UNIT_ON_LOAD:\n handleUnitOnLoad(message.details as UnitOnLoadResponseEvent);\n break;\n }\n };\n\n const getWallets = async () => {\n\n try {\n\n const walletResponse = await launchGetWallets(props.customerToken, props.cardId, props.pushProvisioningModule as NativeModule);\n\n if (!walletResponse) return;\n\n walletRef.current = walletResponse;\n\n const walletStatus: UNCardAddToWalletStatusEvent = { status: walletResponse.status };\n EventBus.Instance.event(CardNativeMessage.CARD_UPDATE_ADD_TO_WALLET_STATUS, walletStatus);\n } catch (error) {\n console.error(error);\n }\n };\n\n const onAddToWalletClicked = async () => {\n try {\n await launchStartCardProvisioning(props.pushProvisioningModule as NativeModule, walletRef.current);\n } catch (error) {\n if (error instanceof Error) {\n const parsedError = JSON.parse(error.message);\n if (parsedError.code === CardAddToWalletErrors.closedNativeWalletScreen) return;\n }\n console.log(error);\n }\n };\n\n return (\n <View style={{ height }}>\n <WebComponent\n ref={webRef}\n type={WebComponentType.card}\n presentationMode={PresentationMode.Default}\n params={getCardParams(props)}\n theme={props.theme}\n language={props.language}\n script={getCardScript()}\n onMessage={message => handleMessage(message)}\n width={windowWidth}\n isScrollable={false}\n />\n </View>\n );\n});\n"],"mappings":"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"}
@@ -11,6 +11,7 @@ export const getCardParams = props => {
11
11
  hide-actions-menu-button="${props.hideActionsMenuButton || false}"
12
12
  hide-card-title="${props.hideCardTitle || false}"
13
13
  hide-sensitive-data-button="${props.hideSensitiveDataButton || false}"
14
+ learn-more-url="${props.learnMoreUrl || ''}"
14
15
  `;
15
16
  };
16
17
  export const getCardScript = () => {
@@ -1 +1 @@
1
- {"version":3,"names":["DISPATCH_REQUEST_REFRESH","WebComponentType","getMobileWalletPayload","UNWalletCode","UNWalletName","UnitSDK","getCardParams","props","cardId","customerToken","pushProvisioningModule","hideActionsMenuButton","hideCardTitle","hideSensitiveDataButton","getCardScript","injectOpenActionsMenuScript","currentWeb","injectJavaScript","card","injectRequestCardActionScript","action","injectRefreshEventIfNeeded","requestRefreshEvent","dependencies","includes","valueOf","resourceId","JSON","stringify","launchGetWallets","env","getEnv","encryptedPayload","walletsResponse","encPayload","parsedWalletsResponse","parse","wallets","code","Apple","name","status","googleWallet","filter","wallet","Google","error","Promise","reject","launchStartCardProvisioning","response","walletCode","walletName"],"sources":["UNCardComponent.utils.ts"],"sourcesContent":["import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type WebView from 'react-native-webview';\nimport type { UNCardComponentProps } from './UNCardComponent';\nimport { WebComponentType } from '../../webComponent/WebComponent';\nimport type { NativeModules } from 'react-native';\nimport { getMobileWalletPayload } from './networking/requests/UNWalletPayloadRequest';\nimport { UNWallet, UNWalletCode, UNWalletName } from '../../../src/sharedTypes/wallet.types';\nimport type { RequestRefreshEvent } from '../../messages/webMessages/unitMessages';\nimport { UnitSDK } from '../../unitSdkManager/UnitSdkManager';\nimport type { UNCardMenuAction } from '../../sharedTypes';\n\nexport const getCardParams = (props: UNCardComponentProps) => {\n return `\n card-id=\"${props.cardId}\"\n customer-token=\"${props.customerToken}\"\n enable-mobile-wallet=\"${!!props.pushProvisioningModule}\"\n hide-actions-menu-button=\"${props.hideActionsMenuButton || false}\"\n hide-card-title=\"${props.hideCardTitle || false}\"\n hide-sensitive-data-button=\"${props.hideSensitiveDataButton || false}\"\n `;\n};\n\nexport const getCardScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectOpenActionsMenuScript = (currentWeb: WebView | null) => {\n currentWeb?.injectJavaScript(`dispatchOpenActionsMenu('${WebComponentType.card}')`);\n};\n\nexport const injectRequestCardActionScript = (currentWeb: WebView | null, action: UNCardMenuAction) => {\n currentWeb?.injectJavaScript(`dispatchRequestCardAction('${action}')`);\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null, cardId: string) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.card.valueOf()) && requestRefreshEvent.resourceId == cardId) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const launchGetWallets = async (customerToken: string, cardId: string, pushProvisioningModule: typeof NativeModules) => {\n try {\n const env = UnitSDK.getEnv();\n if (!env) return null;\n\n const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);\n if (!encryptedPayload) return null;\n\n const walletsResponse = await pushProvisioningModule.launchGetWallets(JSON.stringify({ encPayload: encryptedPayload }));\n const parsedWalletsResponse = JSON.parse(walletsResponse);\n const wallets = parsedWalletsResponse.wallets;\n\n if (!wallets) return null;\n if (wallets[0].code === UNWalletCode.Apple) {\n return ({ name: UNWalletName.Apple, code: UNWalletCode.Apple, status: wallets[0].status });\n } else {\n const googleWallet = wallets.filter((wallet: { name: UNWalletName }) => {\n return wallet.name === UNWalletName.Google;\n });\n if (!googleWallet) return;\n return ({ name: UNWalletName.Google, code: UNWalletCode.Google, status: googleWallet[0].status });\n }\n } catch (error) {\n return Promise.reject(error);\n }\n\n};\n\nexport const launchStartCardProvisioning = async (pushProvisioningModule: typeof NativeModules, wallet: UNWallet | null) => {\n try {\n const response = await pushProvisioningModule.launchStartCardProvisioning(\n JSON.stringify({\n walletCode: wallet?.code,\n walletName: wallet?.name\n }));\n return response;\n }\n\n catch (error) {\n return Promise.reject(error);\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["DISPATCH_REQUEST_REFRESH","WebComponentType","getMobileWalletPayload","UNWalletCode","UNWalletName","UnitSDK","getCardParams","props","cardId","customerToken","pushProvisioningModule","hideActionsMenuButton","hideCardTitle","hideSensitiveDataButton","learnMoreUrl","getCardScript","injectOpenActionsMenuScript","currentWeb","injectJavaScript","card","injectRequestCardActionScript","action","injectRefreshEventIfNeeded","requestRefreshEvent","dependencies","includes","valueOf","resourceId","JSON","stringify","launchGetWallets","env","getEnv","encryptedPayload","walletsResponse","encPayload","parsedWalletsResponse","parse","wallets","code","Apple","name","status","googleWallet","filter","wallet","Google","error","Promise","reject","launchStartCardProvisioning","response","walletCode","walletName"],"sources":["UNCardComponent.utils.ts"],"sourcesContent":["import { DISPATCH_REQUEST_REFRESH } from './../../scripts/html/bodyScript';\nimport type WebView from 'react-native-webview';\nimport type { UNCardComponentProps } from './UNCardComponent';\nimport { WebComponentType } from '../../webComponent/WebComponent';\nimport type { NativeModules } from 'react-native';\nimport { getMobileWalletPayload } from './networking/requests/UNWalletPayloadRequest';\nimport { UNWallet, UNWalletCode, UNWalletName } from '../../../src/sharedTypes/wallet.types';\nimport type { RequestRefreshEvent } from '../../messages/webMessages/unitMessages';\nimport { UnitSDK } from '../../unitSdkManager/UnitSdkManager';\nimport type { UNCardMenuAction } from '../../sharedTypes';\n\nexport const getCardParams = (props: UNCardComponentProps) => {\n return `\n card-id=\"${props.cardId}\"\n customer-token=\"${props.customerToken}\"\n enable-mobile-wallet=\"${!!props.pushProvisioningModule}\"\n hide-actions-menu-button=\"${props.hideActionsMenuButton || false}\"\n hide-card-title=\"${props.hideCardTitle || false}\"\n hide-sensitive-data-button=\"${props.hideSensitiveDataButton || false}\"\n learn-more-url=\"${props.learnMoreUrl || ''}\"\n `;\n};\n\nexport const getCardScript = () => {\n return DISPATCH_REQUEST_REFRESH;\n};\n\nexport const injectOpenActionsMenuScript = (currentWeb: WebView | null) => {\n currentWeb?.injectJavaScript(`dispatchOpenActionsMenu('${WebComponentType.card}')`);\n};\n\nexport const injectRequestCardActionScript = (currentWeb: WebView | null, action: UNCardMenuAction) => {\n currentWeb?.injectJavaScript(`dispatchRequestCardAction('${action}')`);\n};\n\nexport const injectRefreshEventIfNeeded = (currentWeb: WebView | null, requestRefreshEvent: RequestRefreshEvent | null, cardId: string) => {\n if (requestRefreshEvent && requestRefreshEvent.dependencies.includes(WebComponentType.card.valueOf()) && requestRefreshEvent.resourceId == cardId) {\n currentWeb?.injectJavaScript(`dispatchRefreshEvent('${JSON.stringify(requestRefreshEvent)}')`);\n }\n};\n\nexport const launchGetWallets = async (customerToken: string, cardId: string, pushProvisioningModule: typeof NativeModules) => {\n try {\n const env = UnitSDK.getEnv();\n if (!env) return null;\n\n const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);\n if (!encryptedPayload) return null;\n\n const walletsResponse = await pushProvisioningModule.launchGetWallets(JSON.stringify({ encPayload: encryptedPayload }));\n const parsedWalletsResponse = JSON.parse(walletsResponse);\n const wallets = parsedWalletsResponse.wallets;\n\n if (!wallets) return null;\n if (wallets[0].code === UNWalletCode.Apple) {\n return ({ name: UNWalletName.Apple, code: UNWalletCode.Apple, status: wallets[0].status });\n } else {\n const googleWallet = wallets.filter((wallet: { name: UNWalletName }) => {\n return wallet.name === UNWalletName.Google;\n });\n if (!googleWallet) return;\n return ({ name: UNWalletName.Google, code: UNWalletCode.Google, status: googleWallet[0].status });\n }\n } catch (error) {\n return Promise.reject(error);\n }\n\n};\n\nexport const launchStartCardProvisioning = async (pushProvisioningModule: typeof NativeModules, wallet: UNWallet | null) => {\n try {\n const response = await pushProvisioningModule.launchStartCardProvisioning(\n JSON.stringify({\n walletCode: wallet?.code,\n walletName: wallet?.name\n }));\n return response;\n }\n\n catch (error) {\n return Promise.reject(error);\n }\n};\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { NativeModules } from 'react-native';
2
+ const {
3
+ RNAppInfoModule
4
+ } = NativeModules;
5
+ export const getAndroidPackageName = async () => {
6
+ try {
7
+ const response = await RNAppInfoModule.getAppPackageName();
8
+ return response;
9
+ } catch (error) {
10
+ console.error(error);
11
+ }
12
+ };
13
+ //# sourceMappingURL=nativeModulesInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","RNAppInfoModule","getAndroidPackageName","response","getAppPackageName","error","console"],"sources":["nativeModulesInfo.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\nconst { RNAppInfoModule } = NativeModules;\n\nexport const getAndroidPackageName = async () => {\n try {\n const response = await RNAppInfoModule.getAppPackageName();\n return response;\n } catch (error) {\n console.error(error);\n }\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAC5C,MAAM;EAAEC;AAAgB,CAAC,GAAGD,aAAa;AAEzC,OAAO,MAAME,qBAAqB,GAAG,MAAAA,CAAA,KAAY;EAC/C,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMF,eAAe,CAACG,iBAAiB,EAAE;IAC1D,OAAOD,QAAQ;EACjB,CAAC,CAAC,OAAOE,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;EACtB;AACF,CAAC"}
@@ -81,7 +81,7 @@ export const LISTENERS = {
81
81
  window.addEventListener("${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}", (e) => {
82
82
  postMessageToSDK({ type: "${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}", details: e.detail })
83
83
  });
84
- `,
84
+ `,
85
85
  unitPaymentCreated: `
86
86
  window.addEventListener("${PaymentMessage.PAYMENT_CREATED}", (e) => {
87
87
  const response = e.detail
@@ -90,7 +90,18 @@ export const LISTENERS = {
90
90
  }).catch((e) => {
91
91
  console.log(e)
92
92
  })
93
- });`,
93
+ });
94
+ `,
95
+ unitPlaidTokenCreated: `
96
+ window.addEventListener("${UnitMessage.UNIT_PLAID_TOKEN_CREATED}", (e) => {
97
+ const response = e.detail
98
+ response.then((data) => {
99
+ postMessageToSDK({ type: "${UnitMessage.UNIT_PLAID_TOKEN_CREATED}", details: { linkToken: data.data }})
100
+ }).catch((e) => {
101
+ console.log(e)
102
+ })
103
+ });
104
+ `,
94
105
  unitAccountChanged: `
95
106
  window.addEventListener("${AccountMessage.UNIT_ACCOUNT_CHANGED}", (e) => {
96
107
  const response = e.detail
@@ -1 +1 @@
1
- {"version":3,"names":["PaymentMessage","CardMessage","PageMessage","UnitMessage","AccountMessage","ActivityMessage","POST_MESSAGE_TO_SDK","POST_PAGE_HEIGHT","PAGE_HEIGHT","LISTENERS","isPageLoaded","PAGE_LOADED","requestRendering","UNIT_REQUEST_RENDERING","requestRefresh","UNIT_REQUEST_REFRESH","onLoad","UNIT_ON_LOAD","requestCloseFlow","UNIT_REQUEST_CLOSE_FLOW","requestOpenLink","UNIT_REQUEST_OPEN_LINK","unitRequestDownload","UNIT_REQUEST_DOWNLOAD","cardActivated","CARD_ACTIVATED","cardStatusChange","CARD_STATUS_CHANGED","unitRequestExternalSdk","UNIT_REQUEST_EXTERNAL_SDK","unitPaymentCreated","PAYMENT_CREATED","unitAccountChanged","UNIT_ACCOUNT_CHANGED","unitActivityFiltersChanged","UNIT_ACTIVITY_FILTERS_CHANGED","DISPATCH_RENDERING_EVENT","DISPATCH_REQUEST_REFRESH","DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT","DISPATCH_PLAID_RESPONSE","UNIT_PLAID_RESPONSE","DISPATCH_OPEN_ACTIONS_MENU","DISPATCH_REQUEST_CARD_ACTION","DISPATCH_REQUEST_ACCOUNT_ACTION"],"sources":["bodyScript.ts"],"sourcesContent":["import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport { CardMessage } from '../../messages/webMessages/cardMessage';\nimport { PageMessage } from '../../messages/webMessages/pageMessage';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { AccountMessage } from '../../messages/webMessages/accountMessage';\nimport { ActivityMessage } from '../../messages/webMessages/activityMessage';\n\nexport const POST_MESSAGE_TO_SDK = `\n const postMessageToSDK = (message) => {\n if ('ReactNativeWebView' in window) {\n const messageString = JSON.stringify(message)\n window['ReactNativeWebView'].postMessage(messageString)\n }\n }\n`;\n\nexport const POST_PAGE_HEIGHT = `\n const postHeight = () => {\n setTimeout(() => {\n const height = window.document.documentElement.getBoundingClientRect().height\n postMessageToSDK({ type: \"${PageMessage.PAGE_HEIGHT}\", details: { height } })\n })\n }\n`;\n\nexport const LISTENERS = {\n isPageLoaded: `\n window.addEventListener('DOMContentLoaded', e => {\n postMessageToSDK({ type: \"${PageMessage.PAGE_LOADED}\" })\n });\n `,\n requestRendering: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_RENDERING}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_RENDERING}\", details: { data: e.detail }})\n });\n `,\n requestRefresh: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_REFRESH}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_REFRESH}\", details: e.detail })\n });\n `,\n onLoad: `\n window.addEventListener(\"${UnitMessage.UNIT_ON_LOAD}\", (e) => {\n postHeight()\n postMessageToSDK({ type: \"${UnitMessage.UNIT_ON_LOAD}\", details: e.detail })\n });\n `,\n requestCloseFlow: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_CLOSE_FLOW}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_CLOSE_FLOW}\" })\n });\n `,\n requestOpenLink: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_OPEN_LINK}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_OPEN_LINK}\", details: e.detail })\n });\n `,\n unitRequestDownload: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_DOWNLOAD}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_DOWNLOAD}\", details: e.detail })\n });\n `,\n cardActivated: `\n window.addEventListener(\"${CardMessage.CARD_ACTIVATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${CardMessage.CARD_ACTIVATED}\", details: { card: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n cardStatusChange: `\n window.addEventListener(\"${CardMessage.CARD_STATUS_CHANGED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${CardMessage.CARD_STATUS_CHANGED}\", details: { card: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitRequestExternalSdk: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}\", details: e.detail })\n });\n`,\n unitPaymentCreated: `\n window.addEventListener(\"${PaymentMessage.PAYMENT_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${PaymentMessage.PAYMENT_CREATED}\", details: { data: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });`\n ,\n unitAccountChanged: `\n window.addEventListener(\"${AccountMessage.UNIT_ACCOUNT_CHANGED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${AccountMessage.UNIT_ACCOUNT_CHANGED}\", details: { account: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitActivityFiltersChanged: `\n window.addEventListener(\"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\", (e) => {\n postMessageToSDK({ type: \"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\", details: e.detail })\n });\n `\n};\n\nexport const DISPATCH_RENDERING_EVENT = `\n const dispatchRenderingEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_RENDERING}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_REQUEST_REFRESH = `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT = `\n const dispatchActivityFilterChangedEvent = (details) => {\n const event = new CustomEvent(\"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\",{ detail: details });\n window.dispatchEvent(event);\n }\n`;\n\nexport const DISPATCH_PLAID_RESPONSE = `\n const dispatchPlaidEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_PLAID_RESPONSE}\",{ detail: details })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_OPEN_ACTIONS_MENU = `\n const dispatchOpenActionsMenu = (componentName) => {\n document.querySelector(componentName).dispatchEvent(new CustomEvent(\"unitRequestOpenActionsMenu\"))\n }\n`;\n\nexport const DISPATCH_REQUEST_CARD_ACTION = `\n const dispatchRequestCardAction = (action) => {\n document.querySelector(\"unit-elements-card\").dispatchEvent(new CustomEvent(\"unitRequestCardAction\", {detail: {action: action}}))\n }\n`;\n\nexport const DISPATCH_REQUEST_ACCOUNT_ACTION = `\n const dispatchRequestAccountAction = (action) => {\n document.querySelector(\"unit-elements-account\").dispatchEvent(new CustomEvent(\"unitRequestAccountAction\", {detail: {action: action}}))\n }\n`;\n"],"mappings":"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"}
1
+ {"version":3,"names":["PaymentMessage","CardMessage","PageMessage","UnitMessage","AccountMessage","ActivityMessage","POST_MESSAGE_TO_SDK","POST_PAGE_HEIGHT","PAGE_HEIGHT","LISTENERS","isPageLoaded","PAGE_LOADED","requestRendering","UNIT_REQUEST_RENDERING","requestRefresh","UNIT_REQUEST_REFRESH","onLoad","UNIT_ON_LOAD","requestCloseFlow","UNIT_REQUEST_CLOSE_FLOW","requestOpenLink","UNIT_REQUEST_OPEN_LINK","unitRequestDownload","UNIT_REQUEST_DOWNLOAD","cardActivated","CARD_ACTIVATED","cardStatusChange","CARD_STATUS_CHANGED","unitRequestExternalSdk","UNIT_REQUEST_EXTERNAL_SDK","unitPaymentCreated","PAYMENT_CREATED","unitPlaidTokenCreated","UNIT_PLAID_TOKEN_CREATED","unitAccountChanged","UNIT_ACCOUNT_CHANGED","unitActivityFiltersChanged","UNIT_ACTIVITY_FILTERS_CHANGED","DISPATCH_RENDERING_EVENT","DISPATCH_REQUEST_REFRESH","DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT","DISPATCH_PLAID_RESPONSE","UNIT_PLAID_RESPONSE","DISPATCH_OPEN_ACTIONS_MENU","DISPATCH_REQUEST_CARD_ACTION","DISPATCH_REQUEST_ACCOUNT_ACTION"],"sources":["bodyScript.ts"],"sourcesContent":["import { PaymentMessage } from '../../messages/webMessages/paymentsMessage';\nimport { CardMessage } from '../../messages/webMessages/cardMessage';\nimport { PageMessage } from '../../messages/webMessages/pageMessage';\nimport { UnitMessage } from '../../messages/webMessages/unitMessages';\nimport { AccountMessage } from '../../messages/webMessages/accountMessage';\nimport { ActivityMessage } from '../../messages/webMessages/activityMessage';\n\nexport const POST_MESSAGE_TO_SDK = `\n const postMessageToSDK = (message) => {\n if ('ReactNativeWebView' in window) {\n const messageString = JSON.stringify(message)\n window['ReactNativeWebView'].postMessage(messageString)\n }\n }\n`;\n\nexport const POST_PAGE_HEIGHT = `\n const postHeight = () => {\n setTimeout(() => {\n const height = window.document.documentElement.getBoundingClientRect().height\n postMessageToSDK({ type: \"${PageMessage.PAGE_HEIGHT}\", details: { height } })\n })\n }\n`;\n\nexport const LISTENERS = {\n isPageLoaded: `\n window.addEventListener('DOMContentLoaded', e => {\n postMessageToSDK({ type: \"${PageMessage.PAGE_LOADED}\" })\n });\n `,\n requestRendering: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_RENDERING}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_RENDERING}\", details: { data: e.detail }})\n });\n `,\n requestRefresh: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_REFRESH}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_REFRESH}\", details: e.detail })\n });\n `,\n onLoad: `\n window.addEventListener(\"${UnitMessage.UNIT_ON_LOAD}\", (e) => {\n postHeight()\n postMessageToSDK({ type: \"${UnitMessage.UNIT_ON_LOAD}\", details: e.detail })\n });\n `,\n requestCloseFlow: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_CLOSE_FLOW}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_CLOSE_FLOW}\" })\n });\n `,\n requestOpenLink: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_OPEN_LINK}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_OPEN_LINK}\", details: e.detail })\n });\n `,\n unitRequestDownload: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_DOWNLOAD}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_DOWNLOAD}\", details: e.detail })\n });\n `,\n cardActivated: `\n window.addEventListener(\"${CardMessage.CARD_ACTIVATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${CardMessage.CARD_ACTIVATED}\", details: { card: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n cardStatusChange: `\n window.addEventListener(\"${CardMessage.CARD_STATUS_CHANGED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${CardMessage.CARD_STATUS_CHANGED}\", details: { card: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitRequestExternalSdk: `\n window.addEventListener(\"${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}\", (e) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_REQUEST_EXTERNAL_SDK}\", details: e.detail })\n });\n `,\n unitPaymentCreated: `\n window.addEventListener(\"${PaymentMessage.PAYMENT_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${PaymentMessage.PAYMENT_CREATED}\", details: { data: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitPlaidTokenCreated: `\n window.addEventListener(\"${UnitMessage.UNIT_PLAID_TOKEN_CREATED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${UnitMessage.UNIT_PLAID_TOKEN_CREATED}\", details: { linkToken: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitAccountChanged: `\n window.addEventListener(\"${AccountMessage.UNIT_ACCOUNT_CHANGED}\", (e) => {\n const response = e.detail\n response.then((data) => {\n postMessageToSDK({ type: \"${AccountMessage.UNIT_ACCOUNT_CHANGED}\", details: { account: data.data }})\n }).catch((e) => {\n console.log(e)\n })\n });\n `,\n unitActivityFiltersChanged: `\n window.addEventListener(\"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\", (e) => {\n postMessageToSDK({ type: \"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\", details: e.detail })\n });\n `\n};\n\nexport const DISPATCH_RENDERING_EVENT = `\n const dispatchRenderingEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_RENDERING}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_REQUEST_REFRESH = `\n const dispatchRefreshEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_REQUEST_REFRESH}\",{ detail: JSON.parse(details) })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT = `\n const dispatchActivityFilterChangedEvent = (details) => {\n const event = new CustomEvent(\"${ActivityMessage.UNIT_ACTIVITY_FILTERS_CHANGED}\",{ detail: details });\n window.dispatchEvent(event);\n }\n`;\n\nexport const DISPATCH_PLAID_RESPONSE = `\n const dispatchPlaidEvent = (details) => {\n const event = new CustomEvent(\"${UnitMessage.UNIT_PLAID_RESPONSE}\",{ detail: details })\n window.dispatchEvent(event)\n }\n`;\n\nexport const DISPATCH_OPEN_ACTIONS_MENU = `\n const dispatchOpenActionsMenu = (componentName) => {\n document.querySelector(componentName).dispatchEvent(new CustomEvent(\"unitRequestOpenActionsMenu\"))\n }\n`;\n\nexport const DISPATCH_REQUEST_CARD_ACTION = `\n const dispatchRequestCardAction = (action) => {\n document.querySelector(\"unit-elements-card\").dispatchEvent(new CustomEvent(\"unitRequestCardAction\", {detail: {action: action}}))\n }\n`;\n\nexport const DISPATCH_REQUEST_ACCOUNT_ACTION = `\n const dispatchRequestAccountAction = (action) => {\n document.querySelector(\"unit-elements-account\").dispatchEvent(new CustomEvent(\"unitRequestAccountAction\", {detail: {action: action}}))\n }\n`;\n"],"mappings":"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"}
@@ -116,7 +116,8 @@ export const WebComponent = /*#__PURE__*/React.forwardRef(function WebComponent(
116
116
  style: {
117
117
  width: width,
118
118
  flex: 1,
119
- opacity: 0.99
119
+ opacity: 0.99,
120
+ backgroundColor: "transparent"
120
121
  },
121
122
  source: {
122
123
  html: sourceHtml,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","NativeModules","Platform","WebView","EventBus","html","HTML_PLACEHOLDER","UnitMessage","useListenerToBus","getHtmlBody","fetchUnitScript","globalUnitScript","UnitSDK","SDKMessage","handleRequestDownload","UNAppInfo","WebComponentType","WebComponent","forwardRef","props","webRef","unitScript","setUnitScript","sourceHtml","setSourceHtml","componentCurrentTheme","setComponentCurrentTheme","theme","getTheme","componentCurrentLanguage","setComponentCurrentLanguage","language","getLanguage","baseName","setBaseName","width","updateUnitScript","data","updateInitializedParams","busEventKey","IS_SCRIPT_FETCHED","action","IS_SDK_INITIALIZED","getAppName","OS","name","getBundleName","replace","error","console","themeParam","languageParam","componentParams","params","newHtml","BODY","type","valueOf","presentationMode","SCRIPT_FROM_NATIVE","script","onMessage","e","message","JSON","parse","nativeEvent","UNIT_REQUEST_REFRESH","details","Instance","event","UNIT_REQUEST_DOWNLOAD","UNIT_REQUEST_CLOSE_FLOW","_onScroll","handleScroll","createElement","ref","originWhitelist","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","cacheEnabled","scrollEnabled","isScrollable","nestedScrollEnabled","onScroll","overScrollMode","injectedJavaScript","style","flex","opacity","source","baseUrl","androidHardwareAccelerationDisabled"],"sources":["WebComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState } from 'react';\nimport { NativeModules, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport EventBus from '../helpers/EventBus';\nimport html, { HTML_PLACEHOLDER } from './html';\nimport { RequestRefreshEvent, UnitMessage, RequestDownloadEvent } from '../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../hooks/listenerToBus';\nimport { getHtmlBody, PresentationMode } from '../scripts/html/bodyHtml';\nimport { fetchUnitScript, globalUnitScript } from '../unitSdkManager/UnitSdk.api';\nimport { UnitSDK } from '../unitSdkManager/UnitSdkManager';\nimport type { WebViewMessage } from '../messages/webMessages';\nimport { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';\nimport { handleRequestDownload } from './WebComponent.utils';\n\nconst { UNAppInfo } = NativeModules;\n\nexport interface WebComponentProps {\n type: WebComponentType;\n presentationMode?: PresentationMode,\n params?: string;\n theme?: string;\n language?: string;\n onMessage?: (message: WebViewMessage) => void;\n script?: string;\n isScrollable?: boolean,\n nestedScrollEnabled?: boolean,\n handleScroll?: (event: any) => void,\n width?: number;\n}\n\nexport enum WebComponentType {\n card = 'unit-elements-card',\n bookPayment = 'unit-elements-book-payment',\n activity = 'unit-elements-activity',\n slot = 'unit-elements-sdk-slot',\n account = 'unit-elements-account',\n checkDeposit = 'unit-elements-check-deposit',\n achDebitPayment = 'unit-elements-ach-debit-payment',\n achCreditPayment = 'unit-elements-ach-credit-payment'\n}\n\nexport const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {\n const [unitScript, setUnitScript] = useState<string | undefined>(globalUnitScript);\n const [sourceHtml, setSourceHtml] = useState<string | null>(null);\n const [componentCurrentTheme, setComponentCurrentTheme] = useState<string | undefined>(props.theme ?? UnitSDK.getTheme());\n const [componentCurrentLanguage, setComponentCurrentLanguage] = useState<string | undefined>(props.language ?? UnitSDK.getLanguage());\n const [baseName, setBaseName] = useState<string>();\n const width = props.width ?? '100%';\n\n const updateUnitScript = (data: SdkScriptFetched) => {\n setUnitScript(data.unitScript);\n };\n\n const updateInitializedParams = () => {\n setComponentCurrentTheme(props.theme ?? UnitSDK.getTheme());\n setComponentCurrentLanguage(props.language ?? UnitSDK.getLanguage());\n };\n\n useListenerToBus({ busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript });\n useListenerToBus({ busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams });\n\n useEffect(() => {\n\n const getAppName = async () => {\n // For iOS, we extend the app name from the HTML to display a prettier access request message.\n // On Android, there is no request message sent from HTML.\n try {\n if (Platform.OS == 'ios') {\n const name = await UNAppInfo.getBundleName();\n setBaseName(name.replace(/ /g, '-'));\n } else { // android\n setBaseName('unit');\n }\n } catch (error: any) {\n console.error(error);\n }\n };\n\n getAppName();\n }, []);\n\n useEffect(() => {\n if (!unitScript) {\n fetchUnitScript();\n return;\n }\n\n const themeParam = componentCurrentTheme ? ` theme=\"${componentCurrentTheme}\"` : '';\n const languageParam = componentCurrentLanguage ? ` language=\"${componentCurrentLanguage}\"` : '';\n\n const componentParams = (props.params || '') + themeParam + languageParam;\n let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), componentParams, props.presentationMode));\n newHtml = newHtml.replace(HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');\n setSourceHtml(newHtml);\n }, [props.params, unitScript, props.presentationMode, componentCurrentTheme, componentCurrentLanguage, props.script]);\n\n const onMessage = (e: WebViewMessageEvent) => {\n const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_REFRESH:\n message.details &&\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_REFRESH, message.details as RequestRefreshEvent);\n break;\n case UnitMessage.UNIT_REQUEST_DOWNLOAD:\n message.details &&\n handleRequestDownload(message.details as RequestDownloadEvent, () => {\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW);\n });\n break;\n default:\n props.onMessage && props.onMessage(message);\n }\n };\n\n if (!sourceHtml) return null;\n\n const _onScroll = (event: any) => {\n if (props.handleScroll) {\n props.handleScroll(event);\n }\n\n return null;\n };\n\n if (!baseName) {\n return null;\n }\n\n return (\n <WebView\n ref={webRef}\n originWhitelist={['*']}\n mediaPlaybackRequiresUserAction={false}\n allowsInlineMediaPlayback={true}\n cacheEnabled={false}\n scrollEnabled={props.isScrollable}\n nestedScrollEnabled={props.nestedScrollEnabled}\n onScroll={_onScroll}\n overScrollMode=\"never\"\n injectedJavaScript={unitScript}\n style={{ width: width, flex: 1, opacity: 0.99 }}\n source={{ html: sourceHtml, baseUrl: `https://${baseName}` }}\n onMessage={onMessage}\n androidHardwareAccelerationDisabled\n />\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useEffect","useState","NativeModules","Platform","WebView","EventBus","html","HTML_PLACEHOLDER","UnitMessage","useListenerToBus","getHtmlBody","fetchUnitScript","globalUnitScript","UnitSDK","SDKMessage","handleRequestDownload","UNAppInfo","WebComponentType","WebComponent","forwardRef","props","webRef","unitScript","setUnitScript","sourceHtml","setSourceHtml","componentCurrentTheme","setComponentCurrentTheme","theme","getTheme","componentCurrentLanguage","setComponentCurrentLanguage","language","getLanguage","baseName","setBaseName","width","updateUnitScript","data","updateInitializedParams","busEventKey","IS_SCRIPT_FETCHED","action","IS_SDK_INITIALIZED","getAppName","OS","name","getBundleName","replace","error","console","themeParam","languageParam","componentParams","params","newHtml","BODY","type","valueOf","presentationMode","SCRIPT_FROM_NATIVE","script","onMessage","e","message","JSON","parse","nativeEvent","UNIT_REQUEST_REFRESH","details","Instance","event","UNIT_REQUEST_DOWNLOAD","UNIT_REQUEST_CLOSE_FLOW","_onScroll","handleScroll","createElement","ref","originWhitelist","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","cacheEnabled","scrollEnabled","isScrollable","nestedScrollEnabled","onScroll","overScrollMode","injectedJavaScript","style","flex","opacity","backgroundColor","source","baseUrl","androidHardwareAccelerationDisabled"],"sources":["WebComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState } from 'react';\nimport { NativeModules, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport EventBus from '../helpers/EventBus';\nimport html, { HTML_PLACEHOLDER } from './html';\nimport { RequestRefreshEvent, UnitMessage, RequestDownloadEvent } from '../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../hooks/listenerToBus';\nimport { getHtmlBody, PresentationMode } from '../scripts/html/bodyHtml';\nimport { fetchUnitScript, globalUnitScript } from '../unitSdkManager/UnitSdk.api';\nimport { UnitSDK } from '../unitSdkManager/UnitSdkManager';\nimport type { WebViewMessage } from '../messages/webMessages';\nimport { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';\nimport { handleRequestDownload } from './WebComponent.utils';\n\nconst { UNAppInfo } = NativeModules;\n\nexport interface WebComponentProps {\n type: WebComponentType;\n presentationMode?: PresentationMode,\n params?: string;\n theme?: string;\n language?: string;\n onMessage?: (message: WebViewMessage) => void;\n script?: string;\n isScrollable?: boolean,\n nestedScrollEnabled?: boolean,\n handleScroll?: (event: any) => void,\n width?: number;\n}\n\nexport enum WebComponentType {\n card = 'unit-elements-card',\n bookPayment = 'unit-elements-book-payment',\n activity = 'unit-elements-activity',\n slot = 'unit-elements-sdk-slot',\n account = 'unit-elements-account',\n checkDeposit = 'unit-elements-check-deposit',\n achDebitPayment = 'unit-elements-ach-debit-payment',\n achCreditPayment = 'unit-elements-ach-credit-payment'\n}\n\nexport const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {\n const [unitScript, setUnitScript] = useState<string | undefined>(globalUnitScript);\n const [sourceHtml, setSourceHtml] = useState<string | null>(null);\n const [componentCurrentTheme, setComponentCurrentTheme] = useState<string | undefined>(props.theme ?? UnitSDK.getTheme());\n const [componentCurrentLanguage, setComponentCurrentLanguage] = useState<string | undefined>(props.language ?? UnitSDK.getLanguage());\n const [baseName, setBaseName] = useState<string>();\n const width = props.width ?? '100%';\n\n const updateUnitScript = (data: SdkScriptFetched) => {\n setUnitScript(data.unitScript);\n };\n\n const updateInitializedParams = () => {\n setComponentCurrentTheme(props.theme ?? UnitSDK.getTheme());\n setComponentCurrentLanguage(props.language ?? UnitSDK.getLanguage());\n };\n\n useListenerToBus({ busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript });\n useListenerToBus({ busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams });\n\n useEffect(() => {\n\n const getAppName = async () => {\n // For iOS, we extend the app name from the HTML to display a prettier access request message.\n // On Android, there is no request message sent from HTML.\n try {\n if (Platform.OS == 'ios') {\n const name = await UNAppInfo.getBundleName();\n setBaseName(name.replace(/ /g, '-'));\n } else { // android\n setBaseName('unit');\n }\n } catch (error: any) {\n console.error(error);\n }\n };\n\n getAppName();\n }, []);\n\n useEffect(() => {\n if (!unitScript) {\n fetchUnitScript();\n return;\n }\n\n const themeParam = componentCurrentTheme ? ` theme=\"${componentCurrentTheme}\"` : '';\n const languageParam = componentCurrentLanguage ? ` language=\"${componentCurrentLanguage}\"` : '';\n\n const componentParams = (props.params || '') + themeParam + languageParam;\n let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), componentParams, props.presentationMode));\n newHtml = newHtml.replace(HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');\n setSourceHtml(newHtml);\n }, [props.params, unitScript, props.presentationMode, componentCurrentTheme, componentCurrentLanguage, props.script]);\n\n const onMessage = (e: WebViewMessageEvent) => {\n const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_REFRESH:\n message.details &&\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_REFRESH, message.details as RequestRefreshEvent);\n break;\n case UnitMessage.UNIT_REQUEST_DOWNLOAD:\n message.details &&\n handleRequestDownload(message.details as RequestDownloadEvent, () => {\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW);\n });\n break;\n default:\n props.onMessage && props.onMessage(message);\n }\n };\n\n if (!sourceHtml) return null;\n\n const _onScroll = (event: any) => {\n if (props.handleScroll) {\n props.handleScroll(event);\n }\n\n return null;\n };\n\n if (!baseName) {\n return null;\n }\n\n return (\n <WebView\n ref={webRef}\n originWhitelist={['*']}\n mediaPlaybackRequiresUserAction={false}\n allowsInlineMediaPlayback={true}\n cacheEnabled={false}\n scrollEnabled={props.isScrollable}\n nestedScrollEnabled={props.nestedScrollEnabled}\n onScroll={_onScroll}\n overScrollMode=\"never\"\n injectedJavaScript={unitScript}\n style={{ width: width, flex: 1, opacity: 0.99, backgroundColor: \"transparent\" }}\n source={{ html: sourceHtml, baseUrl: `https://${baseName}` }}\n onMessage={onMessage}\n androidHardwareAccelerationDisabled\n />\n );\n});\n"],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface UNACHCreditComponentProps {
6
6
  language?: string;
7
7
  isAutoFocus?: boolean;
8
8
  fee?: number;
9
+ withPlaid?: boolean;
9
10
  onPaymentCreated?: (data: UNACHData) => void;
10
11
  onLoad?: (response: UNOnLoadResponse<UNACHOnLoadData>) => void;
11
12
  }
@@ -1,3 +1,6 @@
1
1
  import type { UNACHCreditComponentProps } from './UNACHCreditComponent';
2
+ import type WebView from 'react-native-webview';
3
+ import type { LinkSuccess } from 'react-native-plaid-link-sdk';
2
4
  export declare const getACHCreditParams: (props: UNACHCreditComponentProps) => string;
3
- export declare const getACHCreditScript: () => string;
5
+ export declare const getACHCreditScript: (appPackageName?: string) => string;
6
+ export declare const injectUnitPlaidResponse: (currentWeb: WebView | null, success: LinkSuccess) => void;
@@ -2,6 +2,5 @@ import type { UNACHDebitComponentProps } from './UNACHDebitComponent';
2
2
  import type WebView from 'react-native-webview';
3
3
  import type { LinkSuccess } from 'react-native-plaid-link-sdk';
4
4
  export declare const getACHDebitParams: (props: UNACHDebitComponentProps) => string;
5
- export declare const getAndroidPackageName: () => Promise<any>;
6
5
  export declare const getACHDebitScript: (androidPackageName?: string) => string;
7
6
  export declare const injectUnitPlaidResponse: (currentWeb: WebView | null, success: LinkSuccess) => void;
@@ -1,8 +1,8 @@
1
1
  import type { UNOnLoadResponse } from '../../sharedTypes';
2
2
  import type { UNActivityOnLoadData } from '../../sharedTypes/activity.types';
3
3
  export interface UNActivityComponentProps {
4
- accountId: string;
5
4
  customerToken: string;
5
+ accountId?: string;
6
6
  queryFilter?: string;
7
7
  theme?: string;
8
8
  language?: string;
@@ -7,6 +7,7 @@ export interface UNBookPaymentComponentProps {
7
7
  counterPartyName: string;
8
8
  theme?: string;
9
9
  language?: string;
10
+ isAutoFocus?: boolean;
10
11
  onPaymentCreated?: (data: UNBookPaymentData) => void;
11
12
  onLoad?: (response: UNOnLoadResponse<UNAccountData>) => void;
12
13
  }
@@ -4,6 +4,7 @@ import type { NativeModules } from 'react-native';
4
4
  export interface UNCardComponentProps {
5
5
  cardId: string;
6
6
  customerToken: string;
7
+ learnMoreUrl?: string;
7
8
  theme?: string;
8
9
  language?: string;
9
10
  hideActionsMenuButton?: boolean;
@@ -0,0 +1 @@
1
+ export declare const getAndroidPackageName: () => Promise<any>;