@lets-events/react 12.2.13 → 12.3.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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @lets-events/react@12.2.13 build
2
+ > @lets-events/react@12.3.0 build
3
3
  > tsup src/index.tsx --format esm,cjs --dts --external react
4
4
 
5
5
  CLI Building entry: src/index.tsx
@@ -9,11 +9,11 @@
9
9
  CLI Target: es6
10
10
  ESM Build start
11
11
  CJS Build start
12
- ESM dist\index.mjs 380.64 KB
13
- ESM ⚡️ Build success in 231ms
14
- CJS dist\index.js 394.61 KB
15
- CJS ⚡️ Build success in 232ms
12
+ CJS dist\index.js 395.67 KB
13
+ CJS ⚡️ Build success in 226ms
14
+ ESM dist\index.mjs 381.64 KB
15
+ ESM ⚡️ Build success in 227ms
16
16
  DTS Build start
17
- DTS ⚡️ Build success in 4562ms
18
- DTS dist\index.d.mts 398.61 KB
19
- DTS dist\index.d.ts 398.61 KB
17
+ DTS ⚡️ Build success in 4571ms
18
+ DTS dist\index.d.mts 398.68 KB
19
+ DTS dist\index.d.ts 398.68 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @lets-events/react
2
2
 
3
+ ## 12.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - button loadding state
8
+
9
+ ## 12.2.14
10
+
11
+ ### Patch Changes
12
+
13
+ - add warning color to card
14
+
3
15
  ## 12.2.13
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -792,8 +792,9 @@ declare const ButtonStyled: _stitches_react_types_styled_component.StyledCompone
792
792
  type ButtonVariantProps = VariantProps<typeof ButtonStyled>;
793
793
  interface ButtonProps extends ComponentProps<typeof ButtonStyled>, ButtonVariantProps {
794
794
  asChild?: boolean;
795
+ loading?: boolean;
795
796
  }
