@evervault/evervault-react-native 0.3.0 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -50
- package/{lib → dist}/commonjs/components/Card/Card.js +2 -2
- package/dist/commonjs/components/Card/Card.js.map +1 -0
- package/{lib → dist}/commonjs/components/Card/CardCVC.js +7 -1
- package/dist/commonjs/components/Card/CardCVC.js.map +1 -0
- package/{lib → dist}/commonjs/components/Card/CardExpiry.js +13 -3
- package/dist/commonjs/components/Card/CardExpiry.js.map +1 -0
- package/{lib → dist}/commonjs/components/Card/CardHolder.js +8 -1
- package/dist/commonjs/components/Card/CardHolder.js.map +1 -0
- package/{lib → dist}/commonjs/components/Card/CardNumber.js +5 -0
- package/dist/commonjs/components/Card/CardNumber.js.map +1 -0
- package/{lib → dist}/commonjs/components/Card/context.js.map +1 -1
- package/{lib → dist}/commonjs/components/Card/index.js +0 -7
- package/dist/commonjs/components/Card/index.js.map +1 -0
- package/dist/commonjs/components/Card/types.js +2 -0
- package/{lib → dist}/commonjs/components/Card/types.js.map +1 -1
- package/{lib → dist}/commonjs/components/Card/utilities.js +2 -2
- package/dist/commonjs/components/Card/utilities.js.map +1 -0
- package/dist/commonjs/components/useForm.js +116 -0
- package/dist/commonjs/components/useForm.js.map +1 -0
- package/{lib → dist}/commonjs/index.js +1 -1
- package/{lib → dist}/commonjs/index.js.map +1 -1
- package/{lib → dist}/commonjs/native.js.map +1 -1
- package/{lib → dist}/commonjs/sdk.js +8 -2
- package/dist/commonjs/sdk.js.map +1 -0
- package/{lib → dist}/module/components/Card/Card.js +1 -1
- package/{lib → dist}/module/components/Card/Card.js.map +1 -1
- package/{lib → dist}/module/components/Card/CardCVC.js +6 -0
- package/dist/module/components/Card/CardCVC.js.map +1 -0
- package/{lib → dist}/module/components/Card/CardExpiry.js +13 -3
- package/dist/module/components/Card/CardExpiry.js.map +1 -0
- package/{lib → dist}/module/components/Card/CardHolder.js +8 -1
- package/dist/module/components/Card/CardHolder.js.map +1 -0
- package/{lib → dist}/module/components/Card/CardNumber.js +5 -0
- package/dist/module/components/Card/CardNumber.js.map +1 -0
- package/{lib → dist}/module/components/Card/context.js.map +1 -1
- package/dist/module/components/Card/index.js +2 -0
- package/dist/module/components/Card/index.js.map +1 -0
- package/dist/module/components/Card/types.js +2 -0
- package/{lib → dist}/module/components/Card/types.js.map +1 -1
- package/{lib → dist}/module/components/Card/utilities.js +2 -2
- package/dist/module/components/Card/utilities.js.map +1 -0
- package/dist/module/components/useForm.js +110 -0
- package/dist/module/components/useForm.js.map +1 -0
- package/dist/module/index.js +3 -0
- package/{lib → dist}/module/index.js.map +1 -1
- package/{lib → dist}/module/native.js.map +1 -1
- package/{lib → dist}/module/sdk.js +10 -4
- package/dist/module/sdk.js.map +1 -0
- package/{lib → dist}/typescript/src/components/Card/Card.d.ts +1 -2
- package/dist/typescript/src/components/Card/Card.d.ts.map +1 -0
- package/{lib → dist}/typescript/src/components/Card/CardCVC.d.ts.map +1 -1
- package/{lib → dist}/typescript/src/components/Card/CardExpiry.d.ts +1 -1
- package/{lib → dist}/typescript/src/components/Card/CardExpiry.d.ts.map +1 -1
- package/{lib → dist}/typescript/src/components/Card/CardHolder.d.ts +1 -1
- package/{lib → dist}/typescript/src/components/Card/CardHolder.d.ts.map +1 -1
- package/{lib → dist}/typescript/src/components/Card/CardNumber.d.ts.map +1 -1
- package/{lib → dist}/typescript/src/components/Card/context.d.ts +2 -3
- package/dist/typescript/src/components/Card/context.d.ts.map +1 -0
- package/dist/typescript/src/components/Card/index.d.ts +2 -0
- package/{lib → dist}/typescript/src/components/Card/index.d.ts.map +1 -1
- package/dist/typescript/src/components/Card/types.d.ts +35 -0
- package/dist/typescript/src/components/Card/types.d.ts.map +1 -0
- package/{lib → dist}/typescript/src/components/Card/utilities.d.ts +2 -3
- package/dist/typescript/src/components/Card/utilities.d.ts.map +1 -0
- package/dist/typescript/src/components/useForm.d.ts +22 -0
- package/dist/typescript/src/components/useForm.d.ts.map +1 -0
- package/dist/typescript/src/index.d.ts +4 -0
- package/dist/typescript/src/index.d.ts.map +1 -0
- package/{lib → dist}/typescript/src/native.d.ts.map +1 -1
- package/{lib → dist}/typescript/src/sdk.d.ts.map +1 -1
- package/package.json +16 -22
- package/src/components/Card/Card.tsx +2 -3
- package/src/components/Card/CardCVC.tsx +7 -1
- package/src/components/Card/CardExpiry.tsx +11 -2
- package/src/components/Card/CardHolder.tsx +7 -0
- package/src/components/Card/CardNumber.tsx +5 -0
- package/src/components/Card/context.tsx +7 -8
- package/src/components/Card/index.ts +0 -1
- package/src/components/Card/types.ts +40 -3
- package/src/components/Card/utilities.ts +4 -6
- package/src/components/useForm.tsx +172 -0
- package/src/index.tsx +9 -2
- package/src/native.ts +7 -7
- package/src/sdk.ts +12 -4
- package/lib/commonjs/components/Card/Card.js.map +0 -1
- package/lib/commonjs/components/Card/CardCVC.js.map +0 -1
- package/lib/commonjs/components/Card/CardExpiry.js.map +0 -1
- package/lib/commonjs/components/Card/CardHolder.js.map +0 -1
- package/lib/commonjs/components/Card/CardNumber.js.map +0 -1
- package/lib/commonjs/components/Card/index.js.map +0 -1
- package/lib/commonjs/components/Card/types.js +0 -6
- package/lib/commonjs/components/Card/utilities.js.map +0 -1
- package/lib/commonjs/components/Common/Error.js +0 -2
- package/lib/commonjs/components/Common/Error.js.map +0 -1
- package/lib/commonjs/components/index.js +0 -3
- package/lib/commonjs/components/index.js.map +0 -1
- package/lib/commonjs/sdk.js.map +0 -1
- package/lib/module/components/Card/CardCVC.js.map +0 -1
- package/lib/module/components/Card/CardExpiry.js.map +0 -1
- package/lib/module/components/Card/CardHolder.js.map +0 -1
- package/lib/module/components/Card/CardNumber.js.map +0 -1
- package/lib/module/components/Card/index.js +0 -3
- package/lib/module/components/Card/index.js.map +0 -1
- package/lib/module/components/Card/types.js +0 -2
- package/lib/module/components/Card/utilities.js.map +0 -1
- package/lib/module/components/Common/Error.js +0 -2
- package/lib/module/components/Common/Error.js.map +0 -1
- package/lib/module/components/index.js +0 -2
- package/lib/module/components/index.js.map +0 -1
- package/lib/module/index.js +0 -3
- package/lib/module/sdk.js.map +0 -1
- package/lib/typescript/src/components/Card/Card.d.ts.map +0 -1
- package/lib/typescript/src/components/Card/context.d.ts.map +0 -1
- package/lib/typescript/src/components/Card/index.d.ts +0 -3
- package/lib/typescript/src/components/Card/types.d.ts +0 -13
- package/lib/typescript/src/components/Card/types.d.ts.map +0 -1
- package/lib/typescript/src/components/Card/utilities.d.ts.map +0 -1
- package/lib/typescript/src/components/Common/Error.d.ts +0 -1
- package/lib/typescript/src/components/Common/Error.d.ts.map +0 -1
- package/lib/typescript/src/components/index.d.ts +0 -1
- package/lib/typescript/src/components/index.d.ts.map +0 -1
- package/lib/typescript/src/index.d.ts +0 -4
- package/lib/typescript/src/index.d.ts.map +0 -1
- package/src/components/Common/Error.tsx +0 -0
- package/src/components/index.ts +0 -1
- /package/{lib → dist}/commonjs/components/Card/context.js +0 -0
- /package/{lib → dist}/commonjs/native.js +0 -0
- /package/{lib → dist}/module/components/Card/context.js +0 -0
- /package/{lib → dist}/module/native.js +0 -0
- /package/{lib → dist}/typescript/src/components/Card/CardCVC.d.ts +0 -0
- /package/{lib → dist}/typescript/src/components/Card/CardNumber.d.ts +0 -0
- /package/{lib → dist}/typescript/src/native.d.ts +0 -0
- /package/{lib → dist}/typescript/src/sdk.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TextInputMask","useCardContext","useEffect","CardExpiry","disabled","placeholder","readOnly","style","context","onBlur","onChange","register","setRegisteredFields","prev","Set","add","next","delete","React","createElement","type","value","values","expiry","editable","selectTextOnFocus","onChangeText","rawExpiry","replace","options","format","id","inputMode","autoComplete"],"sourceRoot":"../../../../src","sources":["components/Card/CardExpiry.tsx"],"mappings":"AAAA,SAASA,aAAa,QAAQ,0BAA0B;AACxD,SAASC,cAAc,QAAQ,WAAW;AAC1C,SAASC,SAAS,QAAQ,OAAO;AAKjC,OAAO,SAASC,UAAUA,CAAC;EACzBC,QAAQ;EACRC,WAAW;EACXC,QAAQ;EACRC;AACe,CAAC,EAAE;EAClB,MAAMC,OAAO,GAAGP,cAAc,CAAC,CAAC;EAEhC,MAAM;IAAEQ,MAAM;IAAEC;EAAS,CAAC,GAAGF,OAAO,CAACG,QAAQ,CAAC,QAAQ,CAAC;EAEvDT,SAAS,CAAC,MAAM;IACdM,OAAO,CAACI,mBAAmB,CAAEC,IAAI,IAAK,IAAIC,GAAG,CAACD,IAAI,CAAC,CAACE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClE,OAAO,MAAMP,OAAO,CAACI,mBAAmB,CAAEC,IAAI,IAAK;MACjD,MAAMG,IAAI,GAAG,IAAIF,GAAG,CAACD,IAAI,CAAC;MAC1BG,IAAI,CAACC,MAAM,CAAC,QAAQ,CAAC;MACrB,OAAOD,IAAI;IACb,CAAC,CAAC;IACF;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEE,KAAA,CAAAC,aAAA,CAACnB,aAAa;IACZO,KAAK,EAAEA,KAAM;IACba,IAAI,EAAC,UAAU;IACfC,KAAK,EAAEb,OAAO,CAACc,MAAM,CAACC,MAAO;IAC7BC,QAAQ,EAAEpB,QAAS;IACnBqB,iBAAiB,EAAErB;IACnB;IAAA;IACAsB,YAAY,EAAGC,SAAS,IAAKjB,QAAQ,CAACiB,SAAS,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE;IACpEC,OAAO,EAAE;MACPC,MAAM,EAAE;IACV,CAAE;IACFC,EAAE,EAAC,QAAQ;IACXtB,MAAM,EAAEA,MAAO;IACfJ,WAAW,EAAEA,WAAW,IAAI,SAAU;IACtC2B,SAAS,EAAC,SAAS;IACnBC,YAAY,EAAC,QAAQ;IACrB3B,QAAQ,EAAEA;EAAS,CACpB,CAAC;AAEN","ignoreList":[]}
|
|
@@ -5,7 +5,8 @@ export function CardHolder({
|
|
|
5
5
|
autoFocus,
|
|
6
6
|
disabled,
|
|
7
7
|
placeholder,
|
|
8
|
-
readOnly
|
|
8
|
+
readOnly,
|
|
9
|
+
style
|
|
9
10
|
}) {
|
|
10
11
|
const context = useCardContext();
|
|
11
12
|
const {
|
|
@@ -14,10 +15,16 @@ export function CardHolder({
|
|
|
14
15
|
} = context.register('name');
|
|
15
16
|
useEffect(() => {
|
|
16
17
|
context.setRegisteredFields(prev => new Set(prev).add('name'));
|
|
18
|
+
return () => context.setRegisteredFields(prev => {
|
|
19
|
+
const next = new Set(prev);
|
|
20
|
+
next.delete('name');
|
|
21
|
+
return next;
|
|
22
|
+
});
|
|
17
23
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
18
24
|
}, []);
|
|
19
25
|
return /*#__PURE__*/React.createElement(TextInput, {
|
|
20
26
|
id: "name",
|
|
27
|
+
style: style,
|
|
21
28
|
value: context.values.name,
|
|
22
29
|
readOnly: readOnly,
|
|
23
30
|
onBlur: onBlur,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","TextInput","useCardContext","CardHolder","autoFocus","disabled","placeholder","readOnly","style","context","onBlur","onChange","register","setRegisteredFields","prev","Set","add","next","delete","React","createElement","id","value","values","name","editable","selectTextOnFocus","autoComplete","onChangeText","v"],"sourceRoot":"../../../../src","sources":["components/Card/CardHolder.tsx"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,cAAc,QAAQ,WAAW;AAO1C,OAAO,SAASC,UAAUA,CAAC;EACzBC,SAAS;EACTC,QAAQ;EACRC,WAAW;EACXC,QAAQ;EACRC;AACe,CAAC,EAAE;EAClB,MAAMC,OAAO,GAAGP,cAAc,CAAC,CAAC;EAEhC,MAAM;IAAEQ,MAAM;IAAEC;EAAS,CAAC,GAAGF,OAAO,CAACG,QAAQ,CAAC,MAAM,CAAC;EAErDZ,SAAS,CAAC,MAAM;IACdS,OAAO,CAACI,mBAAmB,CAAEC,IAAI,IAAK,IAAIC,GAAG,CAACD,IAAI,CAAC,CAACE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,MAAMP,OAAO,CAACI,mBAAmB,CAAEC,IAAI,IAAK;MACjD,MAAMG,IAAI,GAAG,IAAIF,GAAG,CAACD,IAAI,CAAC;MAC1BG,IAAI,CAACC,MAAM,CAAC,MAAM,CAAC;MACnB,OAAOD,IAAI;IACb,CAAC,CAAC;IACF;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEE,KAAA,CAAAC,aAAA,CAACnB,SAAS;IACRoB,EAAE,EAAC,MAAM;IACTb,KAAK,EAAEA,KAAM;IACbc,KAAK,EAAEb,OAAO,CAACc,MAAM,CAACC,IAAK;IAC3BjB,QAAQ,EAAEA,QAAS;IACnBG,MAAM,EAAEA,MAAO;IACfN,SAAS,EAAEA,SAAU;IACrBqB,QAAQ,EAAEpB,QAAS;IACnBqB,iBAAiB,EAAErB,QAAS;IAC5BC,WAAW,EAAEA,WAAY;IACzBqB,YAAY,EAAC,SAAS;IACtBC,YAAY,EAAGC,CAAC,IAAKlB,QAAQ,CAACkB,CAAC;EAAE,CAClC,CAAC;AAEN","ignoreList":[]}
|
|
@@ -32,6 +32,11 @@ export function CardNumber({
|
|
|
32
32
|
} = context.register('number');
|
|
33
33
|
useEffect(() => {
|
|
34
34
|
context.setRegisteredFields(prev => new Set(prev).add('number'));
|
|
35
|
+
return () => context.setRegisteredFields(prev => {
|
|
36
|
+
const next = new Set(prev);
|
|
37
|
+
next.delete('name');
|
|
38
|
+
return next;
|
|
39
|
+
});
|
|
35
40
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
36
41
|
}, []);
|
|
37
42
|
return /*#__PURE__*/React.createElement(TextInputMask, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["validateNumber","useEffect","useMemo","useRef","TextInputMask","useCardContext","CardNumber","autoFocus","disabled","placeholder","readOnly","style","context","ref","innerValue","mask","value","values","number","brand","masks","default","onBlur","onChange","register","setRegisteredFields","prev","Set","add","next","delete","React","createElement","type","options","id","onChangeText","inputMode","editable","selectTextOnFocus","autoComplete"],"sourceRoot":"../../../../src","sources":["components/Card/CardNumber.tsx"],"mappings":"AAAA,SAASA,cAAc,QAAQ,2BAA2B;AAC1D,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAClD,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,cAAc,QAAQ,WAAW;AAO1C,OAAO,SAASC,UAAUA,CAAC;EACzBC,SAAS;EACTC,QAAQ;EACRC,WAAW;EACXC,QAAQ;EACRC;AACe,CAAC,EAAE;EAClB,MAAMC,OAAO,GAAGP,cAAc,CAAC,CAAC;EAChC,MAAMQ,GAAG,GAAGV,MAAM,CAAgB,IAAI,CAAC;EAEvC,MAAM,CAACW,UAAU,EAAEC,IAAI,CAAC,GAAGb,OAAO,CAAC,MAAM;IACvC,MAAMc,KAAK,GAAGJ,OAAO,CAACK,MAAM,CAACC,MAAM;IAEnC,MAAM;MAAEC;IAAM,CAAC,GAAGnB,cAAc,CAACgB,KAAK,CAAC;IAEvC,MAAMI,KAAK,GAAG;MACZ,SAAS,EAAE,qBAAqB;MAChC,UAAU,EAAE,yBAAyB;MACrC,kBAAkB,EAAE;IACtB,CAA2B;IAE3B,IAAID,KAAK,IAAI,CAAC,CAACC,KAAK,CAACD,KAAK,CAAC,EAAE;MAC3B,OAAO,CAACH,KAAK,EAAEI,KAAK,CAACD,KAAK,CAAC,CAAC;IAC9B;IACA,OAAO,CAACH,KAAK,EAAEI,KAAK,CAACC,OAAO,CAAC;EAC/B,CAAC,EAAE,CAACT,OAAO,CAACK,MAAM,CAACC,MAAM,CAAC,CAAC;EAE3B,MAAM;IAAEI,MAAM;IAAEC;EAAS,CAAC,GAAGX,OAAO,CAACY,QAAQ,CAAC,QAAQ,CAAC;EAEvDvB,SAAS,CAAC,MAAM;IACdW,OAAO,CAACa,mBAAmB,CAAEC,IAAI,IAAK,IAAIC,GAAG,CAACD,IAAI,CAAC,CAACE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClE,OAAO,MAAMhB,OAAO,CAACa,mBAAmB,CAAEC,IAAI,IAAK;MACjD,MAAMG,IAAI,GAAG,IAAIF,GAAG,CAACD,IAAI,CAAC;MAC1BG,IAAI,CAACC,MAAM,CAAC,MAAM,CAAC;MACnB,OAAOD,IAAI;IACb,CAAC,CAAC;IACF;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEE,KAAA,CAAAC,aAAA,CAAC5B,aAAa;IACZO,KAAK,EAAEA,KAAM;IACbE,GAAG,EAAEA,GAAI;IACToB,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAE;MAAEnB;IAAK,CAAE;IAClBoB,EAAE,EAAC,QAAQ;IACXnB,KAAK,EAAEF,UAAW;IAClBsB,YAAY,EAAEb,QAAS;IACvBD,MAAM,EAAEA,MAAO;IACfZ,QAAQ,EAAEA,QAAS;IACnB2B,SAAS,EAAC,SAAS;IACnB9B,SAAS,EAAEA,SAAU;IACrBE,WAAW,EAAEA,WAAY;IACzB6B,QAAQ,EAAE9B,QAAS;IACnB+B,iBAAiB,EAAE/B,QAAS;IAC5BgC,YAAY,EAAC;EAAW,CACzB,CAAC;AAEN","ignoreList":[]}
|
|
@@ -1 +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;
|
|
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 @@
|
|
|
1
|
+
{"version":3,"names":["Card"],"sourceRoot":"../../../../src","sources":["components/Card/index.ts"],"mappings":"AAAA,SAASA,IAAI,QAAwB,QAAQ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Card/types.ts"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Card/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -38,7 +38,7 @@ export function isComplete(form, fields) {
|
|
|
38
38
|
if (!cardValidation.isValid) return false;
|
|
39
39
|
}
|
|
40
40
|
if (fields.includes('expiry')) {
|
|
41
|
-
const expiryValidation = validateExpiry(form.values.expiry
|
|
41
|
+
const expiryValidation = validateExpiry(form.values.expiry);
|
|
42
42
|
if (!expiryValidation.isValid) return false;
|
|
43
43
|
}
|
|
44
44
|
if (fields.includes('cvc')) {
|
|
@@ -58,7 +58,7 @@ export function isAcceptedBrand(acceptedBrands, cardNumberValidationResult) {
|
|
|
58
58
|
return isBrandAccepted || isLocalBrandAccepted;
|
|
59
59
|
}
|
|
60
60
|
function formatExpiry(expiry) {
|
|
61
|
-
const parsedExpiry = validateExpiry(expiry
|
|
61
|
+
const parsedExpiry = validateExpiry(expiry);
|
|
62
62
|
return {
|
|
63
63
|
month: parsedExpiry.month,
|
|
64
64
|
year: parsedExpiry.year
|
|
@@ -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":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAyBzE,OAAO,SAASC,OAAOA,CAAmB;EACxCC,aAAa;EACbC,QAAQ;EACRC;AACiB,CAAC,EAAoB;EACtC,MAAMC,UAAU,GAAGN,MAAM,CAACI,QAAQ,CAAC;EACnC,MAAMG,aAAa,GAAGP,MAAM,CAAC,KAAK,CAAC;EACnC,MAAM,CAACQ,MAAM,EAAEC,SAAS,CAAC,GAAGR,QAAQ,CAAIE,aAAa,CAAC;EACtD,MAAM,CAACO,MAAM,EAAEC,SAAS,CAAC,GAAGV,QAAQ,CAClC,CAAC,CACH,CAAC;;EAED;EACA;EACAH,SAAS,CAAC,MAAM;IACdQ,UAAU,CAACM,OAAO,GAAGR,QAAQ;EAC/B,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,MAAMS,QAAQ,GAAGhB,WAAW,CAC1B,CAAoBiB,KAAQ,EAAEC,KAAyB,KAAK;IAC1D,IAAI,CAACA,KAAK,EAAE;MACVJ,SAAS,CAAEK,IAAI,IAAK;QAClB,IAAI,CAACA,IAAI,EAAE,OAAOA,IAAI;QACtB,OAAOC,MAAM,CAACC,IAAI,CAACF,IAAI,CAAC,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;UAC5C,IAAIA,GAAG,KAAKP,KAAK,EAAE,OAAOM,GAAG;UAE7B,OAAO;YACL,GAAGA,GAAG;YACN,CAACC,GAAG,GAAGL,IAAI,GAAGK,GAAG;UACnB,CAAC;QACH,CAAC,EAAE,CAAC,CAAC,CAAC;MACR,CAAC,CAAC;MACF;IACF;IAEAV,SAAS,CAAEK,IAAI,KAAM;MACnB,GAAGA,IAAI;MACP,CAACF,KAAK,GAAGC;IACX,CAAC,CAAC,CAAC;IAEHR,aAAa,CAACK,OAAO,GAAG,IAAI;EAC9B,CAAC,EACD,EACF,CAAC;EAED,MAAMU,QAAQ,GAAGzB,WAAW,CAC1B,CAAoBiB,KAAQ,EAAES,KAAW,KAAK;IAC5C,IAAIb,MAAM,GAAGI,KAAK,CAAC,EAAE;MACnBD,QAAQ,CAACC,KAAK,EAAEU,SAAS,CAAC;IAC5B;IAEAf,SAAS,CAAEgB,QAAQ,KAAM;MACvB,GAAGA,QAAQ;MACX,CAACX,KAAK,GAAGS;IACX,CAAC,CAAC,CAAC;IAEHhB,aAAa,CAACK,OAAO,GAAG,IAAI;EAC9B,CAAC,EACD,CAACF,MAAM,EAAEG,QAAQ,CACnB,CAAC;EAED,MAAMa,OAAO,GAAG3B,OAAO,CACrB,MAAMkB,MAAM,CAACC,IAAI,CAACR,MAAM,IAAI,CAAC,CAAC,CAAC,CAACiB,MAAM,KAAK,CAAC,EAC5C,CAACjB,MAAM,CACT,CAAC;EAED,MAAMkB,YAAY,GAAG/B,WAAW,CAAC,MAAM;IACrC,MAAMgC,UAAU,GAAGZ,MAAM,CAACC,IAAI,CAACV,MAAM,CAAC,CAACW,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;MAC1D,MAAMS,SAAS,GAAGxB,UAAU,CAACM,OAAO,GAAGS,GAAG,CAAY;MACtD,IAAIS,SAAS,EAAE;QACb,MAAMf,KAAK,GAAGe,SAAS,CAACtB,MAAM,CAAC;QAC/B,IAAIO,KAAK,EAAE;UACT,OAAO;YACL,GAAGK,GAAG;YACN,CAACC,GAAG,GAAGN;UACT,CAAC;QACH;MACF;MAEA,OAAOK,GAAG;IACZ,CAAC,EAAE,CAAC,CAA4B,CAAC;IAEjC,MAAMW,SAAS,GAAGd,MAAM,CAACC,IAAI,CAACW,UAAU,CAAC,CAACF,MAAM,GAAG,CAAC;IACpDhB,SAAS,CAACoB,SAAS,GAAGF,UAAU,GAAG,IAAI,CAAC;;IAExC;IACA;IACA,MAAMG,mBAAmB,GAAGf,MAAM,CAACC,IAAI,CAACW,UAAU,CAAC,CAACI,IAAI,CAAEZ,GAAG,IAAK;MAChE,MAAMa,SAAS,GAAGxB,MAAM,GAAGW,GAAG,CAAY;MAC1C,MAAMc,SAAS,GAAGN,UAAU,CAACR,GAAG,CAAY;MAC5C,OAAOa,SAAS,KAAKC,SAAS;IAChC,CAAC,CAAC;IAEF5B,aAAa,CAACK,OAAO,GAAGoB,mBAAmB;EAC7C,CAAC,EAAE,CAACtB,MAAM,EAAEF,MAAM,CAAC,CAAC;EAEpB,MAAM4B,aAAa,GAAGvC,WAAW,CACXiB,KAAQ,IAAK;IAC/B,MAAMgB,SAAS,GAAGxB,UAAU,CAACM,OAAO,GAAGE,KAAK,CAAC;IAC7C,IAAIgB,SAAS,EAAE;MACb,MAAMf,KAAK,GAAGe,SAAS,CAACtB,MAAM,CAAC;MAC/BK,QAAQ,CAACC,KAAK,EAAEC,KAAK,CAAC;IACxB;EACF,CAAC,EACD,CAACP,MAAM,EAAEK,QAAQ,CACnB,CAAC;EAED,MAAMwB,QAAQ,GAAGxC,WAAW,CACNyC,IAAO,IAAK;IAC9B,MAAMC,UAAU,GAAGA,CAAA,KAAM;MACvBH,aAAa,CAACE,IAAI,CAAC;IACrB,CAAC;IAED,MAAME,YAAY,GAAIjB,KAAW,IAAK;MACpCD,QAAQ,CAACgB,IAAI,EAAEf,KAAK,CAAC;IACvB,CAAC;IAED,OAAO;MACLkB,MAAM,EAAEF,UAAU;MAClBlC,QAAQ,EAAEmC;IACZ,CAAC;EACH,CAAC,EACD,CAAClB,QAAQ,EAAEc,aAAa,CAC1B,CAAC;EAED,MAAMM,IAAI,GAAG3C,OAAO,CAClB,OAAO;IACLS,MAAM;IACNc,QAAQ;IACRZ,MAAM;IACNG,QAAQ;IACRa,OAAO;IACPW,QAAQ;IACR5B,SAAS;IACTL,QAAQ,EAAEwB;EACZ,CAAC,CAAC,EACF,CAACpB,MAAM,EAAEc,QAAQ,EAAEZ,MAAM,EAAEG,QAAQ,EAAEa,OAAO,EAAEW,QAAQ,EAAET,YAAY,CACtE,CAAC;EAED9B,SAAS,CAAC,MAAM;IACd,IAAI,CAACS,aAAa,CAACK,OAAO,EAAE;IAC5BL,aAAa,CAACK,OAAO,GAAG,KAAK;IAC7BP,QAAQ,GAAGqC,IAAI,CAAC;EAClB,CAAC,EAAE,CAACA,IAAI,EAAErC,QAAQ,CAAC,CAAC;EAEpB,OAAOqC,IAAI;AACb","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Card","init","encrypt"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAAyBA,IAAI,QAAQ,
|
|
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":[]}
|
|
@@ -1 +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,
|
|
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":[]}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
-
import { Platform } from
|
|
2
|
-
import { EvervaultSdk } from
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import { EvervaultSdk } from './native';
|
|
3
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
|
+
}
|
|
4
10
|
return EvervaultSdk.initialize(teamUuid, appUuid);
|
|
5
11
|
}
|
|
6
12
|
export async function encrypt(data) {
|
|
7
|
-
if (Platform.OS ===
|
|
13
|
+
if (Platform.OS === 'android' && typeof data !== 'string') {
|
|
8
14
|
throw new Error(`The Evervault SDK does not currently support encrypting non-string data on Android.
|
|
9
15
|
If this is required for your use case, please get in touch with us at support@evervault.com. Please do not
|
|
10
16
|
serialize other data types to strings and pass them to this method as this will result in the data
|
|
11
17
|
type being returned in it's stringified form when decryption occurs.`);
|
|
12
18
|
}
|
|
13
|
-
return EvervaultSdk.encrypt(data
|
|
19
|
+
return EvervaultSdk.encrypt(data);
|
|
14
20
|
}
|
|
15
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":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import type { CardForm, CardConfig } from './types';
|
|
2
|
+
import type { CardForm, CardConfig, CardPayload } from './types';
|
|
3
3
|
import { CardNumber } from './CardNumber';
|
|
4
|
-
import { CardPayload } from 'types';
|
|
5
4
|
import { CardHolder } from './CardHolder';
|
|
6
5
|
import { CardExpiry } from './CardExpiry';
|
|
7
6
|
import { StyleProp, TextStyle } from 'react-native';
|
|
@@ -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"}
|
|
@@ -1 +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;
|
|
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"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import { BaseProps } from './Card';
|
|
3
3
|
export interface CardExpiryProps extends BaseProps {
|
|
4
4
|
}
|
|
5
|
-
export declare function CardExpiry({ disabled, placeholder, readOnly, }: CardExpiryProps): import("react").JSX.Element;
|
|
5
|
+
export declare function CardExpiry({ disabled, placeholder, readOnly, style }: CardExpiryProps): import("react").JSX.Element;
|
|
6
6
|
//# sourceMappingURL=CardExpiry.d.ts.map
|
|
@@ -1 +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;
|
|
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"}
|
|
@@ -3,5 +3,5 @@ import { BaseProps } from './Card';
|
|
|
3
3
|
export interface CardHolderProps extends BaseProps {
|
|
4
4
|
autoFocus?: boolean;
|
|
5
5
|
}
|
|
6
|
-
export declare function CardHolder({ autoFocus, disabled, placeholder, readOnly, }: CardHolderProps): import("react").JSX.Element;
|
|
6
|
+
export declare function CardHolder({ autoFocus, disabled, placeholder, readOnly, style }: CardHolderProps): import("react").JSX.Element;
|
|
7
7
|
//# sourceMappingURL=CardHolder.d.ts.map
|
|
@@ -1 +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,
|
|
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"}
|
|
@@ -1 +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,+
|
|
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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { UseFormReturn } from '
|
|
1
|
+
import { UseFormReturn } from '../useForm';
|
|
2
2
|
import { Dispatch, SetStateAction } from 'react';
|
|
3
|
-
import { CardForm } from './types';
|
|
4
|
-
import { CardField } from 'types';
|
|
3
|
+
import { CardForm, CardField } from './types';
|
|
5
4
|
type Context<T> = {
|
|
6
5
|
values: CardForm;
|
|
7
6
|
register: UseFormReturn<T>['register'];
|
|
@@ -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"}
|
|
@@ -1 +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
|
|
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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { CardNumberValidationResult } from '@evervault/card-validator';
|
|
2
|
-
import type { CardForm } from './types';
|
|
3
|
-
import
|
|
4
|
-
import { UseFormReturn } from 'shared';
|
|
2
|
+
import type { CardForm, CardBrandName, CardField, CardPayload } from './types';
|
|
3
|
+
import { UseFormReturn } from '../useForm';
|
|
5
4
|
export declare function changePayload(encrypt: (value: string) => Promise<string>, form: UseFormReturn<CardForm>, fields: CardField[]): Promise<CardPayload>;
|
|
6
5
|
export declare function isComplete(form: UseFormReturn<CardForm>, fields: CardField[]): boolean;
|
|
7
6
|
export declare function isAcceptedBrand(acceptedBrands: CardBrandName[] | undefined, cardNumberValidationResult: CardNumberValidationResult): boolean;
|
|
@@ -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 @@
|
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,KASpB,CAAC"}
|
|
@@ -1 +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,
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evervault/evervault-react-native",
|
|
3
|
-
"version": "0.3
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "Evervault react native sdk",
|
|
5
|
-
"main": "
|
|
6
|
-
"module": "
|
|
7
|
-
"types": "
|
|
5
|
+
"main": "dist/commonjs/index",
|
|
6
|
+
"module": "dist/module/index",
|
|
7
|
+
"types": "dist/typescript/src/index.d.ts",
|
|
8
8
|
"react-native": "src/index",
|
|
9
9
|
"source": "src/index",
|
|
10
10
|
"files": [
|
|
11
11
|
"src",
|
|
12
|
-
"
|
|
12
|
+
"dist",
|
|
13
13
|
"android",
|
|
14
14
|
"ios",
|
|
15
15
|
"cpp",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"type": "git",
|
|
35
35
|
"url": "git+https://github.com/evervault/evervault-js.git"
|
|
36
36
|
},
|
|
37
|
-
"author": "
|
|
37
|
+
"author": "Engineering <engineering@evervault.com> (https://evervault.com)",
|
|
38
38
|
"license": "MIT",
|
|
39
39
|
"bugs": {
|
|
40
40
|
"url": "https://github.com/evervault/evervault-js/issues"
|
|
@@ -44,6 +44,10 @@
|
|
|
44
44
|
"registry": "https://registry.npmjs.org/",
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"react-native-masked-text": "^1.13.0",
|
|
49
|
+
"@evervault/card-validator": "1.0.3"
|
|
50
|
+
},
|
|
47
51
|
"devDependencies": {
|
|
48
52
|
"@commitlint/config-conventional": "^17.0.2",
|
|
49
53
|
"@react-native/eslint-config": "^0.72.2",
|
|
@@ -64,26 +68,19 @@
|
|
|
64
68
|
"react-native-mask-input": "^1.2.3",
|
|
65
69
|
"release-it": "^16.1.3",
|
|
66
70
|
"turbo": "^1.10.7",
|
|
67
|
-
"typescript": "^5.3.3"
|
|
68
|
-
"@evervault/card-validator": "1.0.1",
|
|
69
|
-
"shared": "1.0.0",
|
|
70
|
-
"types": "0.0.0"
|
|
71
|
+
"typescript": "^5.3.3"
|
|
71
72
|
},
|
|
72
73
|
"peerDependencies": {
|
|
73
74
|
"react": "*",
|
|
74
75
|
"react-native": "*"
|
|
75
76
|
},
|
|
76
|
-
"workspaces": [
|
|
77
|
-
"example-usage"
|
|
78
|
-
],
|
|
79
77
|
"engines": {
|
|
80
78
|
"node": ">= 18.0.0"
|
|
81
79
|
},
|
|
82
80
|
"jest": {
|
|
83
81
|
"preset": "react-native",
|
|
84
82
|
"modulePathIgnorePatterns": [
|
|
85
|
-
"<rootDir>/
|
|
86
|
-
"<rootDir>/lib/"
|
|
83
|
+
"<rootDir>/dist/"
|
|
87
84
|
]
|
|
88
85
|
},
|
|
89
86
|
"commitlint": {
|
|
@@ -130,7 +127,7 @@
|
|
|
130
127
|
},
|
|
131
128
|
"eslintIgnore": [
|
|
132
129
|
"node_modules/",
|
|
133
|
-
"
|
|
130
|
+
"dist/"
|
|
134
131
|
],
|
|
135
132
|
"prettier": {
|
|
136
133
|
"quoteProps": "consistent",
|
|
@@ -141,8 +138,7 @@
|
|
|
141
138
|
},
|
|
142
139
|
"react-native-builder-bob": {
|
|
143
140
|
"source": "src",
|
|
144
|
-
"output": "
|
|
145
|
-
"exclude": "example-usage/**",
|
|
141
|
+
"output": "dist",
|
|
146
142
|
"typescript": [
|
|
147
143
|
{
|
|
148
144
|
"project": "tsconfig.build.json"
|
|
@@ -159,12 +155,10 @@
|
|
|
159
155
|
]
|
|
160
156
|
]
|
|
161
157
|
},
|
|
162
|
-
"dependencies": {
|
|
163
|
-
"react-native-masked-text": "^1.13.0"
|
|
164
|
-
},
|
|
165
158
|
"scripts": {
|
|
159
|
+
"build": "bob build",
|
|
166
160
|
"typecheck": "tsc --noEmit",
|
|
167
|
-
"clean": "del-cli android/build
|
|
161
|
+
"clean": "del-cli android/build dist",
|
|
168
162
|
"release": "release-it"
|
|
169
163
|
}
|
|
170
164
|
}
|
|
@@ -4,12 +4,11 @@ import {
|
|
|
4
4
|
validateExpiry,
|
|
5
5
|
} from '@evervault/card-validator';
|
|
6
6
|
import { ReactNode, useEffect, useState } from 'react';
|
|
7
|
-
import { useForm } from '
|
|
7
|
+
import { useForm } from '../useForm';
|
|
8
8
|
import { changePayload, isAcceptedBrand, isComplete } from './utilities';
|
|
9
|
-
import type { CardForm, CardConfig } from './types';
|
|
9
|
+
import type { CardForm, CardConfig, CardField, CardPayload } from './types';
|
|
10
10
|
import { CardNumber } from './CardNumber';
|
|
11
11
|
import { CardContext } from './context';
|
|
12
|
-
import { CardField, CardPayload } from 'types';
|
|
13
12
|
import { encrypt } from '../../sdk';
|
|
14
13
|
import { CardCVC } from './CardCVC';
|
|
15
14
|
import { CardHolder } from './CardHolder';
|
|
@@ -4,7 +4,7 @@ import { TextInputMask } from 'react-native-masked-text';
|
|
|
4
4
|
import { useCardContext } from './context';
|
|
5
5
|
import { BaseProps } from './Card';
|
|
6
6
|
|
|
7
|
-
export interface CVCProps extends BaseProps {}
|
|
7
|
+
export interface CVCProps extends BaseProps { }
|
|
8
8
|
|
|
9
9
|
export const CardCVC = ({
|
|
10
10
|
style,
|
|
@@ -25,6 +25,11 @@ export const CardCVC = ({
|
|
|
25
25
|
|
|
26
26
|
useEffect(() => {
|
|
27
27
|
context.setRegisteredFields((prev) => new Set(prev).add('cvc'));
|
|
28
|
+
return () => context.setRegisteredFields((prev) => {
|
|
29
|
+
const next = new Set(prev);
|
|
30
|
+
next.delete('cvc');
|
|
31
|
+
return next;
|
|
32
|
+
});
|
|
28
33
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
34
|
}, []);
|
|
30
35
|
|
|
@@ -40,6 +45,7 @@ export const CardCVC = ({
|
|
|
40
45
|
selectTextOnFocus={disabled}
|
|
41
46
|
onBlur={onBlur}
|
|
42
47
|
placeholder={placeholder}
|
|
48
|
+
inputMode="numeric"
|
|
43
49
|
autoComplete="cc-csc"
|
|
44
50
|
readOnly={readOnly}
|
|
45
51
|
/>
|