@lets-events/react 11.7.0 → 11.7.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,5 +1,5 @@
1
1
 
2
- > @lets-events/react@11.7.0 build
2
+ > @lets-events/react@11.7.1 build
3
3
  > tsup src/index.tsx --format esm,cjs --dts --external react
4
4
 
5
5
  CLI Building entry: src/index.tsx
@@ -8,11 +8,11 @@
8
8
  CLI Target: es6
9
9
  ESM Build start
10
10
  CJS Build start
11
+ CJS dist\index.js 332.02 KB
12
+ CJS ⚡️ Build success in 316ms
13
+ ESM dist\index.mjs 319.88 KB
14
+ ESM ⚡️ Build success in 318ms
11
15
  DTS Build start
12
- ESM dist\index.mjs 319.18 KB
13
- ESM ⚡️ Build success in 516ms
14
- CJS dist\index.js 331.25 KB
15
- CJS ⚡️ Build success in 517ms
16
- DTS ⚡️ Build success in 4249ms
17
- DTS dist\index.d.mts 383.30 KB
18
- DTS dist\index.d.ts 383.30 KB
16
+ DTS ⚡️ Build success in 4206ms
17
+ DTS dist\index.d.mts 383.55 KB
18
+ DTS dist\index.d.ts 383.55 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @lets-events/react
2
2
 
3
+ ## 11.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - email input
8
+
3
9
  ## 11.7.0
4
10
 
5
11
  ### Minor Changes
package/dist/index.d.mts CHANGED
@@ -14664,4 +14664,11 @@ type SelectFormFieldProps = {
14664
14664
  };
14665
14665
  declare const SelectFormField: ({ name, label, required, placeholder, options, validation, validationErrorMessage, defaultValue, }: SelectFormFieldProps) => react_jsx_runtime.JSX.Element;
14666
14666
 
