@lets-events/react 12.7.2 → 12.7.3

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 (90) hide show
  1. package/.eslintrc.json +2 -2
  2. package/.turbo/turbo-build.log +21 -19
  3. package/CHANGELOG.md +6 -0
  4. package/dist/index.js +15 -1
  5. package/dist/index.mjs +15 -1
  6. package/package.json +1 -1
  7. package/src/components/Alert.tsx +303 -303
  8. package/src/components/Avatar.tsx +55 -55
  9. package/src/components/Badge.tsx +123 -123
  10. package/src/components/Box.tsx +3 -3
  11. package/src/components/Button/index.tsx +62 -62
  12. package/src/components/Button/styledComponents.ts +320 -320
  13. package/src/components/ButtonGroup.tsx +484 -484
  14. package/src/components/Calendar/index.tsx +148 -148
  15. package/src/components/Calendar/styledComponents.ts +273 -259
  16. package/src/components/Card.tsx +67 -67
  17. package/src/components/CheckboxGroup.tsx +176 -176
  18. package/src/components/Container.tsx +39 -39
  19. package/src/components/Divider.tsx +7 -7
  20. package/src/components/DoubleCalendar/index.tsx +170 -170
  21. package/src/components/Drawer/index.tsx +100 -100
  22. package/src/components/Drawer/styledComponents.ts +103 -103
  23. package/src/components/Dropdown.tsx +302 -302
  24. package/src/components/Filter.tsx +164 -164
  25. package/src/components/Flex.tsx +118 -118
  26. package/src/components/FormFields/AddressFormFields/CityFormField.tsx +111 -111
  27. package/src/components/FormFields/AddressFormFields/CountryFormField.tsx +33 -33
  28. package/src/components/FormFields/AddressFormFields/PostalCodeFormField.tsx +39 -39
  29. package/src/components/FormFields/AddressFormFields/StateFormField.tsx +32 -32
  30. package/src/components/FormFields/AddressFormFields/index.tsx +141 -141
  31. package/src/components/FormFields/BirthDateFormField.tsx +84 -84
  32. package/src/components/FormFields/CNPJFormField.tsx +87 -87
  33. package/src/components/FormFields/CPFFormField.tsx +78 -78
  34. package/src/components/FormFields/CalendarFormField.tsx +95 -95
  35. package/src/components/FormFields/CheckboxGroupFormField.tsx +91 -91
  36. package/src/components/FormFields/DoubleCalendarFormField.tsx +93 -93
  37. package/src/components/FormFields/EmailFormField.tsx +27 -27
  38. package/src/components/FormFields/Form.tsx +39 -39
  39. package/src/components/FormFields/IdentityDocumentNumberFormField.tsx +32 -32
  40. package/src/components/FormFields/MultiSelectFormField.tsx +64 -64
  41. package/src/components/FormFields/PhoneFormField.tsx +40 -40
  42. package/src/components/FormFields/RadioGroupFormField.tsx +86 -86
  43. package/src/components/FormFields/RichEditorFormField.tsx +103 -103
  44. package/src/components/FormFields/SelectFormField.tsx +93 -93
  45. package/src/components/FormFields/SwitchFormField.tsx +46 -46
  46. package/src/components/FormFields/TextAreaFormField.tsx +61 -61
  47. package/src/components/FormFields/TextFormField.tsx +112 -112
  48. package/src/components/FormFields/TimePickerFormField.tsx +88 -88
  49. package/src/components/FormFields/subComponents/ErrorFormMessage.tsx +36 -36
  50. package/src/components/FormFields/subComponents/FormLabel.tsx +36 -36
  51. package/src/components/FormFields/utils/validation.ts +23 -23
  52. package/src/components/Grid.tsx +137 -137
  53. package/src/components/Icon.tsx +47 -47
  54. package/src/components/MenuDropdown/index.tsx +38 -38
  55. package/src/components/MenuDropdown/styledComponents.ts +31 -31
  56. package/src/components/Modal.tsx +110 -110
  57. package/src/components/MultiSelect/index.tsx +268 -268
  58. package/src/components/MultiSelect/styledComponents.ts +160 -160
  59. package/src/components/RadioGroup.tsx +210 -210
  60. package/src/components/RichEditor/QuillComponent.tsx +468 -468
  61. package/src/components/RichEditor/RichEditor.tsx +49 -49
  62. package/src/components/RichEditor/RichTextPresenter.tsx +18 -18
  63. package/src/components/RichEditor/index.ts +3 -3
  64. package/src/components/RichEditor/styledComponents.ts +1170 -1170
  65. package/src/components/Section.tsx +33 -33
  66. package/src/components/Step.tsx +164 -164
  67. package/src/components/Switch.tsx +108 -108
  68. package/src/components/Text.tsx +38 -38
  69. package/src/components/TextField.tsx +372 -372
  70. package/src/components/TextareaField.tsx +116 -116
  71. package/src/components/TimePicker.tsx +328 -328
  72. package/src/components/Toast/components/ToastItem.tsx +41 -41
  73. package/src/components/Toast/components/ToastProvider.tsx +63 -63
  74. package/src/components/Toast/hooks/useToast.ts +12 -12
  75. package/src/components/Toast/index.tsx +5 -5
  76. package/src/components/Toast/styles/index.ts +135 -135
  77. package/src/components/Toast/types/index.ts +46 -46
  78. package/src/components/Tooltip/index.tsx +73 -73
  79. package/src/components/Tooltip/styles.ts +77 -77
  80. package/src/hooks/useCountries.ts +41 -41
  81. package/src/hooks/useImageUpload.ts +139 -139
  82. package/src/hooks/useOnClickOutside.tsx +42 -42
  83. package/src/index.tsx +71 -71
  84. package/src/styles/index.ts +41 -41
  85. package/src/types/typographyValues.ts +178 -178
  86. package/src/utils/getNestedValue.ts +3 -3
  87. package/src/utils/states.ts +29 -29
  88. package/src/utils/uploadService.ts +180 -180
  89. package/tsconfig.json +3 -3
  90. package/tsup.config.ts +38 -38
@@ -1,93 +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
- 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
+ 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
+ };