@evervault/evervault-react-native 0.3.0 → 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 (134) hide show
  1. package/README.md +39 -50
  2. package/{lib → dist}/commonjs/components/Card/Card.js +2 -2
  3. package/dist/commonjs/components/Card/Card.js.map +1 -0
  4. package/{lib → dist}/commonjs/components/Card/CardCVC.js +7 -1
  5. package/dist/commonjs/components/Card/CardCVC.js.map +1 -0
  6. package/{lib → dist}/commonjs/components/Card/CardExpiry.js +13 -3
  7. package/dist/commonjs/components/Card/CardExpiry.js.map +1 -0
  8. package/{lib → dist}/commonjs/components/Card/CardHolder.js +8 -1
  9. package/dist/commonjs/components/Card/CardHolder.js.map +1 -0
  10. package/{lib → dist}/commonjs/components/Card/CardNumber.js +5 -0
  11. package/dist/commonjs/components/Card/CardNumber.js.map +1 -0
  12. package/{lib → dist}/commonjs/components/Card/context.js.map +1 -1
  13. package/{lib → dist}/commonjs/components/Card/index.js +0 -7
  14. package/dist/commonjs/components/Card/index.js.map +1 -0
  15. package/dist/commonjs/components/Card/types.js +2 -0
  16. package/{lib → dist}/commonjs/components/Card/types.js.map +1 -1
  17. package/{lib → dist}/commonjs/components/Card/utilities.js +2 -2
  18. package/dist/commonjs/components/Card/utilities.js.map +1 -0
  19. package/dist/commonjs/components/useForm.js +116 -0
  20. package/dist/commonjs/components/useForm.js.map +1 -0
  21. package/{lib → dist}/commonjs/index.js +1 -1
  22. package/{lib → dist}/commonjs/index.js.map +1 -1
  23. package/{lib → dist}/commonjs/native.js.map +1 -1
  24. package/{lib → dist}/commonjs/sdk.js +8 -2
  25. package/dist/commonjs/sdk.js.map +1 -0
  26. package/{lib → dist}/module/components/Card/Card.js +1 -1
  27. package/{lib → dist}/module/components/Card/Card.js.map +1 -1
  28. package/{lib → dist}/module/components/Card/CardCVC.js +6 -0
  29. package/dist/module/components/Card/CardCVC.js.map +1 -0
  30. package/{lib → dist}/module/components/Card/CardExpiry.js +13 -3
  31. package/dist/module/components/Card/CardExpiry.js.map +1 -0
  32. package/{lib → dist}/module/components/Card/CardHolder.js +8 -1
  33. package/dist/module/components/Card/CardHolder.js.map +1 -0
  34. package/{lib → dist}/module/components/Card/CardNumber.js +5 -0
  35. package/dist/module/components/Card/CardNumber.js.map +1 -0
  36. package/{lib → dist}/module/components/Card/context.js.map +1 -1
  37. package/dist/module/components/Card/index.js +2 -0
  38. package/dist/module/components/Card/index.js.map +1 -0
  39. package/dist/module/components/Card/types.js +2 -0
  40. package/{lib → dist}/module/components/Card/types.js.map +1 -1
  41. package/{lib → dist}/module/components/Card/utilities.js +2 -2
  42. package/dist/module/components/Card/utilities.js.map +1 -0
  43. package/dist/module/components/useForm.js +110 -0
  44. package/dist/module/components/useForm.js.map +1 -0
  45. package/dist/module/index.js +3 -0
  46. package/{lib → dist}/module/index.js.map +1 -1
  47. package/{lib → dist}/module/native.js.map +1 -1
  48. package/{lib → dist}/module/sdk.js +10 -4
  49. package/dist/module/sdk.js.map +1 -0
  50. package/{lib → dist}/typescript/src/components/Card/Card.d.ts +1 -2
  51. package/dist/typescript/src/components/Card/Card.d.ts.map +1 -0
  52. package/{lib → dist}/typescript/src/components/Card/CardCVC.d.ts.map +1 -1
  53. package/{lib → dist}/typescript/src/components/Card/CardExpiry.d.ts +1 -1
  54. package/{lib → dist}/typescript/src/components/Card/CardExpiry.d.ts.map +1 -1
  55. package/{lib → dist}/typescript/src/components/Card/CardHolder.d.ts +1 -1
  56. package/{lib → dist}/typescript/src/components/Card/CardHolder.d.ts.map +1 -1
  57. package/{lib → dist}/typescript/src/components/Card/CardNumber.d.ts.map +1 -1
  58. package/{lib → dist}/typescript/src/components/Card/context.d.ts +2 -3
  59. package/dist/typescript/src/components/Card/context.d.ts.map +1 -0
  60. package/dist/typescript/src/components/Card/index.d.ts +2 -0
  61. package/{lib → dist}/typescript/src/components/Card/index.d.ts.map +1 -1
  62. package/dist/typescript/src/components/Card/types.d.ts +35 -0
  63. package/dist/typescript/src/components/Card/types.d.ts.map +1 -0
  64. package/{lib → dist}/typescript/src/components/Card/utilities.d.ts +2 -3
  65. package/dist/typescript/src/components/Card/utilities.d.ts.map +1 -0
  66. package/dist/typescript/src/components/useForm.d.ts +22 -0
  67. package/dist/typescript/src/components/useForm.d.ts.map +1 -0
  68. package/dist/typescript/src/index.d.ts +4 -0
  69. package/dist/typescript/src/index.d.ts.map +1 -0
  70. package/{lib → dist}/typescript/src/native.d.ts.map +1 -1
  71. package/{lib → dist}/typescript/src/sdk.d.ts.map +1 -1
  72. package/package.json +12 -18
  73. package/src/components/Card/Card.tsx +2 -3
  74. package/src/components/Card/CardCVC.tsx +7 -1
  75. package/src/components/Card/CardExpiry.tsx +11 -2
  76. package/src/components/Card/CardHolder.tsx +7 -0
  77. package/src/components/Card/CardNumber.tsx +5 -0
  78. package/src/components/Card/context.tsx +7 -8
  79. package/src/components/Card/index.ts +0 -1
  80. package/src/components/Card/types.ts +40 -3
  81. package/src/components/Card/utilities.ts +4 -6
  82. package/src/components/useForm.tsx +172 -0
  83. package/src/index.tsx +9 -2
  84. package/src/native.ts +7 -7
  85. package/src/sdk.ts +12 -4
  86. package/lib/commonjs/components/Card/Card.js.map +0 -1
  87. package/lib/commonjs/components/Card/CardCVC.js.map +0 -1
  88. package/lib/commonjs/components/Card/CardExpiry.js.map +0 -1
  89. package/lib/commonjs/components/Card/CardHolder.js.map +0 -1
  90. package/lib/commonjs/components/Card/CardNumber.js.map +0 -1
  91. package/lib/commonjs/components/Card/index.js.map +0 -1
  92. package/lib/commonjs/components/Card/types.js +0 -6
  93. package/lib/commonjs/components/Card/utilities.js.map +0 -1
  94. package/lib/commonjs/components/Common/Error.js +0 -2
  95. package/lib/commonjs/components/Common/Error.js.map +0 -1
  96. package/lib/commonjs/components/index.js +0 -3
  97. package/lib/commonjs/components/index.js.map +0 -1
  98. package/lib/commonjs/sdk.js.map +0 -1
  99. package/lib/module/components/Card/CardCVC.js.map +0 -1
  100. package/lib/module/components/Card/CardExpiry.js.map +0 -1
  101. package/lib/module/components/Card/CardHolder.js.map +0 -1
  102. package/lib/module/components/Card/CardNumber.js.map +0 -1
  103. package/lib/module/components/Card/index.js +0 -3
  104. package/lib/module/components/Card/index.js.map +0 -1
  105. package/lib/module/components/Card/types.js +0 -2
  106. package/lib/module/components/Card/utilities.js.map +0 -1
  107. package/lib/module/components/Common/Error.js +0 -2
  108. package/lib/module/components/Common/Error.js.map +0 -1
  109. package/lib/module/components/index.js +0 -2
  110. package/lib/module/components/index.js.map +0 -1
  111. package/lib/module/index.js +0 -3
  112. package/lib/module/sdk.js.map +0 -1
  113. package/lib/typescript/src/components/Card/Card.d.ts.map +0 -1
  114. package/lib/typescript/src/components/Card/context.d.ts.map +0 -1
  115. package/lib/typescript/src/components/Card/index.d.ts +0 -3
  116. package/lib/typescript/src/components/Card/types.d.ts +0 -13
  117. package/lib/typescript/src/components/Card/types.d.ts.map +0 -1
  118. package/lib/typescript/src/components/Card/utilities.d.ts.map +0 -1
  119. package/lib/typescript/src/components/Common/Error.d.ts +0 -1
  120. package/lib/typescript/src/components/Common/Error.d.ts.map +0 -1
  121. package/lib/typescript/src/components/index.d.ts +0 -1
  122. package/lib/typescript/src/components/index.d.ts.map +0 -1
  123. package/lib/typescript/src/index.d.ts +0 -4
  124. package/lib/typescript/src/index.d.ts.map +0 -1
  125. package/src/components/Common/Error.tsx +0 -0
  126. package/src/components/index.ts +0 -1
  127. /package/{lib → dist}/commonjs/components/Card/context.js +0 -0
  128. /package/{lib → dist}/commonjs/native.js +0 -0
  129. /package/{lib → dist}/module/components/Card/context.js +0 -0
  130. /package/{lib → dist}/module/native.js +0 -0
  131. /package/{lib → dist}/typescript/src/components/Card/CardCVC.d.ts +0 -0
  132. /package/{lib → dist}/typescript/src/components/Card/CardNumber.d.ts +0 -0
  133. /package/{lib → dist}/typescript/src/native.d.ts +0 -0
  134. /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;AAU3E,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,CAAE,CAAC;IACnBC,MAAM,EAAEA,CAAA,KAAM,CAAE;EAClB,CAAC,CAAC;EACFC,mBAAmB,EAAEA,CAAA,KAAM,CAAE;AAC/B,CAAC,CAAC;AAEF,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAMX,UAAU,CAACC,WAAW,CAAC"}
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
@@ -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.replace(" / ", ""));
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.replace(" / ", ""));
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":[]}
@@ -0,0 +1,3 @@
1
+ export { Card } from './components/Card';
2
+ export { init, encrypt } from './sdk';
3
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Card","init","encrypt"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAAyBA,IAAI,QAAQ,wBAAwB;AAC7D,SAASC,IAAI,EAAEC,OAAO,QAAQ,OAAO"}
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,CACT,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC"}
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 "react-native";
2
- import { EvervaultSdk } from "./native";
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 === "android" && typeof data !== "string") {
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.toString());
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;CAAG;AAE9C,eAAO,MAAM,OAAO,gDAKjB,QAAQ,sBAiCV,CAAC"}
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;CAAG;AAErD,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,WAAW,EACX,QAAQ,GACT,EAAE,eAAe,+BA2BjB"}
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,GACT,EAAE,eAAe,+BAwBjB"}
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,+BA+CjB"}
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 'shared';
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"}
@@ -0,0 +1,2 @@
1
+ export { Card, type CardProps } from './Card';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,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 type { CardBrandName, CardField, CardPayload } from 'types';
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,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,KAStB,CAAC"}
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,CAE3E;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CASxD"}
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.0",
3
+ "version": "0.4.2",
4
4
  "description": "Evervault react native sdk",