14667
- export { AddressFormFields, Alert, AlertDialogCompleteStyled, AlertDialogDescriptionStyled, AlertDialogRowStyled, AlertDialogSimpleStyled, AlertDialogSubtitleStyled, AlertDialogTitleStyled, AlertDialoghrStyled, type AlertProps, Avatar, type AvatarProps, AvatarStyled, Badge, type BadgeProps, BadgeStyled, BirthDateFormField, Box, Button, ButtonGroup, type ButtonGroupProps, ButtonGroupStyled, ButtonItem, type ButtonItemProps, ButtonItemStyled, type ButtonProps, CNPJFormField, CPFFormField, Calendar, type CalendarProps, Card, type CardProps, CardStyled, CheckboxGroup, CheckboxGroupFormField, type CheckboxGroupFormFieldProps, type CheckboxGroupProps, CheckboxGroupStyled, CheckboxItem, type CheckboxItemProps, Container, type ContainerProps, ContainerStyled, CountryFormField, Drawer, type DrawerProps, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuProps, ErrorFormMessage, type ErrorFormMessageProps, Filter, FilterItem, type FilterItemProps, type FilterProps, Flex, type FlexProps, FlexStyled, Form, FormLabel, type FormLabelProps, type FormProps, Grid, type GridProps, GridStyled, Icon, IdentityDocumentNumberFormField, InputStyled, MenuDropdown, type MenuDropdownProps, Modal, type ModalProps, MultiSelect, MultiSelectFormField, type MultiSelectFormFieldProps, type MultiSelectProps, PhoneFormField, type PhoneFormFieldProps, RadioGroup, RadioGroupFormField, type RadioGroupFormFieldProps, type RadioGroupProps, RadioGroupStyled, RadioItem, type RadioItemProps, Section, type SectionProps, SectionStyled, SelectFormField, type SelectFormFieldProps, Step, StepContent, StepList, type StepProps, StepStyled, StepTrigger, StepWrapper, Switch, type SwitchProps, SwitchStyled, Text, TextAreaFormField, type TextAreaFormFieldProps, TextField, type TextFieldProps, TextFieldSlot, type TextFieldSlotProps, TextFieldSlotStyled, TextFieldStyled, TextFormField, type TextFormFieldProps, type TextProps, TextStyle, TextareaField, type TextareaFieldProps, TextareaFieldStyle, TimePicker, TimePickerButtonStyled, TimePickerDropdownStyled, TimePickerFooterStyled, type TimePickerProps, TimePickerStyled, TimerPickerContentStyled, type Toast, type ToastComponentProps, type ToastConfig, type ToastContextType, ToastItem, type ToastOptions, ToastProvider, type ToastProviderProps, type ToastType, type ToasterShowOptions, Tooltip, TooltipContent, type TooltipProps, TooltipProvider, TooltipRoot, TooltipTrigger, isValidCNPJ, maskFormat, maskUnformat, useToast };
14667
+ type EmailFormFieldProps = {
14668
+ name: string;
14669
+ label?: string;
14670
+ required?: boolean;
14671
+ };
14672
+ declare const EmailFormField: ({ name, label, required, }: EmailFormFieldProps) => react_jsx_runtime.JSX.Element;
14673
+
14674
+ export { AddressFormFields, Alert, AlertDialogCompleteStyled, AlertDialogDescriptionStyled, AlertDialogRowStyled, AlertDialogSimpleStyled, AlertDialogSubtitleStyled, AlertDialogTitleStyled, AlertDialoghrStyled, type AlertProps, Avatar, type AvatarProps, AvatarStyled, Badge, type BadgeProps, BadgeStyled, BirthDateFormField, Box, Button, ButtonGroup, type ButtonGroupProps, ButtonGroupStyled, ButtonItem, type ButtonItemProps, ButtonItemStyled, type ButtonProps, CNPJFormField, CPFFormField, Calendar, type CalendarProps, Card, type CardProps, CardStyled, CheckboxGroup, CheckboxGroupFormField, type CheckboxGroupFormFieldProps, type CheckboxGroupProps, CheckboxGroupStyled, CheckboxItem, type CheckboxItemProps, Container, type ContainerProps, ContainerStyled, CountryFormField, Drawer, type DrawerProps, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuProps, EmailFormField, type EmailFormFieldProps, ErrorFormMessage, type ErrorFormMessageProps, Filter, FilterItem, type FilterItemProps, type FilterProps, Flex, type FlexProps, FlexStyled, Form, FormLabel, type FormLabelProps, type FormProps, Grid, type GridProps, GridStyled, Icon, IdentityDocumentNumberFormField, InputStyled, MenuDropdown, type MenuDropdownProps, Modal, type ModalProps, MultiSelect, MultiSelectFormField, type MultiSelectFormFieldProps, type MultiSelectProps, PhoneFormField, type PhoneFormFieldProps, RadioGroup, RadioGroupFormField, type RadioGroupFormFieldProps, type RadioGroupProps, RadioGroupStyled, RadioItem, type RadioItemProps, Section, type SectionProps, SectionStyled, SelectFormField, type SelectFormFieldProps, Step, StepContent, StepList, type StepProps, StepStyled, StepTrigger, StepWrapper, Switch, type SwitchProps, SwitchStyled, Text, TextAreaFormField, type TextAreaFormFieldProps, TextField, type TextFieldProps, TextFieldSlot, type TextFieldSlotProps, TextFieldSlotStyled, TextFieldStyled, TextFormField, type TextFormFieldProps, type TextProps, TextStyle, TextareaField, type TextareaFieldProps, TextareaFieldStyle, TimePicker, TimePickerButtonStyled, TimePickerDropdownStyled, TimePickerFooterStyled, type TimePickerProps, TimePickerStyled, TimerPickerContentStyled, type Toast, type ToastComponentProps, type ToastConfig, type ToastContextType, ToastItem, type ToastOptions, ToastProvider, type ToastProviderProps, type ToastType, type ToasterShowOptions, Tooltip, TooltipContent, type TooltipProps, TooltipProvider, TooltipRoot, TooltipTrigger, isValidCNPJ, maskFormat, maskUnformat, useToast };
package/dist/index.d.ts CHANGED
@@ -14664,4 +14664,11 @@ type SelectFormFieldProps = {
14664
14664
  };
14665
14665
  declare const SelectFormField: ({ name, label, required, placeholder, options, validation, validationErrorMessage, defaultValue, }: SelectFormFieldProps) => react_jsx_runtime.JSX.Element;
14666
14666
 
