@pdg/react-form 1.0.130 → 1.0.132

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.
@@ -12,6 +12,7 @@ export interface FormProps extends CommonSxProps, PartialPick<FormControlProps,
12
12
  fullHeight?: boolean;
13
13
  formColGap?: number;
14
14
  disabled?: boolean;
15
+ submitWhenReturnKey?: boolean;
15
16
  onSubmit?(data: FormValueMap): void;
16
17
  onInvalid?(invalidItems: FormInvalidItems): void;
17
18
  onValueChange?(name: string, value: any): void;
@@ -4,10 +4,12 @@ export interface FormContextValue<T = any, AllowUndefinedValue extends boolean =
4
4
  id: string;
5
5
  fullHeight?: boolean;
6
6
  disabled?: boolean;
7
+ submitWhenReturnKey?: boolean;
7
8
  onAddValueItem(id: string, commands: FormValueItemCommands<T, AllowUndefinedValue>): void;
8
9
  onRemoveValueItem(id: string): void;
9
10
  onValueChange(name: string, value: T): void;
10
11
  onValueChangeByUser(name: string, value: T): void;
12
+ onRequestSubmit(name: string, value: T): void;
11
13
  onRequestSearchSubmit(name: string, value: T): void;
12
14
  /** FormRow */
13
15
  formColAutoXs?: number;
@@ -15,5 +15,6 @@ export type FormTextFieldProps<T = FormTextFieldValue, AllowUndefinedValue exten
15
15
  endAdornment?: ReactNode;
16
16
  noFormValueItem?: boolean;
17
17
  disableReturnKey?: boolean;
18
+ submitWhenReturnKey?: boolean;
18
19
  onValue?(value: V): V;
19
20
  };
package/dist/index.esm.js CHANGED
@@ -99,6 +99,8 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
99
99
  // eslint-disable-next-line
100
100
  onValueChangeByUser: function () { },
101
101
  // eslint-disable-next-line
102
+ onRequestSubmit: function () { },
103
+ // eslint-disable-next-line
102
104
  onRequestSearchSubmit: function () { },
