@evervault/evervault-react-native 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +34 -39
  2. package/dist/commonjs/components/3DS/ThreeDSecure.js +34 -0
  3. package/dist/commonjs/components/3DS/ThreeDSecure.js.map +1 -0
  4. package/dist/commonjs/components/3DS/ThreeDSecureFrame.js +45 -0
  5. package/dist/commonjs/components/3DS/ThreeDSecureFrame.js.map +1 -0
  6. package/dist/commonjs/components/3DS/config.js +9 -0
  7. package/dist/commonjs/components/3DS/config.js.map +1 -0
  8. package/dist/commonjs/components/3DS/context.js +9 -0
  9. package/dist/commonjs/components/3DS/context.js.map +1 -0
  10. package/dist/commonjs/components/3DS/index.js +20 -0
  11. package/dist/commonjs/components/3DS/index.js.map +1 -0
  12. package/dist/commonjs/components/3DS/styles.js +63 -0
  13. package/dist/commonjs/components/3DS/styles.js.map +1 -0
  14. package/dist/commonjs/components/3DS/threeDSSession.js +109 -0
  15. package/dist/commonjs/components/3DS/threeDSSession.js.map +1 -0
  16. package/dist/commonjs/components/3DS/types.js +2 -0
  17. package/dist/commonjs/components/3DS/types.js.map +1 -0
  18. package/dist/commonjs/components/3DS/useThreeDSecure.js +46 -0
  19. package/dist/commonjs/components/3DS/useThreeDSecure.js.map +1 -0
  20. package/dist/commonjs/components/Card/Card.js +13 -13
  21. package/dist/commonjs/components/Card/CardCVC.js +7 -7
  22. package/dist/commonjs/components/Card/CardExpiry.js +6 -6
  23. package/dist/commonjs/components/Card/CardHolder.js +5 -5
  24. package/dist/commonjs/components/Card/CardNumber.js +6 -6
  25. package/dist/commonjs/components/Card/CardNumber.js.map +1 -1
  26. package/dist/commonjs/components/Card/context.js +5 -5
  27. package/dist/commonjs/components/Card/utilities.js +5 -5
  28. package/dist/commonjs/components/EvervaultProvider.js +62 -0
  29. package/dist/commonjs/components/EvervaultProvider.js.map +1 -0
  30. package/dist/commonjs/index.js +21 -0
  31. package/dist/commonjs/index.js.map +1 -1
  32. package/dist/commonjs/native.js +2 -2
  33. package/dist/commonjs/sdk.js +10 -3
  34. package/dist/commonjs/sdk.js.map +1 -1
  35. package/dist/module/components/3DS/ThreeDSecure.js +28 -0
  36. package/dist/module/components/3DS/ThreeDSecure.js.map +1 -0
  37. package/dist/module/components/3DS/ThreeDSecureFrame.js +36 -0
  38. package/dist/module/components/3DS/ThreeDSecureFrame.js.map +1 -0
  39. package/dist/module/components/3DS/config.js +3 -0
  40. package/dist/module/components/3DS/config.js.map +1 -0
  41. package/dist/module/components/3DS/context.js +3 -0
  42. package/dist/module/components/3DS/context.js.map +1 -0
  43. package/dist/module/components/3DS/index.js +3 -0
  44. package/dist/module/components/3DS/index.js.map +1 -0
  45. package/dist/module/components/3DS/styles.js +58 -0
  46. package/dist/module/components/3DS/styles.js.map +1 -0
  47. package/dist/module/components/3DS/threeDSSession.js +100 -0
  48. package/dist/module/components/3DS/threeDSSession.js.map +1 -0
  49. package/dist/module/components/3DS/types.js +2 -0
  50. package/dist/module/components/3DS/types.js.map +1 -0
  51. package/dist/module/components/3DS/useThreeDSecure.js +40 -0
  52. package/dist/module/components/3DS/useThreeDSecure.js.map +1 -0
  53. package/dist/module/components/Card/Card.js +25 -25
  54. package/dist/module/components/Card/Card.js.map +1 -1
  55. package/dist/module/components/Card/CardCVC.js +12 -12
  56. package/dist/module/components/Card/CardExpiry.js +10 -10
  57. package/dist/module/components/Card/CardHolder.js +9 -9
  58. package/dist/module/components/Card/CardNumber.js +11 -11
  59. package/dist/module/components/Card/CardNumber.js.map +1 -1
  60. package/dist/module/components/Card/context.js +6 -6
  61. package/dist/module/components/Card/index.js +1 -1
  62. package/dist/module/components/Card/utilities.js +6 -6
  63. package/dist/module/components/EvervaultProvider.js +53 -0
  64. package/dist/module/components/EvervaultProvider.js.map +1 -0
  65. package/dist/module/index.js +4 -2
  66. package/dist/module/index.js.map +1 -1
  67. package/dist/module/native.js +3 -3
  68. package/dist/module/sdk.js +13 -5
  69. package/dist/module/sdk.js.map +1 -1
  70. package/dist/typescript/src/components/3DS/ThreeDSecure.d.ts +8 -0
  71. package/dist/typescript/src/components/3DS/ThreeDSecure.d.ts.map +1 -0
  72. package/dist/typescript/src/components/3DS/ThreeDSecureFrame.d.ts +3 -0
  73. package/dist/typescript/src/components/3DS/ThreeDSecureFrame.d.ts.map +1 -0
  74. package/dist/typescript/src/components/3DS/config.d.ts +3 -0
  75. package/dist/typescript/src/components/3DS/config.d.ts.map +1 -0
  76. package/dist/typescript/src/components/3DS/context.d.ts +4 -0
  77. package/dist/typescript/src/components/3DS/context.d.ts.map +1 -0
  78. package/dist/typescript/src/components/3DS/index.d.ts +3 -0
  79. package/dist/typescript/src/components/3DS/index.d.ts.map +1 -0
  80. package/dist/typescript/src/components/3DS/styles.d.ts +57 -0
  81. package/dist/typescript/src/components/3DS/styles.d.ts.map +1 -0
  82. package/dist/typescript/src/components/3DS/threeDSSession.d.ts +10 -0
  83. package/dist/typescript/src/components/3DS/threeDSSession.d.ts.map +1 -0
  84. package/dist/typescript/src/components/3DS/types.d.ts +42 -0
  85. package/dist/typescript/src/components/3DS/types.d.ts.map +1 -0
  86. package/dist/typescript/src/components/3DS/useThreeDSecure.d.ts +3 -0
  87. package/dist/typescript/src/components/3DS/useThreeDSecure.d.ts.map +1 -0
  88. package/dist/typescript/src/components/Card/Card.d.ts +8 -8
  89. package/dist/typescript/src/components/Card/Card.d.ts.map +1 -1
  90. package/dist/typescript/src/components/Card/CardCVC.d.ts +2 -2
  91. package/dist/typescript/src/components/Card/CardExpiry.d.ts +2 -2
  92. package/dist/typescript/src/components/Card/CardHolder.d.ts +2 -2
  93. package/dist/typescript/src/components/Card/CardNumber.d.ts +2 -2
  94. package/dist/typescript/src/components/Card/context.d.ts +4 -4
  95. package/dist/typescript/src/components/Card/index.d.ts +1 -1
  96. package/dist/typescript/src/components/Card/types.d.ts +2 -2
  97. package/dist/typescript/src/components/Card/types.d.ts.map +1 -1
  98. package/dist/typescript/src/components/Card/utilities.d.ts +3 -3
  99. package/dist/typescript/src/components/EvervaultProvider.d.ts +29 -0
  100. package/dist/typescript/src/components/EvervaultProvider.d.ts.map +1 -0
  101. package/dist/typescript/src/index.d.ts +5 -3
  102. package/dist/typescript/src/index.d.ts.map +1 -1
  103. package/dist/typescript/src/sdk.d.ts +7 -0
  104. package/dist/typescript/src/sdk.d.ts.map +1 -1
  105. package/package.json +6 -80
  106. package/src/components/3DS/ThreeDSecure.tsx +32 -0
  107. package/src/components/3DS/ThreeDSecureFrame.tsx +39 -0
  108. package/src/components/3DS/config.ts +2 -0
  109. package/src/components/3DS/context.tsx +4 -0
  110. package/src/components/3DS/index.ts +2 -0
  111. package/src/components/3DS/styles.tsx +63 -0
  112. package/src/components/3DS/threeDSSession.ts +132 -0
  113. package/src/components/3DS/types.ts +46 -0
  114. package/src/components/3DS/useThreeDSecure.tsx +51 -0
  115. package/src/components/Card/Card.tsx +27 -27
  116. package/src/components/Card/CardCVC.tsx +13 -13
  117. package/src/components/Card/CardExpiry.tsx +11 -11
  118. package/src/components/Card/CardHolder.tsx +10 -10
  119. package/src/components/Card/CardNumber.tsx +12 -12
  120. package/src/components/Card/context.tsx +9 -9
  121. package/src/components/Card/index.ts +1 -1
  122. package/src/components/Card/types.ts +15 -14
  123. package/src/components/Card/utilities.ts +8 -8
  124. package/src/components/EvervaultProvider.tsx +64 -0
  125. package/src/index.tsx +5 -3
  126. package/src/native.ts +4 -4
  127. package/src/sdk.ts +12 -5
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # react-native-evervault-sdk
2
2
 
