@lets-events/react 12.7.2 → 12.8.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 (93) hide show
  1. package/.eslintrc.json +2 -2
  2. package/.turbo/turbo-build.log +21 -19
  3. package/CHANGELOG.md +12 -0
  4. package/dist/index.d.mts +13 -1
  5. package/dist/index.d.ts +13 -1
  6. package/dist/index.js +147 -9
  7. package/dist/index.mjs +143 -6
  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 +123 -123
  12. package/src/components/Box.tsx +3 -3
  13. package/src/components/Button/index.tsx +62 -62
  14. package/src/components/Button/styledComponents.ts +320 -320
  15. package/src/components/ButtonGroup.tsx +484 -484
  16. package/src/components/Calendar/index.tsx +148 -148
  17. package/src/components/Calendar/styledComponents.ts +274 -259
  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 +170 -170
  23. package/src/components/Drawer/index.tsx +100 -100
  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/DateAndTimeFormField.tsx +154 -0
  39. package/src/components/FormFields/DoubleCalendarFormField.tsx +93 -93
  40. package/src/components/FormFields/EmailFormField.tsx +27 -27
  41. package/src/components/FormFields/Form.tsx +39 -39
  42. package/src/components/FormFields/IdentityDocumentNumberFormField.tsx +32 -32
  43. package/src/components/FormFields/MultiSelectFormField.tsx +64 -64
  44. package/src/components/FormFields/PhoneFormField.tsx +40 -40
  45. package/src/components/FormFields/RadioGroupFormField.tsx +86 -86
  46. package/src/components/FormFields/RichEditorFormField.tsx +103 -103
  47. package/src/components/FormFields/SelectFormField.tsx +93 -93
  48. package/src/components/FormFields/SwitchFormField.tsx +46 -46
  49. package/src/components/FormFields/TextAreaFormField.tsx +61 -61
  50. package/src/components/FormFields/TextFormField.tsx +112 -112
  51. package/src/components/FormFields/TimePickerFormField.tsx +88 -88
  52. package/src/components/FormFields/subComponents/ErrorFormMessage.tsx +36 -36
  53. package/src/components/FormFields/subComponents/FormLabel.tsx +36 -36
  54. package/src/components/FormFields/utils/validation.ts +23 -23
  55. package/src/components/Grid.tsx +137 -137
  56. package/src/components/Icon.tsx +47 -47
  57. package/src/components/MenuDropdown/index.tsx +38 -38
  58. package/src/components/MenuDropdown/styledComponents.ts +31 -31
  59. package/src/components/Modal.tsx +110 -110
  60. package/src/components/MultiSelect/index.tsx +268 -268
  61. package/src/components/MultiSelect/styledComponents.ts +160 -160
  62. package/src/components/RadioGroup.tsx +210 -210
  63. package/src/components/RichEditor/QuillComponent.tsx +468 -468
  64. package/src/components/RichEditor/RichEditor.tsx +49 -49
  65. package/src/components/RichEditor/RichTextPresenter.tsx +18 -18
  66. package/src/components/RichEditor/index.ts +3 -3
  67. package/src/components/RichEditor/styledComponents.ts +1170 -1170
  68. package/src/components/Section.tsx +33 -33
  69. package/src/components/Step.tsx +164 -164
  70. package/src/components/Switch.tsx +108 -108
  71. package/src/components/Text.tsx +38 -38
  72. package/src/components/TextField.tsx +372 -372
  73. package/src/components/TextareaField.tsx +116 -116
  74. package/src/components/TimePicker.tsx +328 -328
  75. package/src/components/Toast/components/ToastItem.tsx +41 -41
  76. package/src/components/Toast/components/ToastProvider.tsx +63 -63
  77. package/src/components/Toast/hooks/useToast.ts +12 -12
  78. package/src/components/Toast/index.tsx +5 -5
  79. package/src/components/Toast/styles/index.ts +135 -135
  80. package/src/components/Toast/types/index.ts +46 -46
  81. package/src/components/Tooltip/index.tsx +73 -73
  82. package/src/components/Tooltip/styles.ts +77 -77
  83. package/src/hooks/useCountries.ts +41 -41
  84. package/src/hooks/useImageUpload.ts +139 -139
  85. package/src/hooks/useOnClickOutside.tsx +42 -42
  86. package/src/index.tsx +72 -71
  87. package/src/styles/index.ts +41 -41
  88. package/src/types/typographyValues.ts +178 -178
  89. package/src/utils/getNestedValue.ts +3 -3
  90. package/src/utils/states.ts +29 -29
  91. package/src/utils/uploadService.ts +180 -180
  92. package/tsconfig.json +3 -3
  93. package/tsup.config.ts +38 -38
