@trackunit/react-form-components 0.1.10 → 0.1.11

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/index.cjs.js CHANGED
@@ -973,11 +973,11 @@ const validateNumber = (number, required = false, min, max) => {
973
973
  return "INVALID_NUMBER";
974
974
  }
975
975
  // if the value is empty and not required
976
- if (!Number.isNaN(parsedNumber) && !parsedNumber && !required && !min && !max) {
976
+ if (!parsedNumber && !required && !min && !max && !!number) {
977
977
  return undefined;
978
978
  }
979
979
  // if the value is empty and required
980
- if (!Number.isNaN(parsedNumber) && !parsedNumber && required) {
980
+ if (required && !!number === false) {
981
981
  return "REQUIRED";
982
982
  }
983
983
  // if the value is not in between min and max
@@ -1016,7 +1016,7 @@ NumberInput.displayName = "NumberInput";
1016
1016
  *
1017
1017
  * _**Do not use**_ this fields for non-serialized numbers. Use TextField instead.
1018
1018
  */
1019
- const NumberField = React.forwardRef(({ label, id, tip, helpText, errorMessage, helpAddon, isInvalid, maxLength, className, value, dataTestId, defaultValue, onBlur, ...rest }, ref) => {
1019
+ const NumberField = React.forwardRef(({ label, id, tip, helpText, errorMessage, helpAddon, isInvalid, maxLength, className, value, dataTestId, defaultValue, onBlur, onChange, ...rest }, ref) => {
1020
1020
  const htmlForId = id ? id : "numberField-" + uuid.v4();
1021
1021
  const [t] = useTranslation();
1022
1022
  const [innerValue, setInnerValue] = React.useState(() => {
@@ -1048,7 +1048,13 @@ const NumberField = React.forwardRef(({ label, id, tip, helpText, errorMessage,
1048
1048
  }
1049
1049
  onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
1050
1050
  }, [errorMessage, onBlur, rest.max, rest.min, rest.required]);
1051
- return (jsxRuntime.jsx(FormGroup, { dataTestId: dataTestId ? `${dataTestId}-FormGroup` : undefined, helpAddon: helpAddon, helpText: (renderAsInvalid && error) || helpText, htmlFor: htmlForId, isInvalid: renderAsInvalid, label: label, required: rest.required, tip: tip, children: jsxRuntime.jsx(NumberInput, { "aria-labelledby": htmlForId + "-label", id: htmlForId, isInvalid: renderAsInvalid, maxLength: maxLength, onBlur: handleBlur, ref: ref, value: value, ...rest, className: className, dataTestId: dataTestId }) }));
1051
+ const handleChange = React.useCallback((event) => {
1052
+ setInnerValue(event.target.value);
1053
+ if (onChange) {
1054
+ onChange(event);
1055
+ }
1056
+ }, [onChange]);
1057
+ return (jsxRuntime.jsx(FormGroup, { dataTestId: dataTestId ? `${dataTestId}-FormGroup` : undefined, helpAddon: helpAddon, helpText: (renderAsInvalid && error) || helpText, htmlFor: htmlForId, isInvalid: renderAsInvalid, label: label, required: rest.required, tip: tip, children: jsxRuntime.jsx(NumberInput, { "aria-labelledby": htmlForId + "-label", id: htmlForId, isInvalid: renderAsInvalid, maxLength: maxLength, onBlur: handleBlur, onChange: handleChange, ref: ref, value: value, ...rest, className: className, dataTestId: dataTestId }) }));
1052
1058
  });
1053
1059
  NumberField.displayName = "NumberField";
1054
1060
 
package/index.esm.js CHANGED
@@ -954,11 +954,11 @@ const validateNumber = (number, required = false, min, max) => {
954
954
  return "INVALID_NUMBER";
955
955
  }
956
956
  // if the value is empty and not required
957
- if (!Number.isNaN(parsedNumber) && !parsedNumber && !required && !min && !max) {
957
+ if (!parsedNumber && !required && !min && !max && !!number) {
958
958
  return undefined;
959
959
  }
960
960
  // if the value is empty and required
961
- if (!Number.isNaN(parsedNumber) && !parsedNumber && required) {
961
+ if (required && !!number === false) {
962
962
  return "REQUIRED";
963
963
  }
964
964
  // if the value is not in between min and max
@@ -997,7 +997,7 @@ NumberInput.displayName = "NumberInput";
997
997
  *
998
998
  * _**Do not use**_ this fields for non-serialized numbers. Use TextField instead.
999
999
  */
1000
- const NumberField = forwardRef(({ label, id, tip, helpText, errorMessage, helpAddon, isInvalid, maxLength, className, value, dataTestId, defaultValue, onBlur, ...rest }, ref) => {
1000
+ const NumberField = forwardRef(({ label, id, tip, helpText, errorMessage, helpAddon, isInvalid, maxLength, className, value, dataTestId, defaultValue, onBlur, onChange, ...rest }, ref) => {
1001
1001
  const htmlForId = id ? id : "numberField-" + v4();
1002
1002
  const [t] = useTranslation();
1003
1003
  const [innerValue, setInnerValue] = useState(() => {
@@ -1029,7 +1029,13 @@ const NumberField = forwardRef(({ label, id, tip, helpText, errorMessage, helpAd
1029
1029
  }
1030
1030
  onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
1031
1031
  }, [errorMessage, onBlur, rest.max, rest.min, rest.required]);
1032
- return (jsx(FormGroup, { dataTestId: dataTestId ? `${dataTestId}-FormGroup` : undefined, helpAddon: helpAddon, helpText: (renderAsInvalid && error) || helpText, htmlFor: htmlForId, isInvalid: renderAsInvalid, label: label, required: rest.required, tip: tip, children: jsx(NumberInput, { "aria-labelledby": htmlForId + "-label", id: htmlForId, isInvalid: renderAsInvalid, maxLength: maxLength, onBlur: handleBlur, ref: ref, value: value, ...rest, className: className, dataTestId: dataTestId }) }));
1032
+ const handleChange = useCallback((event) => {
1033
+ setInnerValue(event.target.value);
1034
+ if (onChange) {
1035
+ onChange(event);
1036
+ }
1037
+ }, [onChange]);
1038
+ return (jsx(FormGroup, { dataTestId: dataTestId ? `${dataTestId}-FormGroup` : undefined, helpAddon: helpAddon, helpText: (renderAsInvalid && error) || helpText, htmlFor: htmlForId, isInvalid: renderAsInvalid, label: label, required: rest.required, tip: tip, children: jsx(NumberInput, { "aria-labelledby": htmlForId + "-label", id: htmlForId, isInvalid: renderAsInvalid, maxLength: maxLength, onBlur: handleBlur, onChange: handleChange, ref: ref, value: value, ...rest, className: className, dataTestId: dataTestId }) }));
1033
1039
  });
1034
1040
  NumberField.displayName = "NumberField";
1035
1041
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-form-components",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {