@evervault/react-native 2.2.0 → 2.2.1

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.
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod";
2
2
  import { CardBrandName } from "./types";
3
- export declare function getCardFormSchema(acceptedBrands: CardBrandName[]): z.ZodEffects<z.ZodObject<{
3
+ export declare function getCardFormSchema(acceptedBrands: CardBrandName[]): z.ZodObject<{
4
4
  name: z.ZodString;
5
- number: z.ZodEffects<z.ZodString, string, string>;
5
+ number: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
6
6
  expiry: z.ZodEffects<z.ZodString, string, string>;
7
7
  cvc: z.ZodEffects<z.ZodString, string, string>;
8
8
  }, "strip", z.ZodTypeAny, {
@@ -15,16 +15,6 @@ export declare function getCardFormSchema(acceptedBrands: CardBrandName[]): z.Zo
15
15
  name: string;
16
16
  expiry: string;
17
17
  cvc: string;
18
- }>, {
19
- number: string;
20
- name: string;
21
- expiry: string;
22
- cvc: string;
23
- }, {
24
- number: string;
25
- name: string;
26
- expiry: string;
27
- cvc: string;
28
18
  }>;
29
19
  export type CardFormValues = z.infer<ReturnType<typeof getCardFormSchema>>;
30
20
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/Card/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;GAuChE;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/Card/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,aAAa,EAAE;;;;;;;;;;;;;;;GA6BhE;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC"}
@@ -1,6 +1,12 @@
1
1
  export declare const CARD_BRAND_NAMES: readonly ["american-express", "visa", "mastercard", "discover", "jcb", "diners-club", "unionpay", "maestro", "mir", "elo", "hipercard", "hiper", "szep", "uatp"];
2
2
  export type CardBrandName = (typeof CARD_BRAND_NAMES)[number];
3
3
  export interface CardConfig {
4
+ /**
5
+ * The brands that are accepted by the card form.
6
+ * Pass an empty array to accept all brands.
7
+ *
8
+ * @default []
9
+ */
4
10
  acceptedBrands?: CardBrandName[];
5
11
  }
6
12
  export type CardField = "name" | "number" | "expiry" | "cvc";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Card/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,kKAenB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;QAC5B,WAAW,EAAE,aAAa,EAAE,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,GAAG,IAAI,CAAC;QAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/Card/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,kKAenB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;QAC5B,WAAW,EAAE,aAAa,EAAE,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,GAAG,IAAI,CAAC;QAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/Card/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAAO,MAAM,QAAQ,CAAC;AAE7C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACpC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,EACnC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAsDtB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,WAqBpE;AAED,wBAAgB,eAAe,CAC7B,cAAc,EAAE,aAAa,EAAE,GAAG,SAAS,EAC3C,0BAA0B,EAAE,0BAA0B,GACrD,OAAO,CAYT;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM;;;SAW1C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/Card/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAAO,MAAM,QAAQ,CAAC;AAE7C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACpC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,EACnC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAsDtB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,WAqBpE;AAED,wBAAgB,eAAe,CAC7B,cAAc,EAAE,aAAa,EAAE,GAAG,SAAS,EAC3C,0BAA0B,EAAE,0BAA0B,GACrD,OAAO,CAcT;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM;;;SAW1C"}
@@ -7125,6 +7125,8 @@ function areValuesComplete(values) {
7125
7125
  function isAcceptedBrand(acceptedBrands, cardNumberValidationResult) {
7126
7126
  if (!acceptedBrands?.length)
7127
7127
  return true;
7128
+ if (!cardNumberValidationResult.isValid)
7129
+ return false;
7128
7130
  const { brand, localBrands } = cardNumberValidationResult;
7129
7131
  const acceptedBrandsSet = new Set(acceptedBrands);
7130
7132
  const isBrandAccepted = brand !== null && acceptedBrandsSet.has(brand);
@@ -7143,15 +7145,15 @@ function formatExpiry(expiry) {
7143
7145
  }
7144
7146
 
7145
7147
  function getCardFormSchema(acceptedBrands) {
7146
- return z
7147
- .object({
7148
+ return z.object({
7148
7149
  name: z.string().min(1, "Missing name"),
7149
7150
  number: z
7150
7151
  .string()
7151
7152
  .min(1, "Required")
7152
7153
  .refine((value) => f(value).isValid, {
7153
7154
  message: "Invalid card number",
7154
- }),
7155
+ })
7156
+ .refine((value) => isAcceptedBrand(acceptedBrands, f(value)), { message: "Brand not accepted" }),
7155
7157
  expiry: z
7156
7158
  .string()
7157
7159
  .min(1, "Required")
@@ -7164,19 +7166,6 @@ function getCardFormSchema(acceptedBrands) {
7164
7166
  .refine((value) => C(value).isValid, {
7165
7167
  message: "Invalid CVC",
7166
7168
  }),
7167
- })
7168
- .superRefine((value, ctx) => {
7169
- const validation = f(value.number);
7170
- if (!validation.isValid)
7171
- return;
7172
- const isAccepted = isAcceptedBrand(acceptedBrands, validation);
7173
- if (!isAccepted) {
7174
- ctx.addIssue({
7175
- code: z.ZodIssueCode.custom,
7176
- message: "Brand not accepted",
7177
- path: ["number"],
7178
- });
7179
- }
7180
7169
  });
7181
7170
  }
7182
7171