package/.eslintrc.json CHANGED
@@ -1,3 +1,3 @@
1
- {
2
- "extends": "@lets-events/eslint-config"
1
+ {
2
+ "extends": "@lets-events/eslint-config"
3
3
  }
@@ -1,19 +1,21 @@
1
-
2
- > @lets-events/react@12.7.2 build
3
- > tsup src/index.tsx --format esm,cjs --dts --external react
4
-
5
- CLI Building entry: src/index.tsx
6
- CLI Using tsconfig: tsconfig.json
7
- CLI tsup v8.5.0
8
- CLI Using tsup config: C:\Users\cazuz\Desktop\Web\design-system\packages\react\tsup.config.ts
9
- CLI Target: es6
10
- ESM Build start
11
- CJS Build start
12
- ESM dist\index.mjs 389.70 KB
13
- ESM ⚡️ Build success in 199ms
14
- CJS dist\index.js 404.79 KB
15
- CJS ⚡️ Build success in 204ms
16
- DTS Build start
17
- DTS ⚡️ Build success in 4599ms
18
- DTS dist\index.d.mts 403.02 KB
19
- DTS dist\index.d.ts 403.02 KB
1
+
2
+
3
+ > @lets-events/react@12.8.0 build
4
+ > tsup src/index.tsx --format esm,cjs --dts --external react
5
+
6
+ CLI Building entry: src/index.tsx
7
+ CLI Using tsconfig: tsconfig.json
8
+ CLI tsup v8.5.0
9
+ CLI Using tsup config: /home/bia3003/Lets/design-system/packages/react/tsup.config.ts
10
+ CLI Target: es6
11
+ ESM Build start
12
+ CJS Build start
13
+ CJS dist/index.js 409.09 KB
14
+ CJS ⚡️ Build success in 613ms
15
+ ESM dist/index.mjs 393.73 KB
16
+ ESM ⚡️ Build success in 616ms
17
+ DTS Build start
18
+ DTS ⚡️ Build success in 11472ms
19
+ DTS dist/index.d.mts 403.74 KB
20
+ DTS dist/index.d.ts 403.74 KB
21
+ ⠙
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @lets-events/react
2
2
 
3
+ ## 12.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - DateAndTimeFormField
8
+
9
+ ## 12.7.3
10
+
11
+ ### Patch Changes
12
+
13
+ - Double Layout Mobile
14
+
3
15
  ## 12.7.2
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -15351,6 +15351,18 @@ type TimePickerFormFieldProps = Omit<TimePickerProps, "selected" | "setSelected"
15351
15351
  };
15352
15352
  declare const TimePickerFormField: ({ name, label, required, validate, validationErrorMessage, rules, ...timePickerProps }: TimePickerFormFieldProps) => react_jsx_runtime.JSX.Element;
15353
15353
 