796
- declare function Button({ asChild, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
797
+ declare function Button({ asChild, children, loading, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
797
798
 
798
799
  declare const ButtonItemStyled: _stitches_react_types_styled_component.StyledComponent<React$1.ForwardRefExoticComponent<_radix_ui_themes.ButtonProps & React$1.RefAttributes<HTMLButtonElement>>, {
799
800
  active?: boolean | "true" | undefined;
@@ -11052,7 +11053,7 @@ declare function StepWrapper({ children, ...props }: {
11052
11053
  }): react_jsx_runtime.JSX.Element;
11053
11054
 
11054
11055
  declare const CardStyled: _stitches_react_types_styled_component.StyledComponent<React__default.ForwardRefExoticComponent<_radix_ui_themes.CardProps & React__default.RefAttributes<HTMLDivElement>>, {
11055
- color?: "error" | "primary" | "disable" | undefined;
11056
+ color?: "warning" | "error" | "primary" | "disable" | undefined;
11056
11057
  boxShadow?: boolean | "false" | "true" | undefined;
11057
11058
  }, {}, _stitches_react_types_css_util.CSS<{}, {
11058
11059
  colors: {
@@ -15202,4 +15203,4 @@ declare const useImageUpload: (options: UseImageUploadOptions) => {
15202
15203
  reset: () => void;
15203
15204
  };
15204
15205
 
15205
- 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, Divider, Drawer, type DrawerProps, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuProps, EmailFormField, type EmailFormFieldProps, ErrorFormMessage, type ErrorFormMessageProps, Filter, FilterItem, type FilterItemProps, type FilterProps, Flex, type FlexProps, FlexStyled, Form, FormLabel, type FormLabelProps, type FormProps, Grid, type GridProps, GridStyled, Icon, IdentityDocumentNumberFormField, InputStyled, MenuDropdown, type MenuDropdownProps, Modal, type ModalProps, MultiSelect, MultiSelectFormField, type MultiSelectFormFieldProps, type MultiSelectProps, PhoneFormField, type PhoneFormFieldProps, RadioGroup, RadioGroupFormField, type RadioGroupFormFieldProps, type RadioGroupProps, RadioGroupStyled, RadioItem, type RadioItemProps, RichEditor, RichEditorFormField, type RichEditorFormFieldProps, type RichEditorProps, 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 };
15206
+ 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, Divider, 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, 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
@@ -792,8 +792,9 @@ declare const ButtonStyled: _stitches_react_types_styled_component.StyledCompone
792
792
  type ButtonVariantProps = VariantProps<typeof ButtonStyled>;
793
793
  interface ButtonProps extends ComponentProps<typeof ButtonStyled>, ButtonVariantProps {
794
794
  asChild?: boolean;
795
+ loading?: boolean;
795
796
  }
796
- declare function Button({ asChild, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
797
+ declare function Button({ asChild, children, loading, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
797
798
 
798
799
  declare const ButtonItemStyled: _stitches_react_types_styled_component.StyledComponent<React$1.ForwardRefExoticComponent<_radix_ui_themes.ButtonProps & React$1.RefAttributes<HTMLButtonElement>>, {
799
800
  active?: boolean | "true" | undefined;
@@ -11052,7 +11053,7 @@ declare function StepWrapper({ children, ...props }: {
11052
11053
  }): react_jsx_runtime.JSX.Element;
11053
11054
 
11054
11055
  declare const CardStyled: _stitches_react_types_styled_component.StyledComponent<React__default.ForwardRefExoticComponent<_radix_ui_themes.CardProps & React__default.RefAttributes<HTMLDivElement>>, {
11055
- color?: "error" | "primary" | "disable" | undefined;
11056
+ color?: "warning" | "error" | "primary" | "disable" | undefined;
11056
11057
  boxShadow?: boolean | "false" | "true" | undefined;
11057
11058
  }, {}, _stitches_react_types_css_util.CSS<{}, {
11058
11059
  colors: {
@@ -15202,4 +15203,4 @@ declare const useImageUpload: (options: UseImageUploadOptions) => {
15202
15203
  reset: () => void;
15203
15204
  };
15204
15205
 
15205
- 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, Divider, Drawer, type DrawerProps, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuProps, EmailFormField, type EmailFormFieldProps, ErrorFormMessage, type ErrorFormMessageProps, Filter, FilterItem, type FilterItemProps, type FilterProps, Flex, type FlexProps, FlexStyled, Form, FormLabel, type FormLabelProps, type FormProps, Grid, type GridProps, GridStyled, Icon, IdentityDocumentNumberFormField, InputStyled, MenuDropdown, type MenuDropdownProps, Modal, type ModalProps, MultiSelect, MultiSelectFormField, type MultiSelectFormFieldProps, type MultiSelectProps, PhoneFormField, type PhoneFormFieldProps, RadioGroup, RadioGroupFormField, type RadioGroupFormFieldProps, type RadioGroupProps, RadioGroupStyled, RadioItem, type RadioItemProps, RichEditor, RichEditorFormField, type RichEditorFormFieldProps, type RichEditorProps, 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 };
15206
+ 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, Divider, 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, 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
@@ -1546,6 +1546,9 @@ function Text(_a) {
1546
1546
  );
1547
1547
  }
1548
1548
 
1549
+ // src/components/Button/index.tsx
1550
+ var import_react2 = require("react");
1551
+
1549
1552
  // src/components/Button/styledComponents.ts
1550
1553
  var import_themes2 = require("@radix-ui/themes");
1551
1554
  var ButtonStyled = styled(import_themes2.Button, {
@@ -1841,14 +1844,40 @@ var ButtonStyled = styled(import_themes2.Button, {
1841
1844
  outlinedBgColor: "transparent"
1842
1845
  }
1843
1846
  });
1847
+ var spin = keyframes({
1848
+ "0%": { transform: "rotate(0deg)" },
1849
+ "100%": { transform: "rotate(360deg)" }
1850
+ });
1851
+ var SpinningDiv = styled("div", {
1852
+ display: "inline-flex",
1853
+ alignItems: "center",
1854
+ justifyContent: "center",
1855
+ animation: `${spin} 1s linear infinite`,
1856
+ transformOrigin: "center center"
1857
+ });
1844
1858
 
1845
1859
  // src/components/Button/index.tsx
1846
1860
  var import_themes3 = require("@radix-ui/themes");
1847
1861
  var import_jsx_runtime3 = require("react/jsx-runtime");
1848
1862
  function Button(_a) {
1849
- var _b = _a, { asChild } = _b, props = __objRest(_b, ["asChild"]);
1863
+ var _b = _a, { asChild, children, loading } = _b, props = __objRest(_b, ["asChild", "children", "loading"]);
1850
1864
  const Component = asChild ? import_themes3.Button : "button";
1851
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ButtonStyled, __spreadValues({ as: Component }, props));
1865
+ const { size } = props;
1866
+ const spinnerSize = (0, import_react2.useMemo)(() => {
1867
+ switch (size) {
1868
+ case "small":
1869
+ return "sm";
1870
+ case "extraSmall":
1871
+ return "xs";
1872
+ case "medium":
1873
+ return "md";
1874
+ case "large":
1875
+ return "xl";
1876
+ default:
1877
+ return "sm";
1878
+ }
1879
+ }, [size]);
1880
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ButtonStyled, __spreadProps(__spreadValues({ as: Component }, props), { children: loading ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(SpinningDiv, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon_default, { name: "circle-notch", size: spinnerSize }) }) : children }));
1852
1881
  }
1853
1882
 
1854
1883
  // src/components/ButtonGroup.tsx
@@ -2377,7 +2406,7 @@ function Avatar(_a) {
2377
2406
  }
2378
2407
 
2379
2408
  // src/components/TextField.tsx
2380
- var import_react2 = __toESM(require("react"));
2409
+ var import_react3 = __toESM(require("react"));
2381
2410
  var import_themes7 = require("@radix-ui/themes");
2382
2411
 
2383
2412
  // src/components/Flex.tsx
@@ -2682,7 +2711,7 @@ var TextFieldLimitIndicator = styled("div", {
2682
2711
  });
2683
2712
  var maskFormat = import_mask.format;
2684
2713
  var maskUnformat = import_mask.unformat;
2685
- var TextField = import_react2.default.forwardRef(
2714
+ var TextField = import_react3.default.forwardRef(
2686
2715
  (_a, fowardedRef) => {
2687
2716
  var _b = _a, {
2688
2717
  children,
@@ -2710,8 +2739,8 @@ var TextField = import_react2.default.forwardRef(
2710
2739
  "hasError"
2711
2740
  ]);
2712
2741
  const maskRef = mask ? (0, import_mask.useMask)(mask) : void 0;
2713
- const inputRef = import_react2.default.useRef(null);
2714
- const badgeRef = import_react2.default.useRef(null);
2742
+ const inputRef = import_react3.default.useRef(null);
2743
+ const badgeRef = import_react3.default.useRef(null);
2715
2744
  const updateCharCountBadge = () => {
2716
2745
  var _a2, _b2;
2717
2746
  if (!maxLength || !badgeRef.current) return;
@@ -3304,7 +3333,7 @@ function FilterItem(_a) {
3304
3333
  }
3305
3334
 
3306
3335
  // src/components/Dropdown.tsx
3307
- var import_react3 = __toESM(require("react"));
3336
+ var import_react4 = __toESM(require("react"));
3308
3337
  var import_free_solid_svg_icons2 = require("@fortawesome/free-solid-svg-icons");
3309
3338
  var import_react_fontawesome2 = require("@fortawesome/react-fontawesome");
3310
3339
  var import_jsx_runtime11 = require("react/jsx-runtime");
@@ -3435,8 +3464,8 @@ function DropdownMenu2(_a) {
3435
3464
  "onOpenChange",
3436
3465
  "defaultOpen"
3437
3466
  ]);
3438
- const [internalOpen, setInternalOpen] = (0, import_react3.useState)(defaultOpen);
3439
- const dropdownRef = (0, import_react3.useRef)(null);
3467
+ const [internalOpen, setInternalOpen] = (0, import_react4.useState)(defaultOpen);
3468
+ const dropdownRef = (0, import_react4.useRef)(null);
3440
3469
  const isControlled = controlledOpen !== void 0;
3441
3470
  const isOpen = isControlled ? controlledOpen : internalOpen;
3442
3471
  const handleToggle = () => {
@@ -3452,7 +3481,7 @@ function DropdownMenu2(_a) {
3452
3481
  }
3453
3482
  onOpenChange == null ? void 0 : onOpenChange(false);
3454
3483
  };
3455
- (0, import_react3.useEffect)(() => {
3484
+ (0, import_react4.useEffect)(() => {
3456
3485
  const handleClickOutside = (event) => {
3457
3486
  if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
3458
3487
  handleClose();
@@ -3513,7 +3542,7 @@ function DropdownMenu2(_a) {
3513
3542
  })
3514
3543
  );
3515
3544
  }
3516
- var DropdownMenuContext = import_react3.default.createContext(null);
3545
+ var DropdownMenuContext = import_react4.default.createContext(null);
3517
3546
  function DropdownMenuProvider({
3518
3547
  children,
3519
3548
  onItemSelect
@@ -3536,7 +3565,7 @@ function DropdownMenuItem(_a) {
3536
3565
  "onSelect",
3537
3566
  "onClick"
3538
3567
  ]);
3539
- const context = import_react3.default.useContext(DropdownMenuContext);
3568
+ const context = import_react4.default.useContext(DropdownMenuContext);
3540
3569
  const handleClick = (event) => {
3541
3570
  onClick == null ? void 0 : onClick(event);
3542
3571
  onSelect == null ? void 0 : onSelect(value);
@@ -3565,7 +3594,7 @@ function DropdownMenuItem(_a) {
3565
3594
  }
3566
3595
 
3567
3596
  // src/components/Badge.tsx
3568
- var import_react4 = __toESM(require("react"));
3597
+ var import_react5 = __toESM(require("react"));
3569
3598
  var import_themes11 = require("@radix-ui/themes");
3570
3599
  var import_jsx_runtime12 = require("react/jsx-runtime");
3571
3600
  var BadgeStyled = styled(import_themes11.Badge, {
@@ -3669,9 +3698,9 @@ var BadgeStyled = styled(import_themes11.Badge, {
3669
3698
  });
3670
3699
  function Badge(_a) {
3671
3700
  var _b = _a, { asChild, children } = _b, props = __objRest(_b, ["asChild", "children"]);
3672
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(BadgeStyled, __spreadProps(__spreadValues({}, props), { children: import_react4.default.Children.map(children, (child) => {
3673
- if (import_react4.default.isValidElement(child)) {
3674
- return import_react4.default.cloneElement(child, { size: props.size });
3701
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(BadgeStyled, __spreadProps(__spreadValues({}, props), { children: import_react5.default.Children.map(children, (child) => {
3702
+ if (import_react5.default.isValidElement(child)) {
3703
+ return import_react5.default.cloneElement(child, { size: props.size });
3675
3704
  }
3676
3705
  return child;
3677
3706
  }) }));
@@ -3775,7 +3804,7 @@ function Modal(_a) {
3775
3804
  }
3776
3805
 
3777
3806
  // src/components/MenuDropdown/index.tsx
3778
- var import_react6 = require("react");
3807
+ var import_react7 = require("react");
3779
3808
 
3780
3809
  // src/components/MenuDropdown/styledComponents.ts
3781
3810
  var MenuDropdownContainerStyled = styled("div", {
@@ -3809,9 +3838,9 @@ var MenuItemsContainerStyled = styled("div", {
3809
3838
  });
3810
3839
 
3811
3840
  // src/hooks/useOnClickOutside.tsx
3812
- var import_react5 = require("react");
3841
+ var import_react6 = require("react");
3813
3842
  function useOnClickOutside(ref, handler) {
3814
- (0, import_react5.useEffect)(() => {
3843
+ (0, import_react6.useEffect)(() => {
3815
3844
  const listener = (event) => {
3816
3845
  if (!(ref == null ? void 0 : ref.current) || !event.target) {
3817
3846
  return;
@@ -3848,7 +3877,7 @@ function MenuDropdown({
3848
3877
  isOpen,
3849
3878
  setIsOpen
3850
3879
  }) {
3851
- const dropdownItemsContainerRef = (0, import_react6.useRef)(null);
3880
+ const dropdownItemsContainerRef = (0, import_react7.useRef)(null);
3852
3881
  useOnClickOutside(dropdownItemsContainerRef, () => {
3853
3882
  setIsOpen(false);
3854
3883
  });
@@ -3859,7 +3888,7 @@ function MenuDropdown({
3859
3888
  }
3860
3889
 
3861
3890
  // src/components/Calendar/index.tsx
3862
- var import_react7 = require("react");
3891
+ var import_react8 = require("react");
3863
3892
  var import_react_day_picker = require("react-day-picker");
3864
3893
 
3865
3894
  // ../../node_modules/date-fns/locale/_lib/buildFormatLongFn.js
@@ -8025,15 +8054,15 @@ function Calendar(_a) {
8025
8054
  "allowPastDates",
8026
8055
  "maxYearsFromNow"
8027
8056
  ]);
8028
- const [inputValue, setInputValue] = (0, import_react7.useState)("");
8029
- const [showContainer, setShowCalendar] = (0, import_react7.useState)(false);
8030
- const dropdownRef = (0, import_react7.useRef)(null);
8057
+ const [inputValue, setInputValue] = (0, import_react8.useState)("");
8058
+ const [showContainer, setShowCalendar] = (0, import_react8.useState)(false);
8059
+ const dropdownRef = (0, import_react8.useRef)(null);
8031
8060
  useOnClickOutside(dropdownRef, () => {
8032
8061
  setShowCalendar(false);
8033
8062
  });
8034
8063
  const today = /* @__PURE__ */ new Date();
8035
8064
  const maxDate = addYears(today, maxYearsFromNow);
8036
- (0, import_react7.useEffect)(() => {
8065
+ (0, import_react8.useEffect)(() => {
8037
8066
  if (selected) {
8038
8067
  setInputValue(format2(selected, "dd/MM/yyyy"));
8039
8068
  } else {
@@ -8110,7 +8139,7 @@ function Calendar(_a) {
8110
8139
  }
8111
8140
 
8112
8141
  // src/components/Drawer/index.tsx
8113
- var import_react8 = require("react");
8142
+ var import_react9 = require("react");
8114
8143
 
8115
8144
  // src/components/Drawer/styledComponents.ts
8116
8145
  var DrawerOverlayStyled = styled("div", {
@@ -8176,7 +8205,7 @@ function Drawer({
8176
8205
  zIndex
8177
8206
  }) {
8178
8207
  if (!isOpen) return null;
8179
- const drawerContainerRef = (0, import_react8.useRef)(null);
8208
+ const drawerContainerRef = (0, import_react9.useRef)(null);
8180
8209
  useOnClickOutside(drawerContainerRef, (event) => {
8181
8210
  var _a;
8182
8211
  if (!event || !drawerContainerRef.current) {
@@ -8248,7 +8277,7 @@ function Drawer({
8248
8277
  }
8249
8278
 
8250
8279
  // src/components/TimePicker.tsx
8251
- var import_react9 = require("react");
8280
+ var import_react10 = require("react");
8252
8281
  var import_jsx_runtime17 = require("react/jsx-runtime");
8253
8282
  var TimePickerStyled = styled("div", {
8254
8283
  position: "relative",
@@ -8371,14 +8400,14 @@ function TimePicker({
8371
8400
  hasError,
8372
8401
  expand = false
8373
8402
  }) {
8374
- const [hours, setHours] = (0, import_react9.useState)("00");
8375
- const [minutes, setMinutes] = (0, import_react9.useState)("00");
8376
- const [rawHours, setRawHours] = (0, import_react9.useState)("00");
8377
- const [rawMinutes, setRawMinutes] = (0, import_react9.useState)("00");
8378
- const [isOpen, setIsOpen] = (0, import_react9.useState)(false);
8379
- const dropdownRef = (0, import_react9.useRef)(null);
8403
+ const [hours, setHours] = (0, import_react10.useState)("00");
8404
+ const [minutes, setMinutes] = (0, import_react10.useState)("00");
8405
+ const [rawHours, setRawHours] = (0, import_react10.useState)("00");
8406
+ const [rawMinutes, setRawMinutes] = (0, import_react10.useState)("00");
8407
+ const [isOpen, setIsOpen] = (0, import_react10.useState)(false);
8408
+ const dropdownRef = (0, import_react10.useRef)(null);
8380
8409
  useOnClickOutside(dropdownRef, () => setIsOpen(false));
8381
- const handleIncrement = (0, import_react9.useCallback)(
8410
+ const handleIncrement = (0, import_react10.useCallback)(
8382
8411
  (type) => {
8383
8412
  if (type === "hours") {
8384
8413
  const next = (parseInt(hours) + 1) % 24;
@@ -8392,7 +8421,7 @@ function TimePicker({
8392
8421
  },
8393
8422
  [hours, minutes]
8394
8423
  );
8395
- const handleDecrement = (0, import_react9.useCallback)(
8424
+ const handleDecrement = (0, import_react10.useCallback)(
8396
8425
  (type) => {
8397
8426
  if (type === "hours") {
8398
8427
  const prev = (parseInt(hours) - 1 + 24) % 24;
@@ -8916,7 +8945,7 @@ function Switch(props) {
8916
8945
  }
8917
8946
 
8918
8947
  // src/components/Step.tsx
8919
- var import_react10 = __toESM(require("react"));
8948
+ var import_react11 = __toESM(require("react"));
8920
8949
  var import_themes15 = require("@radix-ui/themes");
8921
8950
  var import_jsx_runtime20 = require("react/jsx-runtime");
8922
8951
  var StepStyled = styled("div", {
@@ -9032,9 +9061,9 @@ function StepList(_a) {
9032
9061
  "children",
9033
9062
  "currentStep"
9034
9063
  ]);
9035
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StepListStyled, __spreadProps(__spreadValues({}, props), { children: import_react10.default.Children.map(children, (child) => {
9036
- if (import_react10.default.isValidElement(child) && child.type === StepTrigger) {
9037
- return import_react10.default.cloneElement(child, { currentStep });
9064
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StepListStyled, __spreadProps(__spreadValues({}, props), { children: import_react11.default.Children.map(children, (child) => {
9065
+ if (import_react11.default.isValidElement(child) && child.type === StepTrigger) {
9066
+ return import_react11.default.cloneElement(child, { currentStep });
9038
9067
  }
9039
9068
  return child;
9040
9069
  }) }));
@@ -9072,6 +9101,10 @@ var CardStyled = styled(import_themes16.Card, {
9072
9101
  error: {
9073
9102
  backgroundColor: "$error50",
9074
9103
  border: "1px solid $error600"
9104
+ },
9105
+ warning: {
9106
+ backgroundColor: "$yellow50",
9107
+ border: "1px solid $yellow600"
9075
9108
  }
9076
9109
  },
9077
9110
  boxShadow: {
@@ -9091,7 +9124,7 @@ function Card(_a) {
9091
9124
 
9092
9125
  // src/components/TextareaField.tsx
9093
9126
  var import_themes17 = require("@radix-ui/themes");
9094
- var import_react11 = __toESM(require("react"));
9127
+ var import_react12 = __toESM(require("react"));
9095
9128
  var import_jsx_runtime22 = require("react/jsx-runtime");
9096
9129
  var TextareaFieldStyle = styled(import_themes17.TextArea, {
9097
9130
  display: "flex",
@@ -9156,11 +9189,11 @@ var TextareaLimitIndicator = styled("div", {
9156
9189
  padding: "$4"
9157
9190
  }
9158
9191
  });
9159
- var TextareaField = import_react11.default.forwardRef((_a, forwardedRef) => {
9192
+ var TextareaField = import_react12.default.forwardRef((_a, forwardedRef) => {
9160
9193
  var _b = _a, { maxLength, color } = _b, props = __objRest(_b, ["maxLength", "color"]);
9161
- const inputRef = (0, import_react11.useRef)(null);
9162
- const [remaining, setRemaining] = (0, import_react11.useState)(maxLength);
9163
- (0, import_react11.useEffect)(() => {
9194
+ const inputRef = (0, import_react12.useRef)(null);
9195
+ const [remaining, setRemaining] = (0, import_react12.useState)(maxLength);
9196
+ (0, import_react12.useEffect)(() => {
9164
9197
  var _a2;
9165
9198
  if (maxLength && inputRef.current) {
9166
9199
  setRemaining(maxLength - ((_a2 = inputRef.current.value.length) != null ? _a2 : 0));
@@ -9195,12 +9228,12 @@ var TextareaField = import_react11.default.forwardRef((_a, forwardedRef) => {
9195
9228
  });
9196
9229
 
9197
9230
  // src/components/Toast/components/ToastItem.tsx
9198
- var import_react13 = require("react");
9231
+ var import_react14 = require("react");
9199
9232
 
9200
9233
  // src/components/Toast/styles/index.ts
9201
- var import_react12 = require("@stitches/react");
9234
+ var import_react13 = require("@stitches/react");
9202
9235
  var ToastPrimitive = __toESM(require("@radix-ui/react-toast"));
9203
- var slideIn = (0, import_react12.keyframes)({
9236
+ var slideIn = (0, import_react13.keyframes)({
9204
9237
  from: {
9205
9238
  transform: "translateX(calc(100% + 25px))",
9206
9239
  opacity: 0
@@ -9210,7 +9243,7 @@ var slideIn = (0, import_react12.keyframes)({
9210
9243
  opacity: 1
9211
9244
  }
9212
9245
  });
9213
- var slideOut = (0, import_react12.keyframes)({
9246
+ var slideOut = (0, import_react13.keyframes)({
9214
9247
  from: {
9215
9248
  transform: "translateX(0)",
9216
9249
  opacity: 1
@@ -9220,7 +9253,7 @@ var slideOut = (0, import_react12.keyframes)({
9220
9253
  opacity: 0
9221
9254
  }
9222
9255
  });
9223
- var swipeOut = (0, import_react12.keyframes)({
9256
+ var swipeOut = (0, import_react13.keyframes)({
9224
9257
  from: {
9225
9258
  transform: "translateX(var(--radix-toast-swipe-end-x))",
9226
9259
  opacity: 1
@@ -9326,7 +9359,7 @@ function ToastItem({
9326
9359
  toast,
9327
9360
  onRemove
9328
9361
  }) {
9329
- const [open, setOpen] = (0, import_react13.useState)(true);
9362
+ const [open, setOpen] = (0, import_react14.useState)(true);
9330
9363
  const handleOpenChange = (open2) => {
9331
9364
  setOpen(open2);
9332
9365
  if (!open2) {
@@ -9350,17 +9383,17 @@ function ToastItem({
9350
9383
  }
9351
9384
 
9352
9385
  // src/components/Toast/components/ToastProvider.tsx
9353
- var import_react14 = require("react");
9386
+ var import_react15 = require("react");
9354
9387
  var ToastPrimitive2 = __toESM(require("@radix-ui/react-toast"));
9355
9388
  var import_jsx_runtime24 = require("react/jsx-runtime");
9356
- var ToastContext = (0, import_react14.createContext)(null);
9389
+ var ToastContext = (0, import_react15.createContext)(null);
9357
9390
  function ToastProvider({
9358
9391
  children,
9359
9392
  defaultDuration = 5e3,
9360
9393
  maxToasts = 5,
9361
9394
  swipeDirection = "right"
9362
9395
  }) {
9363
- const [toasts, setToasts] = (0, import_react14.useState)([]);
9396
+ const [toasts, setToasts] = (0, import_react15.useState)([]);
9364
9397
  const addToast = (toastData) => {
9365
9398
  const id = Math.random().toString(36).substr(2, 9);
9366
9399
  const newToast = __spreadProps(__spreadValues({
@@ -9396,9 +9429,9 @@ function ToastProvider({
9396
9429
  }
9397
9430
 
9398
9431
  // src/components/Toast/hooks/useToast.ts
9399
- var import_react15 = require("react");
9432
+ var import_react16 = require("react");
9400
9433
  var useToast = () => {
9401
- const context = (0, import_react15.useContext)(ToastContext);
9434
+ const context = (0, import_react16.useContext)(ToastContext);
9402
9435
  if (!context) {
9403
9436
  throw new Error("useToast deve ser usado dentro de um ToastProvider");
9404
9437
  }
@@ -9456,11 +9489,11 @@ function Tooltip({
9456
9489
  }
9457
9490
 
9458
9491
  // src/components/MultiSelect/index.tsx
9459
- var import_react16 = __toESM(require("react"));
9492
+ var import_react17 = __toESM(require("react"));
9460
9493
  var import_themes19 = require("@radix-ui/themes");
9461
9494
  var import_react_fontawesome3 = require("@fortawesome/react-fontawesome");
9462
9495
  var import_free_solid_svg_icons3 = require("@fortawesome/free-solid-svg-icons");
9463
- var import_react17 = require("react");
9496
+ var import_react18 = require("react");
9464
9497
 
9465
9498
  // src/components/MultiSelect/styledComponents.ts
9466
9499
  var import_themes18 = require("@radix-ui/themes");
@@ -9610,7 +9643,7 @@ var ButtonSelectAllStyled = styled("button", {
9610
9643
 
9611
9644
  // src/components/MultiSelect/index.tsx
9612
9645
  var import_jsx_runtime26 = require("react/jsx-runtime");
9613
- var MultiSelect = import_react16.default.forwardRef(
9646
+ var MultiSelect = import_react17.default.forwardRef(
9614
9647
  ({
9615
9648
  placeholder,
9616
9649
  value: selectedValues = [],
@@ -9628,24 +9661,24 @@ var MultiSelect = import_react16.default.forwardRef(
9628
9661
  selectedAllText,
9629
9662
  selectedScroll = false
9630
9663
  }, fowardedRef) => {
9631
- const [isOpen, setIsOpen] = (0, import_react16.useState)(false);
9632
- const triggerRef = (0, import_react16.useRef)(null);
9633
- const [allOptionsSelected, setAllOptionsSelected] = (0, import_react16.useState)(false);
9634
- const labelByValue = (0, import_react17.useMemo)(() => {
9664
+ const [isOpen, setIsOpen] = (0, import_react17.useState)(false);
9665
+ const triggerRef = (0, import_react17.useRef)(null);
9666
+ const [allOptionsSelected, setAllOptionsSelected] = (0, import_react17.useState)(false);
9667
+ const labelByValue = (0, import_react18.useMemo)(() => {
9635
9668
  return options.reduce((prev, curr) => {
9636
9669
  return __spreadProps(__spreadValues({}, prev), {
9637
9670
  [curr.value]: curr.label
9638
9671
  });
9639
9672
  }, {});
9640
9673
  }, [options]);
9641
- const handleRemove = (0, import_react16.useCallback)(
9674
+ const handleRemove = (0, import_react17.useCallback)(
9642
9675
  (value) => {
9643
9676
  const newValue = selectedValues.filter((v) => v !== value);
9644
9677
  onValueChange == null ? void 0 : onValueChange(newValue);
9645
9678
  },
9646
9679
  [selectedValues, onValueChange]
9647
9680
  );
9648
- const handleSelectAll = (0, import_react16.useCallback)(
9681
+ const handleSelectAll = (0, import_react17.useCallback)(
9649
9682
  (e) => {
9650
9683
  e.preventDefault();
9651
9684
  e.stopPropagation();
@@ -9660,7 +9693,7 @@ var MultiSelect = import_react16.default.forwardRef(
9660
9693
  },
9661
9694
  [selectedValues, options, onValueChange]
9662
9695
  );
9663
- const text = (0, import_react17.useMemo)(() => {
9696
+ const text = (0, import_react18.useMemo)(() => {
9664
9697
  if (selectedValues.length > 0 && singleSelect) {
9665
9698
  const value = selectedValues[0];
9666
9699
  return labelByValue[value];
@@ -9671,7 +9704,7 @@ var MultiSelect = import_react16.default.forwardRef(
9671
9704
  onValueChange == null ? void 0 : onValueChange([v]);
9672
9705
  setIsOpen(false);
9673
9706
  };
9674
- const handleToggle = (0, import_react16.useCallback)(
9707
+ const handleToggle = (0, import_react17.useCallback)(
9675
9708
  (e) => {
9676
9709
  e.preventDefault();
9677
9710
  e.stopPropagation();
@@ -10110,7 +10143,7 @@ var TextAreaFormField = (_a) => {
10110
10143
 
10111
10144
  // src/components/FormFields/TextFormField.tsx
10112
10145
  var import_react_hook_form2 = require("react-hook-form");
10113
- var import_react18 = require("react");
10146
+ var import_react19 = require("react");
10114
10147
  var import_mask2 = require("@react-input/mask");
10115
10148
  var import_jsx_runtime33 = require("react/jsx-runtime");
10116
10149
  var TextFormField = (_a) => {
@@ -10133,7 +10166,7 @@ var TextFormField = (_a) => {
10133
10166
  "onChange",
10134
10167
  "valueFormatter"
10135
10168
  ]);
10136
- const handleValidate = (0, import_react18.useCallback)(
10169
+ const handleValidate = (0, import_react19.useCallback)(
10137
10170
  (value) => {
10138
10171
  var _a2;
10139
10172
  if (value === void 0 || value === null || !required && value.trim() === "")
@@ -10155,7 +10188,7 @@ var TextFormField = (_a) => {
10155
10188
  const haveError = !!fieldError;
10156
10189
  const errorMsg = fieldError == null ? void 0 : fieldError.message;
10157
10190
  const { value: formValue, onChange: formChange } = field;
10158
- const formattedValue = (0, import_react18.useMemo)(() => {
10191
+ const formattedValue = (0, import_react19.useMemo)(() => {
10159
10192
  let value = formValue;
10160
10193
  if (valueFormatter) value = valueFormatter.format(value);
10161
10194
  if (mask) value = (0, import_mask2.format)(value != null ? value : "", mask);
@@ -10750,7 +10783,7 @@ function StateFormField({
10750
10783
  }
10751
10784
 
10752
10785
  // src/components/FormFields/AddressFormFields/CityFormField.tsx
10753
- var import_react19 = require("react");
10786
+ var import_react20 = require("react");
10754
10787
  var import_react_hook_form7 = require("react-hook-form");
10755
10788
  var import_jsx_runtime45 = require("react/jsx-runtime");
10756
10789
  function CityFormField({
@@ -10763,9 +10796,9 @@ function CityFormField({
10763
10796
  }) {
10764
10797
  const { control, watch } = (0, import_react_hook_form7.useFormContext)();
10765
10798
  const selectedState = watch(stateName);
10766
- const [cities, setCities] = (0, import_react19.useState)([]);
10767
- const [loading, setLoading] = (0, import_react19.useState)(false);
10768
- (0, import_react19.useEffect)(() => {
10799
+ const [cities, setCities] = (0, import_react20.useState)([]);
10800
+ const [loading, setLoading] = (0, import_react20.useState)(false);
10801
+ (0, import_react20.useEffect)(() => {
10769
10802
  if (!isBrazil) {
10770
10803
  setCities([]);
10771
10804
  return;
@@ -11153,10 +11186,10 @@ var EmailFormField = ({
11153
11186
  var import_react_hook_form12 = require("react-hook-form");
11154
11187
 
11155
11188
  // src/components/RichEditor/RichEditor.tsx
11156
- var import_react21 = require("react");
11189
+ var import_react22 = require("react");
11157
11190
 
11158
11191
  // src/components/RichEditor/QuillComponent.tsx
11159
- var import_react20 = require("react");
11192
+ var import_react21 = require("react");
11160
11193
  var import_react_quilljs = require("react-quilljs");
11161
11194
 
11162
11195
  // src/utils/uploadService.ts
@@ -12225,12 +12258,12 @@ var QuillComponent = ({
12225
12258
  onCharacterCountChange,
12226
12259
  maxLength
12227
12260
  }) => {
12228
- const [showVideoModal, setShowVideoModal] = (0, import_react20.useState)(false);
12229
- const [videoUrl, setVideoUrl] = (0, import_react20.useState)("");
12230
- const [showLinkModal, setShowLinkModal] = (0, import_react20.useState)(false);
12231
- const [linkUrl, setLinkUrl] = (0, import_react20.useState)("");
12232
- const videoModalRef = (0, import_react20.useRef)(null);
12233
- const linkModalRef = (0, import_react20.useRef)(null);
12261
+ const [showVideoModal, setShowVideoModal] = (0, import_react21.useState)(false);
12262
+ const [videoUrl, setVideoUrl] = (0, import_react21.useState)("");
12263
+ const [showLinkModal, setShowLinkModal] = (0, import_react21.useState)(false);
12264
+ const [linkUrl, setLinkUrl] = (0, import_react21.useState)("");
12265
+ const videoModalRef = (0, import_react21.useRef)(null);
12266
+ const linkModalRef = (0, import_react21.useRef)(null);
12234
12267
  const { addToast, removeToast } = useToast();
12235
12268
  const formatHTML = (html) => {
12236
12269
  const parser = new DOMParser();
@@ -12294,7 +12327,7 @@ var QuillComponent = ({
12294
12327
  placeholder,
12295
12328
  readOnly: disabled
12296
12329
  });
12297
- const handleImageUpload = (0, import_react20.useCallback)(
12330
+ const handleImageUpload = (0, import_react21.useCallback)(
12298
12331
  (file) => __async(null, null, function* () {
12299
12332
  if (disabled || !quill || !uploadConfig) return;
12300
12333
  try {
@@ -12326,7 +12359,7 @@ var QuillComponent = ({
12326
12359
  }),
12327
12360
  [disabled, quill, addToast, removeToast, uploadConfig, onChange]
12328
12361
  );
12329
- (0, import_react20.useEffect)(() => {
12362
+ (0, import_react21.useEffect)(() => {
12330
12363
  if (quill && value) {
12331
12364
  const currentContent = quill.root.innerHTML;
12332
12365
  if (currentContent !== value) {
@@ -12340,7 +12373,7 @@ var QuillComponent = ({
12340
12373
  }
12341
12374
  }
12342
12375
  }, [quill, value]);
12343
- (0, import_react20.useEffect)(() => {
12376
+ (0, import_react21.useEffect)(() => {
12344
12377
  if (quill) {
12345
12378
  quill.on("text-change", (delta, oldDelta, source) => {
12346
12379
  if (source === "user") {
@@ -12395,7 +12428,7 @@ var QuillComponent = ({
12395
12428
  }, 2e3);
12396
12429
  }
12397
12430
  }, [quill, onChange, handleImageUpload, onCharacterCountChange]);
12398
- (0, import_react20.useEffect)(() => {
12431
+ (0, import_react21.useEffect)(() => {
12399
12432
  if (quill) {
12400
12433
  quill.enable(!disabled);
12401
12434
  if (!disabled) {
@@ -12406,11 +12439,11 @@ var QuillComponent = ({
12406
12439
  }
12407
12440
  }
12408
12441
  }, [quill, disabled]);
12409
- const handleLinkCancel = (0, import_react20.useCallback)(() => {
12442
+ const handleLinkCancel = (0, import_react21.useCallback)(() => {
12410
12443
  setLinkUrl("");
12411
12444
  setShowLinkModal(false);
12412
12445
  }, []);
12413
- const handleLinkSubmit = (0, import_react20.useCallback)(() => {
12446
+ const handleLinkSubmit = (0, import_react21.useCallback)(() => {
12414
12447
  if (!linkUrl.trim() || !quill) return;
12415
12448
  const url = linkUrl.trim();
12416
12449
  const selection = quill.getSelection();
@@ -12425,11 +12458,11 @@ var QuillComponent = ({
12425
12458
  setLinkUrl("");
12426
12459
  setShowLinkModal(false);
12427
12460
  }, [linkUrl, quill]);
12428
- const handleVideoCancel = (0, import_react20.useCallback)(() => {
12461
+ const handleVideoCancel = (0, import_react21.useCallback)(() => {
12429
12462
  setVideoUrl("");
12430
12463
  setShowVideoModal(false);
12431
12464
  }, []);
12432
- const handleVideoSubmit = (0, import_react20.useCallback)(() => {
12465
+ const handleVideoSubmit = (0, import_react21.useCallback)(() => {
12433
12466
  var _a, _b;
12434
12467
  if (!videoUrl.trim() || !quill) return;
12435
12468
  let processedUrl = videoUrl.trim();
@@ -12462,7 +12495,7 @@ var QuillComponent = ({
12462
12495
  setVideoUrl("");
12463
12496
  setShowVideoModal(false);
12464
12497
  }, [videoUrl, quill]);
12465
- (0, import_react20.useEffect)(() => {
12498
+ (0, import_react21.useEffect)(() => {
12466
12499
  const handleClickOutside = (event) => {
12467
12500
  if (showVideoModal && videoModalRef.current && !videoModalRef.current.contains(event.target)) {
12468
12501
  handleVideoCancel();
@@ -12624,8 +12657,8 @@ var QuillComponent_default = QuillComponent;
12624
12657
  // src/components/RichEditor/RichEditor.tsx
12625
12658
  var import_jsx_runtime52 = require("react/jsx-runtime");
12626
12659
  var RichEditor = (props) => {
12627
- const [isClient, setIsClient] = (0, import_react21.useState)(false);
12628
- (0, import_react21.useEffect)(() => {
12660
+ const [isClient, setIsClient] = (0, import_react22.useState)(false);
12661
+ (0, import_react22.useEffect)(() => {
12629
12662
  setIsClient(typeof window !== "undefined");
12630
12663
  }, []);
12631
12664
  if (!isClient) return null;
@@ -12634,7 +12667,7 @@ var RichEditor = (props) => {
12634
12667
  var RichEditor_default = RichEditor;
12635
12668
 
12636
12669
  // src/components/FormFields/RichEditorFormField.tsx
12637
- var import_react22 = require("react");
12670
+ var import_react23 = require("react");
12638
12671
  var import_jsx_runtime53 = require("react/jsx-runtime");
12639
12672
  var RichEditorFormField = (_a) => {
12640
12673
  var _b = _a, {
@@ -12669,7 +12702,7 @@ var RichEditorFormField = (_a) => {
12669
12702
  },
12670
12703
  defaultValue: ""
12671
12704
  });
12672
- const [caracterQuantity, setCaracterQuantity] = (0, import_react22.useState)(maxLength);
12705
+ const [caracterQuantity, setCaracterQuantity] = (0, import_react23.useState)(maxLength);
12673
12706
  const handleCharacterCountChange = (count) => {
12674
12707
  if (maxLength !== void 0) {
12675
12708
  setCaracterQuantity(Math.max(0, maxLength - count));
@@ -12717,7 +12750,7 @@ var RichEditorFormField = (_a) => {
12717
12750
 
12718
12751
  // src/components/FormFields/CalendarFormField.tsx
12719
12752
  var import_react_hook_form13 = require("react-hook-form");
12720
- var import_react23 = require("react");
12753
+ var import_react24 = require("react");
12721
12754
  var import_jsx_runtime54 = require("react/jsx-runtime");
12722
12755
  var CalendarFormField = (_a) => {
12723
12756
  var _b = _a, {
@@ -12741,7 +12774,7 @@ var CalendarFormField = (_a) => {
12741
12774
  "allowPastDates",
12742
12775
  "maxYearsFromNow"
12743
12776
  ]);
12744
- const handleValidate = (0, import_react23.useCallback)(
12777
+ const handleValidate = (0, import_react24.useCallback)(
12745
12778
  (value) => {
12746
12779
  var _a2;
12747
12780
  if (value === void 0 || value === null) {
@@ -12796,7 +12829,7 @@ var CalendarFormField = (_a) => {
12796
12829
 
12797
12830
  // src/components/FormFields/TimePickerFormField.tsx
12798
12831
  var import_react_hook_form14 = require("react-hook-form");
12799
- var import_react24 = require("react");
12832
+ var import_react25 = require("react");
12800
12833
  var import_jsx_runtime55 = require("react/jsx-runtime");
12801
12834
  var TimePickerFormField = (_a) => {
12802
12835
  var _b = _a, {
@@ -12814,7 +12847,7 @@ var TimePickerFormField = (_a) => {
12814
12847
  "validationErrorMessage",
12815
12848
  "rules"
12816
12849
  ]);
12817
- const handleValidate = (0, import_react24.useCallback)(
12850
+ const handleValidate = (0, import_react25.useCallback)(
12818
12851
  (value) => {
12819
12852
  var _a2;
12820
12853
  if (value === void 0 || value === null || value === "") {
@@ -12866,11 +12899,11 @@ var TimePickerFormField = (_a) => {
12866
12899
  };
12867
12900
 
12868
12901
  // src/hooks/useImageUpload.ts
12869
- var import_react25 = require("react");
12902
+ var import_react26 = require("react");
12870
12903
  var useImageUpload = (options) => {
12871
- const [isUploading, setIsUploading] = (0, import_react25.useState)(false);
12872
- const [progress, setProgress] = (0, import_react25.useState)(null);
12873
- const [error, setError] = (0, import_react25.useState)(null);
12904
+ const [isUploading, setIsUploading] = (0, import_react26.useState)(false);
12905
+ const [progress, setProgress] = (0, import_react26.useState)(null);
12906
+ const [error, setError] = (0, import_react26.useState)(null);
12874
12907
  const {
12875
12908
  onSuccess,
12876
12909
  onError,
@@ -12880,7 +12913,7 @@ var useImageUpload = (options) => {
12880
12913
  allowedTypes = ["image/jpeg", "image/png", "image/gif", "image/webp"],
12881
12914
  uploadConfig
12882
12915
  } = options;
12883
- const validateFile = (0, import_react25.useCallback)(
12916
+ const validateFile = (0, import_react26.useCallback)(
12884
12917
  (file) => {
12885
12918
  if (!allowedTypes.includes(file.type)) {
12886
12919
  const errorMsg = "Tipo de arquivo n\xE3o suportado";
@@ -12898,7 +12931,7 @@ var useImageUpload = (options) => {
12898
12931
  },
12899
12932
  [allowedTypes, maxFileSize, onError]
12900
12933
  );
12901
- const uploadFile = (0, import_react25.useCallback)(
12934
+ const uploadFile = (0, import_react26.useCallback)(
12902
12935
  (file) => __async(null, null, function* () {
12903
12936
  if (!validateFile(file)) {
12904
12937
  return null;
@@ -12951,7 +12984,7 @@ var useImageUpload = (options) => {
12951
12984
  }),
12952
12985
  [validateFile, onSuccess, onError, onProgress]
12953
12986
  );
12954
- const reset = (0, import_react25.useCallback)(() => {
12987
+ const reset = (0, import_react26.useCallback)(() => {
12955
12988
  setIsUploading(false);
12956
12989
  setProgress(null);
12957
12990
  setError(null);
package/dist/index.mjs CHANGED
@@ -1430,6 +1430,9 @@ function Text(_a) {
1430
1430
  );
1431
1431
  }
1432
1432
 
1433
+ // src/components/Button/index.tsx
1434
+ import { useMemo } from "react";
1435
+
1433
1436
  // src/components/Button/styledComponents.ts
1434
1437
  import { Button as ButtonRadix } from "@radix-ui/themes";
1435
1438
  var ButtonStyled = styled(ButtonRadix, {
@@ -1725,14 +1728,40 @@ var ButtonStyled = styled(ButtonRadix, {
1725
1728
  outlinedBgColor: "transparent"
1726
1729
  }
1727
1730
  });
1731
+ var spin = keyframes({
1732
+ "0%": { transform: "rotate(0deg)" },
1733
+ "100%": { transform: "rotate(360deg)" }
1734
+ });
1735
+ var SpinningDiv = styled("div", {
1736
+ display: "inline-flex",
1737
+ alignItems: "center",
1738
+ justifyContent: "center",
1739
+ animation: `${spin} 1s linear infinite`,
1740
+ transformOrigin: "center center"
1741
+ });
1728
1742
 
1729
1743
  // src/components/Button/index.tsx
1730
1744
  import { Button as ButtonRadix2 } from "@radix-ui/themes";
1731
1745
  import { jsx as jsx3 } from "react/jsx-runtime";
1732
1746
  function Button(_a) {
1733
- var _b = _a, { asChild } = _b, props = __objRest(_b, ["asChild"]);
1747
+ var _b = _a, { asChild, children, loading } = _b, props = __objRest(_b, ["asChild", "children", "loading"]);
1734
1748
  const Component = asChild ? ButtonRadix2 : "button";
1735
- return /* @__PURE__ */ jsx3(ButtonStyled, __spreadValues({ as: Component }, props));
1749
+ const { size } = props;
1750
+ const spinnerSize = useMemo(() => {
1751
+ switch (size) {
1752
+ case "small":
1753
+ return "sm";
1754
+ case "extraSmall":
1755
+ return "xs";
1756
+ case "medium":
1757
+ return "md";
1758
+ case "large":
1759
+ return "xl";
1760
+ default:
1761
+ return "sm";
1762
+ }
1763
+ }, [size]);
1764
+ return /* @__PURE__ */ jsx3(ButtonStyled, __spreadProps(__spreadValues({ as: Component }, props), { children: loading ? /* @__PURE__ */ jsx3(SpinningDiv, { children: /* @__PURE__ */ jsx3(Icon_default, { name: "circle-notch", size: spinnerSize }) }) : children }));
1736
1765
  }
1737
1766
 
1738
1767
  // src/components/ButtonGroup.tsx
@@ -8960,6 +8989,10 @@ var CardStyled = styled(CardRadix, {
8960
8989
  error: {
8961
8990
  backgroundColor: "$error50",
8962
8991
  border: "1px solid $error600"
8992
+ },
8993
+ warning: {
8994
+ backgroundColor: "$yellow50",
8995
+ border: "1px solid $yellow600"
8963
8996
  }
8964
8997
  },
8965
8998
  boxShadow: {
@@ -9352,7 +9385,7 @@ import {
9352
9385
  faChevronUp as faChevronUp2,
9353
9386
  faSquareXmark
9354
9387
  } from "@fortawesome/free-solid-svg-icons";
9355
- import { useMemo } from "react";
9388
+ import { useMemo as useMemo2 } from "react";
9356
9389
 
9357
9390
  // src/components/MultiSelect/styledComponents.ts
9358
9391
  import { DropdownMenu as DropdownMenu3 } from "@radix-ui/themes";
@@ -9523,7 +9556,7 @@ var MultiSelect = React9.forwardRef(
9523
9556
  const [isOpen, setIsOpen] = useState7(false);
9524
9557
  const triggerRef = useRef7(null);
9525
9558
  const [allOptionsSelected, setAllOptionsSelected] = useState7(false);
9526
- const labelByValue = useMemo(() => {
9559
+ const labelByValue = useMemo2(() => {
9527
9560
  return options.reduce((prev, curr) => {
9528
9561
  return __spreadProps(__spreadValues({}, prev), {
9529
9562
  [curr.value]: curr.label
@@ -9552,7 +9585,7 @@ var MultiSelect = React9.forwardRef(
9552
9585
  },
9553
9586
  [selectedValues, options, onValueChange]
9554
9587
  );
9555
- const text = useMemo(() => {
9588
+ const text = useMemo2(() => {
9556
9589
  if (selectedValues.length > 0 && singleSelect) {
9557
9590
  const value = selectedValues[0];
9558
9591
  return labelByValue[value];
@@ -10004,7 +10037,7 @@ var TextAreaFormField = (_a) => {
10004
10037
  import {
10005
10038
  useController
10006
10039
  } from "react-hook-form";
10007
- import { useCallback as useCallback3, useMemo as useMemo2 } from "react";
10040
+ import { useCallback as useCallback3, useMemo as useMemo3 } from "react";
10008
10041
  import { format as format3, unformat as unformat2 } from "@react-input/mask";
10009
10042
  import { jsx as jsx33, jsxs as jsxs18 } from "react/jsx-runtime";
10010
10043
  var TextFormField = (_a) => {
@@ -10049,7 +10082,7 @@ var TextFormField = (_a) => {
10049
10082
  const haveError = !!fieldError;
10050
10083
  const errorMsg = fieldError == null ? void 0 : fieldError.message;
10051
10084
  const { value: formValue, onChange: formChange } = field;
10052
- const formattedValue = useMemo2(() => {
10085
+ const formattedValue = useMemo3(() => {
10053
10086
  let value = formValue;
10054
10087
  if (valueFormatter) value = valueFormatter.format(value);
10055
10088
  if (mask) value = format3(value != null ? value : "", mask);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lets-events/react",
3
- "version": "12.2.13",
3
+ "version": "12.3.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -1,16 +1,45 @@
1
- import { ComponentProps } from "react";
2
- import { ButtonStyled } from "./styledComponents";
1
+ import { ComponentProps, useMemo } from "react";
2
+ import { ButtonStyled, SpinningDiv } from "./styledComponents";
3
3
  import { Button as ButtonRadix } from "@radix-ui/themes";
4
4
  import type { VariantProps } from "@stitches/react";
5
+ import Icon, { IconProps } from "../Icon";
5
6
 
6
7
  type ButtonVariantProps = VariantProps<typeof ButtonStyled>;
7
8
  export interface ButtonProps
8
9
  extends ComponentProps<typeof ButtonStyled>,
9
10
  ButtonVariantProps {
10
11
  asChild?: boolean;
12
+ loading?: boolean;
11
13
  }
12
14
 
13
- export function Button({ asChild, ...props }: ButtonProps) {
15
+ export function Button({ asChild, children, loading, ...props }: ButtonProps) {
14
16
  const Component = asChild ? ButtonRadix : "button";
15
- return <ButtonStyled as={Component} {...props} />;
17
+ const { size } = props;
18
+
19
+ const spinnerSize = useMemo((): IconProps["size"] => {
20
+ switch (size) {
21
+ case "small":
22
+ return "sm";
23
+ case "extraSmall":
24
+ return "xs";
25
+ case "medium":
26
+ return "md";
27
+ case "large":
28
+ return "xl";
29
+ default:
30
+ return "sm";
31
+ }
32
+ }, [size]);
33
+
34
+ return (
35
+ <ButtonStyled as={Component} {...props}>
36
+ {loading ? (
37
+ <SpinningDiv>
38
+ <Icon name="circle-notch" size={spinnerSize} />
39
+ </SpinningDiv>
40
+ ) : (
41
+ children
42
+ )}
43
+ </ButtonStyled>
44
+ );
16
45
  }
@@ -1,6 +1,6 @@
1
1
  import { Button as ButtonRadix } from "@radix-ui/themes";
2
2
 
3
- import { styled } from "../../styles";
3
+ import { styled, keyframes } from "../../styles";
4
4
 
5
5
  export const ButtonStyled = styled(ButtonRadix, {
6
6
  $$buttonColor: "inherit",
@@ -298,3 +298,16 @@ export const ButtonStyled = styled(ButtonRadix, {
298
298
  outlinedBgColor: "transparent",
299
299
  },
300
300
  });
301
+
302
+ const spin = keyframes({
303
+ "0%": { transform: "rotate(0deg)" },
304
+ "100%": { transform: "rotate(360deg)" },
305
+ });
306
+
307
+ export const SpinningDiv = styled("div", {
308
+ display: "inline-flex",
309
+ alignItems: "center",
310
+ justifyContent: "center",
311
+ animation: `${spin} 1s linear infinite`,
312
+ transformOrigin: "center center",
313
+ });
@@ -25,6 +25,10 @@ export const CardStyled = styled(CardRadix, {
25
25
  backgroundColor: "$error50",
26
26
  border: "1px solid $error600",
27
27
  },
28
+ warning: {
29
+ backgroundColor: "$yellow50",
30
+ border: "1px solid $yellow600",
31
+ },
28
32
  },
29
33
  boxShadow: {
30
34
  true: {
@@ -9,7 +9,7 @@ import PropTypes from "prop-types";
9
9
 
10
10
  library.add(fas, far, fab);
11
11
 
12
- interface IconProps extends Omit<FontAwesomeIconProps, "icon" | "size"> {
12
+ export interface IconProps extends Omit<FontAwesomeIconProps, "icon" | "size"> {
13
13
  name: IconName;
14
14
  size?: 'xs' | 'sm' | 'md' | 'xl';
15
15
  prefix?: IconPrefix;