@evervault/evervault-react-native 1.0.1 → 1.1.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 (63) hide show
  1. package/README.md +34 -39
  2. package/dist/commonjs/components/Card/Card.js +13 -13
  3. package/dist/commonjs/components/Card/CardCVC.js +7 -7
  4. package/dist/commonjs/components/Card/CardExpiry.js +6 -6
  5. package/dist/commonjs/components/Card/CardHolder.js +5 -5
  6. package/dist/commonjs/components/Card/CardNumber.js +6 -6
  7. package/dist/commonjs/components/Card/CardNumber.js.map +1 -1
  8. package/dist/commonjs/components/Card/context.js +5 -5
  9. package/dist/commonjs/components/Card/utilities.js +5 -5
  10. package/dist/commonjs/components/EvervaultProvider.js +62 -0
  11. package/dist/commonjs/components/EvervaultProvider.js.map +1 -0
  12. package/dist/commonjs/index.js +8 -0
  13. package/dist/commonjs/index.js.map +1 -1
  14. package/dist/commonjs/native.js +2 -2
  15. package/dist/commonjs/sdk.js +10 -3
  16. package/dist/commonjs/sdk.js.map +1 -1
  17. package/dist/module/components/Card/Card.js +25 -25
  18. package/dist/module/components/Card/Card.js.map +1 -1
  19. package/dist/module/components/Card/CardCVC.js +12 -12
  20. package/dist/module/components/Card/CardExpiry.js +10 -10
  21. package/dist/module/components/Card/CardHolder.js +9 -9
  22. package/dist/module/components/Card/CardNumber.js +11 -11
  23. package/dist/module/components/Card/CardNumber.js.map +1 -1
  24. package/dist/module/components/Card/context.js +6 -6
  25. package/dist/module/components/Card/index.js +1 -1
  26. package/dist/module/components/Card/utilities.js +6 -6
  27. package/dist/module/components/EvervaultProvider.js +53 -0
  28. package/dist/module/components/EvervaultProvider.js.map +1 -0
  29. package/dist/module/index.js +3 -2
  30. package/dist/module/index.js.map +1 -1
  31. package/dist/module/native.js +3 -3
  32. package/dist/module/sdk.js +13 -5
  33. package/dist/module/sdk.js.map +1 -1
  34. package/dist/typescript/src/components/Card/Card.d.ts +8 -8
  35. package/dist/typescript/src/components/Card/Card.d.ts.map +1 -1
  36. package/dist/typescript/src/components/Card/CardCVC.d.ts +2 -2
  37. package/dist/typescript/src/components/Card/CardExpiry.d.ts +2 -2
  38. package/dist/typescript/src/components/Card/CardHolder.d.ts +2 -2
  39. package/dist/typescript/src/components/Card/CardNumber.d.ts +2 -2
  40. package/dist/typescript/src/components/Card/context.d.ts +4 -4
  41. package/dist/typescript/src/components/Card/index.d.ts +1 -1
  42. package/dist/typescript/src/components/Card/types.d.ts +2 -2
  43. package/dist/typescript/src/components/Card/utilities.d.ts +3 -3
  44. package/dist/typescript/src/components/EvervaultProvider.d.ts +29 -0
  45. package/dist/typescript/src/components/EvervaultProvider.d.ts.map +1 -0
  46. package/dist/typescript/src/index.d.ts +4 -3
  47. package/dist/typescript/src/index.d.ts.map +1 -1
  48. package/dist/typescript/src/sdk.d.ts +7 -0
  49. package/dist/typescript/src/sdk.d.ts.map +1 -1
  50. package/package.json +4 -79
  51. package/src/components/Card/Card.tsx +27 -27
  52. package/src/components/Card/CardCVC.tsx +13 -13
  53. package/src/components/Card/CardExpiry.tsx +11 -11
  54. package/src/components/Card/CardHolder.tsx +10 -10
  55. package/src/components/Card/CardNumber.tsx +12 -12
  56. package/src/components/Card/context.tsx +9 -9
  57. package/src/components/Card/index.ts +1 -1
  58. package/src/components/Card/types.ts +14 -14
  59. package/src/components/Card/utilities.ts +8 -8
  60. package/src/components/EvervaultProvider.tsx +64 -0
  61. package/src/index.tsx +4 -3
  62. package/src/native.ts +4 -4
  63. 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
  ```
@@ -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
  }));
@@ -16,10 +16,10 @@ function CardHolder(props) {
16
16
  const {
17
17
  onBlur,
18
18
  onChange
19
- } = context.register('name');
19
+ } = context.register("name");
20
20
  (0, _react.useEffect)(() => {
21
- context.setRegisteredFields(prev => new Set(prev).add('name'));
22
- return () => context.setRegisteredFields(prev => (0, _context.removeFieldFromSet)(prev, 'name'));
21
+ context.setRegisteredFields(prev => new Set(prev).add("name"));
22
+ return () => context.setRegisteredFields(prev => (0, _context.removeFieldFromSet)(prev, "name"));
23
23
  // eslint-disable-next-line react-hooks/exhaustive-deps
24
24
  }, []);
25
25
  return /*#__PURE__*/React.createElement(_reactNative.TextInput, _extends({}, props, {
@@ -30,8 +30,8 @@ function CardHolder(props) {
30
30
  props.onBlur?.(e);
31
31
  },
32
32
  autoComplete: _reactNative.Platform.select({
33
- ios: 'cc-name',
34
- android: 'name'
33
+ ios: "cc-name",
34
+ android: "name"
35
35
  }),
36
36
  onChangeText: v => onChange(v)
37
37
  }));
@@ -21,9 +21,9 @@ function CardNumber(props) {
21
21
  brand
22
22
  } = (0, _cardValidator.validateNumber)(value);
23
23
  const masks = {
24
- 'default': '9999 9999 9999 9999',
25
- 'unionpay': '9999 9999 9999 9999 999',
26
- 'american-express': '9999 999999 99999'
24
+ default: "9999 9999 9999 9999",
25
+ unionpay: "9999 9999 9999 9999 999",
26
+ "american-express": "9999 999999 99999"
27
27
  };
28
28
  if (brand && !!masks[brand]) {
29
29
  return [value, masks[brand]];
@@ -33,10 +33,10 @@ function CardNumber(props) {
33
33
  const {
34
34
  onBlur,
35
35
  onChange
36
- } = context.register('number');
36
+ } = context.register("number");
37
37
  (0, _react.useEffect)(() => {
38
- context.setRegisteredFields(prev => new Set(prev).add('number'));
39
- return () => context.setRegisteredFields(prev => (0, _context.removeFieldFromSet)(prev, 'number'));
38
+ context.setRegisteredFields(prev => new Set(prev).add("number"));
39
+ return () => context.setRegisteredFields(prev => (0, _context.removeFieldFromSet)(prev, "number"));
40
40
  // eslint-disable-next-line react-hooks/exhaustive-deps
41
41
  }, []);
42
42
  return /*#__PURE__*/React.createElement(_reactNativeMaskedText.TextInputMask, _extends({}, props, {
@@ -1 +1 @@
1
- {"version":3,"names":["_cardValidator","require","_react","_interopRequireWildcard","React","_reactNativeMaskedText","_context","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","prototype","apply","CardNumber","props","context","useCardContext","ref","useRef","innerValue","mask","useMemo","value","values","number","brand","validateNumber","masks","onBlur","onChange","register","useEffect","setRegisteredFields","prev","Set","add","removeFieldFromSet","createElement","TextInputMask","type","options","id","onChangeText","inputMode","autoComplete"],"sourceRoot":"../../../../src","sources":["components/Card/CardNumber.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_cardValidator","require","_react","_interopRequireWildcard","React","_reactNativeMaskedText","_context","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","prototype","apply","CardNumber","props","context","useCardContext","ref","useRef","innerValue","mask","useMemo","value","values","number","brand","validateNumber","masks","unionpay","onBlur","onChange","register","useEffect","setRegisteredFields","prev","Set","add","removeFieldFromSet","createElement","TextInputMask","type","options","id","onChangeText","inputMode","autoComplete"],"sourceRoot":"../../../../src","sources":["components/Card/CardNumber.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,16 +7,16 @@ exports.useCardContext = exports.removeFieldFromSet = exports.CardContext = void
7
7
  var _react = require("react");
8
8
  const removeFieldFromSet = (prev, field) => {
9
9
  const next = new Set(prev);
10
- next.delete('name');
10
+ next.delete("name");
11
11
  return next;
12
12
  };
13
13
  exports.removeFieldFromSet = removeFieldFromSet;
14
14
  const CardContext = exports.CardContext = /*#__PURE__*/(0, _react.createContext)({
15
15
  values: {
16
- name: '',
17
- number: '',
18
- cvc: '',
19
- expiry: ''
16
+ name: "",
17
+ number: "",
18
+ cvc: "",
19
+ expiry: ""
20
20
  },
21
21
  register: () => ({
22
22
  onChange: () => {},
@@ -14,7 +14,7 @@ async function changePayload(encrypt, form, fields) {
14
14
  expiry,
15
15
  cvc
16
16
  } = form.values;
17
- const number = rawNumber.replace(/\s/g, '');
17
+ const number = rawNumber.replace(/\s/g, "");
18
18
  const {
19
19
  brand,
20
20
  localBrands,
@@ -39,18 +39,18 @@ async function changePayload(encrypt, form, fields) {
39
39
  };
40
40
  }
41
41
  function isComplete(form, fields) {
42
- if (fields.includes('name')) {
42
+ if (fields.includes("name")) {
43
43
  if (form.values.name.length === 0) return false;
44
44
  }
45
- if (fields.includes('number')) {
45
+ if (fields.includes("number")) {
46
46
  const cardValidation = (0, _cardValidator.validateNumber)(form.values.number);
47
47
  if (!cardValidation.isValid) return false;
48
48
  }
49
- if (fields.includes('expiry')) {
49
+ if (fields.includes("expiry")) {
50
50
  const expiryValidation = (0, _cardValidator.validateExpiry)(form.values.expiry);
51
51
  if (!expiryValidation.isValid) return false;
52
52
  }
53
- if (fields.includes('cvc')) {
53
+ if (fields.includes("cvc")) {
54
54
  const cvcValidation = (0, _cardValidator.validateCVC)(form.values.cvc, form.values.number);
55
55
  if (!cvcValidation.isValid) return false;
56
56
  }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useEvervault = exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var React = _react;
9
+ var _native = require("../native");
10
+ 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); }
11
+ 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; }
12
+ const Ctx = /*#__PURE__*/(0, _react.createContext)({
13
+ teamUuid: undefined,
14
+ appUuid: undefined
15
+ });
16
+
17
+ // this isn't publicly exposed
18
+ const useEvervault = () => (0, _react.useContext)(Ctx);
19
+ exports.useEvervault = useEvervault;
20
+ /**
21
+ * @example
22
+ * ```tsx
23
+ * function App() {
24
+ * return (
25
+ * <EvervaultProvider teamId="team_123" appId="app_123">
26
+ * <Card onChange={(card) => console.log(card)}>
27
+ * <Card.Number />
28
+ * </Card>
29
+ * </EvervaultProvider>
30
+ * );
31
+ * }
32
+ * ```
33
+ */
34
+ const EvervaultProvider = ({
35
+ teamId,
36
+ appId,
37
+ children
38
+ }) => {
39
+ (0, _react.useEffect)(() => {
40
+ async function initEvervault() {
41
+ try {
42
+ if (!teamId || !appId) {
43
+ return;
44
+ }
45
+ return _native.EvervaultSdk.initialize(teamId, appId);
46
+ } catch (error) {
47
+ throw new Error(`Failed to initialize the Evervault SDK ${error}`);
48
+ }
49
+ }
50
+ if (teamId || appId) {
51
+ initEvervault();
52
+ }
53
+ }, [teamId, appId]);
54
+ return /*#__PURE__*/React.createElement(Ctx.Provider, {
55
+ value: {
56
+ teamUuid: teamId,
57
+ appUuid: appId
58
+ }
59
+ }, children);
60
+ };
61
+ var _default = exports.default = EvervaultProvider;
62
+ //# sourceMappingURL=EvervaultProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","React","_native","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Ctx","createContext","teamUuid","undefined","appUuid","useEvervault","useContext","exports","EvervaultProvider","teamId","appId","children","useEffect","initEvervault","EvervaultSdk","initialize","error","Error","createElement","Provider","value","_default"],"sourceRoot":"../../../src","sources":["components/EvervaultProvider.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAwE,IAAAC,KAAA,GAAAH,MAAA;AAExE,IAAAI,OAAA,GAAAF,OAAA;AAAyC,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,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,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,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAOzC,MAAMW,GAAG,gBAAG,IAAAC,oBAAa,EAAmB;EAC1CC,QAAQ,EAAEC,SAAS;EACnBC,OAAO,EAAED;AACX,CAAC,CAAC;;AAEF;AACO,MAAME,YAAY,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACN,GAAG,CAAC;AAACO,OAAA,CAAAF,YAAA,GAAAA,YAAA;AAQlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,iBAAiB,GAAGA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAyB,CAAC,KAAK;EACzE,IAAAC,gBAAS,EAAC,MAAM;IACd,eAAeC,aAAaA,CAAA,EAAG;MAC7B,IAAI;QACF,IAAI,CAACJ,MAAM,IAAI,CAACC,KAAK,EAAE;UACrB;QACF;QAEA,OAAOI,oBAAY,CAACC,UAAU,CAACN,MAAM,EAAEC,KAAK,CAAC;MAC/C,CAAC,CAAC,OAAOM,KAAK,EAAE;QACd,MAAM,IAAIC,KAAK,CAAE,0CAAyCD,KAAM,EAAC,CAAC;MACpE;IACF;IAEA,IAAIP,MAAM,IAAIC,KAAK,EAAE;MACnBG,aAAa,CAAC,CAAC;IACjB;EACF,CAAC,EAAE,CAACJ,MAAM,EAAEC,KAAK,CAAC,CAAC;EAEnB,oBACEhC,KAAA,CAAAwC,aAAA,CAAClB,GAAG,CAACmB,QAAQ;IAACC,KAAK,EAAE;MAAElB,QAAQ,EAAEO,MAAM;MAAEL,OAAO,EAAEM;IAAM;EAAE,GACvDC,QACW,CAAC;AAEnB,CAAC;AAAC,IAAAU,QAAA,GAAAd,OAAA,CAAArB,OAAA,GAEasB,iBAAiB","ignoreList":[]}
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "Card", {
9
9
  return _Card.Card;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "EvervaultProvider", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _EvervaultProvider.default;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "encrypt", {
13
19
  enumerable: true,
14
20
  get: function () {
@@ -23,4 +29,6 @@ Object.defineProperty(exports, "init", {
23
29
  });
24
30
  var _Card = require("./components/Card");
25
31
  var _sdk = require("./sdk");
32
+ var _EvervaultProvider = _interopRequireDefault(require("./components/EvervaultProvider"));
33
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_Card","require","_sdk"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_Card","require","_sdk","_EvervaultProvider","_interopRequireDefault","obj","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AASA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA8E,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA","ignoreList":[]}
@@ -7,8 +7,8 @@ exports.EvervaultSdk = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  const LINKING_ERROR = `The package '@evervault/evervault-react-native' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
9
9
  ios: "- You have run 'pod install'\n",
