@pdg/react-form 1.0.143 → 1.0.145

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.
@@ -50,7 +50,7 @@ export interface FormItemsValueItemCommands<T> {
50
50
  }
51
51
  export interface FormCheckValueItemCommands<T> {
52
52
  getChecked(): boolean;
53
- setChecked(checked: boolean): void;
53
+ setChecked(checked: boolean, notFireOnChange?: boolean): void;
54
54
  getUncheckedValue(): T;
55
55
  setUncheckedValue(uncheckedValue: T): void;
56
56
  }
package/dist/index.esm.js CHANGED
@@ -2663,14 +2663,17 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2663
2663
  /********************************************************************************************************************
2664
2664
  * State - checked
2665
2665
  * ******************************************************************************************************************/
2666
- var _p = useAutoUpdateRefState(initChecked, useCallback(function (newChecked) { return !!newChecked; }, [])), checkedRef = _p[0], checked = _p[1], setChecked = _p[2];
2667
- useFirstSkipEffect(function () {
2666
+ var _p = useAutoUpdateRefState(initChecked, useCallback(function (newChecked) { return !!newChecked; }, [])), checkedRef = _p[0], checked = _p[1], _setChecked = _p[2];
2667
+ var updateChecked = useCallback(function (newChecked, notFireOnChange) {
2668
+ if (notFireOnChange === void 0) { notFireOnChange = false; }
2669
+ var finalChecked = _setChecked(newChecked);
2668
2670
  if (error)
2669
2671
  validate(checked);
2670
- if (onChange)
2672
+ if (!notFireOnChange && onChange)
2671
2673
  onChange(checked);
2672
2674
  onValueChange(name, checked);
2673
- }, [checked]);
2675
+ return finalChecked;
2676
+ }, [_setChecked, checked, error, name, onChange, onValueChange, validate]);
2674
2677
  /********************************************************************************************************************
2675
2678
  * Function - focus
2676
2679
  * ******************************************************************************************************************/
@@ -2697,7 +2700,7 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2697
2700
  getType: function () { return 'FormCheckbox'; },
2698
2701
  getName: function () { return name; },
2699
2702
  getReset: function () { return initChecked; },
2700
- reset: function () { return setChecked(initChecked); },
2703
+ reset: function () { return updateChecked(initChecked); },
2701
2704
  getValue: function () { return valueRef.current; },
2702
2705
  setValue: setValue,
2703
2706
  getData: function () { return dataRef.current; },
@@ -2705,7 +2708,7 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2705
2708
  getUncheckedValue: function () { return uncheckedValueRef.current; },
2706
2709
  setUncheckedValue: setUncheckedValue,
2707
2710
  getChecked: function () { return checkedRef.current; },
2708
- setChecked: setChecked,
2711
+ setChecked: updateChecked,
2709
2712
  isExceptValue: function () { return !!exceptValue; },
2710
2713
  isDisabled: function () { return !!disabledRef.current; },
2711
2714
  setDisabled: setDisabled,
@@ -2751,7 +2754,6 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2751
2754
  onAddValueItem,
2752
2755
  onRemoveValueItem,
2753
2756
  ref,
2754
- setChecked,
2755
2757
  setData,
2756
2758
  setDisabled,
2757
2759
  setErrorErrorHelperText,
@@ -2759,6 +2761,7 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2759
2761
  setUncheckedValue,
2760
2762
  setValue,
2761
2763
  uncheckedValueRef,
2764
+ updateChecked,
2762
2765
  validate,
2763
2766
  valueRef,
2764
2767
  ]);
@@ -2770,19 +2773,19 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2770
2773
  e.preventDefault();
2771
2774
  }
2772
2775
  else {
2773
- setChecked(checked);
2776
+ updateChecked(checked);
2774
2777
  nextTick(function () {
2775
2778
  onValueChangeByUser(name, checked);
2776
2779
  onRequestSearchSubmit(name, checked);
2777
2780
  });
2778
2781
  }
2779
- }, [readOnly, setChecked, onValueChangeByUser, name, onRequestSearchSubmit]);
2782
+ }, [readOnly, updateChecked, onValueChangeByUser, name, onRequestSearchSubmit]);
2780
2783
  /********************************************************************************************************************
2781
2784
  * Render
2782
2785
  * ******************************************************************************************************************/