14667
- export { AddressFormFields, Alert, AlertDialogCompleteStyled, AlertDialogDescriptionStyled, AlertDialogRowStyled, AlertDialogSimpleStyled, AlertDialogSubtitleStyled, AlertDialogTitleStyled, AlertDialoghrStyled, type AlertProps, Avatar, type AvatarProps, AvatarStyled, Badge, type BadgeProps, BadgeStyled, BirthDateFormField, Box, Button, ButtonGroup, type ButtonGroupProps, ButtonGroupStyled, ButtonItem, type ButtonItemProps, ButtonItemStyled, type ButtonProps, CNPJFormField, CPFFormField, Calendar, type CalendarProps, Card, type CardProps, CardStyled, CheckboxGroup, CheckboxGroupFormField, type CheckboxGroupFormFieldProps, type CheckboxGroupProps, CheckboxGroupStyled, CheckboxItem, type CheckboxItemProps, Container, type ContainerProps, ContainerStyled, CountryFormField, Drawer, type DrawerProps, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuProps, ErrorFormMessage, type ErrorFormMessageProps, Filter, FilterItem, type FilterItemProps, type FilterProps, Flex, type FlexProps, FlexStyled, Form, FormLabel, type FormLabelProps, type FormProps, Grid, type GridProps, GridStyled, Icon, IdentityDocumentNumberFormField, InputStyled, MenuDropdown, type MenuDropdownProps, Modal, type ModalProps, MultiSelect, MultiSelectFormField, type MultiSelectFormFieldProps, type MultiSelectProps, PhoneFormField, type PhoneFormFieldProps, RadioGroup, RadioGroupFormField, type RadioGroupFormFieldProps, type RadioGroupProps, RadioGroupStyled, RadioItem, type RadioItemProps, Section, type SectionProps, SectionStyled, SelectFormField, type SelectFormFieldProps, Step, StepContent, StepList, type StepProps, StepStyled, StepTrigger, StepWrapper, Switch, type SwitchProps, SwitchStyled, Text, TextAreaFormField, type TextAreaFormFieldProps, TextField, type TextFieldProps, TextFieldSlot, type TextFieldSlotProps, TextFieldSlotStyled, TextFieldStyled, TextFormField, type TextFormFieldProps, type TextProps, TextStyle, TextareaField, type TextareaFieldProps, TextareaFieldStyle, TimePicker, TimePickerButtonStyled, TimePickerDropdownStyled, TimePickerFooterStyled, type TimePickerProps, TimePickerStyled, TimerPickerContentStyled, type Toast, type ToastComponentProps, type ToastConfig, type ToastContextType, ToastItem, type ToastOptions, ToastProvider, type ToastProviderProps, type ToastType, type ToasterShowOptions, Tooltip, TooltipContent, type TooltipProps, TooltipProvider, TooltipRoot, TooltipTrigger, isValidCNPJ, maskFormat, maskUnformat, useToast };
14667
+ type EmailFormFieldProps = {
14668
+ name: string;
14669
+ label?: string;
14670
+ required?: boolean;
14671
+ };
14672
+ declare const EmailFormField: ({ name, label, required, }: EmailFormFieldProps) => react_jsx_runtime.JSX.Element;
14673
+
14674
+ export { AddressFormFields, Alert, AlertDialogCompleteStyled, AlertDialogDescriptionStyled, AlertDialogRowStyled, AlertDialogSimpleStyled, AlertDialogSubtitleStyled, AlertDialogTitleStyled, AlertDialoghrStyled, type AlertProps, Avatar, type AvatarProps, AvatarStyled, Badge, type BadgeProps, BadgeStyled, BirthDateFormField, Box, Button, ButtonGroup, type ButtonGroupProps, ButtonGroupStyled, ButtonItem, type ButtonItemProps, ButtonItemStyled, type ButtonProps, CNPJFormField, CPFFormField, Calendar, type CalendarProps, Card, type CardProps, CardStyled, CheckboxGroup, CheckboxGroupFormField, type CheckboxGroupFormFieldProps, type CheckboxGroupProps, CheckboxGroupStyled, CheckboxItem, type CheckboxItemProps, Container, type ContainerProps, ContainerStyled, CountryFormField, Drawer, type DrawerProps, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuProps, EmailFormField, type EmailFormFieldProps, ErrorFormMessage, type ErrorFormMessageProps, Filter, FilterItem, type FilterItemProps, type FilterProps, Flex, type FlexProps, FlexStyled, Form, FormLabel, type FormLabelProps, type FormProps, Grid, type GridProps, GridStyled, Icon, IdentityDocumentNumberFormField, InputStyled, MenuDropdown, type MenuDropdownProps, Modal, type ModalProps, MultiSelect, MultiSelectFormField, type MultiSelectFormFieldProps, type MultiSelectProps, PhoneFormField, type PhoneFormFieldProps, RadioGroup, RadioGroupFormField, type RadioGroupFormFieldProps, type RadioGroupProps, RadioGroupStyled, RadioItem, type RadioItemProps, Section, type SectionProps, SectionStyled, SelectFormField, type SelectFormFieldProps, Step, StepContent, StepList, type StepProps, StepStyled, StepTrigger, StepWrapper, Switch, type SwitchProps, SwitchStyled, Text, TextAreaFormField, type TextAreaFormFieldProps, TextField, type TextFieldProps, TextFieldSlot, type TextFieldSlotProps, TextFieldSlotStyled, TextFieldStyled, TextFormField, type TextFormFieldProps, type TextProps, TextStyle, TextareaField, type TextareaFieldProps, TextareaFieldStyle, TimePicker, TimePickerButtonStyled, TimePickerDropdownStyled, TimePickerFooterStyled, type TimePickerProps, TimePickerStyled, TimerPickerContentStyled, type Toast, type ToastComponentProps, type ToastConfig, type ToastContextType, ToastItem, type ToastOptions, ToastProvider, type ToastProviderProps, type ToastType, type ToasterShowOptions, Tooltip, TooltipContent, type TooltipProps, TooltipProvider, TooltipRoot, TooltipTrigger, isValidCNPJ, maskFormat, maskUnformat, useToast };
package/dist/index.js CHANGED
@@ -1066,6 +1066,7 @@ __export(index_exports, {
1066
1066
  Drawer: () => Drawer,
1067
1067
  DropdownMenu: () => DropdownMenu2,
1068
1068
  DropdownMenuItem: () => DropdownMenuItem,
1069
+ EmailFormField: () => EmailFormField,
1069
1070
  ErrorFormMessage: () => ErrorFormMessage,
1070
1071
  Filter: () => Filter,
1071
1072
  FilterItem: () => FilterItem,
@@ -9911,7 +9912,9 @@ var Form = (_a) => {
9911
9912
  "onSubmit",
9912
9913
  "children"
9913
9914
  ]);
9914
- const formMethods = (0, import_react_hook_form3.useForm)(props);
9915
+ const formMethods = (0, import_react_hook_form3.useForm)(__spreadValues({
9916
+ mode: "onTouched"
9917
+ }, props));
9915
9918
  return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_hook_form3.FormProvider, __spreadProps(__spreadValues({}, formMethods), { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("form", { onSubmit: formMethods.handleSubmit(onSubmit), children }) }));