103
105
  };var FormContext = createContext(FormContextDefaultValue);function useFormState() {
104
106
  var value = useContext(FormContext);
@@ -232,10 +234,10 @@ var appendFormValueData = function (data, itemCommands) {
232
234
  //--------------------------------------------------------------------------------------------------------------------
233
235
  _b = _a.variant,
234
236
  //--------------------------------------------------------------------------------------------------------------------
235
- initVariant = _b === void 0 ? 'outlined' : _b, _c = _a.size, initSize = _c === void 0 ? 'medium' : _c, _d = _a.color, initColor = _d === void 0 ? 'primary' : _d, _e = _a.spacing, initSpacing = _e === void 0 ? 2 : _e, _f = _a.formColGap, initFormColGap = _f === void 0 ? 1.5 : _f, initFocused = _a.focused, initLabelShrink = _a.labelShrink, initFullWidth = _a.fullWidth, initFullHeight = _a.fullHeight, initDisabled = _a.disabled,
237
+ initVariant = _b === void 0 ? 'outlined' : _b, _c = _a.size, initSize = _c === void 0 ? 'medium' : _c, _d = _a.color, initColor = _d === void 0 ? 'primary' : _d, _e = _a.spacing, initSpacing = _e === void 0 ? 2 : _e, _f = _a.formColGap, initFormColGap = _f === void 0 ? 1.5 : _f, initFocused = _a.focused, initLabelShrink = _a.labelShrink, initFullWidth = _a.fullWidth, initFullHeight = _a.fullHeight, initDisabled = _a.disabled, initSubmitWhenReturnKey = _a.submitWhenReturnKey,
236
238
  //----------------------------------------------------------------------------------------------------------------
237
239
  initOnSubmit = _a.onSubmit, initOnValid = _a.onInvalid, initOnValueChange = _a.onValueChange, initOnValueChangeByUser = _a.onValueChangeByUser;
238
- var _g = useFormState(), formId = _g.id, formVariant = _g.variant, formSize = _g.size, formColor = _g.color, formDisabled = _g.disabled, formSpacing = _g.spacing, formFormColGap = _g.formColGap, formFocused = _g.focused, formLabelShrink = _g.labelShrink, formFullWidth = _g.fullWidth, formFullHeight = _g.fullHeight, formColAutoXs = _g.formColAutoXs, formColWidth = _g.formColWidth, onAddFormCol = _g.onAddFormCol, onRemoveFormCol = _g.onRemoveFormCol, formColXs = _g.formColXs, formColWithLabel = _g.formColWithLabel, formColWithHelperText = _g.formColWithHelperText, formAddValueItem = _g.onAddValueItem, formRemoveValueItem = _g.onRemoveValueItem, formValueChange = _g.onValueChange, formValueChangeByUser = _g.onValueChangeByUser, formRequestSearchSubmit = _g.onRequestSearchSubmit;
240
+ var _g = useFormState(), formId = _g.id, formVariant = _g.variant, formSize = _g.size, formColor = _g.color, formDisabled = _g.disabled, formSubmitWhenReturnKey = _g.submitWhenReturnKey, formSpacing = _g.spacing, formFormColGap = _g.formColGap, formFocused = _g.focused, formLabelShrink = _g.labelShrink, formFullWidth = _g.fullWidth, formFullHeight = _g.fullHeight, formColAutoXs = _g.formColAutoXs, formColWidth = _g.formColWidth, onAddFormCol = _g.onAddFormCol, onRemoveFormCol = _g.onRemoveFormCol, formColXs = _g.formColXs, formColWithLabel = _g.formColWithLabel, formColWithHelperText = _g.formColWithHelperText, formAddValueItem = _g.onAddValueItem, formRemoveValueItem = _g.onRemoveValueItem, formValueChange = _g.onValueChange, formValueChangeByUser = _g.onValueChangeByUser, formRequestSubmit = _g.onRequestSubmit, formRequestSearchSubmit = _g.onRequestSearchSubmit;
239
241
  /********************************************************************************************************************
240
242
  * Memo - FormState
241
243
  * ******************************************************************************************************************/
@@ -249,6 +251,7 @@ var appendFormValueData = function (data, itemCommands) {
249
251
  var fullWidth = ifUndefined(ifUndefined(initFullWidth, formFullWidth), true);
250
252
  var fullHeight = ifUndefined(ifUndefined(initFullHeight, formFullHeight), false);
251
253
  var disabled = ifUndefined(ifUndefined(initDisabled, formDisabled), false);
254
+ var submitWhenReturnKey = ifUndefined(ifUndefined(initSubmitWhenReturnKey, formSubmitWhenReturnKey), false);
252
255
  /********************************************************************************************************************
253
256
  * Ref
254
257
  * ******************************************************************************************************************/
@@ -556,6 +559,7 @@ var appendFormValueData = function (data, itemCommands) {
556
559
  fullWidth: fullWidth,
557
560
  fullHeight: fullHeight,
558
561
  disabled: disabled,
562
+ submitWhenReturnKey: submitWhenReturnKey,
559
563
  onAddValueItem: function (id, item) {
560
564
  valueItems.current[id] = item;
561
565
  if (formAddValueItem)
@@ -578,6 +582,12 @@ var appendFormValueData = function (data, itemCommands) {
578
582
  if (formValueChangeByUser)
579
583
  formValueChangeByUser(name, value);
580
584
  },
585
+ onRequestSubmit: function (name, value) {
586
+ if (!disabled)
587
+ submit();
588
+ if (formRequestSubmit)
589
+ formRequestSubmit(name, value);
590
+ },
581
591
  onRequestSearchSubmit: formRequestSearchSubmit,
582
592
  formColAutoXs: formColAutoXs,
583
593
  formColWidth: formColWidth,
@@ -599,6 +609,7 @@ var appendFormValueData = function (data, itemCommands) {
599
609
  fullWidth,
600
610
  fullHeight,
601
611
  disabled,
612
+ submitWhenReturnKey,
602
613
  formRequestSearchSubmit,
603
614
  formColAutoXs,
604
615
  formColWidth,
@@ -613,6 +624,8 @@ var appendFormValueData = function (data, itemCommands) {
613
624
  formValueChange,
614
625
  onValueChangeByUserRef,
615
626
  formValueChangeByUser,
627
+ submit,
628
+ formRequestSubmit,
616
629
  ]);
617
630
  /********************************************************************************************************************
618
631
  * Render
@@ -1026,7 +1039,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1026
1039
  * ID
1027
1040
  * ******************************************************************************************************************/
1028
1041
  var _b, _c;
1029
- var initVariant = _a.variant, initSize = _a.size, initColor = _a.color, initFocused = _a.focused, initLabelShrink = _a.labelShrink, initFullWidth = _a.fullWidth,
1042
+ var initVariant = _a.variant, initSize = _a.size, initColor = _a.color, initFocused = _a.focused, initLabelShrink = _a.labelShrink, initFullWidth = _a.fullWidth, initSubmitWhenReturnKey = _a.submitWhenReturnKey,
1030
1043
  //----------------------------------------------------------------------------------------------------------------
1031
1044
  name = _a.name, required = _a.required, initValue = _a.value, initData = _a.data, icon = _a.icon, labelIcon = _a.labelIcon, initLabel = _a.label, initError = _a.error, helperText = _a.helperText, exceptValue = _a.exceptValue, readOnly = _a.readOnly, tabIndex = _a.tabIndex, initDisabled = _a.disabled, placeholder = _a.placeholder, maxLength = _a.maxLength, clear = _a.clear, width = _a.width, initMuiInputProps = _a.InputProps, initMuiInputLabelProps = _a.InputLabelProps, initInputProps = _a.inputProps, initInputRef = _a.inputRef, select = _a.select, SelectProps = _a.SelectProps, multiline = _a.multiline, validPattern = _a.validPattern, invalidPattern = _a.invalidPattern, startAdornment = _a.startAdornment, endAdornment = _a.endAdornment, noFormValueItem = _a.noFormValueItem, initHidden = _a.hidden, disableReturnKey = _a.disableReturnKey,
1032
1045
  //----------------------------------------------------------------------------------------------------------------
@@ -1034,7 +1047,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1034
1047
  //----------------------------------------------------------------------------------------------------------------
1035
1048
  className = _a.className, initStyle = _a.style,
1036
1049
  //----------------------------------------------------------------------------------------------------------------
1037
- props = __rest(_a, ["variant", "size", "color", "focused", "labelShrink", "fullWidth", "name", "required", "value", "data", "icon", "labelIcon", "label", "error", "helperText", "exceptValue", "readOnly", "tabIndex", "disabled", "placeholder", "maxLength", "clear", "width", "InputProps", "InputLabelProps", "inputProps", "inputRef", "select", "SelectProps", "multiline", "validPattern", "invalidPattern", "startAdornment", "endAdornment", "noFormValueItem", "hidden", "disableReturnKey", "onChange", "onValue", "onValidate", "onBlur", "onKeyDown", "className", "style"]);
1050
+ props = __rest(_a, ["variant", "size", "color", "focused", "labelShrink", "fullWidth", "submitWhenReturnKey", "name", "required", "value", "data", "icon", "labelIcon", "label", "error", "helperText", "exceptValue", "readOnly", "tabIndex", "disabled", "placeholder", "maxLength", "clear", "width", "InputProps", "InputLabelProps", "inputProps", "inputRef", "select", "SelectProps", "multiline", "validPattern", "invalidPattern", "startAdornment", "endAdornment", "noFormValueItem", "hidden", "disableReturnKey", "onChange", "onValue", "onValidate", "onBlur", "onKeyDown", "className", "style"]);
1038
1051
  var id = useId();
1039
1052
  /********************************************************************************************************************
1040
1053
  * Ref
@@ -1043,7 +1056,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1043
1056
  /********************************************************************************************************************
1044
1057
  * FormState
1045
1058
  * ******************************************************************************************************************/
1046
- var _d = useFormState(), formVariant = _d.variant, formSize = _d.size, formColor = _d.color, formFocused = _d.focused, formLabelShrink = _d.labelShrink, formFullWidth = _d.fullWidth, formDisabled = _d.disabled, formColWithHelperText = _d.formColWithHelperText, onAddValueItem = _d.onAddValueItem, onRemoveValueItem = _d.onRemoveValueItem, onValueChange = _d.onValueChange, onValueChangeByUser = _d.onValueChangeByUser, onRequestSearchSubmit = _d.onRequestSearchSubmit;
1059
+ var _d = useFormState(), formVariant = _d.variant, formSize = _d.size, formColor = _d.color, formFocused = _d.focused, formLabelShrink = _d.labelShrink, formFullWidth = _d.fullWidth, formDisabled = _d.disabled, formSubmitWhenReturnKey = _d.submitWhenReturnKey, formColWithHelperText = _d.formColWithHelperText, onAddValueItem = _d.onAddValueItem, onRemoveValueItem = _d.onRemoveValueItem, onValueChange = _d.onValueChange, onValueChangeByUser = _d.onValueChangeByUser, onRequestSubmit = _d.onRequestSubmit, onRequestSearchSubmit = _d.onRequestSearchSubmit;
1047
1060
  /********************************************************************************************************************
1048
1061
  * Memo - FormState
1049
1062
  * ******************************************************************************************************************/
@@ -1053,6 +1066,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1053
1066
  var focused = ifUndefined(initFocused, formFocused);
1054
1067
  var labelShrink = ifUndefined(initLabelShrink, formLabelShrink);
1055
1068
  var fullWidth = ifUndefined(initFullWidth, formFullWidth);
1069
+ var submitWhenReturnKey = ifUndefined(initSubmitWhenReturnKey, formSubmitWhenReturnKey);
1056
1070
  /********************************************************************************************************************
1057
1071
  * State
1058
1072
  * ******************************************************************************************************************/
@@ -1274,11 +1288,25 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1274
1288
  !noFormValueItem) {
1275
1289
  e.preventDefault();
1276
1290
  e.stopPropagation();
1291
+ if (submitWhenReturnKey) {
1292
+ onRequestSubmit(name, valueRef.current);
1293
+ }
1277
1294
  onRequestSearchSubmit(name, valueRef.current);
1278
1295
  }
1279
1296
  if (onKeyDown)
1280
1297
  onKeyDown(e);
1281
- }, [select, multiline, disableReturnKey, noFormValueItem, onKeyDown, onRequestSearchSubmit, name, valueRef]);
1298
+ }, [
1299
+ select,
1300
+ multiline,
1301
+ disableReturnKey,
1302
+ noFormValueItem,
1303
+ onKeyDown,
1304
+ submitWhenReturnKey,
1305
+ onRequestSearchSubmit,
1306
+ name,
1307
+ valueRef,
1308
+ onRequestSubmit,
1309
+ ]);
1282
1310
  /********************************************************************************************************************
1283
1311
  * Variable
1284
1312
  * ******************************************************************************************************************/
