@evervault/evervault-react-native 1.1.0 → 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.
- package/dist/commonjs/components/3DS/ThreeDSecure.js +34 -0
- package/dist/commonjs/components/3DS/ThreeDSecure.js.map +1 -0
- package/dist/commonjs/components/3DS/ThreeDSecureFrame.js +45 -0
- package/dist/commonjs/components/3DS/ThreeDSecureFrame.js.map +1 -0
- package/dist/commonjs/components/3DS/config.js +9 -0
- package/dist/commonjs/components/3DS/config.js.map +1 -0
- package/dist/commonjs/components/3DS/context.js +9 -0
- package/dist/commonjs/components/3DS/context.js.map +1 -0
- package/dist/commonjs/components/3DS/index.js +20 -0
- package/dist/commonjs/components/3DS/index.js.map +1 -0
- package/dist/commonjs/components/3DS/styles.js +63 -0
- package/dist/commonjs/components/3DS/styles.js.map +1 -0
- package/dist/commonjs/components/3DS/threeDSSession.js +109 -0
- package/dist/commonjs/components/3DS/threeDSSession.js.map +1 -0
- package/dist/commonjs/components/3DS/types.js +2 -0
- package/dist/commonjs/components/3DS/types.js.map +1 -0
- package/dist/commonjs/components/3DS/useThreeDSecure.js +46 -0
- package/dist/commonjs/components/3DS/useThreeDSecure.js.map +1 -0
- package/dist/commonjs/index.js +13 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/module/components/3DS/ThreeDSecure.js +28 -0
- package/dist/module/components/3DS/ThreeDSecure.js.map +1 -0
- package/dist/module/components/3DS/ThreeDSecureFrame.js +36 -0
- package/dist/module/components/3DS/ThreeDSecureFrame.js.map +1 -0
- package/dist/module/components/3DS/config.js +3 -0
- package/dist/module/components/3DS/config.js.map +1 -0
- package/dist/module/components/3DS/context.js +3 -0
- package/dist/module/components/3DS/context.js.map +1 -0
- package/dist/module/components/3DS/index.js +3 -0
- package/dist/module/components/3DS/index.js.map +1 -0
- package/dist/module/components/3DS/styles.js +58 -0
- package/dist/module/components/3DS/styles.js.map +1 -0
- package/dist/module/components/3DS/threeDSSession.js +100 -0
- package/dist/module/components/3DS/threeDSSession.js.map +1 -0
- package/dist/module/components/3DS/types.js +2 -0
- package/dist/module/components/3DS/types.js.map +1 -0
- package/dist/module/components/3DS/useThreeDSecure.js +40 -0
- package/dist/module/components/3DS/useThreeDSecure.js.map +1 -0
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/typescript/src/components/3DS/ThreeDSecure.d.ts +8 -0
- package/dist/typescript/src/components/3DS/ThreeDSecure.d.ts.map +1 -0
- package/dist/typescript/src/components/3DS/ThreeDSecureFrame.d.ts +3 -0
- package/dist/typescript/src/components/3DS/ThreeDSecureFrame.d.ts.map +1 -0
- package/dist/typescript/src/components/3DS/config.d.ts +3 -0
- package/dist/typescript/src/components/3DS/config.d.ts.map +1 -0
- package/dist/typescript/src/components/3DS/context.d.ts +4 -0
- package/dist/typescript/src/components/3DS/context.d.ts.map +1 -0
- package/dist/typescript/src/components/3DS/index.d.ts +3 -0
- package/dist/typescript/src/components/3DS/index.d.ts.map +1 -0
- package/dist/typescript/src/components/3DS/styles.d.ts +57 -0
- package/dist/typescript/src/components/3DS/styles.d.ts.map +1 -0
- package/dist/typescript/src/components/3DS/threeDSSession.d.ts +10 -0
- package/dist/typescript/src/components/3DS/threeDSSession.d.ts.map +1 -0
- package/dist/typescript/src/components/3DS/types.d.ts +42 -0
- package/dist/typescript/src/components/3DS/types.d.ts.map +1 -0
- package/dist/typescript/src/components/3DS/useThreeDSecure.d.ts +3 -0
- package/dist/typescript/src/components/3DS/useThreeDSecure.d.ts.map +1 -0
- package/dist/typescript/src/components/Card/types.d.ts +1 -1
- package/dist/typescript/src/components/Card/types.d.ts.map +1 -1
- package/dist/typescript/src/index.d.ts +1 -0
- package/dist/typescript/src/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/components/3DS/ThreeDSecure.tsx +32 -0
- package/src/components/3DS/ThreeDSecureFrame.tsx +39 -0
- package/src/components/3DS/config.ts +2 -0
- package/src/components/3DS/context.tsx +4 -0
- package/src/components/3DS/index.ts +2 -0
- package/src/components/3DS/styles.tsx +63 -0
- package/src/components/3DS/threeDSSession.ts +132 -0
- package/src/components/3DS/types.ts +46 -0
- package/src/components/3DS/useThreeDSecure.tsx +51 -0
- package/src/components/Card/types.ts +2 -1
- package/src/index.tsx +1 -0
|
@@ -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 @@
|
|
|
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":[]}
|
package/dist/commonjs/index.js
CHANGED
|
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "EvervaultProvider", {
|
|
|
15
15
|
return _EvervaultProvider.default;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "ThreeDSecure", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _DS.ThreeDSecure;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
18
24
|
Object.defineProperty(exports, "encrypt", {
|
|
19
25
|
enumerable: true,
|
|
20
26
|
get: function () {
|
|
@@ -27,7 +33,14 @@ Object.defineProperty(exports, "init", {
|
|
|
27
33
|
return _sdk.init;
|
|
28
34
|
}
|
|
29
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "useThreeDSecure", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _DS.useThreeDSecure;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
30
42
|
var _Card = require("./components/Card");
|
|
43
|
+
var _DS = require("./components/3DS");
|
|
31
44
|
var _sdk = require("./sdk");
|
|
32
45
|
var _EvervaultProvider = _interopRequireDefault(require("./components/EvervaultProvider"));
|
|
33
46
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_Card","require","_sdk","_EvervaultProvider","_interopRequireDefault","obj","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_Card","require","_DS","_sdk","_EvervaultProvider","_interopRequireDefault","obj","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AASA,IAAAG,kBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAA8E,SAAAI,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useEvervault } from "../EvervaultProvider";
|
|
3
|
+
import { ThreeDSecureFrame } from "./ThreeDSecureFrame";
|
|
4
|
+
import { ThreeDSecureContext } from "./context";
|
|
5
|
+
const ThreeDSecure = ({
|
|
6
|
+
state,
|
|
7
|
+
children
|
|
8
|
+
}) => {
|
|
9
|
+
const {
|
|
10
|
+
appUuid
|
|
11
|
+
} = useEvervault();
|
|
12
|
+
if (!appUuid) {
|
|
13
|
+
throw new Error("ThreeDSecure must be used within an Evervault Provider");
|
|
14
|
+
}
|
|
15
|
+
const {
|
|
16
|
+
session,
|
|
17
|
+
isVisible
|
|
18
|
+
} = state;
|
|
19
|
+
if (!session) return null;
|
|
20
|
+
return /*#__PURE__*/React.createElement(ThreeDSecureContext.Provider, {
|
|
21
|
+
value: state
|
|
22
|
+
}, isVisible && children);
|
|
23
|
+
};
|
|
24
|
+
const ThreeDSecureNamespace = Object.assign(ThreeDSecure, {
|
|
25
|
+
Frame: ThreeDSecureFrame
|
|
26
|
+
});
|
|
27
|
+
export { ThreeDSecureNamespace as ThreeDSecure };
|
|
28
|
+
//# sourceMappingURL=ThreeDSecure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEvervault","ThreeDSecureFrame","ThreeDSecureContext","ThreeDSecure","state","children","appUuid","Error","session","isVisible","createElement","Provider","value","ThreeDSecureNamespace","Object","assign","Frame"],"sourceRoot":"../../../../src","sources":["components/3DS/ThreeDSecure.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAqC,OAAO;AAExD,SAASC,YAAY,QAAQ,sBAAsB;AACnD,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,mBAAmB,QAAQ,WAAW;AAG/C,MAAMC,YAAY,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAoC,CAAC,KAAK;EACvE,MAAM;IAAEC;EAAQ,CAAC,GAAGN,YAAY,CAAC,CAAC;EAElC,IAAI,CAACM,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,wDAAwD,CAAC;EAC3E;EAEA,MAAM;IAAEC,OAAO;IAAEC;EAAU,CAAC,GAAGL,KAAK;EAEpC,IAAI,CAACI,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACET,KAAA,CAAAW,aAAA,CAACR,mBAAmB,CAACS,QAAQ;IAACC,KAAK,EAAER;EAAM,GACxCK,SAAS,IAAIJ,QACc,CAAC;AAEnC,CAAC;AAID,MAAMQ,qBAAqB,GAAGC,MAAM,CAACC,MAAM,CAACZ,YAAY,EAAE;EACxDa,KAAK,EAAEf;AACT,CAAC,CAAC;AAEF,SAASY,qBAAqB,IAAIV,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React, { useContext } from "react";
|
|
2
|
+
import { View } from "react-native";
|
|
3
|
+
import { useEvervault } from "../EvervaultProvider";
|
|
4
|
+
import WebView from "react-native-webview";
|
|
5
|
+
import { CHALLENGE_DOMAIN_3DS } from "./config";
|
|
6
|
+
import { defaultThreeDSecureFrameStyles as defaultStyles } from "./styles";
|
|
7
|
+
import { ThreeDSecureContext } from "./context";
|
|
8
|
+
export function ThreeDSecureFrame() {
|
|
9
|
+
const {
|
|
10
|
+
teamUuid,
|
|
11
|
+
appUuid
|
|
12
|
+
} = useEvervault();
|
|
13
|
+
const context = useContext(ThreeDSecureContext);
|
|
14
|
+
if (!teamUuid || !appUuid) {
|
|
15
|
+
throw new Error('Missing Evervault Team or App Uuid. Make sure the ThreeDSecureFrame is nested within the Evervault Provider');
|
|
16
|
+
}
|
|
17
|
+
if (!context) {
|
|
18
|
+
throw new Error("ThreeDSecure.Frame must be used within an Evervault ThreeDSecure provider component");
|
|
19
|
+
}
|
|
20
|
+
const {
|
|
21
|
+
session
|
|
22
|
+
} = context;
|
|
23
|
+
if (!session) {
|
|
24
|
+
return null; // 3DS Session not started yet
|
|
25
|
+
}
|
|
26
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
27
|
+
style: defaultStyles.threeDSFrame
|
|
28
|
+
}, /*#__PURE__*/React.createElement(WebView, {
|
|
29
|
+
source: {
|
|
30
|
+
uri: `https://${CHALLENGE_DOMAIN_3DS}/?session=${session.sessionId}&app=${appUuid}&team=${teamUuid}`
|
|
31
|
+
},
|
|
32
|
+
containerStyle: defaultStyles.webView,
|
|
33
|
+
overScrollMode: "content"
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ThreeDSecureFrame.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useContext","View","useEvervault","WebView","CHALLENGE_DOMAIN_3DS","defaultThreeDSecureFrameStyles","defaultStyles","ThreeDSecureContext","ThreeDSecureFrame","teamUuid","appUuid","context","Error","session","createElement","style","threeDSFrame","source","uri","sessionId","containerStyle","webView","overScrollMode"],"sourceRoot":"../../../../src","sources":["components/3DS/ThreeDSecureFrame.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAkB,OAAO;AACnD,SAASC,IAAI,QAAoB,cAAc;AAC/C,SAASC,YAAY,QAAQ,sBAAsB;AACnD,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,SAASC,oBAAoB,QAAQ,UAAU;AAC/C,SAASC,8BAA8B,IAAIC,aAAa,QAAQ,UAAU;AAC1E,SAASC,mBAAmB,QAAQ,WAAW;AAE/C,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,MAAM;IAAEC,QAAQ;IAAEC;EAAQ,CAAC,GAAGR,YAAY,CAAC,CAAC;EAC5C,MAAMS,OAAO,GAAGX,UAAU,CAACO,mBAAmB,CAAC;EAG/C,IAAI,CAACE,QAAQ,IAAI,CAACC,OAAO,EAAE;IACzB,MAAM,IAAIE,KAAK,CAAC,6GAA6G,CAAC;EAChI;EAEA,IAAI,CAACD,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,qFAAqF,CAAC;EACxG;EAEA,MAAM;IAAEC;EAAQ,CAAC,GAAGF,OAAO;EAE3B,IAAI,CAACE,OAAO,EAAE;IACZ,OAAO,IAAI,CAAC,CAAC;EACf;EAEA,oBACEd,KAAA,CAAAe,aAAA,CAACb,IAAI;IAACc,KAAK,EAAET,aAAa,CAACU;EAAa,gBACtCjB,KAAA,CAAAe,aAAA,CAACX,OAAO;IACNc,MAAM,EAAE;MACNC,GAAG,EAAG,WAAUd,oBAAqB,aAAYS,OAAO,CAACM,SAAU,QAAOT,OAAQ,SAAQD,QAAS;IACrG,CAAE;IACFW,cAAc,EAAEd,aAAa,CAACe,OAAQ;IACtCC,cAAc,EAAC;EAAS,CACzB,CACG,CAAC;AAEX","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EV_API_DOMAIN","process","env","CHALLENGE_DOMAIN_3DS"],"sourceRoot":"../../../../src","sources":["components/3DS/config.ts"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAGC,OAAO,CAACC,GAAG,CAACF,aAAa,IAAI,mBAAmB;AAC7E,OAAO,MAAMG,oBAAoB,GAAGF,OAAO,CAACC,GAAG,CAACC,oBAAoB,IAAI,mDAAmD","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","ThreeDSecureContext"],"sourceRoot":"../../../../src","sources":["components/3DS/context.tsx"],"mappings":"AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,OAAO,MAAMC,mBAAmB,gBAAGD,aAAa,CAA2B,IAAI,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ThreeDSecure","useThreeDSecure"],"sourceRoot":"../../../../src","sources":["components/3DS/index.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,eAAe,QAAQ,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
const defaultModalStyles = StyleSheet.create({
|
|
3
|
+
modalContainer: {
|
|
4
|
+
flex: 1,
|
|
5
|
+
justifyContent: "flex-end",
|
|
6
|
+
backgroundColor: "rgba(0, 0, 0, 0.5)"
|
|
7
|
+
},
|
|
8
|
+
modalContent: {
|
|
9
|
+
width: "100%",
|
|
10
|
+
height: "95%",
|
|
11
|
+
backgroundColor: "#fff",
|
|
12
|
+
padding: 0,
|
|
13
|
+
justifyContent: "flex-start",
|
|
14
|
+
borderTopLeftRadius: 20,
|
|
15
|
+
borderTopRightRadius: 20
|
|
16
|
+
},
|
|
17
|
+
titleBar: {
|
|
18
|
+
justifyContent: "center",
|
|
19
|
+
alignItems: "center",
|
|
20
|
+
padding: 10,
|
|
21
|
+
backgroundColor: "#f5f5f5",
|
|
22
|
+
borderBottomWidth: 1,
|
|
23
|
+
borderBottomColor: "#ccc",
|
|
24
|
+
position: "relative",
|
|
25
|
+
width: "100%",
|
|
26
|
+
borderTopLeftRadius: 20,
|
|
27
|
+
borderTopRightRadius: 20
|
|
28
|
+
},
|
|
29
|
+
titleText: {
|
|
30
|
+
fontSize: 18,
|
|
31
|
+
fontWeight: "bold"
|
|
32
|
+
},
|
|
33
|
+
closeButton: {
|
|
34
|
+
position: "absolute",
|
|
35
|
+
left: 10,
|
|
36
|
+
padding: 10
|
|
37
|
+
},
|
|
38
|
+
closeButtonText: {
|
|
39
|
+
fontSize: 18,
|
|
40
|
+
fontWeight: "bold",
|
|
41
|
+
color: "black"
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
const defaultThreeDSecureFrameStyles = StyleSheet.create({
|
|
45
|
+
threeDSFrame: {
|
|
46
|
+
flex: 1
|
|
47
|
+
},
|
|
48
|
+
webView: {
|
|
49
|
+
flex: 1
|
|
50
|
+
},
|
|
51
|
+
spinnerOverlay: {
|
|
52
|
+
flex: 1,
|
|
53
|
+
justifyContent: 'center',
|
|
54
|
+
alignItems: 'center'
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
export { defaultModalStyles, defaultThreeDSecureFrameStyles };
|
|
58
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","defaultModalStyles","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,SAASA,UAAU,QAAQ,cAAc;AAEzC,MAAMC,kBAAkB,GAAGD,UAAU,CAACE,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,GAAGzB,UAAU,CAACE,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;AAEF,SACIb,kBAAkB,EAClBwB,8BAA8B","ignoreList":[]}
|