9916
9919
  };
9917
9920
 
@@ -9966,8 +9969,14 @@ var MultiSelectFormField = (_a) => {
9966
9969
  };
9967
9970
 
9968
9971
  // src/components/FormFields/utils/validation.ts
9972
+ var isValidEmail = (email) => {
9973
+ const emailRexep = /^(([^<>()[\].,;:\s@"]+(\.[^<>()[\].,;:\s@"]+)*)|(".+"))@(([^<>()[\].,;:\s@"]+\.)+[^<>()[\].,;:\s@"]{2,})$/i;
9974
+ return emailRexep.test(email);
9975
+ };
9976
+ var validateEmail = (errorMsg) => (value) => {
9977
+ return !isValidEmail(value) ? errorMsg : true;
9978
+ };
9969
9979
  var minMaxLength = (min, max, errorMsg) => (value) => {
9970
- console.log(value);
9971
9980
  var length = value.length;
9972
9981
  return length > max || length < min ? errorMsg : true;
9973
9982
  };
@@ -9992,15 +10001,15 @@ var PhoneFormField = ({
9992
10001
  },
9993
10002
  placeholder: "(00) 00000-0000",
9994
10003
  type: "tel",
9995
- validate: minMaxLength(12, 13, "Telefone inv\xE1lido"),
10004
+ validate: minMaxLength(13, 14, "Telefone inv\xE1lido"),
9996
10005
  valueFormatter: {
9997
10006
  format(v) {
9998
10007
  if (!v || v === "") return v;
9999
- return v.replace(/\b55/, "");
10008
+ return v.replace(/^\+55/, "");
10000
10009
  },
10001
10010
  unformat(v) {
10002
10011
  if (!v || v === "") return v;
10003
- return "55" + v;
10012
+ return "+55" + v;
10004
10013
  }
10005
10014
  }
10006
10015
  }
