@evervault/evervault-react-native 0.2.3 → 0.4.2

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 (100) hide show
  1. package/README.md +46 -17
  2. package/android/build.gradle +5 -3
  3. package/android/gradle.properties +1 -1
  4. package/android/src/main/java/com/evervaultsdk/EvervaultSdkModule.kt +34 -5
  5. package/android/src/main/java/com/evervaultsdk/EvervaultSdkPackage.kt +1 -1
  6. package/dist/commonjs/components/Card/Card.js +115 -0
  7. package/dist/commonjs/components/Card/Card.js.map +1 -0
  8. package/dist/commonjs/components/Card/CardCVC.js +59 -0
  9. package/dist/commonjs/components/Card/CardCVC.js.map +1 -0
  10. package/dist/commonjs/components/Card/CardExpiry.js +50 -0
  11. package/dist/commonjs/components/Card/CardExpiry.js.map +1 -0
  12. package/dist/commonjs/components/Card/CardHolder.js +45 -0
  13. package/dist/commonjs/components/Card/CardHolder.js.map +1 -0
  14. package/dist/commonjs/components/Card/CardNumber.js +68 -0
  15. package/dist/commonjs/components/Card/CardNumber.js.map +1 -0
  16. package/dist/commonjs/components/Card/context.js +23 -0
  17. package/dist/commonjs/components/Card/context.js.map +1 -0
  18. package/dist/commonjs/components/Card/index.js +13 -0
  19. package/dist/commonjs/components/Card/index.js.map +1 -0
  20. package/dist/commonjs/components/Card/types.js +2 -0
  21. package/dist/commonjs/components/Card/types.js.map +1 -0
  22. package/dist/commonjs/components/Card/utilities.js +85 -0
  23. package/dist/commonjs/components/Card/utilities.js.map +1 -0
  24. package/dist/commonjs/components/useForm.js +116 -0
  25. package/dist/commonjs/components/useForm.js.map +1 -0
  26. package/dist/commonjs/index.js +26 -0
  27. package/dist/commonjs/index.js.map +1 -0
  28. package/{lib/commonjs/index.js → dist/commonjs/native.js} +3 -10
  29. package/dist/commonjs/native.js.map +1 -0
  30. package/dist/commonjs/sdk.js +28 -0
  31. package/dist/commonjs/sdk.js.map +1 -0
  32. package/dist/module/components/Card/Card.js +110 -0
  33. package/dist/module/components/Card/Card.js.map +1 -0
  34. package/dist/module/components/Card/CardCVC.js +50 -0
  35. package/dist/module/components/Card/CardCVC.js.map +1 -0
  36. package/dist/module/components/Card/CardExpiry.js +44 -0
  37. package/dist/module/components/Card/CardExpiry.js.map +1 -0
  38. package/dist/module/components/Card/CardHolder.js +39 -0
  39. package/dist/module/components/Card/CardHolder.js.map +1 -0
  40. package/dist/module/components/Card/CardNumber.js +62 -0
  41. package/dist/module/components/Card/CardNumber.js.map +1 -0
  42. package/dist/module/components/Card/context.js +16 -0
  43. package/dist/module/components/Card/context.js.map +1 -0
  44. package/dist/module/components/Card/index.js +2 -0
  45. package/dist/module/components/Card/index.js.map +1 -0
  46. package/dist/module/components/Card/types.js +2 -0
  47. package/dist/module/components/Card/types.js.map +1 -0
  48. package/dist/module/components/Card/utilities.js +77 -0
  49. package/dist/module/components/Card/utilities.js.map +1 -0
  50. package/dist/module/components/useForm.js +110 -0
  51. package/dist/module/components/useForm.js.map +1 -0
  52. package/dist/module/index.js +3 -0
  53. package/dist/module/index.js.map +1 -0
  54. package/{lib/module/index.js → dist/module/native.js} +2 -8
  55. package/dist/module/native.js.map +1 -0
  56. package/dist/module/sdk.js +21 -0
  57. package/dist/module/sdk.js.map +1 -0
  58. package/dist/typescript/src/components/Card/Card.d.ts +29 -0
  59. package/dist/typescript/src/components/Card/Card.d.ts.map +1 -0
  60. package/dist/typescript/src/components/Card/CardCVC.d.ts +6 -0
  61. package/dist/typescript/src/components/Card/CardCVC.d.ts.map +1 -0
  62. package/dist/typescript/src/components/Card/CardExpiry.d.ts +6 -0
  63. package/dist/typescript/src/components/Card/CardExpiry.d.ts.map +1 -0
  64. package/dist/typescript/src/components/Card/CardHolder.d.ts +7 -0
  65. package/dist/typescript/src/components/Card/CardHolder.d.ts.map +1 -0
  66. package/dist/typescript/src/components/Card/CardNumber.d.ts +8 -0
  67. package/dist/typescript/src/components/Card/CardNumber.d.ts.map +1 -0
  68. package/dist/typescript/src/components/Card/context.d.ts +12 -0
  69. package/dist/typescript/src/components/Card/context.d.ts.map +1 -0
  70. package/dist/typescript/src/components/Card/index.d.ts +2 -0
  71. package/dist/typescript/src/components/Card/index.d.ts.map +1 -0
  72. package/dist/typescript/src/components/Card/types.d.ts +35 -0
  73. package/dist/typescript/src/components/Card/types.d.ts.map +1 -0
  74. package/dist/typescript/src/components/Card/utilities.d.ts +7 -0
  75. package/dist/typescript/src/components/Card/utilities.d.ts.map +1 -0
  76. package/dist/typescript/src/components/useForm.d.ts +22 -0
  77. package/dist/typescript/src/components/useForm.d.ts.map +1 -0
  78. package/dist/typescript/src/index.d.ts +4 -0
  79. package/dist/typescript/src/index.d.ts.map +1 -0
  80. package/dist/typescript/src/native.d.ts +2 -0
  81. package/dist/typescript/src/native.d.ts.map +1 -0
  82. package/{lib/typescript/src/index.d.ts → dist/typescript/src/sdk.d.ts} +1 -1
  83. package/dist/typescript/src/sdk.d.ts.map +1 -0
  84. package/package.json +33 -33
  85. package/src/components/Card/Card.tsx +155 -0
  86. package/src/components/Card/CardCVC.tsx +53 -0
  87. package/src/components/Card/CardExpiry.tsx +48 -0
  88. package/src/components/Card/CardHolder.tsx +46 -0
  89. package/src/components/Card/CardNumber.tsx +69 -0
  90. package/src/components/Card/context.tsx +25 -0
  91. package/src/components/Card/index.ts +1 -0
  92. package/src/components/Card/types.ts +52 -0
  93. package/src/components/Card/utilities.ts +103 -0
  94. package/src/components/useForm.tsx +172 -0
  95. package/src/index.tsx +10 -26
  96. package/src/native.ts +18 -0
  97. package/src/sdk.ts +25 -0
  98. package/lib/commonjs/index.js.map +0 -1
  99. package/lib/module/index.js.map +0 -1
  100. package/lib/typescript/src/index.d.ts.map +0 -1
