@giro-ds/react 1.0.2 → 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.
package/dist/index.esm.js CHANGED
@@ -771,14 +771,17 @@ const TextField = ({ name = 'textfield', className = '', value = '', label = '',
771
771
  }
772
772
  }, [disabled, onChange]);
773
773
  const onBlur = useCallback(() => {
774
- const error = validateInput({
775
- value: inputValue,
776
- type,
777
- maxLength,
778
- errorMessage,
779
- required,
780
- }) || '';
781
- setInputError(error);
774
+ // Se existe um errorMessage externo, não validar internamente
775
+ if (!errorMessage) {
776
+ const error = validateInput({
777
+ value: inputValue,
778
+ type,
779
+ maxLength,
780
+ errorMessage,
781
+ required,
782
+ }) || '';
783
+ setInputError(error);
784
+ }
782
785
  setFocus(false);
783
786
  }, [inputValue, type, maxLength, errorMessage, required]);
784
787
  useEffect(() => {
@@ -786,6 +789,15 @@ const TextField = ({ name = 'textfield', className = '', value = '', label = '',
786
789
  setValue(value);
787
790
  }
788
791
  }, [value]);
792
+ // Sincroniza errorMessage externo com estado interno
793
+ useEffect(() => {
794
+ if (errorMessage) {
795
+ setInputError(errorMessage);
796
+ }
797
+ else if (!errorMessage && inputError && !required) {
798
+ setInputError('');
799
+ }
800
+ }, [errorMessage]);
789
801
  const TextFieldClass = clsx(styles$j['zds-textfield__container'], {
790
802
  [styles$j['zds-textfield__error']]: inputError,
791
803
  [styles$j['zds-textfield__disabled']]: disabled,