@@ -10780,6 +10789,26 @@ var CheckboxGroupFormField = ({
10780
10789
  /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ErrorFormMessage, { message: errorMsg })
10781
10790
  ] });
10782
10791
  };
10792
+
10793
+ // src/components/FormFields/EmailFormField.tsx
10794
+ var import_jsx_runtime49 = require("react/jsx-runtime");
10795
+ var EmailFormField = ({
10796
+ name,
10797
+ label,
10798
+ required
10799
+ }) => {
10800
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
10801
+ TextFormField,
10802
+ {
10803
+ name,
10804
+ label,
10805
+ required,
10806
+ placeholder: "@mail.com",
10807
+ type: "email",
10808
+ validate: validateEmail("E-mail inv\xE1lido.")
10809
+ }
10810
+ );
10811
+ };
10783
10812
  // Annotate the CommonJS export names for ESM import in node:
10784
10813
  0 && (module.exports = {
10785
10814
  AddressFormFields,
@@ -10817,6 +10846,7 @@ var CheckboxGroupFormField = ({
10817
10846
  Drawer,
10818
10847
  DropdownMenu,
10819
10848
  DropdownMenuItem,
10849
+ EmailFormField,
10820
10850
  ErrorFormMessage,
10821
10851
  Filter,
10822
10852
  FilterItem,
package/dist/index.mjs CHANGED
@@ -9818,7 +9818,9 @@ var Form = (_a) => {
9818
9818
  "onSubmit",
9819
9819
  "children"
9820
9820
  ]);
9821
- const formMethods = useForm(props);
9821
+ const formMethods = useForm(__spreadValues({
9822
+ mode: "onTouched"
9823
+ }, props));
9822
9824
  return /* @__PURE__ */ jsx34(FormProvider, __spreadProps(__spreadValues({}, formMethods), { children: /* @__PURE__ */ jsx34("form", { onSubmit: formMethods.handleSubmit(onSubmit), children }) }));
9823
9825
  };
9824
9826
 
@@ -9873,8 +9875,14 @@ var MultiSelectFormField = (_a) => {
9873
9875
  };
9874
9876
 
9875
9877
  // src/components/FormFields/utils/validation.ts
9878
+ var isValidEmail = (email) => {
9879
+ const emailRexep = /^(([^<>()[\].,;:\s@"]+(\.[^<>()[\].,;:\s@"]+)*)|(".+"))@(([^<>()[\].,;:\s@"]+\.)+[^<>()[\].,;:\s@"]{2,})$/i;
9880
+ return emailRexep.test(email);
9881
+ };
9882
+ var validateEmail = (errorMsg) => (value) => {
9883
+ return !isValidEmail(value) ? errorMsg : true;
9884
+ };
9876
9885
  var minMaxLength = (min, max, errorMsg) => (value) => {
9877
- console.log(value);
9878
9886
  var length = value.length;
9879
9887
  return length > max || length < min ? errorMsg : true;
9880
9888
  };
@@ -9899,15 +9907,15 @@ var PhoneFormField = ({
9899
9907
  },
9900
9908
  placeholder: "(00) 00000-0000",
9901
9909
  type: "tel",
9902
- validate: minMaxLength(12, 13, "Telefone inv\xE1lido"),
9910
+ validate: minMaxLength(13, 14, "Telefone inv\xE1lido"),
9903
9911
  valueFormatter: {
9904
9912
  format(v) {
9905
9913
  if (!v || v === "") return v;
9906
- return v.replace(/\b55/, "");
9914
+ return v.replace(/^\+55/, "");
9907
9915
  },
9908
9916
  unformat(v) {
9909
9917
  if (!v || v === "") return v;
9910
- return "55" + v;
9918
+ return "+55" + v;
9911
9919
  }
9912
9920
  }
9913
9921
  }
@@ -10687,6 +10695,26 @@ var CheckboxGroupFormField = ({
10687
10695
  /* @__PURE__ */ jsx48(ErrorFormMessage, { message: errorMsg })
10688
10696
  ] });
10689
10697
  };
