@lets-events/react 12.4.1 → 12.5.0

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/CHANGELOG.md +6 -0
  3. package/package.json +1 -1
  4. package/src/components/Alert.tsx +303 -303
  5. package/src/components/Avatar.tsx +55 -55
  6. package/src/components/Badge.tsx +125 -125
  7. package/src/components/Box.tsx +3 -3
  8. package/src/components/Button/index.tsx +45 -45
  9. package/src/components/Button/styledComponents.ts +313 -313
  10. package/src/components/ButtonGroup.tsx +484 -484
  11. package/src/components/Calendar/index.tsx +148 -148
  12. package/src/components/Calendar/styledComponents.ts +259 -259
  13. package/src/components/Card.tsx +67 -67
  14. package/src/components/CheckboxGroup.tsx +176 -176
  15. package/src/components/Container.tsx +39 -39
  16. package/src/components/Divider.tsx +7 -7
  17. package/src/components/DoubleCalendar/index.tsx +170 -166
  18. package/src/components/Drawer/index.tsx +100 -98
  19. package/src/components/Drawer/styledComponents.ts +103 -103
  20. package/src/components/Dropdown.tsx +302 -302
  21. package/src/components/Filter.tsx +164 -164
  22. package/src/components/Flex.tsx +118 -118
  23. package/src/components/FormFields/AddressFormFields/CityFormField.tsx +111 -111
  24. package/src/components/FormFields/AddressFormFields/CountryFormField.tsx +33 -33
  25. package/src/components/FormFields/AddressFormFields/PostalCodeFormField.tsx +39 -39
  26. package/src/components/FormFields/AddressFormFields/StateFormField.tsx +32 -32
  27. package/src/components/FormFields/AddressFormFields/index.tsx +141 -141
  28. package/src/components/FormFields/BirthDateFormField.tsx +84 -84
  29. package/src/components/FormFields/CNPJFormField.tsx +87 -87
  30. package/src/components/FormFields/CPFFormField.tsx +78 -78
  31. package/src/components/FormFields/CalendarFormField.tsx +95 -95
  32. package/src/components/FormFields/CheckboxGroupFormField.tsx +91 -91
  33. package/src/components/FormFields/DoubleCalendarFormField.tsx +93 -90
  34. package/src/components/FormFields/EmailFormField.tsx +27 -27
  35. package/src/components/FormFields/Form.tsx +39 -39
  36. package/src/components/FormFields/IdentityDocumentNumberFormField.tsx +32 -32
  37. package/src/components/FormFields/MultiSelectFormField.tsx +64 -64
  38. package/src/components/FormFields/PhoneFormField.tsx +40 -40
  39. package/src/components/FormFields/RadioGroupFormField.tsx +84 -84
  40. package/src/components/FormFields/RichEditorFormField.tsx +103 -103
  41. package/src/components/FormFields/SelectFormField.tsx +93 -93
  42. package/src/components/FormFields/SwitchFormField.tsx +46 -46
  43. package/src/components/FormFields/TextAreaFormField.tsx +59 -59
  44. package/src/components/FormFields/TextFormField.tsx +112 -112
  45. package/src/components/FormFields/TimePickerFormField.tsx +88 -88
  46. package/src/components/FormFields/subComponents/ErrorFormMessage.tsx +36 -36
  47. package/src/components/FormFields/subComponents/FormLabel.tsx +29 -29
  48. package/src/components/FormFields/utils/validation.ts +23 -23
  49. package/src/components/Grid.tsx +137 -137
  50. package/src/components/Icon.tsx +47 -47
  51. package/src/components/MenuDropdown/index.tsx +38 -38
  52. package/src/components/MenuDropdown/styledComponents.ts +31 -31
  53. package/src/components/Modal.tsx +110 -110
  54. package/src/components/MultiSelect/index.tsx +243 -243
  55. package/src/components/MultiSelect/styledComponents.ts +160 -160
  56. package/src/components/RadioGroup.tsx +210 -210
  57. package/src/components/RichEditor/QuillComponent.tsx +457 -457
  58. package/src/components/RichEditor/RichEditor.tsx +49 -49
  59. package/src/components/RichEditor/index.ts +2 -2
  60. package/src/components/RichEditor/styledComponents.ts +1151 -1151
  61. package/src/components/Section.tsx +33 -33
  62. package/src/components/Step.tsx +164 -164
  63. package/src/components/Switch.tsx +108 -108
  64. package/src/components/Text.tsx +38 -38
  65. package/src/components/TextField.tsx +372 -372
  66. package/src/components/TextareaField.tsx +138 -138
  67. package/src/components/TimePicker.tsx +328 -328
  68. package/src/components/Toast/components/ToastItem.tsx +41 -41
  69. package/src/components/Toast/components/ToastProvider.tsx +63 -63
  70. package/src/components/Toast/hooks/useToast.ts +12 -12
  71. package/src/components/Toast/index.tsx +5 -5
  72. package/src/components/Toast/styles/index.ts +135 -135
  73. package/src/components/Toast/types/index.ts +46 -46
  74. package/src/components/Tooltip/index.tsx +66 -66
  75. package/src/components/Tooltip/styles.ts +77 -77
  76. package/src/hooks/useCountries.ts +41 -41
  77. package/src/hooks/useImageUpload.ts +139 -139
  78. package/src/hooks/useOnClickOutside.tsx +42 -42
  79. package/src/index.tsx +71 -71
  80. package/src/styles/index.ts +41 -41
  81. package/src/types/typographyValues.ts +178 -178
  82. package/src/utils/getNestedValue.ts +3 -3
  83. package/src/utils/states.ts +29 -29
  84. package/src/utils/uploadService.ts +180 -180
  85. package/tsconfig.json +3 -3
  86. package/tsup.config.ts +38 -38
  87. package/.turbo/turbo-build.log +0 -19
  88. package/dist/index.d.mts +0 -15398
  89. package/dist/index.d.ts +0 -15398
  90. package/dist/index.js +0 -13390
  91. package/dist/index.mjs +0 -13284
