@giro-ds/react 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,6 +21,7 @@ interface CalendarFilterItem extends BaseFilterItem {
21
21
  type: 'calendar';
22
22
  selectedDate?: Date | null;
23
23
  onDateSelect?: (date: Date) => void;
24
+ onClear?: () => void;
24
25
  minDate?: Date;
25
26
  maxDate?: Date;
26
27
  locale?: string;
package/dist/index.cjs CHANGED
@@ -791,14 +791,17 @@ const TextField = ({ name = 'textfield', className = '', value = '', label = '',
791
791
  }
792
792
  }, [disabled, onChange]);
793
793
  const onBlur = React.useCallback(() => {
794
- const error = validateInput({
795
- value: inputValue,
796
- type,
797
- maxLength,
798
- errorMessage,
799
- required,
800
- }) || '';
801
- setInputError(error);
794
+ // Se existe um errorMessage externo, não validar internamente
795
+ if (!errorMessage) {
796
+ const error = validateInput({
797
+ value: inputValue,
798
+ type,
799
+ maxLength,
800
+ errorMessage,
801
+ required,
802
+ }) || '';
803
+ setInputError(error);
804
+ }
802
805
  setFocus(false);
803
806
  }, [inputValue, type, maxLength, errorMessage, required]);
804
807
  React.useEffect(() => {
@@ -806,6 +809,15 @@ const TextField = ({ name = 'textfield', className = '', value = '', label = '',
806
809
  setValue(value);
807
810
  }
808
811
  }, [value]);
812
+ // Sincroniza errorMessage externo com estado interno
813
+ React.useEffect(() => {
814
+ if (errorMessage) {
815
+ setInputError(errorMessage);
816
+ }
817
+ else if (!errorMessage && inputError && !required) {
818
+ setInputError('');
819
+ }
820
+ }, [errorMessage]);
809
821
  const TextFieldClass = clsx(styles$j['zds-textfield__container'], {
810
822
  [styles$j['zds-textfield__error']]: inputError,
811
823
  [styles$j['zds-textfield__disabled']]: disabled,
@@ -6829,7 +6841,7 @@ const TableHeader = ({ searchValue = '', onSearchChange, onSearch, searchPlaceho
6829
6841
  onClose: () => filterItem.onToggle?.(false),
6830
6842
  };
6831
6843
  if (isCalendarFilter(filterItem)) {
6832
- return (jsxRuntime.jsx(Filter, { ...commonProps, type: "calendar", selectedDate: filterItem.selectedDate, onDateSelect: filterItem.onDateSelect, minDate: filterItem.minDate, maxDate: filterItem.maxDate, placeholder: filterItem.placeholder }));
6844
+ return (jsxRuntime.jsx(Filter, { ...commonProps, type: "calendar", selectedDate: filterItem.selectedDate, onDateSelect: filterItem.onDateSelect, onClearDate: filterItem.onClear, minDate: filterItem.minDate, maxDate: filterItem.maxDate, placeholder: filterItem.placeholder }));
6833
6845
  }
6834
6846
  if (isCheckboxFilter(filterItem)) {
6835
6847
  return (jsxRuntime.jsx(Filter, { ...commonProps, type: filterItem.type, items: filterItem.items, selectedIds: filterItem.selectedIds, onApplyFilter: filterItem.onSelectionChange, placeholder: filterItem.placeholder, enableSearch: filterItem.enableSearch }));