5
- "main": "lib/commonjs/index",
6
- "module": "lib/module/index",
7
- "types": "lib/typescript/src/index.d.ts",
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
- "lib",
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": "Eoin Boylan <eoin@evervault.com> (https://evervault.com)",
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"
@@ -65,25 +65,19 @@
65
65
  "release-it": "^16.1.3",
66
66
  "turbo": "^1.10.7",
67
67
  "typescript": "^5.3.3",
68
- "@evervault/card-validator": "1.0.1",
69
- "shared": "1.0.0",
70
- "types": "0.0.0"
68
+ "@evervault/card-validator": "1.0.3"
71
69
  },
72
70
  "peerDependencies": {
73
71
  "react": "*",
74
72
  "react-native": "*"
75
73
  },
76
- "workspaces": [
77
- "example-usage"
78
- ],
79
74
  "engines": {
80
75
  "node": ">= 18.0.0"
81
76
  },
82
77
  "jest": {
83
78
  "preset": "react-native",
84
79
  "modulePathIgnorePatterns": [
85
- "<rootDir>/example-usage/node_modules",
86
- "<rootDir>/lib/"
80
+ "<rootDir>/dist/"
87
81
  ]
88
82
  },
89
83
  "commitlint": {
@@ -130,7 +124,7 @@
130
124
  },
131
125
  "eslintIgnore": [
132
126
  "node_modules/",
133
- "lib/"
127
+ "dist/"
134
128
  ],
135
129
  "prettier": {
136
130
  "quoteProps": "consistent",
@@ -141,8 +135,7 @@
141
135
  },
142
136
  "react-native-builder-bob": {
143
137
  "source": "src",
144
- "output": "lib",
145
- "exclude": "example-usage/**",
138
+ "output": "dist",
146
139
  "typescript": [
147
140
  {
148
141
  "project": "tsconfig.build.json"
@@ -163,8 +156,9 @@
163
156
  "react-native-masked-text": "^1.13.0"
164
157
  },
165
158
  "scripts": {
159
+ "build": "bob build",
166
160
  "typecheck": "tsc --noEmit",
167
- "clean": "del-cli android/build example-usage/android/build example-usage/android/app/build example-usage/ios/build lib",
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 'shared';
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
  />