@lets-events/react 12.3.10 → 12.4.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.
Files changed (91) hide show
  1. package/.eslintrc.json +2 -2
  2. package/.turbo/turbo-build.log +19 -21
  3. package/CHANGELOG.md +12 -0
  4. package/dist/index.d.mts +35 -3
  5. package/dist/index.d.ts +35 -3
  6. package/dist/index.js +562 -344
  7. package/dist/index.mjs +535 -319
  8. package/package.json +1 -1
  9. package/src/components/Alert.tsx +303 -303
  10. package/src/components/Avatar.tsx +55 -55
  11. package/src/components/Badge.tsx +125 -125
  12. package/src/components/Box.tsx +3 -3
  13. package/src/components/Button/index.tsx +45 -45
  14. package/src/components/Button/styledComponents.ts +313 -313
  15. package/src/components/ButtonGroup.tsx +484 -484
  16. package/src/components/Calendar/index.tsx +148 -148
  17. package/src/components/Calendar/styledComponents.ts +259 -250
  18. package/src/components/Card.tsx +67 -67
  19. package/src/components/CheckboxGroup.tsx +176 -176
  20. package/src/components/Container.tsx +39 -39
  21. package/src/components/Divider.tsx +7 -7
  22. package/src/components/DoubleCalendar/index.tsx +166 -0
  23. package/src/components/Drawer/index.tsx +98 -98
  24. package/src/components/Drawer/styledComponents.ts +103 -103
  25. package/src/components/Dropdown.tsx +302 -302
  26. package/src/components/Filter.tsx +164 -164
  27. package/src/components/Flex.tsx +118 -118
  28. package/src/components/FormFields/AddressFormFields/CityFormField.tsx +111 -111
  29. package/src/components/FormFields/AddressFormFields/CountryFormField.tsx +33 -33
  30. package/src/components/FormFields/AddressFormFields/PostalCodeFormField.tsx +39 -39
  31. package/src/components/FormFields/AddressFormFields/StateFormField.tsx +32 -32
  32. package/src/components/FormFields/AddressFormFields/index.tsx +141 -141
  33. package/src/components/FormFields/BirthDateFormField.tsx +84 -84
  34. package/src/components/FormFields/CNPJFormField.tsx +87 -87
  35. package/src/components/FormFields/CPFFormField.tsx +78 -78
  36. package/src/components/FormFields/CalendarFormField.tsx +95 -95
  37. package/src/components/FormFields/CheckboxGroupFormField.tsx +91 -91
  38. package/src/components/FormFields/DoubleCalendarFormField.tsx +90 -0
  39. package/src/components/FormFields/EmailFormField.tsx +27 -27
  40. package/src/components/FormFields/Form.tsx +39 -39
  41. package/src/components/FormFields/IdentityDocumentNumberFormField.tsx +32 -32
  42. package/src/components/FormFields/MultiSelectFormField.tsx +64 -64
  43. package/src/components/FormFields/PhoneFormField.tsx +40 -40
  44. package/src/components/FormFields/RadioGroupFormField.tsx +84 -84
  45. package/src/components/FormFields/RichEditorFormField.tsx +103 -103
  46. package/src/components/FormFields/SelectFormField.tsx +93 -93
  47. package/src/components/FormFields/SwitchFormField.tsx +46 -46
  48. package/src/components/FormFields/TextAreaFormField.tsx +59 -57
  49. package/src/components/FormFields/TextFormField.tsx +112 -112
  50. package/src/components/FormFields/TimePickerFormField.tsx +88 -88
  51. package/src/components/FormFields/subComponents/ErrorFormMessage.tsx +36 -36
  52. package/src/components/FormFields/subComponents/FormLabel.tsx +29 -29
  53. package/src/components/FormFields/utils/validation.ts +23 -23
  54. package/src/components/Grid.tsx +137 -137
  55. package/src/components/Icon.tsx +47 -47
  56. package/src/components/MenuDropdown/index.tsx +38 -38
  57. package/src/components/MenuDropdown/styledComponents.ts +31 -31
  58. package/src/components/Modal.tsx +110 -110
  59. package/src/components/MultiSelect/index.tsx +243 -243
  60. package/src/components/MultiSelect/styledComponents.ts +160 -160
  61. package/src/components/RadioGroup.tsx +210 -210
  62. package/src/components/RichEditor/QuillComponent.tsx +457 -457
  63. package/src/components/RichEditor/RichEditor.tsx +49 -49
  64. package/src/components/RichEditor/index.ts +2 -2
  65. package/src/components/RichEditor/styledComponents.ts +1151 -1151
  66. package/src/components/Section.tsx +33 -33
  67. package/src/components/Step.tsx +164 -164
  68. package/src/components/Switch.tsx +108 -108
  69. package/src/components/Text.tsx +38 -38
  70. package/src/components/TextField.tsx +372 -372
  71. package/src/components/TextareaField.tsx +138 -127
  72. package/src/components/TimePicker.tsx +328 -328
  73. package/src/components/Toast/components/ToastItem.tsx +41 -41
  74. package/src/components/Toast/components/ToastProvider.tsx +63 -63
  75. package/src/components/Toast/hooks/useToast.ts +12 -12
  76. package/src/components/Toast/index.tsx +5 -5
  77. package/src/components/Toast/styles/index.ts +135 -135
  78. package/src/components/Toast/types/index.ts +46 -46
  79. package/src/components/Tooltip/index.tsx +66 -66
  80. package/src/components/Tooltip/styles.ts +77 -77
  81. package/src/hooks/useCountries.ts +41 -41
  82. package/src/hooks/useImageUpload.ts +139 -139
  83. package/src/hooks/useOnClickOutside.tsx +42 -42
  84. package/src/index.tsx +71 -69
  85. package/src/styles/index.ts +41 -41
  86. package/src/types/typographyValues.ts +178 -178
  87. package/src/utils/getNestedValue.ts +3 -3
  88. package/src/utils/states.ts +29 -29
  89. package/src/utils/uploadService.ts +180 -180
  90. package/tsconfig.json +3 -3
  91. package/tsup.config.ts +38 -38
@@ -1,39 +1,39 @@
1
- import { JSX, useMemo } from "react";
2
- import {
3
- FormProvider,
4
- useForm,
5
- SubmitHandler,
6
- FieldValues,
7
- UseFormProps,
8
- UseFormReturn,
9
- } from "react-hook-form";
10
-
11
- export type FormProps<T extends FieldValues = FieldValues> = UseFormProps<T> & {
12
- onSubmit: SubmitHandler<T>;
13
- children: JSX.Element | ((p: UseFormReturn<T, any, T>) => JSX.Element);
14
- methods?: ReturnType<typeof useForm<T>>;
15
- };
16
-
17
- export const Form = <T extends FieldValues = FieldValues>({
18
- onSubmit,
19
- children,
20
- ...props
21
- }: FormProps<T>) => {
22
- const formMethods = useForm<T>({
23
- mode: "onTouched",
24
- ...props,
25
- });
26
-
27
- return (
28
- <FormProvider {...formMethods}>
29
- <form onSubmit={formMethods.handleSubmit(onSubmit)}>
30
- {(() => {
31
- if (typeof children === "function") {
32
- return children(formMethods);
33
- }
34
- return children;
35
- })()}
36
- </form>
37
- </FormProvider>
38
- );
39
- };
1
+ import { JSX, useMemo } from "react";
2
+ import {
3
+ FormProvider,
4
+ useForm,
5
+ SubmitHandler,
6
+ FieldValues,
7
+ UseFormProps,
8
+ UseFormReturn,
9
+ } from "react-hook-form";
10
+
11
+ export type FormProps<T extends FieldValues = FieldValues> = UseFormProps<T> & {
12
+ onSubmit: SubmitHandler<T>;
13
+ children: JSX.Element | ((p: UseFormReturn<T, any, T>) => JSX.Element);
14
+ methods?: ReturnType<typeof useForm<T>>;
15
+ };
16
+
17
+ export const Form = <T extends FieldValues = FieldValues>({
18
+ onSubmit,
19
+ children,
20
+ ...props
21
+ }: FormProps<T>) => {
22
+ const formMethods = useForm<T>({
23
+ mode: "onTouched",
24
+ ...props,
25
+ });
26
+
27
+ return (
28
+ <FormProvider {...formMethods}>
29
+ <form onSubmit={formMethods.handleSubmit(onSubmit)}>
30
+ {(() => {
31
+ if (typeof children === "function") {
32
+ return children(formMethods);
33
+ }
34
+ return children;
35
+ })()}
36
+ </form>
37
+ </FormProvider>
38
+ );
39
+ };
@@ -1,32 +1,32 @@
1
- import { TextFormField } from "./TextFormField";
2
-
3
- type IdentityDocumentNumberFormFieldProps = {
4
- name: string;
5
- label: string;
6
- required?: boolean;
7
- placeholder?: string;
8
- validationErrorMessage: string;
9
- };
10
-
11
- export const IdentityDocumentNumberFormField = ({
12
- name,
13
- label,
14
- required,
15
- placeholder,
16
- validationErrorMessage,
17
- }: IdentityDocumentNumberFormFieldProps) => {
18
- return (
19
- <TextFormField
20
- name={name}
21
- label={label}
22
- required={required}
23
- placeholder={placeholder || "__.___.___-_"}
24
- validate={(value: string) => {
25
- const isEmpty = value.length === 0;
26
- if (!required && isEmpty) return true;
27
- if (value.length >= 3) return true;
28
- return false || validationErrorMessage;
29
- }}
30
- />
31
- );
32
- };
1
+ import { TextFormField } from "./TextFormField";
2
+
3
+ type IdentityDocumentNumberFormFieldProps = {
4
+ name: string;
5
+ label: string;
6
+ required?: boolean;
7
+ placeholder?: string;
8
+ validationErrorMessage: string;
9
+ };
10
+
11
+ export const IdentityDocumentNumberFormField = ({
12
+ name,
13
+ label,
14
+ required,
15
+ placeholder,
16
+ validationErrorMessage,
17
+ }: IdentityDocumentNumberFormFieldProps) => {
18
+ return (
19
+ <TextFormField
20
+ name={name}
21
+ label={label}
22
+ required={required}
23
+ placeholder={placeholder || "__.___.___-_"}
24
+ validate={(value: string) => {
25
+ const isEmpty = value.length === 0;
26
+ if (!required && isEmpty) return true;
27
+ if (value.length >= 3) return true;
28
+ return false || validationErrorMessage;
29
+ }}
30
+ />
31
+ );
32
+ };
@@ -1,64 +1,64 @@
1
- import { useController } from "react-hook-form";
2
- import { Flex } from "../Flex";
3
- import { FormLabel } from "./subComponents/FormLabel";
4
- import { ErrorFormMessage } from "./subComponents/ErrorFormMessage";
5
- import { MultiSelect, MultiSelectProps } from "../MultiSelect";
6
-
7
- export type MultiSelectFormFieldProps = MultiSelectProps & {
8
- name: string;
9
- label?: string;
10
- required?: boolean;
11
- selectedOrientation?: "row" | "column";
12
- zIndex?: string;
13
- maxHeight?: string;
14
- };
15
-
16
- export const MultiSelectFormField = ({
17
- name,
18
- label,
19
- required,
20
- selectedOrientation = "column",
21
- zIndex,
22
- maxHeight,
23
- ...rest
24
- }: MultiSelectFormFieldProps) => {
25
- const { field, fieldState } = useController({
26
- name,
27
- rules: {
28
- required,
29
- },
30
- defaultValue: [],
31
- });
32
-
33
- const { value, onChange, ref, onBlur, disabled } = field;
34
-
35
- const haveError = !!fieldState.error;
36
-
37
- const errorMsg = fieldState.error?.message;
38
-
39
- const handleChange = (v: any) => {
40
- onChange(v);
41
- };
42
-
43
- return (
44
- <Flex direction={"column"}>
45
- <FormLabel
46
- name={name}
47
- label={label}
48
- required={required}
49
- haveError={haveError}
50
- />
51
- <MultiSelect
52
- value={value}
53
- onValueChange={handleChange}
54
- ref={ref}
55
- color={haveError ? "error" : "default"}
56
- selectedOrientation={selectedOrientation}
57
- zIndex={zIndex}
58
- maxHeight={maxHeight}
59
- {...rest}
60
- />
61
- <ErrorFormMessage message={errorMsg} />
62
- </Flex>
63
- );
64
- };
1
+ import { useController } from "react-hook-form";
2
+ import { Flex } from "../Flex";
3
+ import { FormLabel } from "./subComponents/FormLabel";
4
+ import { ErrorFormMessage } from "./subComponents/ErrorFormMessage";
5
+ import { MultiSelect, MultiSelectProps } from "../MultiSelect";
6
+
7
+ export type MultiSelectFormFieldProps = MultiSelectProps & {
8
+ name: string;
9
+ label?: string;
10
+ required?: boolean;
11
+ selectedOrientation?: "row" | "column";
12
+ zIndex?: string;
13
+ maxHeight?: string;
14
+ };
15
+
16
+ export const MultiSelectFormField = ({
17
+ name,
18
+ label,
19
+ required,
20
+ selectedOrientation = "column",
21
+ zIndex,
22
+ maxHeight,
23
+ ...rest
24
+ }: MultiSelectFormFieldProps) => {
25
+ const { field, fieldState } = useController({
26
+ name,
27
+ rules: {
28
+ required,
29
+ },
30
+ defaultValue: [],
31
+ });
32
+
33
+ const { value, onChange, ref, onBlur, disabled } = field;
34
+
35
+ const haveError = !!fieldState.error;
36
+
37
+ const errorMsg = fieldState.error?.message;
38
+
39
+ const handleChange = (v: any) => {
40
+ onChange(v);
41
+ };
42
+
43
+ return (
44
+ <Flex direction={"column"}>
45
+ <FormLabel
46
+ name={name}
47
+ label={label}
48
+ required={required}
49
+ haveError={haveError}
50
+ />
51
+ <MultiSelect
52
+ value={value}
53
+ onValueChange={handleChange}
54
+ ref={ref}
55
+ color={haveError ? "error" : "default"}
56
+ selectedOrientation={selectedOrientation}
57
+ zIndex={zIndex}
58
+ maxHeight={maxHeight}
59
+ {...rest}
60
+ />
61
+ <ErrorFormMessage message={errorMsg} />
62
+ </Flex>
63
+ );
64
+ };
@@ -1,40 +1,40 @@
1
- import { TextFormField } from "./TextFormField";
2
- import { minMaxLength } from "./utils/validation";
3
-
4
- export type PhoneFormFieldProps = {
5
- name: string;
6
- label?: string;
7
- required?: boolean;
8
- };
9
-
10
- export const PhoneFormField = ({
11
- name,
12
- label,
13
- required,
14
- }: PhoneFormFieldProps) => {
15
- return (
16
- <TextFormField
17
- name={name}
18
- label={label}
19
- required={required}
20
- addon={"+ 55"}
21
- mask={{
22
- mask: "(__) _____-____}",
23
- replacement: { _: /\d/ },
24
- }}
25
- placeholder="(00) 00000-0000"
26
- type="tel"
27
- validate={minMaxLength(13, 14, "Telefone inválido")}
28
- valueFormatter={{
29
- format(v) {
30
- if (!v || v === "") return v;
31
- return v.replace(/^\+55/, "");
32
- },
33
- unformat(v) {
34
- if (!v || v === "") return v;
35
- return "+55" + v;
36
- },
37
- }}
38
- />
39
- );
40
- };
1
+ import { TextFormField } from "./TextFormField";
2
+ import { minMaxLength } from "./utils/validation";
3
+
4
+ export type PhoneFormFieldProps = {
5
+ name: string;
6
+ label?: string;
7
+ required?: boolean;
8
+ };
9
+
10
+ export const PhoneFormField = ({
11
+ name,
12
+ label,
13
+ required,
14
+ }: PhoneFormFieldProps) => {
15
+ return (
16
+ <TextFormField
17
+ name={name}
18
+ label={label}
19
+ required={required}
20
+ addon={"+ 55"}
21
+ mask={{
22
+ mask: "(__) _____-____}",
23
+ replacement: { _: /\d/ },
24
+ }}
25
+ placeholder="(00) 00000-0000"
26
+ type="tel"
27
+ validate={minMaxLength(13, 14, "Telefone inválido")}
28
+ valueFormatter={{
29
+ format(v) {
30
+ if (!v || v === "") return v;
31
+ return v.replace(/^\+55/, "");
32
+ },
33
+ unformat(v) {
34
+ if (!v || v === "") return v;
35
+ return "+55" + v;
36
+ },
37
+ }}
38
+ />
39
+ );
40
+ };
@@ -1,84 +1,84 @@
1
- import { Controller, useFormContext } from "react-hook-form";
2
- import { Flex } from "../Flex";
3
- import { FormLabel } from "./subComponents/FormLabel";
4
- import { ErrorFormMessage } from "./subComponents/ErrorFormMessage";
5
- import { RadioGroup, RadioItem } from "../RadioGroup";
6
- import { getNestedValue } from "../../utils/getNestedValue";
7
-
8
- type Option = {
9
- label: string;
10
- value: string;
11
- };
12
-
13
- export type RadioGroupFormFieldProps = {
14
- name: string;
15
- label: string;
16
- options: Option[];
17
- required?: boolean;
18
- defaultValue?: string;
19
- validationErrorMessage?: string;
20
- color?: "blue" | "success" | "error";
21
- fontWeight?: "regular" | "medium" | "semibold" | "bold";
22
- disabled?: boolean;
23
- };
24
-
25
- export const RadioGroupFormField = ({
26
- name,
27
- label,
28
- options,
29
- required,
30
- defaultValue,
31
- validationErrorMessage = "Este campo é obrigatório.",
32
- color = "blue",
33
- fontWeight = "regular",
34
- disabled = false,
35
- }: RadioGroupFormFieldProps) => {
36
- const {
37
- control,
38
- formState: { errors },
39
- } = useFormContext();
40
-
41
- const fieldError = getNestedValue(errors, name);
42
- const haveError = !!fieldError;
43
- const errorMsg = fieldError?.message;
44
-
45
- const validationRules = {
46
- required: required ? validationErrorMessage : false,
47
- };
48
-
49
- return (
50
- <Flex direction="column">
51
- <FormLabel
52
- name={name}
53
- label={label}
54
- required={required}
55
- haveError={haveError}
56
- />
57
-
58
- <Controller
59
- name={name}
60
- control={control}
61
- defaultValue={defaultValue || ""}
62
- rules={validationRules}
63
- render={({ field: { value, onChange } }) => (
64
- <RadioGroup
65
- value={value}
66
- onValueChange={onChange}
67
- color={haveError ? "error" : color}
68
- fontWeight={fontWeight}
69
- disabled={disabled}
70
- >
71
- {options.map((option) => (
72
- <label key={option.value}>
73
- <RadioItem value={option.value} />
74
- {option.label}
75
- </label>
76
- ))}
77
- </RadioGroup>
78
- )}
79
- />
80
-
81
- <ErrorFormMessage message={errorMsg} />
82
- </Flex>
83
- );
84
- };
1
+ import { Controller, useFormContext } from "react-hook-form";
2
+ import { Flex } from "../Flex";
3
+ import { FormLabel } from "./subComponents/FormLabel";
4
+ import { ErrorFormMessage } from "./subComponents/ErrorFormMessage";
5
+ import { RadioGroup, RadioItem } from "../RadioGroup";
6
+ import { getNestedValue } from "../../utils/getNestedValue";
7
+
8
+ type Option = {
9
+ label: string;
10
+ value: string;
11
+ };
12
+
13
+ export type RadioGroupFormFieldProps = {
14
+ name: string;
15
+ label: string;
16
+ options: Option[];
17
+ required?: boolean;
18
+ defaultValue?: string;
19
+ validationErrorMessage?: string;
20
+ color?: "blue" | "success" | "error";
21
+ fontWeight?: "regular" | "medium" | "semibold" | "bold";
22
+ disabled?: boolean;
23
+ };
24
+
25
+ export const RadioGroupFormField = ({
26
+ name,
27
+ label,
28
+ options,
29
+ required,
30
+ defaultValue,
31
+ validationErrorMessage = "Este campo é obrigatório.",
32
+ color = "blue",
33
+ fontWeight = "regular",
34
+ disabled = false,
35
+ }: RadioGroupFormFieldProps) => {
36
+ const {
37
+ control,
38
+ formState: { errors },
39
+ } = useFormContext();
40
+
41
+ const fieldError = getNestedValue(errors, name);
42
+ const haveError = !!fieldError;
43
+ const errorMsg = fieldError?.message;
44
+
45
+ const validationRules = {
46
+ required: required ? validationErrorMessage : false,
47
+ };
48
+
49
+ return (
50
+ <Flex direction="column">
51
+ <FormLabel
52
+ name={name}
53
+ label={label}
54
+ required={required}
55
+ haveError={haveError}
56
+ />
57
+
58
+ <Controller
59
+ name={name}
60
+ control={control}
61
+ defaultValue={defaultValue || ""}
62
+ rules={validationRules}
63
+ render={({ field: { value, onChange } }) => (
64
+ <RadioGroup
65
+ value={value}
66
+ onValueChange={onChange}
67
+ color={haveError ? "error" : color}
68
+ fontWeight={fontWeight}
69
+ disabled={disabled}
70
+ >
71
+ {options.map((option) => (
72
+ <label key={option.value}>
73
+ <RadioItem value={option.value} />
74
+ {option.label}
75
+ </label>
76
+ ))}
77
+ </RadioGroup>
78
+ )}
79
+ />
80
+
81
+ <ErrorFormMessage message={errorMsg} />
82
+ </Flex>
83
+ );
84
+ };