@@ -0,0 +1,16 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const CardContext = /*#__PURE__*/createContext({
3
+ values: {
4
+ name: '',
5
+ number: '',
6
+ cvc: '',
7
+ expiry: ''
8
+ },
9
+ register: () => ({
10
+ onChange: () => {},
11
+ onBlur: () => {}
12
+ }),
13
+ setRegisteredFields: () => {}
14
+ });
15
+ export const useCardContext = () => useContext(CardContext);
16
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","useContext","CardContext","values","name","number","cvc","expiry","register","onChange","onBlur","setRegisteredFields","useCardContext"],"sourceRoot":"../../../../src","sources":["components/Card/context.tsx"],"mappings":"AACA,SAAmCA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAS3E,OAAO,MAAMC,WAAW,gBAAGF,aAAa,CAAoB;EAC1DG,MAAM,EAAE;IACNC,IAAI,EAAE,EAAE;IACRC,MAAM,EAAE,EAAE;IACVC,GAAG,EAAE,EAAE;IACPC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAEA,CAAA,MAAO;IACfC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;IAChBC,MAAM,EAAEA,CAAA,KAAM,CAAC;EACf,CAAC,CAAC;EACNC,mBAAmB,EAAEA,CAAA,KAAM,CAAC;AAC5B,CAAC,CAAC;AAEJ,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAMX,UAAU,CAACC,WAAW,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export { Card } from './Card';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Card"],"sourceRoot":"../../../../src","sources":["components/Card/index.ts"],"mappings":"AAAA,SAASA,IAAI,QAAwB,QAAQ","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Card/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,77 @@
1
+ import { validateNumber, validateExpiry, validateCVC } from '@evervault/card-validator';
2
+ export async function changePayload(encrypt, form, fields) {
3
+ const {
4
+ name,
5
+ number,
6
+ expiry,
7
+ cvc
8
+ } = form.values;
9
+ const {
10
+ brand,
11
+ localBrands,
12
+ bin,
13
+ lastFour,
14
+ isValid: isValidCardNumber
15
+ } = validateNumber(number);
16
+ return {
17
+ card: {
18
+ name,
19
+ brand,
20
+ localBrands,
21
+ bin,
22
+ lastFour,
23
+ number: isValidCardNumber ? await encryptedNumber(encrypt, number) : null,
24
+ expiry: formatExpiry(expiry),
25
+ cvc: await encryptedCVC(encrypt, cvc, number)
26
+ },
27
+ isValid: form.isValid,
28
+ isComplete: isComplete(form, fields),
29
+ errors: Object.keys(form.errors ?? {}).length > 0 ? form.errors : null
30
+ };
31
+ }
32
+ export function isComplete(form, fields) {
33
+ if (fields.includes('name')) {
34
+ if (form.values.name.length === 0) return false;
35
+ }
36
+ if (fields.includes('number')) {
37
+ const cardValidation = validateNumber(form.values.number);
38
+ if (!cardValidation.isValid) return false;
39
+ }
40
+ if (fields.includes('expiry')) {
41
+ const expiryValidation = validateExpiry(form.values.expiry);
42
+ if (!expiryValidation.isValid) return false;
43
+ }
44
+ if (fields.includes('cvc')) {
45
+ const cvcValidation = validateCVC(form.values.cvc, form.values.number);
46
+ if (!cvcValidation.isValid) return false;
47
+ }
48
+ return true;
49
+ }
50
+ export function isAcceptedBrand(acceptedBrands, cardNumberValidationResult) {
51
+ if (!acceptedBrands) return true;
52
+ const {
53
+ brand,
54
+ localBrands
55
+ } = cardNumberValidationResult;
56
+ const isBrandAccepted = brand !== null && acceptedBrands.includes(brand);
57
+ const isLocalBrandAccepted = localBrands.some(localBrand => acceptedBrands.includes(localBrand));
58
+ return isBrandAccepted || isLocalBrandAccepted;
59
+ }
60
+ function formatExpiry(expiry) {
61
+ const parsedExpiry = validateExpiry(expiry);
62
+ return {
63
+ month: parsedExpiry.month,
64
+ year: parsedExpiry.year
65
+ };
66
+ }
67
+ async function encryptedNumber(encrypt, number) {
68
+ return encrypt(number);
69
+ }
70
+ async function encryptedCVC(encrypt, cvc, cardNumber) {
71
+ const {
72
+ isValid
73
+ } = validateCVC(cvc, cardNumber);
74
+ if (!isValid) return null;
75
+ return encrypt(cvc);
76
+ }
77
+ //# sourceMappingURL=utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateNumber","validateExpiry","validateCVC","changePayload","encrypt","form","fields","name","number","expiry","cvc","values","brand","localBrands","bin","lastFour","isValid","isValidCardNumber","card","encryptedNumber","formatExpiry","encryptedCVC","isComplete","errors","Object","keys","length","includes","cardValidation","expiryValidation","cvcValidation","isAcceptedBrand","acceptedBrands","cardNumberValidationResult","isBrandAccepted","isLocalBrandAccepted","some","localBrand","parsedExpiry","month","year","cardNumber"],"sourceRoot":"../../../../src","sources":["components/Card/utilities.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,110 @@
1
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
+ export function useForm({
3
+ initialValues,
4
+ validate,
5
+ onChange
6
+ }) {
7
+ const validators = useRef(validate);
8
+ const triggerChange = useRef(false);
9
+ const [values, setValues] = useState(initialValues);
10
+ const [errors, setErrors] = useState({});
11
+
12
+ // keep track of latest validation functions in a ref to prevent
13
+ // re-renders when the function changes.
14
+ useEffect(() => {
15
+ validators.current = validate;
16
+ }, [validate]);
17
+ const setError = useCallback((field, error) => {
18
+ if (!error) {
19
+ setErrors(prev => {
20
+ if (!prev) return prev;
21
+ return Object.keys(prev).reduce((acc, key) => {
22
+ if (key === field) return acc;
23
+ return {
24
+ ...acc,
25
+ [key]: prev?.[key]
26
+ };
27
+ }, {});
28
+ });
29
+ return;
30
+ }
31
+ setErrors(prev => ({
32
+ ...prev,
33
+ [field]: error
34
+ }));
35
+ triggerChange.current = true;
36
+ }, []);
37
+ const setValue = useCallback((field, value) => {
38
+ if (errors?.[field]) {
39
+ setError(field, undefined);
40
+ }
41
+ setValues(previous => ({
42
+ ...previous,
43
+ [field]: value
44
+ }));
45
+ triggerChange.current = true;
46
+ }, [errors, setError]);
47
+ const isValid = useMemo(() => Object.keys(errors ?? {}).length === 0, [errors]);
48
+ const validateForm = useCallback(() => {
49
+ const nextErrors = Object.keys(values).reduce((acc, key) => {
50
+ const validator = validators.current?.[key];
51
+ if (validator) {
52
+ const error = validator(values);
53
+ if (error) {
54
+ return {
55
+ ...acc,
56
+ [key]: error
57
+ };
58
+ }
59
+ }
60
+ return acc;
61
+ }, {});
62
+ const hasErrors = Object.keys(nextErrors).length > 0;
63
+ setErrors(hasErrors ? nextErrors : null);
64
+
65
+ // iterate over the errors and if any of them are different then we should
66
+ // trigger a change event.
67
+ const shouldTriggerChange = Object.keys(nextErrors).some(key => {
68
+ const prevError = errors?.[key];
69
+ const nextError = nextErrors[key];
70
+ return prevError !== nextError;
71
+ });
72
+ triggerChange.current = shouldTriggerChange;
73
+ }, [errors, values]);
74
+ const validateField = useCallback(field => {
75
+ const validator = validators.current?.[field];
76
+ if (validator) {
77
+ const error = validator(values);
78
+ setError(field, error);
79
+ }
80
+ }, [values, setError]);
81
+ const register = useCallback(name => {
82
+ const handleBlur = () => {
83
+ validateField(name);
84
+ };
85
+ const handleChange = value => {
86
+ setValue(name, value);
87
+ };
88
+ return {
89
+ onBlur: handleBlur,
90
+ onChange: handleChange
91
+ };
92
+ }, [setValue, validateField]);
93
+ const form = useMemo(() => ({
94
+ values,
95
+ setValue,
96
+ errors,
97
+ setError,
98
+ isValid,
99
+ register,
100
+ setValues,
101
+ validate: validateForm
102
+ }), [values, setValue, errors, setError, isValid, register, validateForm]);
103
+ useEffect(() => {
104
+ if (!triggerChange.current) return;
105
+ triggerChange.current = false;
106
+ onChange?.(form);
107
+ }, [form, onChange]);
108
+ return form;
109
+ }
110
+ //# sourceMappingURL=useForm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","useForm","initialValues","validate","onChange","validators","triggerChange","values","setValues","errors","setErrors","current","setError","field","error","prev","Object","keys","reduce","acc","key","setValue","value","undefined","previous","isValid","length","validateForm","nextErrors","validator","hasErrors","shouldTriggerChange","some","prevError","nextError","validateField","register","name","handleBlur","handleChange","onBlur","form"],"sourceRoot":"../../../src","sources":["components/useForm.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export { Card } from './components/Card';
2
+ export { init, encrypt } from './sdk';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Card","init","encrypt"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAAyBA,IAAI,QAAQ,mBAAmB;AACxD,SAASC,IAAI,EAAEC,OAAO,QAAQ,OAAO","ignoreList":[]}
@@ -3,15 +3,9 @@ const LINKING_ERROR = `The package '@evervault/evervault-react-native' doesn't s
3
3
  ios: "- You have run 'pod install'\n",
4
4
  default: ''
5
5
  }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
6
- const EvervaultSdk = NativeModules.EvervaultSdk ? NativeModules.EvervaultSdk : new Proxy({}, {
6
+ export const EvervaultSdk = NativeModules.EvervaultSdk ? NativeModules.EvervaultSdk : new Proxy({}, {
7
7
  get() {
8
8
  throw new Error(LINKING_ERROR);
9
9
  }
10
10
  });
11
- export async function init(teamUuid, appUuid) {
12
- return EvervaultSdk.initialize(teamUuid, appUuid);
13
- }
14
- export async function encrypt(data) {
15
- return EvervaultSdk.encrypt(data);
16
- }
17
- //# sourceMappingURL=index.js.map
11
+ //# sourceMappingURL=native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","EvervaultSdk","Proxy","get","Error"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GAChB,4FAA2F,GAC5FD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,OAAO,MAAMC,YAAY,GAAGN,aAAa,CAACM,YAAY,GAClDN,aAAa,CAACM,YAAY,GAC1B,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ import { Platform } from 'react-native';
2
+ import { EvervaultSdk } from './native';
3
+ export async function init(teamUuid, appUuid) {
4
+ if (!teamUuid.startsWith('team_')) {
5
+ throw new Error("Invalid Evervault Team UUID");
6
+ }
7
+ if (!appUuid.startsWith('app_')) {
8
+ throw new Error("Invalid Evervault App UUID");
9
+ }
10
+ return EvervaultSdk.initialize(teamUuid, appUuid);
11
+ }
12
+ export async function encrypt(data) {
13
+ if (Platform.OS === 'android' && typeof data !== 'string') {
14
+ throw new Error(`The Evervault SDK does not currently support encrypting non-string data on Android.
15
+ If this is required for your use case, please get in touch with us at support@evervault.com. Please do not
16
+ serialize other data types to strings and pass them to this method as this will result in the data
17
+ type being returned in it's stringified form when decryption occurs.`);
18
+ }
19
+ return EvervaultSdk.encrypt(data);
20
+ }
21
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","EvervaultSdk","init","teamUuid","appUuid","startsWith","Error","initialize","encrypt","data","OS"],"sourceRoot":"../../src","sources":["sdk.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,YAAY,QAAQ,UAAU;AAEvC,OAAO,eAAeC,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,OAAOL,YAAY,CAACM,UAAU,CAACJ,QAAQ,EAAEC,OAAO,CAAC;AACnD;AAEA,OAAO,eAAeI,OAAOA,CAACC,IAAS,EAAmB;EACxD,IAAIT,QAAQ,CAACU,EAAE,KAAK,SAAS,IAAI,OAAOD,IAAI,KAAK,QAAQ,EAAE;IACzD,MAAM,IAAIH,KAAK,CAAE;AACrB;AACA;AACA,2EAA2E,CAAC;EAC1E;EAEA,OAAOL,YAAY,CAACO,OAAO,CAACC,IAAI,CAAC;AACnC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ import { ReactNode } from 'react';
2
+ import type { CardForm, CardConfig, CardPayload } from './types';
3
+ import { CardNumber } from './CardNumber';
4
+ import { CardHolder } from './CardHolder';
5
+ import { CardExpiry } from './CardExpiry';
6
+ import { StyleProp, TextStyle } from 'react-native';
7
+ export interface BaseProps {
8
+ disabled?: boolean;
9
+ placeholder?: string;
10
+ readOnly?: boolean;
11
+ style?: StyleProp<TextStyle>;
12
+ }
13
+ export interface CardProps {
14
+ initialValue?: CardForm;
15
+ config?: CardConfig;
16
+ children: ReactNode;
17
+ onChange?: (payload: CardPayload) => void;
18
+ onComplete?: (payload: CardPayload) => void;
19
+ style?: StyleProp<TextStyle>;
20
+ }
21
+ declare function Card({ initialValue, config, children, onChange, onComplete, style, }: CardProps): import("react").JSX.Element;
22
+ declare const CardNamespace: typeof Card & {
23
+ Number: typeof CardNumber;
24
+ CVC: ({ style, disabled, placeholder, readOnly, }: import("./CardCVC").CVCProps) => import("react").JSX.Element;
25
+ Holder: typeof CardHolder;
26
+ Expiry: typeof CardExpiry;
27
+ };
28
+ export { CardNamespace as Card };
29
+ //# sourceMappingURL=Card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/Card.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAGvD,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAa,WAAW,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAQ,MAAM,cAAc,CAAC;AAE1D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,iBAAS,IAAI,CAAC,EACZ,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,KAAK,GACN,EAAE,SAAS,+BAyGX;AAED,QAAA,MAAM,aAAa;;;;;CAKjB,CAAC;AAEH,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { BaseProps } from './Card';
3
+ export interface CVCProps extends BaseProps {
4
+ }
5
+ export declare const CardCVC: ({ style, disabled, placeholder, readOnly, }: CVCProps) => React.JSX.Element;
6
+ //# sourceMappingURL=CardCVC.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardCVC.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/CardCVC.tsx"],"names":[],"mappings":"AACA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,QAAS,SAAQ,SAAS;CAAI;AAE/C,eAAO,MAAM,OAAO,gDAKjB,QAAQ,sBAuCV,CAAC"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { BaseProps } from './Card';
3
+ export interface CardExpiryProps extends BaseProps {
4
+ }
5
+ export declare function CardExpiry({ disabled, placeholder, readOnly, style }: CardExpiryProps): import("react").JSX.Element;
6
+ //# sourceMappingURL=CardExpiry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardExpiry.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/CardExpiry.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,eAAgB,SAAQ,SAAS;CAAI;AAEtD,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,KAAK,EACN,EAAE,eAAe,+BAmCjB"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { BaseProps } from './Card';
3
+ export interface CardHolderProps extends BaseProps {
4
+ autoFocus?: boolean;
5
+ }
6
+ export declare function CardHolder({ autoFocus, disabled, placeholder, readOnly, style }: CardHolderProps): import("react").JSX.Element;
7
+ //# sourceMappingURL=CardHolder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardHolder.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/CardHolder.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,KAAK,EACN,EAAE,eAAe,+BA8BjB"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { BaseProps } from './Card';
3
+ interface CardNumberProps extends BaseProps {
4
+ autoFocus?: boolean;
5
+ }
6
+ export declare function CardNumber({ autoFocus, disabled, placeholder, readOnly, style, }: CardNumberProps): import("react").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=CardNumber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardNumber.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/CardNumber.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,UAAU,eAAgB,SAAQ,SAAS;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,KAAK,GACN,EAAE,eAAe,+BAoDjB"}
@@ -0,0 +1,12 @@
1
+ import { UseFormReturn } from '../useForm';
2
+ import { Dispatch, SetStateAction } from 'react';
3
+ import { CardForm, CardField } from './types';
4
+ type Context<T> = {
5
+ values: CardForm;
6
+ register: UseFormReturn<T>['register'];
7
+ setRegisteredFields: Dispatch<SetStateAction<Set<CardField>>>;
8
+ };
9
+ export declare const CardContext: import("react").Context<Context<CardForm>>;
10
+ export declare const useCardContext: () => Context<CardForm>;
11
+ export {};
12
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAA6B,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,OAAO,CAAC,CAAC,IAAI;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvC,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAC/D,CAAC;AAEF,eAAO,MAAM,WAAW,4CAYpB,CAAC;AAEL,eAAO,MAAM,cAAc,yBAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Card, type CardProps } from './Card';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,35 @@
1
+ export type CardBrandName = 'american-express' | 'visa' | 'mastercard' | 'discover' | 'jcb' | 'diners-club' | 'unionpay' | 'maestro' | 'mir' | 'elo' | 'hipercard' | 'hiper' | 'szep';
2
+ export interface CardConfig {
3
+ acceptedBrands?: CardBrandName[];
4
+ }
5
+ export interface CardForm {
6
+ name: string;
7
+ number: string;
8
+ cvc: string;
9
+ expiry: string;
10
+ }
11
+ export type CardField = 'name' | 'number' | 'expiry' | 'cvc';
12
+ export interface CardExpiry {
13
+ month: string | null;
14
+ year: string | null;
15
+ }
16
+ export interface CardPayload {
17
+ card: {
18
+ name: string | null;
19
+ brand: string | null;
20
+ localBrands: string[] | null;
21
+ number: string | null;
22
+ lastFour: string | null;
23
+ bin: string | null;
24
+ expiry: CardExpiry;
25
+ cvc: string | null;
26
+ };
27
+ isValid: boolean;
28
+ isComplete: boolean;
29
+ errors: null | Partial<{
30
+ number?: string;
31
+ cvc?: string;
32
+ expiry?: string;
33
+ }>;
34
+ }
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,kBAAkB,GAClB,MAAM,GACN,YAAY,GACZ,UAAU,GACV,KAAK,GACL,aAAa,GACb,UAAU,GACV,SAAS,GACT,KAAK,GACL,KAAK,GACL,WAAW,GACX,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,EAAE,UAAU,CAAC;QACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ"}
@@ -0,0 +1,7 @@
1
+ import { CardNumberValidationResult } from '@evervault/card-validator';
2
+ import type { CardForm, CardBrandName, CardField, CardPayload } from './types';
3
+ import { UseFormReturn } from '../useForm';
4
+ export declare function changePayload(encrypt: (value: string) => Promise<string>, form: UseFormReturn<CardForm>, fields: CardField[]): Promise<CardPayload>;
5
+ export declare function isComplete(form: UseFormReturn<CardForm>, fields: CardField[]): boolean;
6
+ export declare function isAcceptedBrand(acceptedBrands: CardBrandName[] | undefined, cardNumberValidationResult: CardNumberValidationResult): boolean;
7
+ //# sourceMappingURL=utilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../../../src/components/Card/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAsB,aAAa,CACjC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAC3C,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC7B,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,WAAW,CAAC,CAwBtB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,WAqB5E;AAED,wBAAgB,eAAe,CAC7B,cAAc,EAAE,aAAa,EAAE,GAAG,SAAS,EAC3C,0BAA0B,EAAE,0BAA0B,GACrD,OAAO,CAUT"}
@@ -0,0 +1,22 @@
1
+ /// <reference types="react" />
2
+ export interface UseFormReturn<T> {
3
+ values: T;
4
+ setValue: <K extends keyof T>(field: K, value: T[K]) => void;
5
+ setValues: React.Dispatch<React.SetStateAction<T>>;
6
+ errors: Partial<Record<keyof T, string>> | null;
7
+ setError: <K extends keyof T>(field: K, error: string | undefined) => void;
8
+ isValid: boolean;
9
+ validate: () => void;
10
+ register: <K extends keyof T>(name: K) => {
11
+ onChange: (value: T[K]) => void;
12
+ onBlur: (event: any) => void;
13
+ };
14
+ }
15
+ interface UseFormOptions<T> {
16
+ initialValues: T;
17
+ validate: Record<keyof T, (values: T) => string | undefined>;
18
+ onChange?: (values: UseFormReturn<T>) => void;
19
+ }
20
+ export declare function useForm<T extends object>({ initialValues, validate, onChange, }: UseFormOptions<T>): UseFormReturn<T>;
21
+ export {};
22
+ //# sourceMappingURL=useForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useForm.d.ts","sourceRoot":"","sources":["../../../../src/components/useForm.tsx"],"names":[],"mappings":";AAEA,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7D,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAC1B,IAAI,EAAE,CAAC,KACJ;QACH,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAEhC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;KAC9B,CAAC;CACH;AAED,UAAU,cAAc,CAAC,CAAC;IACxB,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC/C;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,EACxC,aAAa,EACb,QAAQ,EACR,QAAQ,GACT,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CA8ItC"}
@@ -0,0 +1,4 @@
1
+ export { type CardProps, Card } from './components/Card';
2
+ export { init, encrypt } from './sdk';
3
+ export type { CardPayload, CardExpiry, CardBrandName, CardConfig, CardForm, CardField, } from './components/Card/types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACtC,YAAY,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,GACV,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const EvervaultSdk: any;
2
+ //# sourceMappingURL=native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,KASpB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export declare function init(teamUuid: string, appUuid: string): Promise<void>;
2
2
  export declare function encrypt(data: any): Promise<string>;
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/sdk.ts"],"names":[],"mappings":"AAGA,wBAAsB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CASxD"}