@@ -2973,7 +3001,7 @@ var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a
2973
3001
  * ******************************************************************************************************************/
2974
3002
  var singleHeight = height || (size === 'small' ? 35 : 39);
2975
3003
  var isMultiline = singleHeight <= ifUndefined(realHeight, 0);
2976
- return (React.createElement(FormItemBase, { focused: focused, ref: baseRef, className: classNames(className, 'FormValueItem', 'FormRadioGroup'), variant: variant, size: size, color: color, labelIcon: labelIcon, label: label, fullWidth: fullWidth, required: required, error: error, helperText: error ? errorHelperText : helperText, helperTextProps: { style: { marginLeft: 2, marginTop: isMultiline ? 20 : 0 } }, style: __assign({ width: width, paddingLeft: PADDING_LEFT }, initStyle), sx: sx, hidden: hidden, autoSize: true, controlHeight: realHeight ? realHeight : singleHeight, controlContainerStyle: {
3004
+ return (React.createElement(FormItemBase, { focused: focused, ref: baseRef, className: classNames(className, 'FormValueItem', 'FormRadioGroup'), variant: variant, size: size, color: color, labelIcon: labelIcon, label: label, fullWidth: fullWidth, required: required, error: error, helperText: error ? errorHelperText : helperText, helperTextProps: { style: { marginLeft: 2, marginTop: isMultiline && notEmpty(label) ? 20 : 0 } }, style: __assign({ width: width, paddingLeft: PADDING_LEFT }, initStyle), sx: sx, hidden: hidden, autoSize: true, controlHeight: realHeight ? realHeight : singleHeight, controlContainerStyle: {
2977
3005
  paddingTop: isMultiline && size === 'medium' ? 4 : undefined,
2978
3006
  }, controlVerticalCenter: !isMultiline, control: React.createElement(React.Fragment, null,
2979
3007
  !fullWidth && !isOnGetItemLoading && !loading && items && (React.createElement("div", { ref: resizeWidthDetectorRef, style: {
@@ -3033,6 +3061,7 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3033
3061
  * ******************************************************************************************************************/
3034
3062
  var refForResizeWidthDetect = useRef(null);
3035
3063
  var refForButtonResizeHeightDetect = useRef(null);
3064
+ var refForButtonsResizeHeightDetect = useRef(null);
3036
3065
  var refForLoadingResizeHeightDetect = useRef(null);
3037
3066
  /********************************************************************************************************************
3038
3067
  * FormState
@@ -3069,6 +3098,7 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3069
3098
  * State - height (ResizeDetector)
3070
3099
  * ******************************************************************************************************************/
3071
3100
  var _g = useState(), height = _g[0], setHeight = _g[1];
3101
+ var _h = useState(), realHeight = _h[0], setRealHeight = _h[1];
3072
3102
  useResizeDetector({
3073
3103
  targetRef: refForButtonResizeHeightDetect,
3074
3104
  handleHeight: true,
@@ -3077,6 +3107,14 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3077
3107
  setHeight((_b = (_a = refForButtonResizeHeightDetect.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) === null || _b === void 0 ? void 0 : _b.height);
3078
3108
  },
3079
3109
  });
3110
+ useResizeDetector({
3111
+ targetRef: refForButtonsResizeHeightDetect,
3112
+ handleHeight: true,
3113
+ onResize: function () {
3114
+ var _a, _b;
3115
+ setRealHeight((_b = (_a = refForButtonsResizeHeightDetect.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) === null || _b === void 0 ? void 0 : _b.height);
3116
+ },
3117
+ });
3080
3118
  useResizeDetector({
3081
3119
  targetRef: refForLoadingResizeHeightDetect,
3082
3120
  handleHeight: true,
@@ -3088,14 +3126,14 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3088
3126
  /********************************************************************************************************************
3089
3127
  * State
3090
3128
  * ******************************************************************************************************************/
3091
- var _h = useState(false), isOnGetItemLoading = _h[0], setIsOnGetItemLoading = _h[1];
3092
- var _j = useAutoUpdateState(initError), error = _j[0], setError = _j[1];
3093
- var _k = useState(), errorHelperText = _k[0], setErrorHelperText = _k[1];
3094
- var _l = useAutoUpdateRefState(initData), dataRef = _l[0], setData = _l[2];
3095
- var _m = useAutoUpdateRefState(useMemo(function () { return (initDisabled == null ? formDisabled : initDisabled); }, [initDisabled, formDisabled])), disabledRef = _m[0], disabled = _m[1], setDisabled = _m[2];
3096
- var _o = useAutoUpdateRefState(initHidden), hiddenRef = _o[0], hidden = _o[1], setHidden = _o[2];
3097
- var _p = useAutoUpdateRefState(initLoading), loadingRef = _p[0], loading = _p[1], setLoading = _p[2];
3098
- var _q = useAutoUpdateRefState(initItems), itemsRef = _q[0], items = _q[1], setItems = _q[2];
3129
+ var _j = useState(false), isOnGetItemLoading = _j[0], setIsOnGetItemLoading = _j[1];
3130
+ var _k = useAutoUpdateState(initError), error = _k[0], setError = _k[1];
3131
+ var _l = useState(), errorHelperText = _l[0], setErrorHelperText = _l[1];
3132
+ var _m = useAutoUpdateRefState(initData), dataRef = _m[0], setData = _m[2];
3133
+ var _o = useAutoUpdateRefState(useMemo(function () { return (initDisabled == null ? formDisabled : initDisabled); }, [initDisabled, formDisabled])), disabledRef = _o[0], disabled = _o[1], setDisabled = _o[2];
3134
+ var _p = useAutoUpdateRefState(initHidden), hiddenRef = _p[0], hidden = _p[1], setHidden = _p[2];
3135
+ var _q = useAutoUpdateRefState(initLoading), loadingRef = _q[0], loading = _q[1], setLoading = _q[2];
3136
+ var _r = useAutoUpdateRefState(initItems), itemsRef = _r[0], items = _r[1], setItems = _r[2];
3099
3137
  /********************************************************************************************************************
3100
3138
  * Memo
3101
3139
  * ******************************************************************************************************************/
@@ -3210,7 +3248,7 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3210
3248
  finalValue = onValue ? onValue(finalValue) : finalValue;
3211
3249
  return equal(value, finalValue) ? value : finalValue;
3212
3250
  }, [multiple, formValueSeparator, itemsValues, onValue]);
3213
- var _r = useAutoUpdateRefState(initValue, getFinalValue), valueRef = _r[0], value = _r[1], setValue = _r[2];
3251
+ var _s = useAutoUpdateRefState(initValue, getFinalValue), valueRef = _s[0], value = _s[1], setValue = _s[2];
3214
3252
  useFirstSkipEffect(function () {
3215
3253
  if (error)
3216
3254
  validate(value);
@@ -3435,7 +3473,9 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3435
3473
  theme.palette.error.main,
3436
3474
  type,
3437
3475
  ]);
3438
- return (React.createElement(FormItemBase, __assign({}, formControlBaseProps, { className: classNames(className, 'FormValueItem', 'FormToggleButtonGroup', "variant-".concat(variant), "size-".concat(size), !!label && 'with-label', !!fullWidth && 'full-width', "type-".concat(type)), variant: variant, size: size, color: color, labelIcon: labelIcon, label: label, required: required, fullWidth: fullWidth, error: error, helperText: error ? errorHelperText : helperText, helperTextProps: { style: { marginLeft: 2 } }, style: style, sx: sx, hidden: hidden, autoSize: true, controlHeight: height || 0, controlVerticalCenter: isOnGetItemLoading || loading, control: isOnGetItemLoading || loading ? (React.createElement("div", { style: { opacity: 0.54 }, ref: refForLoadingResizeHeightDetect },
3476
+ var controlHeight = height || 0;
3477
+ var isMultiline = controlHeight <= ifUndefined(realHeight, 0);
3478
+ return (React.createElement(FormItemBase, __assign({}, formControlBaseProps, { className: classNames(className, 'FormValueItem', 'FormToggleButtonGroup', "variant-".concat(variant), "size-".concat(size), !!label && 'with-label', !!fullWidth && 'full-width', "type-".concat(type)), variant: variant, size: size, color: color, labelIcon: labelIcon, label: label, required: required, fullWidth: fullWidth, error: error, helperText: error ? errorHelperText : helperText, helperTextProps: { style: { marginLeft: 2 } }, style: style, sx: sx, hidden: hidden, autoSize: true, controlHeight: realHeight ? realHeight + (isMultiline ? 13 : 0) : controlHeight, controlVerticalCenter: isMultiline ? false : isOnGetItemLoading || loading, control: isOnGetItemLoading || loading ? (React.createElement("div", { style: { opacity: 0.54 }, ref: refForLoadingResizeHeightDetect },
3439
3479
  React.createElement(CircularProgress, { size: 16, color: 'inherit' }))) : (React.createElement(React.Fragment, null,
3440
3480
  !fullWidth && !isOnGetItemLoading && !loading && items && (React.createElement("div", { ref: refForResizeWidthDetect, style: {
3441
3481
  display: 'grid',
@@ -3444,7 +3484,7 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3444
3484
  visibility: 'hidden',
3445
3485
  } },
3446
3486
  React.createElement(ToggleButtonGroup, { className: 'ToggleButtonGroup', exclusive: !multiple }, buttons))),
3447
- React.createElement(ToggleButtonGroup, { className: 'ToggleButtonGroup', exclusive: !multiple, fullWidth: fullWidth, value: value == null ? null : value, onChange: handleChange, style: {
3487
+ React.createElement(ToggleButtonGroup, { ref: refForButtonsResizeHeightDetect, className: 'ToggleButtonGroup', exclusive: !multiple, fullWidth: fullWidth, value: value == null ? null : value, onChange: handleChange, style: {
3448
3488
  width: !fullWidth && formColWidth && typeof width === 'number' && width > formColWidth
3449
3489
  ? formColWidth
3450
3490
  : undefined,
@@ -10218,6 +10258,10 @@ FormSwitch.displayName = 'FormSwitch';var SearchGroupRow = function (_a) {
10218
10258
  onValueChange: function () { },
10219
10259
  // eslint-disable-next-line
10220
10260
  onValueChangeByUser: function () { },
10261
+ onRequestSubmit: function () {
10262
+ var _a;
10263
+ (_a = formRef.current) === null || _a === void 0 ? void 0 : _a.submit();
10264
+ },
10221
10265
  onRequestSearchSubmit: function () {
10222
10266
  var _a;
10223
10267
  if (autoSubmit) {
package/dist/index.js CHANGED
@@ -99,6 +99,8 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
99
99
  // eslint-disable-next-line
100
100
  onValueChangeByUser: function () { },
101
101
  // eslint-disable-next-line
102
+ onRequestSubmit: function () { },
103
+ // eslint-disable-next-line
102
104
  onRequestSearchSubmit: function () { },
103
105
  };var FormContext = React.createContext(FormContextDefaultValue);function useFormState() {
104
106
  var value = React.useContext(FormContext);
@@ -232,10 +234,10 @@ var appendFormValueData = function (data, itemCommands) {
232
234
  //--------------------------------------------------------------------------------------------------------------------
233
235
  _b = _a.variant,
234
236
  //--------------------------------------------------------------------------------------------------------------------
235
- initVariant = _b === void 0 ? 'outlined' : _b, _c = _a.size, initSize = _c === void 0 ? 'medium' : _c, _d = _a.color, initColor = _d === void 0 ? 'primary' : _d, _e = _a.spacing, initSpacing = _e === void 0 ? 2 : _e, _f = _a.formColGap, initFormColGap = _f === void 0 ? 1.5 : _f, initFocused = _a.focused, initLabelShrink = _a.labelShrink, initFullWidth = _a.fullWidth, initFullHeight = _a.fullHeight, initDisabled = _a.disabled,
237
+ initVariant = _b === void 0 ? 'outlined' : _b, _c = _a.size, initSize = _c === void 0 ? 'medium' : _c, _d = _a.color, initColor = _d === void 0 ? 'primary' : _d, _e = _a.spacing, initSpacing = _e === void 0 ? 2 : _e, _f = _a.formColGap, initFormColGap = _f === void 0 ? 1.5 : _f, initFocused = _a.focused, initLabelShrink = _a.labelShrink, initFullWidth = _a.fullWidth, initFullHeight = _a.fullHeight, initDisabled = _a.disabled, initSubmitWhenReturnKey = _a.submitWhenReturnKey,
236
238
  //----------------------------------------------------------------------------------------------------------------
237
239
  initOnSubmit = _a.onSubmit, initOnValid = _a.onInvalid, initOnValueChange = _a.onValueChange, initOnValueChangeByUser = _a.onValueChangeByUser;
238
- var _g = useFormState(), formId = _g.id, formVariant = _g.variant, formSize = _g.size, formColor = _g.color, formDisabled = _g.disabled, formSpacing = _g.spacing, formFormColGap = _g.formColGap, formFocused = _g.focused, formLabelShrink = _g.labelShrink, formFullWidth = _g.fullWidth, formFullHeight = _g.fullHeight, formColAutoXs = _g.formColAutoXs, formColWidth = _g.formColWidth, onAddFormCol = _g.onAddFormCol, onRemoveFormCol = _g.onRemoveFormCol, formColXs = _g.formColXs, formColWithLabel = _g.formColWithLabel, formColWithHelperText = _g.formColWithHelperText, formAddValueItem = _g.onAddValueItem, formRemoveValueItem = _g.onRemoveValueItem, formValueChange = _g.onValueChange, formValueChangeByUser = _g.onValueChangeByUser, formRequestSearchSubmit = _g.onRequestSearchSubmit;
240
+ var _g = useFormState(), formId = _g.id, formVariant = _g.variant, formSize = _g.size, formColor = _g.color, formDisabled = _g.disabled, formSubmitWhenReturnKey = _g.submitWhenReturnKey, formSpacing = _g.spacing, formFormColGap = _g.formColGap, formFocused = _g.focused, formLabelShrink = _g.labelShrink, formFullWidth = _g.fullWidth, formFullHeight = _g.fullHeight, formColAutoXs = _g.formColAutoXs, formColWidth = _g.formColWidth, onAddFormCol = _g.onAddFormCol, onRemoveFormCol = _g.onRemoveFormCol, formColXs = _g.formColXs, formColWithLabel = _g.formColWithLabel, formColWithHelperText = _g.formColWithHelperText, formAddValueItem = _g.onAddValueItem, formRemoveValueItem = _g.onRemoveValueItem, formValueChange = _g.onValueChange, formValueChangeByUser = _g.onValueChangeByUser, formRequestSubmit = _g.onRequestSubmit, formRequestSearchSubmit = _g.onRequestSearchSubmit;
239
241
  /********************************************************************************************************************
240
242
  * Memo - FormState
241
243
  * ******************************************************************************************************************/
@@ -249,6 +251,7 @@ var appendFormValueData = function (data, itemCommands) {
249
251
  var fullWidth = util.ifUndefined(util.ifUndefined(initFullWidth, formFullWidth), true);
250
252
  var fullHeight = util.ifUndefined(util.ifUndefined(initFullHeight, formFullHeight), false);
251
253
  var disabled = util.ifUndefined(util.ifUndefined(initDisabled, formDisabled), false);
254
+ var submitWhenReturnKey = util.ifUndefined(util.ifUndefined(initSubmitWhenReturnKey, formSubmitWhenReturnKey), false);
252
255
  /********************************************************************************************************************
253
256
  * Ref
254
257
  * ******************************************************************************************************************/
@@ -556,6 +559,7 @@ var appendFormValueData = function (data, itemCommands) {
556
559
  fullWidth: fullWidth,
557
560
  fullHeight: fullHeight,
558
561
  disabled: disabled,
562
+ submitWhenReturnKey: submitWhenReturnKey,
559
563
  onAddValueItem: function (id, item) {
560
564
  valueItems.current[id] = item;
561
565
  if (formAddValueItem)
@@ -578,6 +582,12 @@ var appendFormValueData = function (data, itemCommands) {
578
582
  if (formValueChangeByUser)
579
583
  formValueChangeByUser(name, value);
580
584
  },
585
+ onRequestSubmit: function (name, value) {
586
+ if (!disabled)
587
+ submit();
588
+ if (formRequestSubmit)
589
+ formRequestSubmit(name, value);
590
+ },
581
591
  onRequestSearchSubmit: formRequestSearchSubmit,
582
592
  formColAutoXs: formColAutoXs,
583
593
  formColWidth: formColWidth,
@@ -599,6 +609,7 @@ var appendFormValueData = function (data, itemCommands) {
599
609
  fullWidth,
600
610
  fullHeight,
601
611
  disabled,
612
+ submitWhenReturnKey,
602
613
  formRequestSearchSubmit,
603
614
  formColAutoXs,
604
615
  formColWidth,
@@ -613,6 +624,8 @@ var appendFormValueData = function (data, itemCommands) {
613
624
  formValueChange,
614
625
  onValueChangeByUserRef,
615
626
  formValueChangeByUser,
627
+ submit,
628
+ formRequestSubmit,
616
629
  ]);
617
630
  /********************************************************************************************************************
618
631
  * Render
@@ -1026,7 +1039,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1026
1039
  * ID
1027
1040
  * ******************************************************************************************************************/
1028
1041
  var _b, _c;
1029
- var initVariant = _a.variant, initSize = _a.size, initColor = _a.color, initFocused = _a.focused, initLabelShrink = _a.labelShrink, initFullWidth = _a.fullWidth,
1042
+ var initVariant = _a.variant, initSize = _a.size, initColor = _a.color, initFocused = _a.focused, initLabelShrink = _a.labelShrink, initFullWidth = _a.fullWidth, initSubmitWhenReturnKey = _a.submitWhenReturnKey,
1030
1043
  //----------------------------------------------------------------------------------------------------------------
1031
1044
  name = _a.name, required = _a.required, initValue = _a.value, initData = _a.data, icon = _a.icon, labelIcon = _a.labelIcon, initLabel = _a.label, initError = _a.error, helperText = _a.helperText, exceptValue = _a.exceptValue, readOnly = _a.readOnly, tabIndex = _a.tabIndex, initDisabled = _a.disabled, placeholder = _a.placeholder, maxLength = _a.maxLength, clear = _a.clear, width = _a.width, initMuiInputProps = _a.InputProps, initMuiInputLabelProps = _a.InputLabelProps, initInputProps = _a.inputProps, initInputRef = _a.inputRef, select = _a.select, SelectProps = _a.SelectProps, multiline = _a.multiline, validPattern = _a.validPattern, invalidPattern = _a.invalidPattern, startAdornment = _a.startAdornment, endAdornment = _a.endAdornment, noFormValueItem = _a.noFormValueItem, initHidden = _a.hidden, disableReturnKey = _a.disableReturnKey,
1032
1045
  //----------------------------------------------------------------------------------------------------------------
@@ -1034,7 +1047,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1034
1047
  //----------------------------------------------------------------------------------------------------------------
1035
1048
  className = _a.className, initStyle = _a.style,
1036
1049
  //----------------------------------------------------------------------------------------------------------------
1037
- props = __rest(_a, ["variant", "size", "color", "focused", "labelShrink", "fullWidth", "name", "required", "value", "data", "icon", "labelIcon", "label", "error", "helperText", "exceptValue", "readOnly", "tabIndex", "disabled", "placeholder", "maxLength", "clear", "width", "InputProps", "InputLabelProps", "inputProps", "inputRef", "select", "SelectProps", "multiline", "validPattern", "invalidPattern", "startAdornment", "endAdornment", "noFormValueItem", "hidden", "disableReturnKey", "onChange", "onValue", "onValidate", "onBlur", "onKeyDown", "className", "style"]);
1050
+ props = __rest(_a, ["variant", "size", "color", "focused", "labelShrink", "fullWidth", "submitWhenReturnKey", "name", "required", "value", "data", "icon", "labelIcon", "label", "error", "helperText", "exceptValue", "readOnly", "tabIndex", "disabled", "placeholder", "maxLength", "clear", "width", "InputProps", "InputLabelProps", "inputProps", "inputRef", "select", "SelectProps", "multiline", "validPattern", "invalidPattern", "startAdornment", "endAdornment", "noFormValueItem", "hidden", "disableReturnKey", "onChange", "onValue", "onValidate", "onBlur", "onKeyDown", "className", "style"]);
1038
1051
  var id = React.useId();
1039
1052
  /********************************************************************************************************************
1040
1053
  * Ref
@@ -1043,7 +1056,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1043
1056
  /********************************************************************************************************************
1044
1057
  * FormState
1045
1058
  * ******************************************************************************************************************/
1046
- var _d = useFormState(), formVariant = _d.variant, formSize = _d.size, formColor = _d.color, formFocused = _d.focused, formLabelShrink = _d.labelShrink, formFullWidth = _d.fullWidth, formDisabled = _d.disabled, formColWithHelperText = _d.formColWithHelperText, onAddValueItem = _d.onAddValueItem, onRemoveValueItem = _d.onRemoveValueItem, onValueChange = _d.onValueChange, onValueChangeByUser = _d.onValueChangeByUser, onRequestSearchSubmit = _d.onRequestSearchSubmit;
1059
+ var _d = useFormState(), formVariant = _d.variant, formSize = _d.size, formColor = _d.color, formFocused = _d.focused, formLabelShrink = _d.labelShrink, formFullWidth = _d.fullWidth, formDisabled = _d.disabled, formSubmitWhenReturnKey = _d.submitWhenReturnKey, formColWithHelperText = _d.formColWithHelperText, onAddValueItem = _d.onAddValueItem, onRemoveValueItem = _d.onRemoveValueItem, onValueChange = _d.onValueChange, onValueChangeByUser = _d.onValueChangeByUser, onRequestSubmit = _d.onRequestSubmit, onRequestSearchSubmit = _d.onRequestSearchSubmit;
1047
1060
  /********************************************************************************************************************
1048
1061
  * Memo - FormState
1049
1062
  * ******************************************************************************************************************/
@@ -1053,6 +1066,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1053
1066
  var focused = util.ifUndefined(initFocused, formFocused);
1054
1067
  var labelShrink = util.ifUndefined(initLabelShrink, formLabelShrink);
1055
1068
  var fullWidth = util.ifUndefined(initFullWidth, formFullWidth);
1069
+ var submitWhenReturnKey = util.ifUndefined(initSubmitWhenReturnKey, formSubmitWhenReturnKey);
1056
1070
  /********************************************************************************************************************
1057
1071
  * State
1058
1072
  * ******************************************************************************************************************/
@@ -1274,11 +1288,25 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1274
1288
  !noFormValueItem) {
1275
1289
  e.preventDefault();
1276
1290
  e.stopPropagation();
1291
+ if (submitWhenReturnKey) {
1292
+ onRequestSubmit(name, valueRef.current);
1293
+ }
1277
1294
  onRequestSearchSubmit(name, valueRef.current);
1278
1295
  }
1279
1296
  if (onKeyDown)
1280
1297
  onKeyDown(e);
1281
- }, [select, multiline, disableReturnKey, noFormValueItem, onKeyDown, onRequestSearchSubmit, name, valueRef]);
1298
+ }, [
1299
+ select,
1300
+ multiline,
1301
+ disableReturnKey,
1302
+ noFormValueItem,
1303
+ onKeyDown,
1304
+ submitWhenReturnKey,
1305
+ onRequestSearchSubmit,
1306
+ name,
1307
+ valueRef,
1308
+ onRequestSubmit,
1309
+ ]);
1282
1310
  /********************************************************************************************************************
1283
1311
  * Variable
1284
1312
  * ******************************************************************************************************************/
@@ -2973,7 +3001,7 @@ var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a
2973
3001
  * ******************************************************************************************************************/
2974
3002
  var singleHeight = height || (size === 'small' ? 35 : 39);
2975
3003
  var isMultiline = singleHeight <= util.ifUndefined(realHeight, 0);
2976
- return (React.createElement(FormItemBase, { focused: focused, ref: baseRef, className: classNames(className, 'FormValueItem', 'FormRadioGroup'), variant: variant, size: size, color: color, labelIcon: labelIcon, label: label, fullWidth: fullWidth, required: required, error: error, helperText: error ? errorHelperText : helperText, helperTextProps: { style: { marginLeft: 2, marginTop: isMultiline ? 20 : 0 } }, style: __assign({ width: width, paddingLeft: PADDING_LEFT }, initStyle), sx: sx, hidden: hidden, autoSize: true, controlHeight: realHeight ? realHeight : singleHeight, controlContainerStyle: {
3004
+ return (React.createElement(FormItemBase, { focused: focused, ref: baseRef, className: classNames(className, 'FormValueItem', 'FormRadioGroup'), variant: variant, size: size, color: color, labelIcon: labelIcon, label: label, fullWidth: fullWidth, required: required, error: error, helperText: error ? errorHelperText : helperText, helperTextProps: { style: { marginLeft: 2, marginTop: isMultiline && util.notEmpty(label) ? 20 : 0 } }, style: __assign({ width: width, paddingLeft: PADDING_LEFT }, initStyle), sx: sx, hidden: hidden, autoSize: true, controlHeight: realHeight ? realHeight : singleHeight, controlContainerStyle: {
2977
3005
  paddingTop: isMultiline && size === 'medium' ? 4 : undefined,
2978
3006
  }, controlVerticalCenter: !isMultiline, control: React.createElement(React.Fragment, null,
2979
3007
  !fullWidth && !isOnGetItemLoading && !loading && items && (React.createElement("div", { ref: resizeWidthDetectorRef, style: {
@@ -3033,6 +3061,7 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3033
3061
  * ******************************************************************************************************************/
3034
3062
  var refForResizeWidthDetect = React.useRef(null);
3035
3063
  var refForButtonResizeHeightDetect = React.useRef(null);
3064
+ var refForButtonsResizeHeightDetect = React.useRef(null);
3036
3065
  var refForLoadingResizeHeightDetect = React.useRef(null);
3037
3066
  /********************************************************************************************************************
3038
3067
  * FormState
@@ -3069,6 +3098,7 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3069
3098
  * State - height (ResizeDetector)
3070
3099
  * ******************************************************************************************************************/
3071
3100
  var _g = React.useState(), height = _g[0], setHeight = _g[1];
3101
+ var _h = React.useState(), realHeight = _h[0], setRealHeight = _h[1];
3072
3102
  reactResizeDetector.useResizeDetector({
3073
3103
  targetRef: refForButtonResizeHeightDetect,
3074
3104
  handleHeight: true,
@@ -3077,6 +3107,14 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3077
3107
  setHeight((_b = (_a = refForButtonResizeHeightDetect.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) === null || _b === void 0 ? void 0 : _b.height);
3078
3108
  },
3079
3109
  });
3110
+ reactResizeDetector.useResizeDetector({
3111
+ targetRef: refForButtonsResizeHeightDetect,
3112
+ handleHeight: true,
3113
+ onResize: function () {
3114
+ var _a, _b;
3115
+ setRealHeight((_b = (_a = refForButtonsResizeHeightDetect.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) === null || _b === void 0 ? void 0 : _b.height);
3116
+ },
3117
+ });
3080
3118
  reactResizeDetector.useResizeDetector({
3081
3119
  targetRef: refForLoadingResizeHeightDetect,
3082
3120
  handleHeight: true,
@@ -3088,14 +3126,14 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3088
3126
  /********************************************************************************************************************
3089
3127
  * State
3090
3128
  * ******************************************************************************************************************/
3091
- var _h = React.useState(false), isOnGetItemLoading = _h[0], setIsOnGetItemLoading = _h[1];
3092
- var _j = reactHook.useAutoUpdateState(initError), error = _j[0], setError = _j[1];
3093
- var _k = React.useState(), errorHelperText = _k[0], setErrorHelperText = _k[1];
3094
- var _l = reactHook.useAutoUpdateRefState(initData), dataRef = _l[0], setData = _l[2];
3095
- var _m = reactHook.useAutoUpdateRefState(React.useMemo(function () { return (initDisabled == null ? formDisabled : initDisabled); }, [initDisabled, formDisabled])), disabledRef = _m[0], disabled = _m[1], setDisabled = _m[2];
3096
- var _o = reactHook.useAutoUpdateRefState(initHidden), hiddenRef = _o[0], hidden = _o[1], setHidden = _o[2];
3097
- var _p = reactHook.useAutoUpdateRefState(initLoading), loadingRef = _p[0], loading = _p[1], setLoading = _p[2];
3098
- var _q = reactHook.useAutoUpdateRefState(initItems), itemsRef = _q[0], items = _q[1], setItems = _q[2];
3129
+ var _j = React.useState(false), isOnGetItemLoading = _j[0], setIsOnGetItemLoading = _j[1];
3130
+ var _k = reactHook.useAutoUpdateState(initError), error = _k[0], setError = _k[1];
3131
+ var _l = React.useState(), errorHelperText = _l[0], setErrorHelperText = _l[1];
3132
+ var _m = reactHook.useAutoUpdateRefState(initData), dataRef = _m[0], setData = _m[2];
3133
+ var _o = reactHook.useAutoUpdateRefState(React.useMemo(function () { return (initDisabled == null ? formDisabled : initDisabled); }, [initDisabled, formDisabled])), disabledRef = _o[0], disabled = _o[1], setDisabled = _o[2];
3134
+ var _p = reactHook.useAutoUpdateRefState(initHidden), hiddenRef = _p[0], hidden = _p[1], setHidden = _p[2];
3135
+ var _q = reactHook.useAutoUpdateRefState(initLoading), loadingRef = _q[0], loading = _q[1], setLoading = _q[2];
3136
+ var _r = reactHook.useAutoUpdateRefState(initItems), itemsRef = _r[0], items = _r[1], setItems = _r[2];
3099
3137
  /********************************************************************************************************************
3100
3138
  * Memo
3101
3139
  * ******************************************************************************************************************/
@@ -3210,7 +3248,7 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3210
3248
  finalValue = onValue ? onValue(finalValue) : finalValue;
3211
3249
  return util.equal(value, finalValue) ? value : finalValue;
3212
3250
  }, [multiple, formValueSeparator, itemsValues, onValue]);
3213
- var _r = reactHook.useAutoUpdateRefState(initValue, getFinalValue), valueRef = _r[0], value = _r[1], setValue = _r[2];
3251
+ var _s = reactHook.useAutoUpdateRefState(initValue, getFinalValue), valueRef = _s[0], value = _s[1], setValue = _s[2];
3214
3252
  reactHook.useFirstSkipEffect(function () {
3215
3253
  if (error)
3216
3254
  validate(value);
@@ -3435,7 +3473,9 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3435
3473
  theme.palette.error.main,
3436
3474
  type,
3437
3475
  ]);
3438
- return (React.createElement(FormItemBase, __assign({}, formControlBaseProps, { className: classNames(className, 'FormValueItem', 'FormToggleButtonGroup', "variant-".concat(variant), "size-".concat(size), !!label && 'with-label', !!fullWidth && 'full-width', "type-".concat(type)), variant: variant, size: size, color: color, labelIcon: labelIcon, label: label, required: required, fullWidth: fullWidth, error: error, helperText: error ? errorHelperText : helperText, helperTextProps: { style: { marginLeft: 2 } }, style: style, sx: sx, hidden: hidden, autoSize: true, controlHeight: height || 0, controlVerticalCenter: isOnGetItemLoading || loading, control: isOnGetItemLoading || loading ? (React.createElement("div", { style: { opacity: 0.54 }, ref: refForLoadingResizeHeightDetect },
3476
+ var controlHeight = height || 0;
3477
+ var isMultiline = controlHeight <= util.ifUndefined(realHeight, 0);
3478
+ return (React.createElement(FormItemBase, __assign({}, formControlBaseProps, { className: classNames(className, 'FormValueItem', 'FormToggleButtonGroup', "variant-".concat(variant), "size-".concat(size), !!label && 'with-label', !!fullWidth && 'full-width', "type-".concat(type)), variant: variant, size: size, color: color, labelIcon: labelIcon, label: label, required: required, fullWidth: fullWidth, error: error, helperText: error ? errorHelperText : helperText, helperTextProps: { style: { marginLeft: 2 } }, style: style, sx: sx, hidden: hidden, autoSize: true, controlHeight: realHeight ? realHeight + (isMultiline ? 13 : 0) : controlHeight, controlVerticalCenter: isMultiline ? false : isOnGetItemLoading || loading, control: isOnGetItemLoading || loading ? (React.createElement("div", { style: { opacity: 0.54 }, ref: refForLoadingResizeHeightDetect },
3439
3479
  React.createElement(material.CircularProgress, { size: 16, color: 'inherit' }))) : (React.createElement(React.Fragment, null,
3440
3480
  !fullWidth && !isOnGetItemLoading && !loading && items && (React.createElement("div", { ref: refForResizeWidthDetect, style: {
3441
3481
  display: 'grid',
@@ -3444,7 +3484,7 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3444
3484
  visibility: 'hidden',
3445
3485
  } },
3446
3486
  React.createElement(material.ToggleButtonGroup, { className: 'ToggleButtonGroup', exclusive: !multiple }, buttons))),
3447
- React.createElement(material.ToggleButtonGroup, { className: 'ToggleButtonGroup', exclusive: !multiple, fullWidth: fullWidth, value: value == null ? null : value, onChange: handleChange, style: {
3487
+ React.createElement(material.ToggleButtonGroup, { ref: refForButtonsResizeHeightDetect, className: 'ToggleButtonGroup', exclusive: !multiple, fullWidth: fullWidth, value: value == null ? null : value, onChange: handleChange, style: {
3448
3488
  width: !fullWidth && formColWidth && typeof width === 'number' && width > formColWidth
3449
3489
  ? formColWidth
3450
3490
  : undefined,
@@ -10218,6 +10258,10 @@ FormSwitch.displayName = 'FormSwitch';var SearchGroupRow = function (_a) {
10218
10258
  onValueChange: function () { },
10219
10259
  // eslint-disable-next-line
10220
10260
  onValueChangeByUser: function () { },
10261
+ onRequestSubmit: function () {
10262
+ var _a;
10263
+ (_a = formRef.current) === null || _a === void 0 ? void 0 : _a.submit();
10264
+ },
10221
10265
  onRequestSearchSubmit: function () {
10222
10266
  var _a;
10223
10267
  if (autoSubmit) {
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.130",
4
+ "version": "1.0.132",
5
5
  "description": "React Form",
6
6
  "type": "module",
7
7
  "types": "dist/index.d.ts",