@deuna/react-native-sdk 1.0.1 → 1.0.3

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 (82) hide show
  1. package/README.md +21 -0
  2. package/lib/module/DeunaSDK.js +34 -5
  3. package/lib/module/DeunaSDK.js.map +1 -1
  4. package/lib/module/components/DeunaWidget.js +30 -1
  5. package/lib/module/components/DeunaWidget.js.map +1 -1
  6. package/lib/module/components/DeviceFingerprintWebView.js +44 -0
  7. package/lib/module/components/DeviceFingerprintWebView.js.map +1 -0
  8. package/lib/module/controllers/BaseWebViewController.js +16 -9
  9. package/lib/module/controllers/BaseWebViewController.js.map +1 -1
  10. package/lib/module/controllers/DeviceFingerprintController.js +69 -0
  11. package/lib/module/controllers/DeviceFingerprintController.js.map +1 -0
  12. package/lib/module/controllers/ElementsWidgetController.js +3 -2
  13. package/lib/module/controllers/ElementsWidgetController.js.map +1 -1
  14. package/lib/module/controllers/OpenInNewTabController.js +3 -3
  15. package/lib/module/controllers/OpenInNewTabController.js.map +1 -1
  16. package/lib/module/controllers/PaymentWidgetController.js +3 -2
  17. package/lib/module/controllers/PaymentWidgetController.js.map +1 -1
  18. package/lib/module/helpers/SubmitStrategy.js +44 -0
  19. package/lib/module/helpers/SubmitStrategy.js.map +1 -0
  20. package/lib/module/helpers/getController.js +10 -2
  21. package/lib/module/helpers/getController.js.map +1 -1
  22. package/lib/module/helpers/getSubmitStrategy.js +32 -0
  23. package/lib/module/helpers/getSubmitStrategy.js.map +1 -0
  24. package/lib/module/interfaces/constants.js +2 -0
  25. package/lib/module/interfaces/constants.js.map +1 -1
  26. package/lib/module/interfaces/types.js.map +1 -1
  27. package/lib/module/types/helpers/buildElementsLink.js +13 -15
  28. package/lib/module/types/helpers/buildElementsLink.js.map +1 -1
  29. package/lib/module/types/helpers/buildNextActionLink.js +1 -2
  30. package/lib/module/types/helpers/buildNextActionLink.js.map +1 -1
  31. package/lib/module/types/helpers/buildPaymentLink.js +1 -2
  32. package/lib/module/types/helpers/buildPaymentLink.js.map +1 -1
  33. package/lib/module/types/helpers/buildVoucherLink.js +1 -2
  34. package/lib/module/types/helpers/buildVoucherLink.js.map +1 -1
  35. package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts +14 -4
  36. package/lib/typescript/deuna-sdk-react-native/src/DeunaSDK.d.ts.map +1 -1
  37. package/lib/typescript/deuna-sdk-react-native/src/components/DeunaWidget.d.ts.map +1 -1
  38. package/lib/typescript/deuna-sdk-react-native/src/components/DeviceFingerprintWebView.d.ts +7 -0
  39. package/lib/typescript/deuna-sdk-react-native/src/components/DeviceFingerprintWebView.d.ts.map +1 -0
  40. package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts +5 -3
  41. package/lib/typescript/deuna-sdk-react-native/src/controllers/BaseWebViewController.d.ts.map +1 -1
  42. package/lib/typescript/deuna-sdk-react-native/src/controllers/DeviceFingerprintController.d.ts +15 -0
  43. package/lib/typescript/deuna-sdk-react-native/src/controllers/DeviceFingerprintController.d.ts.map +1 -0
  44. package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts +3 -1
  45. package/lib/typescript/deuna-sdk-react-native/src/controllers/ElementsWidgetController.d.ts.map +1 -1
  46. package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts +1 -2
  47. package/lib/typescript/deuna-sdk-react-native/src/controllers/OpenInNewTabController.d.ts.map +1 -1
  48. package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts +3 -2
  49. package/lib/typescript/deuna-sdk-react-native/src/controllers/PaymentWidgetController.d.ts.map +1 -1
  50. package/lib/typescript/deuna-sdk-react-native/src/helpers/SubmitStrategy.d.ts +23 -0
  51. package/lib/typescript/deuna-sdk-react-native/src/helpers/SubmitStrategy.d.ts.map +1 -0
  52. package/lib/typescript/deuna-sdk-react-native/src/helpers/getController.d.ts.map +1 -1
  53. package/lib/typescript/deuna-sdk-react-native/src/helpers/getSubmitStrategy.d.ts +4 -0
  54. package/lib/typescript/deuna-sdk-react-native/src/helpers/getSubmitStrategy.d.ts.map +1 -0
  55. package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts +2 -0
  56. package/lib/typescript/deuna-sdk-react-native/src/interfaces/constants.d.ts.map +1 -1
  57. package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts +6 -0
  58. package/lib/typescript/deuna-sdk-react-native/src/interfaces/types.d.ts.map +1 -1
  59. package/lib/typescript/deuna-sdk-react-native/src/types/base.d.ts +2 -2
  60. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts +1 -1
  61. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildElementsLink.d.ts.map +1 -1
  62. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildNextActionLink.d.ts.map +1 -1
  63. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildPaymentLink.d.ts.map +1 -1
  64. package/lib/typescript/deuna-sdk-react-native/src/types/helpers/buildVoucherLink.d.ts.map +1 -1
  65. package/package.json +5 -5
  66. package/src/DeunaSDK.ts +48 -6
  67. package/src/components/DeunaWidget.tsx +39 -0
  68. package/src/components/DeviceFingerprintWebView.tsx +58 -0
  69. package/src/controllers/BaseWebViewController.ts +19 -12
  70. package/src/controllers/DeviceFingerprintController.ts +86 -0
  71. package/src/controllers/ElementsWidgetController.ts +6 -3
  72. package/src/controllers/OpenInNewTabController.ts +4 -5
  73. package/src/controllers/PaymentWidgetController.ts +10 -3
  74. package/src/helpers/SubmitStrategy.ts +67 -0
  75. package/src/helpers/getController.ts +10 -3
  76. package/src/helpers/getSubmitStrategy.ts +42 -0
  77. package/src/interfaces/constants.ts +5 -0
  78. package/src/interfaces/types.ts +8 -0
  79. package/src/types/helpers/buildElementsLink.ts +16 -19
  80. package/src/types/helpers/buildNextActionLink.ts +1 -2
  81. package/src/types/helpers/buildPaymentLink.ts +1 -2
  82. package/src/types/helpers/buildVoucherLink.ts +1 -2