3
3
  ## [Documentation](https://docs.evervault.com/sdks/react-native)
4
+
4
5
  Please see our documentation site for a full guide and reference.
5
6
 
6
7
  ## Installation
@@ -8,29 +9,21 @@ Please see our documentation site for a full guide and reference.
8
9
  ```sh
9
10
  npm install @evervault/evervault-react-native
10
11
  ```
12
+
11
13
  or
14
+
12
15
  ```sh
13
16
  yarn add @evervault/evervault-react-native
14
17
  ```
15
18
 
16
19
  ## Usage
20
+
17
21
  ```tsx
18
- import { init, Card, type CardPayload } from "@evervault/evervault-react-native"
22
+ import { EvervaultProvider, init, Card, type CardPayload } from "@evervault/evervault-react-native"
19
23
 
20
24
  export default function App() {
21
25
  const [cardData, setCardData] = useState<CardPayload | undefined>(undefined);
22
26
 
23
- useEffect(() => {
24
- async function setupEvervault() {
25
- try {
26
- await init(process.env.EXPO_PUBLIC_EV_TEAM_UUID, process.env.EXPO_PUBLIC_EV_APP_UUID);
27
- } catch (err) {
28
- throw new Error("Failed to initialize Evervault", err);
29
- }
30
- }
31
- setupEvervault();
32
- }, []);
33
-
34
27
  const handleCardChange = (data: CardPayload) => {
35
28
  setCardData(data);
36
29
 
@@ -42,33 +35,35 @@ export default function App() {
42
35
  };
43
36
 
44
37
  return (
45
- <ScrollView contentContainerStyle={styles.container}>
46
- <Text style={styles.title}>evervault react native</Text>
47
- <Card
48
- onChange={setCardData}
49
- style={styles.card}
50
- >
51
- <Text>Card Number</Text>
52
- <Card.Number
53
- placeholder="4242 4242 4242 4242"
54
- style={styles.input}
55
- />
56
- <Card.Expiry
57
- placeholder="MM / YY"
58
- style={styles.input}
59
- />
60
- <Card.Holder
61
- placeholder="John Doe"
62
- style={styles.input}
63
- />
64
- <Card.CVC
65
- placeholder="523"
66
- style={styles.input}
67
- />
68
- </Card>
69
- <Text style={styles.details}>{JSON.stringify(cardData, null, 2)}</Text>
70
- <StatusBar style="auto" />
71
- </ScrollView>
38
+ <EvervaultProvider teamUuid="team_4fb7e6ec803f" appUuid="app_f0cb771c8e77">
39
+ <ScrollView contentContainerStyle={styles.container}>
40
+ <Text style={styles.title}>evervault react native</Text>
41
+ <Card
42
+ onChange={setCardData}
43
+ style={styles.card}
44
+ >
45
+ <Text>Card Number</Text>
46
+ <Card.Number
47
+ placeholder="4242 4242 4242 4242"
48
+ style={styles.input}
49
+ />
50
+ <Card.Expiry
51
+ placeholder="MM / YY"
52
+ style={styles.input}
53
+ />
54
+ <Card.Holder
55
+ placeholder="John Doe"
56
+ style={styles.input}
57
+ />
58
+ <Card.CVC
59
+ placeholder="523"
60
+ style={styles.input}
61
+ />
62
+ </Card>
63
+ <Text style={styles.details}>{JSON.stringify(cardData, null, 2)}</Text>
64
+ <StatusBar style="auto" />
65
+ </ScrollView>
66
+ </EvervaultProvider>
72
67
  );
73
68
  }
74
69
  ```
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ThreeDSecure = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _EvervaultProvider = require("../EvervaultProvider");
9
+ var _ThreeDSecureFrame = require("./ThreeDSecureFrame");
10
+ var _context = require("./context");
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ const ThreeDSecure = ({
13
+ state,
14
+ children
15
+ }) => {
16
+ const {
17
+ appUuid
18
+ } = (0, _EvervaultProvider.useEvervault)();
19
+ if (!appUuid) {
20
+ throw new Error("ThreeDSecure must be used within an Evervault Provider");
21
+ }
22
+ const {
23
+ session,
24
+ isVisible
25
+ } = state;
26
+ if (!session) return null;
27
+ return /*#__PURE__*/_react.default.createElement(_context.ThreeDSecureContext.Provider, {
28
+ value: state
29
+ }, isVisible && children);
30
+ };
31
+ const ThreeDSecureNamespace = exports.ThreeDSecure = Object.assign(ThreeDSecure, {
32
+ Frame: _ThreeDSecureFrame.ThreeDSecureFrame
33
+ });
34
+ //# sourceMappingURL=ThreeDSecure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_EvervaultProvider","_ThreeDSecureFrame","_context","obj","__esModule","default","ThreeDSecure","state","children","appUuid","useEvervault","Error","session","isVisible","createElement","ThreeDSecureContext","Provider","value","ThreeDSecureNamespace","exports","Object","assign","Frame","ThreeDSecureFrame"],"sourceRoot":"../../../../src","sources":["components/3DS/ThreeDSecure.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAAgD,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGhD,MAAMG,YAAY,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAoC,CAAC,KAAK;EACvE,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,+BAAY,EAAC,CAAC;EAElC,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,wDAAwD,CAAC;EAC3E;EAEA,MAAM;IAAEC,OAAO;IAAEC;EAAU,CAAC,GAAGN,KAAK;EAEpC,IAAI,CAACK,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACEf,MAAA,CAAAQ,OAAA,CAAAS,aAAA,CAACZ,QAAA,CAAAa,mBAAmB,CAACC,QAAQ;IAACC,KAAK,EAAEV;EAAM,GACxCM,SAAS,IAAIL,QACc,CAAC;AAEnC,CAAC;AAID,MAAMU,qBAAqB,GAAAC,OAAA,CAAAb,YAAA,GAAGc,MAAM,CAACC,MAAM,CAACf,YAAY,EAAE;EACxDgB,KAAK,EAAEC;AACT,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ThreeDSecureFrame = ThreeDSecureFrame;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _EvervaultProvider = require("../EvervaultProvider");
10
+ var _reactNativeWebview = _interopRequireDefault(require("react-native-webview"));
11
+ var _config = require("./config");
12
+ var _styles = require("./styles");
13
+ var _context = require("./context");
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
+ function ThreeDSecureFrame() {
18
+ const {
19
+ teamUuid,
20
+ appUuid
21
+ } = (0, _EvervaultProvider.useEvervault)();
22
+ const context = (0, _react.useContext)(_context.ThreeDSecureContext);
23
+ if (!teamUuid || !appUuid) {
24
+ throw new Error('Missing Evervault Team or App Uuid. Make sure the ThreeDSecureFrame is nested within the Evervault Provider');
25
+ }
26
+ if (!context) {
27
+ throw new Error("ThreeDSecure.Frame must be used within an Evervault ThreeDSecure provider component");
28
+ }
29
+ const {
30
+ session
31
+ } = context;
32
+ if (!session) {
33
+ return null; // 3DS Session not started yet
34
+ }
35
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
36
+ style: _styles.defaultThreeDSecureFrameStyles.threeDSFrame
37
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeWebview.default, {
38
+ source: {
39
+ uri: `https://${_config.CHALLENGE_DOMAIN_3DS}/?session=${session.sessionId}&app=${appUuid}&team=${teamUuid}`
40
+ },
41
+ containerStyle: _styles.defaultThreeDSecureFrameStyles.webView,
42
+ overScrollMode: "content"
43
+ }));
44
+ }
45
+ //# sourceMappingURL=ThreeDSecureFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_EvervaultProvider","_reactNativeWebview","_interopRequireDefault","_config","_styles","_context","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ThreeDSecureFrame","teamUuid","appUuid","useEvervault","context","useContext","ThreeDSecureContext","Error","session","createElement","View","style","defaultStyles","threeDSFrame","source","uri","CHALLENGE_DOMAIN_3DS","sessionId","containerStyle","webView","overScrollMode"],"sourceRoot":"../../../../src","sources":["components/3DS/ThreeDSecureFrame.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAAgD,SAAAI,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAY,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAhB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAEzC,SAASW,iBAAiBA,CAAA,EAAG;EAClC,MAAM;IAAEC,QAAQ;IAAEC;EAAQ,CAAC,GAAG,IAAAC,+BAAY,EAAC,CAAC;EAC5C,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACC,4BAAmB,CAAC;EAG/C,IAAI,CAACL,QAAQ,IAAI,CAACC,OAAO,EAAE;IACzB,MAAM,IAAIK,KAAK,CAAC,6GAA6G,CAAC;EAChI;EAEA,IAAI,CAACH,OAAO,EAAE;IACZ,MAAM,IAAIG,KAAK,CAAC,qFAAqF,CAAC;EACxG;EAEA,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,OAAO;EAE3B,IAAI,CAACI,OAAO,EAAE;IACZ,OAAO,IAAI,CAAC,CAAC;EACf;EAEA,oBACEvC,MAAA,CAAAY,OAAA,CAAA4B,aAAA,CAACrC,YAAA,CAAAsC,IAAI;IAACC,KAAK,EAAEC,sCAAa,CAACC;EAAa,gBACtC5C,MAAA,CAAAY,OAAA,CAAA4B,aAAA,CAACnC,mBAAA,CAAAO,OAAO;IACNiC,MAAM,EAAE;MACNC,GAAG,EAAG,WAAUC,4BAAqB,aAAYR,OAAO,CAACS,SAAU,QAAOf,OAAQ,SAAQD,QAAS;IACrG,CAAE;IACFiB,cAAc,EAAEN,sCAAa,CAACO,OAAQ;IACtCC,cAAc,EAAC;EAAS,CACzB,CACG,CAAC;AAEX","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EV_API_DOMAIN = exports.CHALLENGE_DOMAIN_3DS = void 0;
7
+ const EV_API_DOMAIN = exports.EV_API_DOMAIN = process.env.EV_API_DOMAIN || 'api.evervault.com';
8
+ const CHALLENGE_DOMAIN_3DS = exports.CHALLENGE_DOMAIN_3DS = process.env.CHALLENGE_DOMAIN_3DS || 'c713-2a09-bac5-3a69-ebe-00-178-198.ngrok-free.app';
9
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["EV_API_DOMAIN","exports","process","env","CHALLENGE_DOMAIN_3DS"],"sourceRoot":"../../../../src","sources":["components/3DS/config.ts"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAGE,OAAO,CAACC,GAAG,CAACH,aAAa,IAAI,mBAAmB;AACtE,MAAMI,oBAAoB,GAAAH,OAAA,CAAAG,oBAAA,GAAGF,OAAO,CAACC,GAAG,CAACC,oBAAoB,IAAI,mDAAmD","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ThreeDSecureContext = void 0;
7
+ var _react = require("react");
8
+ const ThreeDSecureContext = exports.ThreeDSecureContext = /*#__PURE__*/(0, _react.createContext)(null);
9
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","ThreeDSecureContext","exports","createContext"],"sourceRoot":"../../../../src","sources":["components/3DS/context.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,gBAAG,IAAAE,oBAAa,EAA2B,IAAI,CAAC","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ThreeDSecure", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ThreeDSecure.ThreeDSecure;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useThreeDSecure", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useThreeDSecure.useThreeDSecure;
16
+ }
17
+ });
18
+ var _ThreeDSecure = require("./ThreeDSecure");
19
+ var _useThreeDSecure = require("./useThreeDSecure");
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ThreeDSecure","require","_useThreeDSecure"],"sourceRoot":"../../../../src","sources":["components/3DS/index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultThreeDSecureFrameStyles = exports.defaultModalStyles = void 0;
7
+ var _reactNative = require("react-native");
8
+ const defaultModalStyles = exports.defaultModalStyles = _reactNative.StyleSheet.create({
9
+ modalContainer: {
10
+ flex: 1,
11
+ justifyContent: "flex-end",
12
+ backgroundColor: "rgba(0, 0, 0, 0.5)"
13
+ },
14
+ modalContent: {
15
+ width: "100%",
16
+ height: "95%",
17
+ backgroundColor: "#fff",
18
+ padding: 0,
19
+ justifyContent: "flex-start",
20
+ borderTopLeftRadius: 20,
21
+ borderTopRightRadius: 20
22
+ },
23
+ titleBar: {
24
+ justifyContent: "center",
25
+ alignItems: "center",
26
+ padding: 10,
27
+ backgroundColor: "#f5f5f5",
28
+ borderBottomWidth: 1,
29
+ borderBottomColor: "#ccc",
30
+ position: "relative",
31
+ width: "100%",
32
+ borderTopLeftRadius: 20,
33
+ borderTopRightRadius: 20
34
+ },
35
+ titleText: {
36
+ fontSize: 18,
37
+ fontWeight: "bold"
38
+ },
39
+ closeButton: {
40
+ position: "absolute",
41
+ left: 10,
42
+ padding: 10
43
+ },
44
+ closeButtonText: {
45
+ fontSize: 18,
46
+ fontWeight: "bold",
47
+ color: "black"
48
+ }
49
+ });
50
+ const defaultThreeDSecureFrameStyles = exports.defaultThreeDSecureFrameStyles = _reactNative.StyleSheet.create({
51
+ threeDSFrame: {
52
+ flex: 1
53
+ },
54
+ webView: {
55
+ flex: 1
56
+ },
57
+ spinnerOverlay: {
58
+ flex: 1,
59
+ justifyContent: 'center',
60
+ alignItems: 'center'
61
+ }
62
+ });
63
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","defaultModalStyles","exports","StyleSheet","create","modalContainer","flex","justifyContent","backgroundColor","modalContent","width","height","padding","borderTopLeftRadius","borderTopRightRadius","titleBar","alignItems","borderBottomWidth","borderBottomColor","position","titleText","fontSize","fontWeight","closeButton","left","closeButtonText","color","defaultThreeDSecureFrameStyles","threeDSFrame","webView","spinnerOverlay"],"sourceRoot":"../../../../src","sources":["components/3DS/styles.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAGE,uBAAU,CAACC,MAAM,CAAC;EACzCC,cAAc,EAAE;IACZC,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,UAAU;IAC1BC,eAAe,EAAE;EACrB,CAAC;EACDC,YAAY,EAAE;IACVC,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,KAAK;IACbH,eAAe,EAAE,MAAM;IACvBI,OAAO,EAAE,CAAC;IACVL,cAAc,EAAE,YAAY;IAC5BM,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE;EAC1B,CAAC;EACDC,QAAQ,EAAE;IACNR,cAAc,EAAE,QAAQ;IACxBS,UAAU,EAAE,QAAQ;IACpBJ,OAAO,EAAE,EAAE;IACXJ,eAAe,EAAE,SAAS;IAC1BS,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE,MAAM;IACzBC,QAAQ,EAAE,UAAU;IACpBT,KAAK,EAAE,MAAM;IACbG,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE;EAC1B,CAAC;EACDM,SAAS,EAAE;IACPC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EAChB,CAAC;EACDC,WAAW,EAAE;IACTJ,QAAQ,EAAE,UAAU;IACpBK,IAAI,EAAE,EAAE;IACRZ,OAAO,EAAE;EACb,CAAC;EACDa,eAAe,EAAE;IACbJ,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,MAAM;IAClBI,KAAK,EAAE;EACX;AACJ,CAAC,CAAC;AAEF,MAAMC,8BAA8B,GAAAzB,OAAA,CAAAyB,8BAAA,GAAGxB,uBAAU,CAACC,MAAM,CAAC;EACvDwB,YAAY,EAAE;IACZtB,IAAI,EAAE;EACR,CAAC;EACDuB,OAAO,EAAE;IACPvB,IAAI,EAAE;EACR,CAAC;EACDwB,cAAc,EAAE;IACdxB,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBS,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.startSession = exports.pollSession = void 0;
7
+ exports.threeDSecureSession = threeDSecureSession;
8
+ var _config = require("./config");
9
+ const stopPolling = (intervalRef, setIsVisible) => {
10
+ setIsVisible(false);
11
+ clearInterval(intervalRef.current);
12
+ intervalRef.current = null;
13
+ };
14
+ const startSession = async (session, callbacks, intervalRef, setIsVisible) => {
15
+ try {
16
+ const sessionState = await session.get();
17
+ switch (sessionState.status) {
18
+ case "success":
19
+ stopPolling(intervalRef, setIsVisible);
20
+ callbacks.onSuccess();
21
+ break;
22
+ case "failure":
23
+ stopPolling(intervalRef, setIsVisible);
24
+ callbacks.onFailure(new Error("3DS session failed"));
25
+ break;
26
+ case "action-required":
27
+ setIsVisible(true);
28
+ pollSession(session, callbacks, intervalRef, setIsVisible);
29
+ break;
30
+ default:
31
+ break;
32
+ }
33
+ } catch (error) {
34
+ console.error("Error checking session state", error);
35
+ callbacks.onError(new Error("Failed to check 3DS session state"));
36
+ }
37
+ };
38
+ exports.startSession = startSession;
39
+ const pollSession = (session, callbacks, intervalRef, setIsVisible, interval = 3000) => {
40
+ intervalRef.current = setInterval(async () => {
41
+ try {
42
+ const pollResponse = await session.get();
43
+ if (pollResponse.status === "success") {
44
+ stopPolling(intervalRef, setIsVisible);
45
+ callbacks.onSuccess();
46
+ } else if (pollResponse.status === "failure") {
47
+ stopPolling(intervalRef, setIsVisible);
48
+ callbacks.onFailure(new Error("3DS session failed"));
49
+ } else {
50
+ setIsVisible(true);
51
+ }
52
+ } catch (error) {
53
+ stopPolling(intervalRef, setIsVisible);
54
+ console.error("Error polling session", error);
55
+ callbacks.onError(new Error("Error polling 3DS session"));
56
+ }
57
+ }, interval);
58
+ };
59
+ exports.pollSession = pollSession;
60
+ function threeDSecureSession({
61
+ sessionId,
62
+ appId,
63
+ callbacks,
64
+ intervalRef,
65
+ setIsVisible
66
+ }) {
67
+ const get = async () => {
68
+ try {
69
+ const response = await fetch(`https://${_config.EV_API_DOMAIN}/frontend/3ds/browser-sessions/${sessionId}`, {
70
+ headers: {
71
+ "x-evervault-app-id": appId
72
+ }
73
+ });
74
+ const result = await response.json();
75
+ return result;
76
+ } catch (error) {
77
+ console.error("Error fetching 3DS session status", error);
78
+ throw error;
79
+ }
80
+ };
81
+ const cancel = async () => {
82
+ try {
83
+ await fetch(`https://${_config.EV_API_DOMAIN}/frontend/3ds/browser-sessions/${sessionId}`, {
84
+ method: "PATCH",
85
+ headers: {
86
+ "Content-Type": "application/json",
87
+ "x-evervault-app-id": appId
88
+ },
89
+ body: JSON.stringify({
90
+ outcome: "cancelled"
91
+ })
92
+ });
93
+ callbacks.onFailure(new Error("3DS session cancelled by user"));
94
+ setIsVisible(false);
95
+ if (intervalRef.current) {
96
+ clearInterval(intervalRef.current);
97
+ }
98
+ } catch (error) {
99
+ console.error("Error cancelling 3DS session", error);
100
+ throw error;
101
+ }
102
+ };
103
+ return {
104
+ sessionId,
105
+ get,
106
+ cancel
107
+ };
108
+ }
109
+ //# sourceMappingURL=threeDSSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_config","require","stopPolling","intervalRef","setIsVisible","clearInterval","current","startSession","session","callbacks","sessionState","get","status","onSuccess","onFailure","Error","pollSession","error","console","onError","exports","interval","setInterval","pollResponse","threeDSecureSession","sessionId","appId","response","fetch","EV_API_DOMAIN","headers","result","json","cancel","method","body","JSON","stringify","outcome"],"sourceRoot":"../../../../src","sources":["components/3DS/threeDSSession.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/3DS/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useThreeDSecure = void 0;
7
+ var _react = require("react");
8
+ var _EvervaultProvider = require("../EvervaultProvider");
9
+ var _threeDSSession = require("./threeDSSession");
10
+ const useThreeDSecure = () => {
11
+ const {
12
+ appUuid
13
+ } = (0, _EvervaultProvider.useEvervault)();
14
+ const intervalRef = (0, _react.useRef)(null);
15
+ const [session, setSession] = (0, _react.useState)(null);
16
+ const [isVisible, setIsVisible] = (0, _react.useState)(false);
17
+ if (!appUuid) {
18
+ throw new Error("useThreeDSecure must be used within an Evervault Provider");
19
+ }
20
+ const start = (sessionId, callbacks) => {
21
+ const session = (0, _threeDSSession.threeDSecureSession)({
22
+ sessionId,
23
+ appId: appUuid,
24
+ callbacks,
25
+ intervalRef,
26
+ setIsVisible
27
+ });
28
+ setSession(session);
29
+ (0, _threeDSSession.startSession)(session, callbacks, intervalRef, setIsVisible);
30
+ };
31
+ const cancel = async () => {
32
+ if (session) {
33
+ await session.cancel();
34
+ } else {
35
+ console.warn("No 3DS session to cancel");
36
+ }
37
+ };
38
+ return {
39
+ start,
40
+ cancel,
41
+ session,
42
+ isVisible: isVisible
43
+ };
44
+ };
45
+ exports.useThreeDSecure = useThreeDSecure;
46
+ //# sourceMappingURL=useThreeDSecure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_EvervaultProvider","_threeDSSession","useThreeDSecure","appUuid","useEvervault","intervalRef","useRef","session","setSession","useState","isVisible","setIsVisible","Error","start","sessionId","callbacks","threeDSecureSession","appId","startSession","cancel","console","warn","exports"],"sourceRoot":"../../../../src","sources":["components/3DS/useThreeDSecure.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAOO,MAAMG,eAAe,GAAGA,CAAA,KAAyB;EACtD,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,+BAAY,EAAC,CAAC;EAClC,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAAwB,IAAI,CAAC;EACvD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAA6B,IAAI,CAAC;EACxE,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAEjD,IAAI,CAACN,OAAO,EAAE;IACZ,MAAM,IAAIS,KAAK,CACb,2DACF,CAAC;EACH;EAEA,MAAMC,KAAK,GAAGA,CAACC,SAAiB,EAAEC,SAAgC,KAAK;IACrE,MAAMR,OAAO,GAAG,IAAAS,mCAAmB,EAAC;MAClCF,SAAS;MACTG,KAAK,EAAEd,OAAO;MACdY,SAAS;MACTV,WAAW;MACXM;IACF,CAAC,CAAC;IAEFH,UAAU,CAACD,OAAO,CAAC;IAEnB,IAAAW,4BAAY,EAACX,OAAO,EAAEQ,SAAS,EAAEV,WAAW,EAAEM,YAAY,CAAC;EAC7D,CAAC;EAED,MAAMQ,MAAM,GAAG,MAAAA,CAAA,KAAY;IACzB,IAAIZ,OAAO,EAAE;MACX,MAAMA,OAAO,CAACY,MAAM,CAAC,CAAC;IACxB,CAAC,MAAM;MACLC,OAAO,CAACC,IAAI,CAAC,0BAA0B,CAAC;IAC1C;EACF,CAAC;EAED,OAAO;IACLR,KAAK;IACLM,MAAM;IACNZ,OAAO;IACPG,SAAS,EAAEA;EACb,CAAC;AACH,CAAC;AAACY,OAAA,CAAApB,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -28,51 +28,51 @@ function Card({
28
28
  const [registeredFields, setRegisteredFields] = (0, _react.useState)(new Set());