10
- default: ''
11
- }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
10
+ default: ""
11
+ }) + "- You rebuilt the app after installing the package\n" + "- You are not using Expo Go\n";
12
12
  const EvervaultSdk = exports.EvervaultSdk = _reactNative.NativeModules.EvervaultSdk ? _reactNative.NativeModules.EvervaultSdk : new Proxy({}, {
13
13
  get() {
14
14
  throw new Error(LINKING_ERROR);
@@ -7,17 +7,24 @@ exports.encrypt = encrypt;
7
7
  exports.init = init;
8
8
  var _reactNative = require("react-native");
9
9
  var _native = require("./native");
10
+ /**
11
+ * @deprecated Deprecated since version 1.1.0. Use `EvervaultProvider` instead.
12
+ * @see `EvervaultProvider` instead
13
+ * ```tsx
14
+ * import { EvervaultProvider } from "@evervault/evervault-react-native";
15
+ * ```
16
+ */
10
17
  async function init(teamUuid, appUuid) {
11
- if (!teamUuid.startsWith('team_')) {
18
+ if (!teamUuid?.startsWith("team_")) {
12
19
  throw new Error("Invalid Evervault Team UUID");
13
20
  }
14
- if (!appUuid.startsWith('app_')) {
21
+ if (!appUuid?.startsWith("app_")) {
15
22
  throw new Error("Invalid Evervault App UUID");
16
23
  }
17
24
  return _native.EvervaultSdk.initialize(teamUuid, appUuid);
18
25
  }
19
26
  async function encrypt(data) {
20
- if (_reactNative.Platform.OS === 'android' && typeof data !== 'string') {
27
+ if (_reactNative.Platform.OS === "android" && typeof data !== "string") {
21
28
  throw new Error(`The Evervault SDK does not currently support encrypting non-string data on Android.
22
29
  If this is required for your use case, please get in touch with us at support@evervault.com. Please do not
23
30
  serialize other data types to strings and pass them to this method as this will result in the data
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_native","init","teamUuid","appUuid","startsWith","Error","EvervaultSdk","initialize","encrypt","data","Platform","OS"],"sourceRoot":"../../src","sources":["sdk.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEO,eAAeE,IAAIA,CAACC,QAAgB,EAAEC,OAAe,EAAiB;EAC3E,IAAI,CAACD,QAAQ,CAACE,UAAU,CAAC,OAAO,CAAC,EAAE;IACjC,MAAM,IAAIC,KAAK,CAAC,6BAA6B,CAAC;EAChD;EAEA,IAAI,CAACF,OAAO,CAACC,UAAU,CAAC,MAAM,CAAC,EAAE;IAC/B,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;EAC/C;EAEA,OAAOC,oBAAY,CAACC,UAAU,CAACL,QAAQ,EAAEC,OAAO,CAAC;AACnD;AAEO,eAAeK,OAAOA,CAACC,IAAS,EAAmB;EACxD,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI,OAAOF,IAAI,KAAK,QAAQ,EAAE;IACzD,MAAM,IAAIJ,KAAK,CAAE;AACrB;AACA;AACA,2EAA2E,CAAC;EAC1E;EAEA,OAAOC,oBAAY,CAACE,OAAO,CAACC,IAAI,CAAC;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_native","init","teamUuid","appUuid","startsWith","Error","EvervaultSdk","initialize","encrypt","data","Platform","OS"],"sourceRoot":"../../src","sources":["sdk.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeE,IAAIA,CAACC,QAAgB,EAAEC,OAAe,EAAiB;EAC3E,IAAI,CAACD,QAAQ,EAAEE,UAAU,CAAC,OAAO,CAAC,EAAE;IAClC,MAAM,IAAIC,KAAK,CAAC,6BAA6B,CAAC;EAChD;EAEA,IAAI,CAACF,OAAO,EAAEC,UAAU,CAAC,MAAM,CAAC,EAAE;IAChC,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;EAC/C;EAEA,OAAOC,oBAAY,CAACC,UAAU,CAACL,QAAQ,EAAEC,OAAO,CAAC;AACnD;AAEO,eAAeK,OAAOA,CAACC,IAAS,EAAmB;EACxD,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI,OAAOF,IAAI,KAAK,QAAQ,EAAE;IACzD,MAAM,IAAIJ,KAAK,CAAE;AACrB;AACA;AACA,2EAA2E,CAAC;EAC1E;EAEA,OAAOC,oBAAY,CAACE,OAAO,CAACC,IAAI,CAAC;AACnC","ignoreList":[]}
@@ -1,15 +1,15 @@
1
- import { validateNumber, validateCVC, validateExpiry } from '@evervault/card-validator';
2
- import * as React from 'react';
3
- import { useState } from 'react';
4
- import { useForm } from '../useForm';
5
- import { changePayload, isAcceptedBrand } from './utilities';
6
- import { CardNumber } from './CardNumber';
7
- import { CardContext } from './context';
8
- import { encrypt } from '../../sdk';
9
- import { CardCVC } from './CardCVC';
10
- import { CardHolder } from './CardHolder';
11
- import { CardExpiry } from './CardExpiry';
12
- import { View } from 'react-native';
1
+ import { validateNumber, validateCVC, validateExpiry } from "@evervault/card-validator";
2
+ import * as React from "react";
3
+ import { useState } from "react";
4
+ import { useForm } from "../useForm";
5
+ import { changePayload, isAcceptedBrand } from "./utilities";
6
+ import { CardNumber } from "./CardNumber";
7
+ import { CardContext } from "./context";
8
+ import { encrypt } from "../../sdk";
9
+ import { CardCVC } from "./CardCVC";
10
+ import { CardHolder } from "./CardHolder";
11
+ import { CardExpiry } from "./CardExpiry";
12
+ import { View } from "react-native";
13
13
  function Card({
14
14
  initialValue,
15
15
  config,
@@ -20,51 +20,51 @@ function Card({
20
20
  const [registeredFields, setRegisteredFields] = useState(new Set());
21
21
  const form = useForm({
22
22
  initialValues: initialValue ?? {
23
- cvc: '',
24
- expiry: '',
25
- number: '',
26
- name: ''
23
+ cvc: "",
24
+ expiry: "",
25
+ number: "",
26
+ name: ""
27
27
  },
28
28
  validate: {
29
29
  name: values => {
30
- if (!registeredFields.has('name')) {
30
+ if (!registeredFields.has("name")) {
31
31
  return undefined;
32
32
  }
33
33
  if (values.name.length === 0) {
34
- return 'invalid';
34
+ return "invalid";
35
35
  }
36
36
  return undefined;
37
37
  },
38
38
  number: values => {
39
- if (!registeredFields.has('number')) {
39
+ if (!registeredFields.has("number")) {
40
40
  return undefined;
41
41
  }
42
42
  const cardValidation = validateNumber(values.number);
43
43
  if (!cardValidation.isValid) {
44
- return 'invalid';
44
+ return "invalid";
45
45
  }
46
46
  if (!isAcceptedBrand(config?.acceptedBrands, cardValidation)) {
47
- return 'unsupportedBrand';
47
+ return "unsupportedBrand";
48
48
  }
49
49
  return undefined;
50
50
  },
51
51
  expiry: values => {
52
- if (!registeredFields.has('expiry')) {
52
+ if (!registeredFields.has("expiry")) {
53
53
  return undefined;
54
54
  }
55
55
  const expiryValidation = validateExpiry(values.expiry);
56
56
  if (!expiryValidation.isValid) {
57
- return 'invalid';
57
+ return "invalid";
58
58
  }
59
59
  return undefined;
60
60
  },
61
61
  cvc: values => {
62
- if (!registeredFields.has('cvc')) {
62
+ if (!registeredFields.has("cvc")) {
63
63
  return undefined;
64
64
  }
65
65
  const cvcValidation = validateCVC(values.cvc, values.number);
66
66
  if (!cvcValidation.isValid) {
67
- return 'invalid';
67
+ return "invalid";
68
68
  }
69
69
  return undefined;
70
70
  }
@@ -1 +1 @@
1
- {"version":3,"names":["validateNumber","validateCVC","validateExpiry","React","useState","useForm","changePayload","isAcceptedBrand","CardNumber","CardContext","encrypt","CardCVC","CardHolder","CardExpiry","View","Card","initialValue","config","children","onChange","style","registeredFields","setRegisteredFields","Set","form","initialValues","cvc","expiry","number","name","validate","values","has","undefined","length","cardValidation","isValid","acceptedBrands","expiryValidation","cvcValidation","formState","triggerChange","cardData","Array","from","createElement","Provider","value","register","CardNamespace","Object","assign","Number","CVC","Holder","Expiry"],"sourceRoot":"../../../../src","sources":["components/Card/Card.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["validateNumber","validateCVC","validateExpiry","React","useState","useForm","changePayload","isAcceptedBrand","CardNumber","CardContext","encrypt","CardCVC","CardHolder","CardExpiry","View","Card","initialValue","config","children","onChange","style","registeredFields","setRegisteredFields","Set","form","initialValues","cvc","expiry","number","name","validate","values","has","undefined","length","cardValidation","isValid","acceptedBrands","expiryValidation","cvcValidation","formState","triggerChange","cardData","Array","from","createElement","Provider","value","register","CardNamespace","Object","assign","Number","CVC","Holder","Expiry"],"sourceRoot":"../../../../src","sources":["components/Card/Card.tsx"],"mappings":"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","ignoreList":[]}