@@ -1,17 +1,17 @@
1
- import { Environment } from '../base';
2
- import { hasKey } from '../utils/hasKey';
3
- import { getIntegrationType, UrlConfig } from './urlConfig';
1
+ import { Environment } from "../base";
2
+ import { hasKey } from "../utils/hasKey";
3
+ import { getIntegrationType, UrlConfig } from "./urlConfig";
4
4
 
5
5
  const ELEMENTS_URLS: Record<Environment, string> = {
6
- production: 'https://elements.deuna.io',
7
- sandbox: 'https://elements.sandbox.deuna.io',
8
- staging: 'https://elements.stg.deuna.io',
9
- develop: 'https://elements.dev.deuna.io',
6
+ production: "https://elements.deuna.io",
7
+ sandbox: "https://elements.sandbox.deuna.io",
8
+ staging: "https://elements.stg.deuna.io",
9
+ develop: "https://elements.dev.deuna.io",
10
10
  } as const;
11
11
 
12
12
  const WIDGET_PATHS = {
13
- click_to_pay: '/click_to_pay',
14
- vault: '/vault',
13
+ click_to_pay: "/click_to_pay",
14
+ vault: "/vault",
15
15
  } as const;
16
16
 
17
17
  type WidgetPath = keyof typeof WIDGET_PATHS;