2783
2786
  return (React.createElement(FormItemBase, { variant: variant, size: size, color: color, focused: focused, className: classNames(className, 'FormValueItem', 'FormCheckbox'), labelIcon: labelIcon, label: label, error: error, fullWidth: fullWidth, helperText: error ? errorHelperText : helperText, helperTextProps: { style: { marginLeft: 2 } }, style: __assign({ width: fullWidth ? '100%' : width || 100, paddingLeft: 3 }, initStyle), sx: sx, hidden: hidden, autoSize: true, controlHeight: height || (size === 'small' ? 35 : 39), controlVerticalCenter: true, control: React.createElement(FormControlLabel, { ref: function (ref) {
2784
2787
  labelRef.current = ref;
2785
- }, control: React.createElement(Checkbox, __assign({ name: name, color: color, size: size, inputRef: initInputRef ? initInputRef : inputRef, action: initAction ? initAction : actionRef, checked: checked, checkedIcon: React.createElement(CheckBox, { color: error ? 'error' : undefined }), icon: React.createElement(CheckBoxOutlineBlank, { color: error ? 'error' : undefined }), onChange: handleChange, disabled: disabled || readOnly }, props)), label: React.createElement(Typography, { color: error ? 'error' : readOnly || disabled ? theme.palette.text.disabled : undefined, whiteSpace: 'nowrap' }, text) }) }));
2788
+ }, control: React.createElement(Checkbox, __assign({ name: name, color: color, size: size, slotProps: { input: { ref: initInputRef ? initInputRef : inputRef } }, action: initAction ? initAction : actionRef, checked: checked, checkedIcon: React.createElement(CheckBox, { color: error ? 'error' : undefined }), icon: React.createElement(CheckBoxOutlineBlank, { color: error ? 'error' : undefined }), onChange: handleChange, disabled: disabled || readOnly }, props)), label: React.createElement(Typography, { color: error ? 'error' : readOnly || disabled ? theme.palette.text.disabled : undefined, whiteSpace: 'nowrap' }, text) }) }));
2786
2789
  });
2787
2790
  FormCheckbox.displayName = 'FormCheckbox';var PADDING_LEFT = 3;
2788
2791
  var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a, ref) {
package/dist/index.js CHANGED
@@ -2663,14 +2663,17 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2663
2663
  /********************************************************************************************************************
2664
2664
  * State - checked
2665
2665
  * ******************************************************************************************************************/
2666
- var _p = reactHook.useAutoUpdateRefState(initChecked, React.useCallback(function (newChecked) { return !!newChecked; }, [])), checkedRef = _p[0], checked = _p[1], setChecked = _p[2];
2667
- reactHook.useFirstSkipEffect(function () {
2666
+ var _p = reactHook.useAutoUpdateRefState(initChecked, React.useCallback(function (newChecked) { return !!newChecked; }, [])), checkedRef = _p[0], checked = _p[1], _setChecked = _p[2];
2667
+ var updateChecked = React.useCallback(function (newChecked, notFireOnChange) {
2668
+ if (notFireOnChange === void 0) { notFireOnChange = false; }
2669
+ var finalChecked = _setChecked(newChecked);
2668
2670
  if (error)
2669
2671
  validate(checked);
2670
- if (onChange)
2672
+ if (!notFireOnChange && onChange)
2671
2673
  onChange(checked);
2672
2674
  onValueChange(name, checked);
2673
- }, [checked]);
2675
+ return finalChecked;
2676
+ }, [_setChecked, checked, error, name, onChange, onValueChange, validate]);
2674
2677
  /********************************************************************************************************************
2675
2678
  * Function - focus
2676
2679
  * ******************************************************************************************************************/
@@ -2697,7 +2700,7 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2697
2700
  getType: function () { return 'FormCheckbox'; },
2698
2701
  getName: function () { return name; },
2699
2702
  getReset: function () { return initChecked; },
2700
- reset: function () { return setChecked(initChecked); },
2703
+ reset: function () { return updateChecked(initChecked); },
2701
2704
  getValue: function () { return valueRef.current; },
2702
2705
  setValue: setValue,
2703
2706
  getData: function () { return dataRef.current; },
@@ -2705,7 +2708,7 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2705
2708
  getUncheckedValue: function () { return uncheckedValueRef.current; },
2706
2709
  setUncheckedValue: setUncheckedValue,
2707
2710
  getChecked: function () { return checkedRef.current; },
2708
- setChecked: setChecked,
2711
+ setChecked: updateChecked,
2709
2712
  isExceptValue: function () { return !!exceptValue; },
2710
2713
  isDisabled: function () { return !!disabledRef.current; },
2711
2714
  setDisabled: setDisabled,
@@ -2751,7 +2754,6 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2751
2754
  onAddValueItem,
2752
2755
  onRemoveValueItem,
2753
2756
  ref,
2754
- setChecked,
2755
2757
  setData,
2756
2758
  setDisabled,
2757
2759
  setErrorErrorHelperText,
@@ -2759,6 +2761,7 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2759
2761
  setUncheckedValue,
2760
2762
  setValue,
2761
2763
  uncheckedValueRef,
2764
+ updateChecked,
2762
2765
  validate,
2763
2766
  valueRef,
2764
2767
  ]);