15354
+ type DateAndTimeFormFieldProps = Omit<CalendarProps, "selected" | "setSelected"> & Omit<TimePickerProps, "selected" | "setSelected"> & {
15355
+ name: string;
15356
+ label?: string;
15357
+ required?: boolean;
15358
+ validate?: (value: string | undefined) => boolean | string;
15359
+ validationErrorMessage?: string;
15360
+ rules?: Omit<RegisterOptions<FieldValues, string>, "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled">;
15361
+ allowPastDates?: boolean;
15362
+ maxYearsFromNow?: number;
15363
+ };
15364
+ declare const DateAndTimeFormField: ({ name, label, required, validate, validationErrorMessage, rules, allowPastDates, maxYearsFromNow, ...props }: DateAndTimeFormFieldProps) => react_jsx_runtime.JSX.Element;
15365
+
15354
15366
  interface UploadConfig {
15355
15367
  apiUrl: string;
15356
15368
  s3Bucket: string;
@@ -15405,4 +15417,4 @@ declare const useImageUpload: (options: UseImageUploadOptions) => {
15405
15417
  reset: () => void;
15406
15418
  };
15407
15419
 
15408
- 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, CalendarFormField, type CalendarFormFieldProps, type CalendarProps, Card, type CardProps, CardStyled, CheckboxGroup, CheckboxGroupFormField, type CheckboxGroupFormFieldProps, type CheckboxGroupProps, CheckboxGroupStyled, CheckboxItem, type CheckboxItemProps, Container, type ContainerProps, ContainerStyled, CountryFormField, type DateRange, Divider, DoubleCalendar, DoubleCalendarFormField, type DoubleCalendarFormFieldProps, type DoubleCalendarProps, 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, type IconProps, 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, RichEditor, RichEditorFormField, type RichEditorFormFieldProps, type RichEditorProps, RichTextPresenter, Section, type SectionProps, SectionStyled, SelectFormField, type SelectFormFieldProps, Step, StepContent, StepList, type StepProps, StepStyled, StepTrigger, StepWrapper, Switch, SwitchFormField, type SwitchFormFieldProps, 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, TimePickerFormField, type TimePickerFormFieldProps, TimePickerIconButton, 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, type UploadConfig, UploadService, isValidCNPJ, maskFormat, maskUnformat, useImageUpload, useToast };
15420
+ 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, CalendarFormField, type CalendarFormFieldProps, type CalendarProps, Card, type CardProps, CardStyled, CheckboxGroup, CheckboxGroupFormField, type CheckboxGroupFormFieldProps, type CheckboxGroupProps, CheckboxGroupStyled, CheckboxItem, type CheckboxItemProps, Container, type ContainerProps, ContainerStyled, CountryFormField, DateAndTimeFormField, type DateAndTimeFormFieldProps, type DateRange, Divider, DoubleCalendar, DoubleCalendarFormField, type DoubleCalendarFormFieldProps, type DoubleCalendarProps, 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, type IconProps, 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, RichEditor, RichEditorFormField, type RichEditorFormFieldProps, type RichEditorProps, RichTextPresenter, Section, type SectionProps, SectionStyled, SelectFormField, type SelectFormFieldProps, Step, StepContent, StepList, type StepProps, StepStyled, StepTrigger, StepWrapper, Switch, SwitchFormField, type SwitchFormFieldProps, 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, TimePickerFormField, type TimePickerFormFieldProps, TimePickerIconButton, 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, type UploadConfig, UploadService, isValidCNPJ, maskFormat, maskUnformat, useImageUpload, useToast };
package/dist/index.d.ts CHANGED
@@ -15351,6 +15351,18 @@ type TimePickerFormFieldProps = Omit<TimePickerProps, "selected" | "setSelected"
15351
15351
  };
15352
15352
  declare const TimePickerFormField: ({ name, label, required, validate, validationErrorMessage, rules, ...timePickerProps }: TimePickerFormFieldProps) => react_jsx_runtime.JSX.Element;
15353
15353
 