29
29
  const form = (0, _useForm.useForm)({
30
30
  initialValues: initialValue ?? {
31
- cvc: '',
32
- expiry: '',
33
- number: '',
34
- name: ''
31
+ cvc: "",
32
+ expiry: "",
33
+ number: "",
34
+ name: ""
35
35
  },
36
36
  validate: {
37
37
  name: values => {
38
- if (!registeredFields.has('name')) {
38
+ if (!registeredFields.has("name")) {
39
39
  return undefined;
40
40
  }
41
41
  if (values.name.length === 0) {
42
- return 'invalid';
42
+ return "invalid";
43
43
  }
44
44
  return undefined;
45
45
  },
46
46
  number: values => {
47
- if (!registeredFields.has('number')) {
47
+ if (!registeredFields.has("number")) {
48
48
  return undefined;
49
49
  }
50
50
  const cardValidation = (0, _cardValidator.validateNumber)(values.number);
51
51
  if (!cardValidation.isValid) {
52
- return 'invalid';
52
+ return "invalid";
53
53
  }
54
54
  if (!(0, _utilities.isAcceptedBrand)(config?.acceptedBrands, cardValidation)) {
55
- return 'unsupportedBrand';
55
+ return "unsupportedBrand";
56
56
  }
57
57
  return undefined;
58
58
  },
59
59
  expiry: values => {
60
- if (!registeredFields.has('expiry')) {
60
+ if (!registeredFields.has("expiry")) {
61
61
  return undefined;
62
62
  }
63
63
  const expiryValidation = (0, _cardValidator.validateExpiry)(values.expiry);
64
64
  if (!expiryValidation.isValid) {
65
- return 'invalid';
65
+ return "invalid";
66
66
  }
67
67
  return undefined;
68
68
  },
69
69
  cvc: values => {
70
- if (!registeredFields.has('cvc')) {
70
+ if (!registeredFields.has("cvc")) {
71
71
  return undefined;
72
72
  }
73
73
  const cvcValidation = (0, _cardValidator.validateCVC)(values.cvc, values.number);
74
74
  if (!cvcValidation.isValid) {
75
- return 'invalid';
75
+ return "invalid";
76
76
  }
77
77
  return undefined;
78
78
  }
@@ -16,21 +16,21 @@ const CardCVC = props => {
16
16
  const context = (0, _context.useCardContext)();
17
17
  const mask = (0, _react.useMemo)(() => {
18
18
  if (!context.values.number) {
19
- return '9999';
19
+ return "9999";
20
20
  }
21
21
  const type = (0, _cardValidator.validateNumber)(context.values.number).brand;
22
- if (type === 'american-express') {
23
- return '9999';
22
+ if (type === "american-express") {
23
+ return "9999";
24
24
  }
25
- return '999';
25
+ return "999";
26
26
  }, [context.values.number]);
27
27
  const {
28
28
  onChange,
29
29
  onBlur
30
- } = context.register('cvc');
30
+ } = context.register("cvc");
31
31
  (0, _react.useEffect)(() => {
32
- context.setRegisteredFields(prev => new Set(prev).add('cvc'));
33
- return () => context.setRegisteredFields(prev => (0, _context.removeFieldFromSet)(prev, 'cvc'));
32
+ context.setRegisteredFields(prev => new Set(prev).add("cvc"));
33
+ return () => context.setRegisteredFields(prev => (0, _context.removeFieldFromSet)(prev, "cvc"));
34
34
  // eslint-disable-next-line react-hooks/exhaustive-deps
35
35
  }, []);
36
36
  return /*#__PURE__*/React.createElement(_reactNativeMaskedText.TextInputMask, _extends({}, props, {
@@ -16,10 +16,10 @@ function CardExpiry(props) {
16
16
  const {
17
17
  onBlur,
18
18
  onChange
19
- } = context.register('expiry');
19
+ } = context.register("expiry");
20
20
  (0, _react.useEffect)(() => {
21
- context.setRegisteredFields(prev => new Set(prev).add('expiry'));
22
- return () => context.setRegisteredFields(prev => (0, _context.removeFieldFromSet)(prev, 'expiry'));
21
+ context.setRegisteredFields(prev => new Set(prev).add("expiry"));
22
+ return () => context.setRegisteredFields(prev => (0, _context.removeFieldFromSet)(prev, "expiry"));
23
23
  // eslint-disable-next-line react-hooks/exhaustive-deps
24
24
  }, []);
25
25
  return /*#__PURE__*/React.createElement(_reactNativeMaskedText.TextInputMask, _extends({}, props, {
@@ -27,16 +27,16 @@ function CardExpiry(props) {
27
27
  value: context.values.expiry
28
28
  // store the expiry as MMYY not MM / YY
29
29
  ,
30
- onChangeText: rawExpiry => onChange(rawExpiry.replace(' / ', '')),
30
+ onChangeText: rawExpiry => onChange(rawExpiry.replace(" / ", "")),
31
31
  options: {
32
- format: '99 / 99'
32
+ format: "99 / 99"
33
33
  },
34
34
  id: "expiry",
35
35
  onBlur: e => {
36
36
  onBlur(e);
37
37
  props.onBlur?.(e);
38
38
  },
39
- placeholder: props.placeholder ?? 'MM / YY',
39
+ placeholder: props.placeholder ?? "MM / YY",
40
40
  inputMode: "numeric",
41
41
  autoComplete: "cc-exp"
42
42
  }));