@@ -2770,19 +2773,19 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React.forwardRef(fu
2770
2773
  e.preventDefault();
2771
2774
  }
2772
2775
  else {
2773
- setChecked(checked);
2776
+ updateChecked(checked);
2774
2777
  util.nextTick(function () {
2775
2778
  onValueChangeByUser(name, checked);
2776
2779
  onRequestSearchSubmit(name, checked);
2777
2780
  });
2778
2781
  }
2779
- }, [readOnly, setChecked, onValueChangeByUser, name, onRequestSearchSubmit]);
2782
+ }, [readOnly, updateChecked, onValueChangeByUser, name, onRequestSearchSubmit]);
2780
2783
  /********************************************************************************************************************
2781
2784
  * Render
2782
2785
  * ******************************************************************************************************************/
2783
2786
  return (React.createElement(FormItemBase, { variant: variant, size: size, color: color, focused: focused, className: classNames(className, 'FormValueItem', 'FormCheckbox'), labelIcon: labelIcon, label: label, error: error, fullWidth: fullWidth, helperText: error ? errorHelperText : helperText, helperTextProps: { style: { marginLeft: 2 } }, style: __assign({ width: fullWidth ? '100%' : width || 100, paddingLeft: 3 }, initStyle), sx: sx, hidden: hidden, autoSize: true, controlHeight: height || (size === 'small' ? 35 : 39), controlVerticalCenter: true, control: React.createElement(material.FormControlLabel, { ref: function (ref) {
2784
2787
  labelRef.current = ref;
2785
- }, control: React.createElement(material.Checkbox, __assign({ name: name, color: color, size: size, inputRef: initInputRef ? initInputRef : inputRef, action: initAction ? initAction : actionRef, checked: checked, checkedIcon: React.createElement(iconsMaterial.CheckBox, { color: error ? 'error' : undefined }), icon: React.createElement(iconsMaterial.CheckBoxOutlineBlank, { color: error ? 'error' : undefined }), onChange: handleChange, disabled: disabled || readOnly }, props)), label: React.createElement(material.Typography, { color: error ? 'error' : readOnly || disabled ? theme.palette.text.disabled : undefined, whiteSpace: 'nowrap' }, text) }) }));
2788
+ }, control: React.createElement(material.Checkbox, __assign({ name: name, color: color, size: size, slotProps: { input: { ref: initInputRef ? initInputRef : inputRef } }, action: initAction ? initAction : actionRef, checked: checked, checkedIcon: React.createElement(iconsMaterial.CheckBox, { color: error ? 'error' : undefined }), icon: React.createElement(iconsMaterial.CheckBoxOutlineBlank, { color: error ? 'error' : undefined }), onChange: handleChange, disabled: disabled || readOnly }, props)), label: React.createElement(material.Typography, { color: error ? 'error' : readOnly || disabled ? theme.palette.text.disabled : undefined, whiteSpace: 'nowrap' }, text) }) }));
2786
2789
  });
2787
2790
  FormCheckbox.displayName = 'FormCheckbox';var PADDING_LEFT = 3;
2788
2791
  var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a, ref) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pdg/react-form",
3
3
  "title": "React Form",
4
- "version": "1.0.143",
4
+ "version": "1.0.145",
5
5
  "description": "React Form",
6
6
  "type": "module",
7
7
  "types": "dist/index.d.ts",