@@ -1,90 +1,93 @@
1
- import { useCallback } from "react";
2
- import { FieldValues, useController, RegisterOptions } from "react-hook-form";
3
- import { Flex } from "../Flex";
4
- import { FormLabel } from "./subComponents/FormLabel";
5
- import { ErrorFormMessage } from "./subComponents/ErrorFormMessage";
6
- import { DoubleCalendar, DateRange, DoubleCalendarProps } from "../DoubleCalendar";
7
-
8
- export type DoubleCalendarFormFieldProps = Omit<
9
- DoubleCalendarProps,
10
- "selected" | "setSelected"
11
- > & {
12
- name: string;
13
- label?: string;
14
- required?: boolean;
15
- validate?: (value: DateRange) => boolean | string;
16
- validationErrorMessage?: string;
17
- rules?: Omit<
18
- RegisterOptions<FieldValues, string>,
19
- "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled"
20
- >;
21
- allowPastDates?: boolean;
22
- maxYearsFromNow?: number;
23
- };
24
-
25
- export const DoubleCalendarFormField = ({
26
- name,
27
- label,
28
- required,
29
- validate,
30
- validationErrorMessage = "Este campo é obrigatório.",
31
- rules,
32
- allowPastDates,
33
- maxYearsFromNow = 20,
34
- ...calendarProps
35
- }: DoubleCalendarFormFieldProps) => {
36
- const handleValidate = useCallback(
37
- (value?: DateRange) => {
38
- if (value === undefined || value === null) {
39
- if (required) return validationErrorMessage;
40
- return true;
41
- }
42
- return validate?.(value) ?? true;
43
- },
44
- [validate, required, validationErrorMessage]
45
- );
46
-
47
- const { field, fieldState } = useController({
48
- name,
49
- rules: {
50
- required: required ? validationErrorMessage : false,
51
- validate: handleValidate,
52
- ...rules,
53
- },
54
- defaultValue: undefined,
55
- });
56
-
57
- const fieldError = fieldState.error;
58
- const haveError = !!fieldError;
59
- const errorMsg = fieldError?.message;
60
-
61
- const { value: selected, onChange: setSelected } = field as any;
62
-
63
- const handleCalendarChange = (range: DateRange) => {
64
- setSelected(range);
65
- };
66
-
67
- return (
68
- <Flex direction="column" style={{ flex: "1" }}>
69
- {label && (
70
- <FormLabel name={name} label={label} required={required} haveError={haveError} />
71
- )}
72
-
73
- <DoubleCalendar
74
- selected={selected}
75
- setSelected={(value) => {
76
- const newValue = typeof value === "function" ? value(selected) : value;
77
- handleCalendarChange(newValue);
78
- }}
79
- hasError={haveError}
80
- allowPastDates={allowPastDates}
81
- maxYearsFromNow={maxYearsFromNow}
82
- {...calendarProps}
83
- />
84
-
85
- <ErrorFormMessage message={errorMsg} />
86
- </Flex>
87
- );
88
- };
89
-
90
- export default DoubleCalendarFormField;
1
+ import { useCallback } from "react";
2
+ import { FieldValues, useController, RegisterOptions } from "react-hook-form";
3
+ import { Flex } from "../Flex";
4
+ import { FormLabel } from "./subComponents/FormLabel";
5
+ import { ErrorFormMessage } from "./subComponents/ErrorFormMessage";
6
+ import { DoubleCalendar, DateRange, DoubleCalendarProps } from "../DoubleCalendar";
7
+
8
+ export type DoubleCalendarFormFieldProps = Omit<
9
+ DoubleCalendarProps,
10
+ "selected" | "setSelected"
11
+ > & {
12
+ name: string;
13
+ label?: string;
14
+ required?: boolean;
15
+ validate?: (value: DateRange) => boolean | string;
16
+ validationErrorMessage?: string;
17
+ rules?: Omit<
18
+ RegisterOptions<FieldValues, string>,
19
+ "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled"
20
+ >;
21
+ disabled?: boolean;
22
+ allowPastDates?: boolean;
23
+ maxYearsFromNow?: number;
24
+ };
25
+
26
+ export const DoubleCalendarFormField = ({
27
+ name,
28
+ label,
29
+ required,
30
+ validate,
31
+ validationErrorMessage = "Este campo é obrigatório.",
32
+ rules,
33
+ allowPastDates,
34
+ maxYearsFromNow = 20,
35
+ disabled,
36
+ ...calendarProps
37
+ }: DoubleCalendarFormFieldProps) => {
38
+ const handleValidate = useCallback(
39
+ (value?: DateRange) => {
40
+ if (value === undefined || value === null) {
41
+ if (required) return validationErrorMessage;
42
+ return true;
43
+ }
44
+ return validate?.(value) ?? true;
45
+ },
46
+ [validate, required, validationErrorMessage]
47
+ );
48
+
49
+ const { field, fieldState } = useController({
50
+ name,
51
+ rules: {
52
+ required: required ? validationErrorMessage : false,
53
+ validate: handleValidate,
54
+ ...rules,
55
+ },
56
+ defaultValue: undefined,
57
+ });
58
+
59
+ const fieldError = fieldState.error;
60
+ const haveError = !!fieldError;
61
+ const errorMsg = fieldError?.message;
62
+
63
+ const { value: selected, onChange: setSelected } = field as any;
64
+
65
+ const handleCalendarChange = (range: DateRange) => {
66
+ setSelected(range);
67
+ };
68
+
69
+ return (
70
+ <Flex direction="column" style={{ flex: "1" }}>
71
+ {label && (
72
+ <FormLabel name={name} label={label} required={required} haveError={haveError} />
73
+ )}
74
+
75
+ <DoubleCalendar
76
+ selected={selected}
77
+ setSelected={(value) => {
78
+ const newValue = typeof value === "function" ? value(selected) : value;
79
+ handleCalendarChange(newValue);
80
+ }}
81
+ disabled={disabled}
82
+ hasError={haveError}
83
+ allowPastDates={allowPastDates}
84
+ maxYearsFromNow={maxYearsFromNow}
85
+ {...calendarProps}
86
+ />
87
+
88
+ <ErrorFormMessage message={errorMsg} />
89
+ </Flex>
90
+ );
91
+ };
92
+
93
+ export default DoubleCalendarFormField;
@@ -1,27 +1,27 @@
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
- placeholder?: string;
9
- };
10
-
11
- export const EmailFormField = ({
12
- name,
13
- label,
14
- required,
15
- placeholder,
16
- }: EmailFormFieldProps) => {
17
- return (
18
- <TextFormField
19
- name={name}
20
- label={label}
21
- required={required}
22
- placeholder={placeholder}
23
- type="email"
24
- validate={validateEmail("E-mail inválido.")}
25
- />
26
- );
27
- };
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
+ placeholder?: string;
9
+ };
10
+
11
+ export const EmailFormField = ({
12
+ name,
13
+ label,
14
+ required,
15
+ placeholder,
16
+ }: EmailFormFieldProps) => {
17
+ return (
18
+ <TextFormField
19
+ name={name}
20
+ label={label}
21
+ required={required}
22
+ placeholder={placeholder}
23
+ type="email"
24
+ validate={validateEmail("E-mail inválido.")}
25
+ />
26
+ );
27
+ };
@@ -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
+ };