@@ -50,9 +50,9 @@ const buildSearchParams = (config: UrlConfig): URLSearchParams => {
50
50
  const searchParams: SearchParams = {
51
51
  publicApiKey: config.publicApiKey,
52
52
  orderToken: config.orderToken,
53
- email: userInfo?.email || '',
54
- firstName: userInfo?.firstName || '',
55
- lastName: userInfo?.lastName || '',
53
+ email: userInfo?.email || "",
54
+ firstName: userInfo?.firstName || "",
55
+ lastName: userInfo?.lastName || "",
56
56
  int: getIntegrationType(mode),
57
57
  language,
58
58
  };
@@ -85,7 +85,7 @@ const buildSearchParams = (config: UrlConfig): URLSearchParams => {
85
85
  */
86
86
  const getWidgetPath = (types?: Array<{ name: string }>): string => {
87
87
  if (types && types.length > 0) {
88
- const firstPath = types[0].name as WidgetPath;
88
+ const firstPath = types[0]?.name as WidgetPath;
89
89
  return hasKey(WIDGET_PATHS, firstPath)
90
90
  ? WIDGET_PATHS[firstPath]
91
91
  : WIDGET_PATHS.vault;
@@ -107,17 +107,14 @@ export const buildElementsLink = (config: UrlConfig): string => {
107
107
  behavior: config.behavior || {},
108
108
  };
109
109
 
110
- searchParams.append('xpropsB64', btoa(JSON.stringify(xpropsB64)));
110
+ searchParams.append("xpropsB64", btoa(JSON.stringify(xpropsB64)));
111
111
 
112
112
  const widgetPath = getWidgetPath(config.types);
113
- const normalizedPath = widgetPath.startsWith('/')
113
+ const normalizedPath = widgetPath.startsWith("/")
114
114
  ? widgetPath
115
115
  : `/${widgetPath}`;
116
116
 
117
- const url = new URL(normalizedPath, baseUrl);
118
- url.search = searchParams.toString();
119
-
120
- console.log('url', url.toString());
117
+ const url = new URL(`${baseUrl}${normalizedPath}?${searchParams.toString()}`);
121
118
 
122
119
  return url.toString();
123
120
  };
@@ -40,8 +40,7 @@ export const buildNextActionLink = (config: UrlConfig): string => {
40
40
  baseUrl = config.domain;
41
41
  }
42
42
 
43
- const url = new URL(`/next-action-purchase/${orderToken}`, baseUrl);
44
- url.search = searchParams.toString();
43
+ const url = new URL(`${baseUrl}/next-action-purchase/${orderToken}?${searchParams.toString()}`);
45
44
 
46
45
  return url.toString();
47
46
  };
@@ -54,8 +54,7 @@ export const buildPaymentLink = (config: UrlConfig): string => {
54
54
  //encode to base64
55
55
  searchParams.append("xpropsB64", btoa(JSON.stringify(xpropsB64)));
56
56
 
57
- const url = new URL(`/now/${orderToken}`, baseUrl);
58
- url.search = searchParams.toString();
57
+ const url = new URL(`${baseUrl}/now/${orderToken}?${searchParams.toString()}`);
59
58
 
60
59
  return url.toString();
61
60
  };
@@ -44,8 +44,7 @@ export const buildVoucherLink = (config: UrlConfig): string => {
44
44
  //encode to base64
45
45
  searchParams.append("xpropsB64", btoa(JSON.stringify(xpropsB64)));
46
46
 
47
- const url = new URL("/voucher", baseUrl);
48
- url.search = searchParams.toString();
47
+ const url = new URL(`${baseUrl}/voucher?${searchParams.toString()}`);
49
48
 
50
49
  return url.toString();
51
50
  };