10698
+
10699
+ // src/components/FormFields/EmailFormField.tsx
10700
+ import { jsx as jsx49 } from "react/jsx-runtime";
10701
+ var EmailFormField = ({
10702
+ name,
10703
+ label,
10704
+ required
10705
+ }) => {
10706
+ return /* @__PURE__ */ jsx49(
10707
+ TextFormField,
10708
+ {
10709
+ name,
10710
+ label,
10711
+ required,
10712
+ placeholder: "@mail.com",
10713
+ type: "email",
10714
+ validate: validateEmail("E-mail inv\xE1lido.")
10715
+ }
10716
+ );
10717
+ };
10690
10718
  export {
10691
10719
  AddressFormFields,
10692
10720
  Alert,
@@ -10723,6 +10751,7 @@ export {
10723
10751
  Drawer,
10724
10752
  DropdownMenu2 as DropdownMenu,
10725
10753
  DropdownMenuItem,
10754
+ EmailFormField,
10726
10755
  ErrorFormMessage,
10727
10756
  Filter,
10728
10757
  FilterItem,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lets-events/react",
3
- "version": "11.7.0",
3
+ "version": "11.7.1",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -0,0 +1,25 @@
1
+ import { TextFormField } from "./TextFormField";
2
+ import { validateEmail } from "./utils/validation";
3
+
4
+ export type EmailFormFieldProps = {
5
+ name: string;
6
+ label?: string;
7
+ required?: boolean;
8
+ };
9
+
10
+ export const EmailFormField = ({
11
+ name,
12
+ label,
13
+ required,
14
+ }: EmailFormFieldProps) => {
15
+ return (
16
+ <TextFormField
17
+ name={name}
18
+ label={label}
19
+ required={required}
20
+ placeholder="@mail.com"
21
+ type="email"
22
+ validate={validateEmail("E-mail inválido.")}
23
+ />
24
+ );
25
+ };
@@ -18,7 +18,10 @@ export const Form = <T extends FieldValues = FieldValues>({
18
18
  children,
19
19
  ...props
20
20
  }: FormProps<T>) => {
21
- const formMethods = useForm<T>(props);
21
+ const formMethods = useForm<T>({
22
+ mode: "onTouched",
23
+ ...props,
24
+ });
22
25
 
23
26
  return (
24
27
  <FormProvider {...formMethods}>
@@ -24,15 +24,15 @@ export const PhoneFormField = ({
24
24
  }}
25
25
  placeholder="(00) 00000-0000"
26
26
  type="tel"
27
- validate={minMaxLength(12, 13, "Telefone inválido")}
27
+ validate={minMaxLength(13, 14, "Telefone inválido")}
28
28
  valueFormatter={{
29
29
  format(v) {
30
30
  if (!v || v === "") return v;
31
- return v.replace(/\b55/, "");
31
+ return v.replace(/^\+55/, "");
32
32
  },
33
33
  unformat(v) {
34
34
  if (!v || v === "") return v;
35
- return "55" + v;
35
+ return "+55" + v;
36
36
  },
37
37
  }}
38
38
  />
@@ -1,9 +1,13 @@
1
- const validateEmail = (email: string) => {
1
+ const isValidEmail = (email: string) => {
2
2
  const emailRexep =
3
3
  /^(([^<>()[\].,;:\s@"]+(\.[^<>()[\].,;:\s@"]+)*)|(".+"))@(([^<>()[\].,;:\s@"]+\.)+[^<>()[\].,;:\s@"]{2,})$/i;
4
4
  return emailRexep.test(email);
5
5
  };
6
6
 
7
+ export const validateEmail = (errorMsg: string) => (value: string) => {
8
+ return !isValidEmail(value) ? errorMsg : true;
9
+ };
10
+
7
11
  export const maxLength = (max: number, errorMsg: string) => (value: string) => {
8
12
  return value.length > max ? errorMsg : true;
9
13
  };
@@ -14,7 +18,6 @@ export const minLength = (min: number, errorMsg: string) => (value: string) => {
14
18
 
15
19
  export const minMaxLength =
16
20
  (min: number, max: number, errorMsg: string) => (value: string) => {
17
- console.log(value)
18
21
  var length = value.length;
19
22
  return length > max || length < min ? errorMsg : true;
20
23
  };
package/src/index.tsx CHANGED
@@ -52,3 +52,4 @@ export * from "./components/FormFields/RadioGroupFormField";
52
52
  export * from "./components/FormFields/CheckboxGroupFormField";
53
53
  export * from "./components/FormFields/AddressFormFields/CountryFormField";
54
54
  export * from "./components/FormFields/SelectFormField";
55
+ export * from './components/FormFields/EmailFormField';