15354
+ type DateAndTimeFormFieldProps = Omit<CalendarProps, "selected" | "setSelected"> & Omit<TimePickerProps, "selected" | "setSelected"> & {
15355
+ name: string;
15356
+ label?: string;
15357
+ required?: boolean;
15358
+ validate?: (value: string | undefined) => boolean | string;
15359
+ validationErrorMessage?: string;
15360
+ rules?: Omit<RegisterOptions<FieldValues, string>, "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled">;
15361
+ allowPastDates?: boolean;
15362
+ maxYearsFromNow?: number;
15363
+ };
15364
+ declare const DateAndTimeFormField: ({ name, label, required, validate, validationErrorMessage, rules, allowPastDates, maxYearsFromNow, ...props }: DateAndTimeFormFieldProps) => react_jsx_runtime.JSX.Element;
15365
+
15354
15366
  interface UploadConfig {
15355
15367
  apiUrl: string;
15356
15368
  s3Bucket: string;
@@ -15405,4 +15417,4 @@ declare const useImageUpload: (options: UseImageUploadOptions) => {
15405
15417
  reset: () => void;
15406
15418
  };
15407
15419
 
15408
- 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, CalendarFormField, type CalendarFormFieldProps, type CalendarProps, Card, type CardProps, CardStyled, CheckboxGroup, CheckboxGroupFormField, type CheckboxGroupFormFieldProps, type CheckboxGroupProps, CheckboxGroupStyled, CheckboxItem, type CheckboxItemProps, Container, type ContainerProps, ContainerStyled, CountryFormField, type DateRange, Divider, DoubleCalendar, DoubleCalendarFormField, type DoubleCalendarFormFieldProps, type DoubleCalendarProps, 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, type IconProps, 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, RichEditor, RichEditorFormField, type RichEditorFormFieldProps, type RichEditorProps, RichTextPresenter, Section, type SectionProps, SectionStyled, SelectFormField, type SelectFormFieldProps, Step, StepContent, StepList, type StepProps, StepStyled, StepTrigger, StepWrapper, Switch, SwitchFormField, type SwitchFormFieldProps, 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, TimePickerFormField, type TimePickerFormFieldProps, TimePickerIconButton, 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, type UploadConfig, UploadService, isValidCNPJ, maskFormat, maskUnformat, useImageUpload, useToast };
15420
+ 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, CalendarFormField, type CalendarFormFieldProps, type CalendarProps, Card, type CardProps, CardStyled, CheckboxGroup, CheckboxGroupFormField, type CheckboxGroupFormFieldProps, type CheckboxGroupProps, CheckboxGroupStyled, CheckboxItem, type CheckboxItemProps, Container, type ContainerProps, ContainerStyled, CountryFormField, DateAndTimeFormField, type DateAndTimeFormFieldProps, type DateRange, Divider, DoubleCalendar, DoubleCalendarFormField, type DoubleCalendarFormFieldProps, type DoubleCalendarProps, 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, type IconProps, 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, RichEditor, RichEditorFormField, type RichEditorFormFieldProps, type RichEditorProps, RichTextPresenter, Section, type SectionProps, SectionStyled, SelectFormField, type SelectFormFieldProps, Step, StepContent, StepList, type StepProps, StepStyled, StepTrigger, StepWrapper, Switch, SwitchFormField, type SwitchFormFieldProps, 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, TimePickerFormField, type TimePickerFormFieldProps, TimePickerIconButton, 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, type UploadConfig, UploadService, isValidCNPJ, maskFormat, maskUnformat, useImageUpload, useToast };
package/dist/index.js CHANGED
@@ -895,6 +895,7 @@ __export(index_exports, {
895
895
  Container: () => Container,
896
896
  ContainerStyled: () => ContainerStyled,
897
897
  CountryFormField: () => CountryFormField,
898
+ DateAndTimeFormField: () => DateAndTimeFormField,
898
899
  Divider: () => Divider,
899
900
  DoubleCalendar: () => DoubleCalendar,
900
901
  DoubleCalendarFormField: () => DoubleCalendarFormField,
@@ -7893,7 +7894,14 @@ var CalendarFooterStyled = styled("div", {
7893
7894
  gap: "1rem",
7894
7895
  justifyContent: "flex-end",
7895
7896
  alignItems: "center",
7896
- height: "3rem"
7897
+ height: "3rem",
7898
+ "@media (max-width: 748px)": {
7899
+ gap: "0",
7900
+ padding: "$4 $12",
7901
+ "> div": {
7902
+ padding: "0!important"
7903
+ }
7904
+ }
7897
7905
  });
7898
7906
  var DayPickerWrapperStyled = styled("div", {
7899
7907
  ".rt-TextFieldInput": {
@@ -7932,7 +7940,8 @@ var DayPickerWrapperStyled = styled("div", {
7932
7940
  },
7933
7941
  ".rdp-nav": {
7934
7942
  position: "absolute",
7935
- width: "98%",
7943
+ width: "100%",
7944
+ left: "0",
7936
7945
  display: "flex",
7937
7946
  justifyContent: "space-between"
7938
7947
  },
@@ -8062,6 +8071,13 @@ var DayPickerWrapperStyled = styled("div", {
8062
8071
  marginTop: "$16",
8063
8072
  paddingTop: "$16",
8064
8073
  borderTop: "2px solid $neutral100"
8074
+ },
8075
+ "@media (max-width: 748px)": {
8076
+ ".rdp-months": {
8077
+ flexDirection: "column",
8078
+ alignItems: "center",
8079
+ padding: "16px"
8080
+ }
8065
8081
  }
8066
8082
  });
8067
8083
 
@@ -13236,12 +13252,133 @@ var TimePickerFormField = (_a) => {
13236
13252
  ] });
13237
13253
  };
13238
13254
 
13239
- // src/hooks/useImageUpload.ts
13255
+ // src/components/FormFields/DateAndTimeFormField.tsx
13256
+ var import_react_hook_form16 = require("react-hook-form");
13240
13257
  var import_react28 = require("react");
13258
+ var import_jsx_runtime59 = require("react/jsx-runtime");
13259
+ var DateAndTimeFormField = (_a) => {
13260
+ var _b = _a, {
13261
+ name,
13262
+ label,
13263
+ required,
13264
+ validate,
13265
+ validationErrorMessage = "Este campo \xE9 obrigat\xF3rio.",
13266
+ rules,
13267
+ allowPastDates,
13268
+ maxYearsFromNow = 20
13269
+ } = _b, props = __objRest(_b, [
13270
+ "name",
13271
+ "label",
13272
+ "required",
13273
+ "validate",
13274
+ "validationErrorMessage",
13275
+ "rules",
13276
+ "allowPastDates",
13277
+ "maxYearsFromNow"
13278
+ ]);
13279
+ const handleValidate = (0, import_react28.useCallback)(
13280
+ (value) => {
13281
+ var _a2;
13282
+ if (value === void 0 || value === null || value === "") {
13283
+ if (required) return validationErrorMessage;
13284
+ return true;
13285
+ }
13286
+ return (_a2 = validate == null ? void 0 : validate(value)) != null ? _a2 : true;
13287
+ },
13288
+ [validate, required, validationErrorMessage]
13289
+ );
13290
+ const { field, fieldState } = (0, import_react_hook_form16.useController)({
13291
+ name,
13292
+ rules: __spreadValues({
13293
+ required: required ? validationErrorMessage : false,
13294
+ validate: handleValidate
13295
+ }, rules),
13296
+ defaultValue: ""
13297
+ });
13298
+ const fieldError = fieldState.error;
13299
+ const haveError = !!fieldError;
13300
+ const errorMsg = fieldError == null ? void 0 : fieldError.message;
13301
+ const { value: isoValue, onChange: setIsoValue } = field;
13302
+ const { selectedDate, selectedTime } = (0, import_react28.useMemo)(() => {
13303
+ if (!isoValue) return { selectedDate: void 0, selectedTime: void 0 };
13304
+ try {
13305
+ const date = new Date(isoValue);
13306
+ if (isNaN(date.getTime())) {
13307
+ return { selectedDate: void 0, selectedTime: void 0 };
13308
+ }
13309
+ const hours = String(date.getHours()).padStart(2, "0");
13310
+ const minutes = String(date.getMinutes()).padStart(2, "0");
13311
+ const time = `${hours}:${minutes}`;
13312
+ return { selectedDate: date, selectedTime: time };
13313
+ } catch (e) {
13314
+ return { selectedDate: void 0, selectedTime: void 0 };
13315
+ }
13316
+ }, [isoValue]);
13317
+ const combineDateTime = (0, import_react28.useCallback)(
13318
+ (date, time) => {
13319
+ if (!date || !time) {
13320
+ setIsoValue("");
13321
+ return;
13322
+ }
13323
+ const [hours, minutes] = time.split(":").map(Number);
13324
+ const combined = new Date(date);
13325
+ combined.setHours(hours || 0, minutes || 0, 0, 0);
13326
+ setIsoValue(combined.toISOString());
13327
+ },
13328
+ [setIsoValue]
13329
+ );
13330
+ const handleDateChange = (date) => {
13331
+ combineDateTime(date, selectedTime);
13332
+ };
13333
+ const handleTimeChange = (time) => {
13334
+ combineDateTime(selectedDate, time);
13335
+ };
13336
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Flex, { direction: "column", children: [
13337
+ label && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
13338
+ FormLabel,
13339
+ {
13340
+ name,
13341
+ label,
13342
+ required,
13343
+ haveError
13344
+ }
13345
+ ),
13346
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Flex, { gap: 12, align: "start", children: [
13347
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Flex, { direction: "column", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
13348
+ Calendar,
13349
+ __spreadValues({
13350
+ selected: selectedDate,
13351
+ setSelected: (date) => {
13352
+ const d = typeof date === "function" ? date(selectedDate) : date;
13353
+ handleDateChange(d);
13354
+ },
13355
+ hasError: haveError,
13356
+ allowPastDates,
13357
+ maxYearsFromNow
13358
+ }, props)
13359
+ ) }),
13360
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Flex, { direction: "column", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
13361
+ TimePicker,
13362
+ __spreadValues({
13363
+ selected: selectedTime,
13364
+ setSelected: (value) => {
13365
+ const time = typeof value === "function" ? value(selectedTime) : value;
13366
+ handleTimeChange(time);
13367
+ },
13368
+ hasError: haveError
13369
+ }, props)
13370
+ ) })
13371
+ ] }),
13372
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ErrorFormMessage, { message: errorMsg })
13373
+ ] });
13374
+ };
13375
+
13376
+ // src/hooks/useImageUpload.ts
13377
+ var import_react29 = require("react");
13241
13378
  var useImageUpload = (options) => {
13242
- const [isUploading, setIsUploading] = (0, import_react28.useState)(false);
13243
- const [progress, setProgress] = (0, import_react28.useState)(null);
13244
- const [error, setError] = (0, import_react28.useState)(null);
13379
+ const [isUploading, setIsUploading] = (0, import_react29.useState)(false);
13380
+ const [progress, setProgress] = (0, import_react29.useState)(null);
13381
+ const [error, setError] = (0, import_react29.useState)(null);
13245
13382
  const {
13246
13383
  onSuccess,
13247
13384
  onError,
@@ -13251,7 +13388,7 @@ var useImageUpload = (options) => {
13251
13388
  allowedTypes = ["image/jpeg", "image/png", "image/gif", "image/webp"],
13252
13389
  uploadConfig
13253
13390
  } = options;
13254
- const validateFile = (0, import_react28.useCallback)(
13391
+ const validateFile = (0, import_react29.useCallback)(
13255
13392
  (file) => {
13256
13393
  if (!allowedTypes.includes(file.type)) {
13257
13394
  const errorMsg = "Tipo de arquivo n\xE3o suportado";
@@ -13269,7 +13406,7 @@ var useImageUpload = (options) => {
13269
13406
  },
13270
13407
  [allowedTypes, maxFileSize, onError]
13271
13408
  );
13272
- const uploadFile = (0, import_react28.useCallback)(
13409
+ const uploadFile = (0, import_react29.useCallback)(
13273
13410
  (file) => __async(null, null, function* () {
13274
13411
  if (!validateFile(file)) {
13275
13412
  return null;
@@ -13322,7 +13459,7 @@ var useImageUpload = (options) => {
13322
13459
  }),
13323
13460
  [validateFile, onSuccess, onError, onProgress]
13324
13461
  );
13325
- const reset = (0, import_react28.useCallback)(() => {
13462
+ const reset = (0, import_react29.useCallback)(() => {
13326
13463
  setIsUploading(false);
13327
13464
  setProgress(null);
13328
13465
  setError(null);
@@ -13370,6 +13507,7 @@ var useImageUpload = (options) => {
13370
13507
  Container,
13371
13508
  ContainerStyled,
13372
13509
  CountryFormField,
13510
+ DateAndTimeFormField,
13373
13511
  Divider,
13374
13512
  DoubleCalendar,
13375
13513
  DoubleCalendarFormField,
package/dist/index.mjs CHANGED
@@ -7778,7 +7778,14 @@ var CalendarFooterStyled = styled("div", {
7778
7778
  gap: "1rem",
7779
7779
  justifyContent: "flex-end",
7780
7780
  alignItems: "center",
7781
- height: "3rem"
7781
+ height: "3rem",
7782
+ "@media (max-width: 748px)": {
7783
+ gap: "0",
7784
+ padding: "$4 $12",
7785
+ "> div": {
7786
+ padding: "0!important"
7787
+ }
7788
+ }
7782
7789
  });
7783
7790
  var DayPickerWrapperStyled = styled("div", {
7784
7791
  ".rt-TextFieldInput": {
@@ -7817,7 +7824,8 @@ var DayPickerWrapperStyled = styled("div", {
7817
7824
  },
7818
7825
  ".rdp-nav": {
7819
7826
  position: "absolute",
7820
- width: "98%",
7827
+ width: "100%",
7828
+ left: "0",
7821
7829
  display: "flex",
7822
7830
  justifyContent: "space-between"
7823
7831
  },
@@ -7947,6 +7955,13 @@ var DayPickerWrapperStyled = styled("div", {
7947
7955
  marginTop: "$16",
7948
7956
  paddingTop: "$16",
7949
7957
  borderTop: "2px solid $neutral100"
7958
+ },
7959
+ "@media (max-width: 748px)": {
7960
+ ".rdp-months": {
7961
+ flexDirection: "column",
7962
+ alignItems: "center",
7963
+ padding: "16px"
7964
+ }
7950
7965
  }
7951
7966
  });
7952
7967
 
@@ -13130,8 +13145,129 @@ var TimePickerFormField = (_a) => {
13130
13145
  ] });
13131
13146
  };
13132
13147
 
13148
+ // src/components/FormFields/DateAndTimeFormField.tsx
13149
+ import { useController as useController7 } from "react-hook-form";
13150
+ import { useCallback as useCallback8, useMemo as useMemo4 } from "react";
13151
+ import { jsx as jsx59, jsxs as jsxs33 } from "react/jsx-runtime";
13152
+ var DateAndTimeFormField = (_a) => {
13153
+ var _b = _a, {
13154
+ name,
13155
+ label,
13156
+ required,
13157
+ validate,
13158
+ validationErrorMessage = "Este campo \xE9 obrigat\xF3rio.",
13159
+ rules,
13160
+ allowPastDates,
13161
+ maxYearsFromNow = 20
13162
+ } = _b, props = __objRest(_b, [
13163
+ "name",
13164
+ "label",
13165
+ "required",
13166
+ "validate",
13167
+ "validationErrorMessage",
13168
+ "rules",
13169
+ "allowPastDates",
13170
+ "maxYearsFromNow"
13171
+ ]);
13172
+ const handleValidate = useCallback8(
13173
+ (value) => {
13174
+ var _a2;
13175
+ if (value === void 0 || value === null || value === "") {
13176
+ if (required) return validationErrorMessage;
13177
+ return true;
13178
+ }
13179
+ return (_a2 = validate == null ? void 0 : validate(value)) != null ? _a2 : true;
13180
+ },
13181
+ [validate, required, validationErrorMessage]
13182
+ );
13183
+ const { field, fieldState } = useController7({
13184
+ name,
13185
+ rules: __spreadValues({
13186
+ required: required ? validationErrorMessage : false,
13187
+ validate: handleValidate
13188
+ }, rules),
13189
+ defaultValue: ""
13190
+ });
13191
+ const fieldError = fieldState.error;
13192
+ const haveError = !!fieldError;
13193
+ const errorMsg = fieldError == null ? void 0 : fieldError.message;
13194
+ const { value: isoValue, onChange: setIsoValue } = field;
13195
+ const { selectedDate, selectedTime } = useMemo4(() => {
13196
+ if (!isoValue) return { selectedDate: void 0, selectedTime: void 0 };
13197
+ try {
13198
+ const date = new Date(isoValue);
13199
+ if (isNaN(date.getTime())) {
13200
+ return { selectedDate: void 0, selectedTime: void 0 };
13201
+ }
13202
+ const hours = String(date.getHours()).padStart(2, "0");
13203
+ const minutes = String(date.getMinutes()).padStart(2, "0");
13204
+ const time = `${hours}:${minutes}`;
13205
+ return { selectedDate: date, selectedTime: time };
13206
+ } catch (e) {
13207
+ return { selectedDate: void 0, selectedTime: void 0 };
13208
+ }
13209
+ }, [isoValue]);
13210
+ const combineDateTime = useCallback8(
13211
+ (date, time) => {
13212
+ if (!date || !time) {
13213
+ setIsoValue("");
13214
+ return;
13215
+ }
13216
+ const [hours, minutes] = time.split(":").map(Number);
13217
+ const combined = new Date(date);
13218
+ combined.setHours(hours || 0, minutes || 0, 0, 0);
13219
+ setIsoValue(combined.toISOString());
13220
+ },
13221
+ [setIsoValue]
13222
+ );
13223
+ const handleDateChange = (date) => {
13224
+ combineDateTime(date, selectedTime);
13225
+ };
13226
+ const handleTimeChange = (time) => {
13227
+ combineDateTime(selectedDate, time);
13228
+ };
13229
+ return /* @__PURE__ */ jsxs33(Flex, { direction: "column", children: [
13230
+ label && /* @__PURE__ */ jsx59(
13231
+ FormLabel,
13232
+ {
13233
+ name,
13234
+ label,
13235
+ required,
13236
+ haveError
13237
+ }
13238
+ ),
13239
+ /* @__PURE__ */ jsxs33(Flex, { gap: 12, align: "start", children: [
13240
+ /* @__PURE__ */ jsx59(Flex, { direction: "column", children: /* @__PURE__ */ jsx59(
13241
+ Calendar,
13242
+ __spreadValues({
13243
+ selected: selectedDate,
13244
+ setSelected: (date) => {
13245
+ const d = typeof date === "function" ? date(selectedDate) : date;
13246
+ handleDateChange(d);
13247
+ },
13248
+ hasError: haveError,
13249
+ allowPastDates,
13250
+ maxYearsFromNow
13251
+ }, props)
13252
+ ) }),
13253
+ /* @__PURE__ */ jsx59(Flex, { direction: "column", children: /* @__PURE__ */ jsx59(
13254
+ TimePicker,
13255
+ __spreadValues({
13256
+ selected: selectedTime,
13257
+ setSelected: (value) => {
13258
+ const time = typeof value === "function" ? value(selectedTime) : value;
13259
+ handleTimeChange(time);
13260
+ },
13261
+ hasError: haveError
13262
+ }, props)
13263
+ ) })
13264
+ ] }),
13265
+ /* @__PURE__ */ jsx59(ErrorFormMessage, { message: errorMsg })
13266
+ ] });
13267
+ };
13268
+
13133
13269
  // src/hooks/useImageUpload.ts
13134
- import { useState as useState13, useCallback as useCallback8 } from "react";
13270
+ import { useState as useState13, useCallback as useCallback9 } from "react";
13135
13271
  var useImageUpload = (options) => {
13136
13272
  const [isUploading, setIsUploading] = useState13(false);
13137
13273
  const [progress, setProgress] = useState13(null);
@@ -13145,7 +13281,7 @@ var useImageUpload = (options) => {
13145
13281
  allowedTypes = ["image/jpeg", "image/png", "image/gif", "image/webp"],
13146
13282
  uploadConfig
13147
13283
  } = options;
13148
- const validateFile = useCallback8(
13284
+ const validateFile = useCallback9(
13149
13285
  (file) => {
13150
13286
  if (!allowedTypes.includes(file.type)) {
13151
13287
  const errorMsg = "Tipo de arquivo n\xE3o suportado";
@@ -13163,7 +13299,7 @@ var useImageUpload = (options) => {
13163
13299
  },
13164
13300
  [allowedTypes, maxFileSize, onError]
13165
13301
  );
13166
- const uploadFile = useCallback8(
13302
+ const uploadFile = useCallback9(
13167
13303
  (file) => __async(null, null, function* () {
13168
13304
  if (!validateFile(file)) {
13169
13305
  return null;
@@ -13216,7 +13352,7 @@ var useImageUpload = (options) => {
13216
13352
  }),
13217
13353
  [validateFile, onSuccess, onError, onProgress]
13218
13354
  );
13219
- const reset = useCallback8(() => {
13355
+ const reset = useCallback9(() => {
13220
13356
  setIsUploading(false);
13221
13357
  setProgress(null);
13222
13358
  setError(null);
@@ -13263,6 +13399,7 @@ export {
13263
13399
  Container,
13264
13400
  ContainerStyled,
13265
13401
  CountryFormField,
13402
+ DateAndTimeFormField,
13266
13403
  Divider,
13267
13404
  DoubleCalendar,
13268
13405
  DoubleCalendarFormField,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lets-events/react",
3
- "version": "12.7.2",
3
+ "version": "12.8.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",