@pdg/react-form 1.0.16 → 1.0.17

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.js CHANGED
@@ -106,112 +106,7 @@ function __makeTemplateObject(cooked, raw) {
106
106
  }());
107
107
  } (classnames$1));
108
108
 
109
- var classNames$1 = classnames$1.exports;function useFirstSkipEffect$1(effect, deps) {
110
- var firstRef = React.useRef(true);
111
- React.useEffect(function () {
112
- if (firstRef.current) {
113
- firstRef.current = false;
114
- }
115
- else {
116
- effect();
117
- }
118
- }, deps);
119
- }var isSame$2 = function (v1, v2) {
120
- if (v1 === v2)
121
- return true;
122
- if (typeof v1 !== typeof v2)
123
- return false;
124
- if (v1 == null || v2 == null)
125
- return false;
126
- if (Array.isArray(v1) && Array.isArray(v2)) {
127
- if (v1.length !== v2.length)
128
- return false;
129
- for (var i = 0; i < v1.length; i += 1) {
130
- if (v1[i] !== v2[i])
131
- return false;
132
- }
133
- }
134
- else {
135
- return v1 === v2;
136
- }
137
- return true;
138
- };function useAutoUpdateState$1(p1, p2) {
139
- var state = typeof p1 === 'function' ? undefined : p1;
140
- var finalStateCallback = typeof p1 === 'function' ? p1 : p2;
141
- var _a = React.useState(0), setUpdateKey = _a[1];
142
- var _initState = React.useState(function () {
143
- return finalStateCallback ? finalStateCallback(state) : state;
144
- })[0];
145
- var _state = React.useRef(_initState);
146
- var forceUpdate = React.useCallback(function () {
147
- setUpdateKey(function (updateKey) { return updateKey + 1; });
148
- }, []);
149
- useFirstSkipEffect$1(function () {
150
- var newState = finalStateCallback ? finalStateCallback(state) : state;
151
- if (!isSame$2(newState, _state.current)) {
152
- _state.current = newState;
153
- forceUpdate();
154
- }
155
- }, [state]);
156
- useFirstSkipEffect$1(function () {
157
- var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;
158
- if (!isSame$2(newState, _state.current)) {
159
- _state.current = newState;
160
- forceUpdate();
161
- }
162
- }, [finalStateCallback]);
163
- var setState = React.useCallback(function (newState) {
164
- var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;
165
- if (!isSame$2(_state.current, finalNewState)) {
166
- _state.current = finalNewState;
167
- forceUpdate();
168
- }
169
- }, []);
170
- return [_state.current, setState];
171
- }function useFirstSkipLayoutEffect(effect, deps) {
172
- var firstRef = React.useRef(true);
173
- React.useLayoutEffect(function () {
174
- if (firstRef.current) {
175
- firstRef.current = false;
176
- }
177
- else {
178
- effect();
179
- }
180
- }, deps);
181
- }function useAutoUpdateLayoutState(p1, p2) {
182
- var state = typeof p1 === 'function' ? undefined : p1;
183
- var finalStateCallback = typeof p1 === 'function' ? p1 : p2;
184
- var _a = React.useState(0), setUpdateKey = _a[1];
185
- var _initState = React.useState(function () {
186
- return finalStateCallback ? finalStateCallback(state, 0) : state;
187
- })[0];
188
- var _state = React.useRef(_initState);
189
- var forceUpdate = React.useCallback(function () {
190
- setUpdateKey(function (updateKey) { return updateKey + 1; });
191
- }, []);
192
- useFirstSkipLayoutEffect(function () {
193
- var newState = finalStateCallback ? finalStateCallback(state) : state;
194
- if (!isSame$2(newState, _state.current)) {
195
- _state.current = newState;
196
- forceUpdate();
197
- }
198
- }, [state]);
199
- useFirstSkipLayoutEffect(function () {
200
- var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;
201
- if (!isSame$2(newState, _state.current)) {
202
- _state.current = newState;
203
- forceUpdate();
204
- }
205
- }, [finalStateCallback]);
206
- var setState = React.useCallback(function (newState) {
207
- var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;
208
- if (!isSame$2(_state.current, finalNewState)) {
209
- _state.current = finalNewState;
210
- forceUpdate();
211
- }
212
- }, []);
213
- return [_state.current, setState];
214
- }var empty$1 = function (v) {
109
+ var classNames$1 = classnames$1.exports;var empty$1 = function (v) {
215
110
  var result = false;
216
111
  if (v == null) {
217
112
  result = true;
@@ -232,7 +127,7 @@ var classNames$1 = classnames$1.exports;function useFirstSkipEffect$1(effect, de
232
127
  var notEmpty = function (v) {
233
128
  return !empty$1(v);
234
129
  };
235
- var isSame$1 = function (v1, v2) {
130
+ var isSame$2 = function (v1, v2) {
236
131
  if (v1 === v2)
237
132
  return true;
238
133
  if (typeof v1 !== typeof v2)
@@ -587,15 +482,15 @@ function checkDateAvailable(date, availableDate, type, time) {
587
482
  //----------------------------------------------------------------------------------------------------------------
588
483
  onSubmit = _a.onSubmit, onValueChange = _a.onValueChange, onValueChangeByUser = _a.onValueChangeByUser;
589
484
  var _b = useFormState(), formId = _b.id, formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formSpacing = _b.spacing, formFormColGap = _b.formColGap, formFocused = _b.focused, formLabelShrink = _b.labelShrink, formFullWidth = _b.fullWidth, formAddValueItem = _b.onAddValueItem, formRemoveValueItem = _b.onRemoveValueItem, formValueChange = _b.onValueChange, formValueChangeByUser = _b.onValueChangeByUser, otherFormState = __rest$2(_b, ["id", "variant", "size", "color", "spacing", "formColGap", "focused", "labelShrink", "fullWidth", "onAddValueItem", "onRemoveValueItem", "onValueChange", "onValueChangeByUser"]);
590
- // State - FormState -----------------------------------------------------------------------------------------------
591
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
592
- var size = useAutoUpdateState$1(initSize || formSize)[0];
593
- var color = useAutoUpdateState$1(initColor || formColor)[0];
594
- var spacing = useAutoUpdateState$1(initSpacing == null ? formSpacing : initSpacing)[0];
595
- var formColGap = useAutoUpdateState$1(initFormColGap == null ? formFormColGap : initFormColGap)[0];
596
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
597
- var labelShrink = useAutoUpdateState$1(initLabelShrink || formLabelShrink)[0];
598
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
485
+ // Memo - FormState ------------------------------------------------------------------------------------------------
486
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
487
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
488
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
489
+ var spacing = React.useMemo(function () { return initSpacing || formSpacing; }, [initSpacing, formSpacing]);
490
+ var formColGap = React.useMemo(function () { return (initFormColGap == null ? formFormColGap : initFormColGap); }, [initFormColGap, formFormColGap]);
491
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
492
+ var labelShrink = React.useMemo(function () { return (initLabelShrink == null ? formLabelShrink : initLabelShrink); }, [initLabelShrink, formLabelShrink]);
493
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
599
494
  // Ref -------------------------------------------------------------------------------------------------------------
600
495
  var formRef = React.useRef(null);
601
496
  // State -----------------------------------------------------------------------------------------------------------
@@ -685,7 +580,7 @@ function checkDateAvailable(date, availableDate, type, time) {
685
580
  }
686
581
  });
687
582
  return data;
688
- }, [valueItems, getItemFormValue]);
583
+ }, [valueItems, appendFormValueData]);
689
584
  // Function - submit -----------------------------------------------------------------------------------------------
690
585
  var submit = React.useCallback(function () {
691
586
  var isAllValid = true;
@@ -919,11 +814,9 @@ Form.displayName = 'Form';
919
814
  Form.defaultProps = FormDefaultProps;var FormButtonDefaultProps = {
920
815
  type: 'button',
921
816
  };var FormIconDefaultProps = {};var FormIcon = React__default["default"].forwardRef(function (_a, ref) {
922
- // State - children ------------------------------------------------------------------------------------------------
817
+ // Memo --------------------------------------------------------------------------------------------------------------
923
818
  var className = _a.className, initChildren = _a.children, props = __rest$2(_a, ["className", "children"]);
924
- var children = useAutoUpdateState$1(React.useCallback(function () {
925
- return initChildren.replace(/[A-Z]/g, function (letter, idx) { return "".concat(idx > 0 ? '_' : '').concat(letter.toLowerCase()); });
926
- }, [initChildren]))[0];
819
+ var children = React.useMemo(function () { return initChildren.replace(/[A-Z]/g, function (letter, idx) { return "".concat(idx > 0 ? '_' : '').concat(letter.toLowerCase()); }); }, [initChildren]);
927
820
  // Render ----------------------------------------------------------------------------------------------------------
928
821
  return (React__default["default"].createElement(material.Icon, __assign$4({ ref: ref }, props, { className: classNames$1('FormIcon', className) }), children));
929
822
  });
@@ -932,12 +825,12 @@ FormIcon.defaultProps = FormIconDefaultProps;var FormButton = React__default["de
932
825
  // FormState -------------------------------------------------------------------------------------------------------
933
826
  var initSize = _a.size, initColor = _a.color, initVariant = _a.variant, initFullWidth = _a.fullWidth, children = _a.children, className = _a.className, type = _a.type, icon = _a.icon, startIcon = _a.startIcon, endIcon = _a.endIcon, onClick = _a.onClick, props = __rest$2(_a, ["size", "color", "variant", "fullWidth", "children", "className", "type", "icon", "startIcon", "endIcon", "onClick"]);
934
827
  var _b = useFormState(), formSize = _b.size, formColor = _b.color, formFullWidth = _b.fullWidth;
935
- // State - FormState -----------------------------------------------------------------------------------------------
936
- var size = useAutoUpdateState$1(initSize || formSize)[0];
937
- var color = useAutoUpdateState$1(initColor || formColor)[0];
938
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
939
- // State - variant -------------------------------------------------------------------------------------------------
940
- var variant = useAutoUpdateState$1(React.useCallback(function () {
828
+ // Memo - FormState ------------------------------------------------------------------------------------------------
829
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
830
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
831
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
832
+ // Memo ------------------------------------------------------------------------------------------------------------
833
+ var variant = React.useMemo(function () {
941
834
  if (initVariant) {
942
835
  return initVariant;
943
836
  }
@@ -949,18 +842,23 @@ FormIcon.defaultProps = FormIconDefaultProps;var FormButton = React__default["de
949
842
  return 'outlined';
950
843
  }
951
844
  }
952
- }, [initVariant, type]))[0];
845
+ }, [initVariant, type]);
953
846
  // Render ----------------------------------------------------------------------------------------------------------
954
847
  return (React__default["default"].createElement(material.Button, __assign$4({ ref: ref, className: classNames$1(className, 'FormButton'), type: type, variant: variant, size: size, color: color, fullWidth: fullWidth, onClick: onClick, startIcon: startIcon ? React__default["default"].createElement(FormIcon, { sx: { mr: -0.5 } }, startIcon) : undefined, endIcon: endIcon ? React__default["default"].createElement(FormIcon, { sx: { ml: -0.5 } }, endIcon) : undefined }, props),
955
848
  icon && (React__default["default"].createElement(FormIcon, { fontSize: size, color: 'inherit', sx: { mr: children ? 0.5 : undefined } }, icon)),
956
849
  children));
957
850
  });
958
851
  FormButton.displayName = 'FormButton';
959
- FormButton.defaultProps = FormButtonDefaultProps;var FormLabelDefaultProps = {};var FormLabel = React__default["default"].forwardRef(function (_a, ref) {
852
+ FormButton.defaultProps = FormButtonDefaultProps;var FormLabelDefaultProps = {};var IconFormIcon = material.styled(FormIcon)(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n vertical-align: middle;\n margin-right: 3px;\n margin-top: -4px;\n margin-bottom: -2px;\n"], ["\n vertical-align: middle;\n margin-right: 3px;\n margin-top: -4px;\n margin-bottom: -2px;\n"])));
853
+ var ChildrenSpan = material.styled('span')(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n vertical-align: middle;\n"], ["\n vertical-align: middle;\n"])));
854
+ var templateObject_1$4, templateObject_2;var FormLabel = React__default["default"].forwardRef(function (_a, ref) {
855
+ // Memo --------------------------------------------------------------------------------------------------------------
960
856
  var children = _a.children, icon = _a.icon, size = _a.size, style = _a.style, props = __rest$2(_a, ["children", "icon", "size", "style"]);
961
- return (React__default["default"].createElement(material.InputLabel, __assign$4({ ref: ref, shrink: true, className: 'FormItemBase-InputLabel', size: size === 'medium' ? 'normal' : size }, props, { style: __assign$4({ height: 20, transform: size === 'small' ? 'translate(0, -1.5px) scale(0.7)' : undefined }, style) }), icon ? (React__default["default"].createElement(React__default["default"].Fragment, null,
962
- React__default["default"].createElement(FormIcon, { style: { verticalAlign: 'middle', marginRight: 3, marginTop: -4, marginBottom: -2 } }, icon),
963
- React__default["default"].createElement("span", { style: { verticalAlign: 'middle' } }, children))) : (children)));
857
+ var finalProps = React.useMemo(function () { return (__assign$4(__assign$4({ shrink: true, className: 'FormItemBase-InputLabel', size: size === 'medium' ? 'normal' : size }, props), { style: __assign$4({ height: 20, transform: size === 'small' ? 'translate(0, -1.5px) scale(0.7)' : undefined }, style) })); }, [props, size, style]);
858
+ // Render ------------------------------------------------------------------------------------------------------------
859
+ return (React__default["default"].createElement(material.InputLabel, __assign$4({ ref: ref }, finalProps), icon ? (React__default["default"].createElement(React__default["default"].Fragment, null,
860
+ React__default["default"].createElement(IconFormIcon, null, icon),
861
+ React__default["default"].createElement(ChildrenSpan, null, children))) : (children)));
964
862
  });
965
863
  FormLabel.displayName = 'FormLabel';
966
864
  FormLabel.defaultProps = FormLabelDefaultProps;var FormBlockDefaultProps = {};var FormDividerDefaultProps = {
@@ -975,26 +873,25 @@ var FormDivider = React__default["default"].forwardRef(function (_a, ref) {
975
873
  //----------------------------------------------------------------------------------------------------------------
976
874
  className = _a.className, initStyle = _a.style, sx = _a.sx;
977
875
  var formSize = useFormState().size;
978
- // State - FormState -----------------------------------------------------------------------------------------------
979
- var size = useAutoUpdateState$1(initSize || formSize)[0];
980
- // State - style ---------------------------------------------------------------------------------------------------
981
- var style = useAutoUpdateState$1(React.useCallback(function () {
876
+ // Memo - FormState ------------------------------------------------------------------------------------------------
877
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
878
+ // Memo --------------------------------------------------------------------------------------------------------------
879
+ var style = React.useMemo(function () {
982
880
  if (hidden) {
983
881
  return __assign$4(__assign$4({}, initStyle), { display: 'none' });
984
882
  }
985
883
  else {
986
884
  return initStyle;
987
885
  }
988
- }, [initStyle, hidden]))[0];
989
- // State - lineStyle -----------------------------------------------------------------------------------------------
990
- var lineStyle = useAutoUpdateState$1(React.useCallback(function () {
886
+ }, [hidden, initStyle]);
887
+ var lineStyle = React.useMemo(function () {
991
888
  if (lineVerticalMargin) {
992
889
  return __assign$4(__assign$4({}, DEFAULT_LINE_STYLE), { marginTop: lineVerticalMargin, marginBottom: lineVerticalMargin });
993
890
  }
994
891
  else {
995
892
  return DEFAULT_LINE_STYLE;
996
893
  }
997
- }, [lineVerticalMargin]))[0];
894
+ }, [lineVerticalMargin]);
998
895
  // Event Handler -----------------------------------------------------------------------------------------------------
999
896
  var handleClick = React.useCallback(function () {
1000
897
  if (collapse) {
@@ -1023,7 +920,79 @@ var FormDivider = React__default["default"].forwardRef(function (_a, ref) {
1023
920
  collapse && (React__default["default"].createElement(FormIcon, { sx: { opacity: 0.6, ml: 1 } }, collapseIn ? 'KeyboardDoubleArrowUp' : 'KeyboardDoubleArrowDown')))));
1024
921
  });
1025
922
  FormDivider.displayName = 'FormDivider.';
1026
- FormDivider.defaultProps = FormDividerDefaultProps;var StyledWrapGrid$1 = material.styled(material.Grid)(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n width: 100%;\n"], ["\n width: 100%;\n"])));
923
+ FormDivider.defaultProps = FormDividerDefaultProps;function useFirstSkipEffect$1(effect, deps) {
924
+ var firstRef = React.useRef(true);
925
+ React.useEffect(function () {
926
+ if (firstRef.current) {
927
+ firstRef.current = false;
928
+ }
929
+ else {
930
+ effect();
931
+ }
932
+ }, deps);
933
+ }var isSame$1 = function (v1, v2) {
934
+ if (v1 === v2)
935
+ return true;
936
+ if (typeof v1 !== typeof v2)
937
+ return false;
938
+ if (v1 == null || v2 == null)
939
+ return false;
940
+ if (Array.isArray(v1) && Array.isArray(v2)) {
941
+ if (v1.length !== v2.length)
942
+ return false;
943
+ for (var i = 0; i < v1.length; i += 1) {
944
+ if (v1[i] !== v2[i])
945
+ return false;
946
+ }
947
+ }
948
+ else {
949
+ return v1 === v2;
950
+ }
951
+ return true;
952
+ };function useFirstSkipLayoutEffect(effect, deps) {
953
+ var firstRef = React.useRef(true);
954
+ React.useLayoutEffect(function () {
955
+ if (firstRef.current) {
956
+ firstRef.current = false;
957
+ }
958
+ else {
959
+ effect();
960
+ }
961
+ }, deps);
962
+ }function useAutoUpdateLayoutState(p1, p2) {
963
+ var state = typeof p1 === 'function' ? undefined : p1;
964
+ var finalStateCallback = typeof p1 === 'function' ? p1 : p2;
965
+ var _a = React.useState(0), setUpdateKey = _a[1];
966
+ var _initState = React.useState(function () {
967
+ return finalStateCallback ? finalStateCallback(state, 0) : state;
968
+ })[0];
969
+ var _state = React.useRef(_initState);
970
+ var forceUpdate = React.useCallback(function () {
971
+ setUpdateKey(function (updateKey) { return updateKey + 1; });
972
+ }, []);
973
+ useFirstSkipLayoutEffect(function () {
974
+ var newState = finalStateCallback ? finalStateCallback(state) : state;
975
+ if (!isSame$1(newState, _state.current)) {
976
+ _state.current = newState;
977
+ forceUpdate();
978
+ }
979
+ }, [state]);
980
+ useFirstSkipLayoutEffect(function () {
981
+ var newState = finalStateCallback ? finalStateCallback(_state.current) : _state.current;
982
+ if (!isSame$1(newState, _state.current)) {
983
+ _state.current = newState;
984
+ forceUpdate();
985
+ }
986
+ }, [finalStateCallback]);
987
+ var setState = React.useCallback(function (newState) {
988
+ var finalNewState = typeof newState === 'function' ? newState(_state.current) : newState;
989
+ if (!isSame$1(_state.current, finalNewState)) {
990
+ _state.current = finalNewState;
991
+ forceUpdate();
992
+ }
993
+ }, []);
994
+ return [_state.current, setState];
995
+ }var StyledWrapGrid$1 = material.styled(material.Grid)(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n width: 100%;\n"], ["\n width: 100%;\n"])));
1027
996
  var templateObject_1$2;var FormBlock = React__default["default"].forwardRef(function (_a, ref) {
1028
997
  // FormState -------------------------------------------------------------------------------------------------------
1029
998
  var initVariant = _a.variant, initSize = _a.size, initColor = _a.color, initSpacing = _a.spacing, initFocused = _a.focused, initLabelShrink = _a.labelShrink, initFullWidth = _a.fullWidth,
@@ -1034,29 +1003,29 @@ var templateObject_1$2;var FormBlock = React__default["default"].forwardRef(func
1034
1003
  //----------------------------------------------------------------------------------------------------------------
1035
1004
  children = _a.children, className = _a.className, initStyle = _a.style, sx = _a.sx;
1036
1005
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formSpacing = _b.spacing, formFocused = _b.focused, formLabelShrink = _b.labelShrink, formFullWidth = _b.fullWidth, otherFormState = __rest$2(_b, ["variant", "size", "color", "spacing", "focused", "labelShrink", "fullWidth"]);
1037
- // State - FormState -----------------------------------------------------------------------------------------------
1038
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
1039
- var size = useAutoUpdateState$1(initSize || formSize)[0];
1040
- var color = useAutoUpdateState$1(initColor || formColor)[0];
1041
- var spacing = useAutoUpdateState$1(initSpacing == null ? formSpacing : initSpacing)[0];
1042
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
1043
- var labelShrink = useAutoUpdateState$1(initLabelShrink || formLabelShrink)[0];
1044
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
1006
+ // Memo - FormState ------------------------------------------------------------------------------------------------
1007
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
1008
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
1009
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
1010
+ var spacing = React.useMemo(function () { return initSpacing || formSpacing; }, [initSpacing, formSpacing]);
1011
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
1012
+ var labelShrink = React.useMemo(function () { return (initLabelShrink == null ? formLabelShrink : initLabelShrink); }, [initLabelShrink, formLabelShrink]);
1013
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
1045
1014
  // State -------------------------------------------------------------------------------------------------------------
1046
- var _c = React.useState(initCollapseIn), collapseIn = _c[0], setCollapseIn = _c[1];
1047
- // State - style ---------------------------------------------------------------------------------------------------
1048
- var style = useAutoUpdateState$1(React.useCallback(function () {
1015
+ var _c = useAutoUpdateLayoutState(initCollapseIn), collapseIn = _c[0], setCollapseIn = _c[1];
1016
+ // Memo --------------------------------------------------------------------------------------------------------------
1017
+ var style = React.useMemo(function () {
1049
1018
  if (hidden) {
1050
1019
  return __assign$4(__assign$4({}, initStyle), { display: 'none' });
1051
1020
  }
1052
1021
  else {
1053
1022
  return initStyle;
1054
1023
  }
1055
- }, [initStyle, hidden]))[0];
1024
+ }, [hidden, initStyle]);
1056
1025
  // Effect ------------------------------------------------------------------------------------------------------------
1057
1026
  React.useEffect(function () {
1058
1027
  setCollapseIn(initCollapseIn);
1059
- }, [initCollapseIn]);
1028
+ }, [initCollapseIn, setCollapseIn]);
1060
1029
  // Memo --------------------------------------------------------------------------------------------------------------
1061
1030
  var Container = React.useMemo(function () {
1062
1031
  return collapse ? material.Collapse : React__default["default"].Fragment;
@@ -1087,25 +1056,25 @@ var templateObject_1$1;var FormRow = React__default["default"].forwardRef(functi
1087
1056
  //----------------------------------------------------------------------------------------------------------------
1088
1057
  children = _a.children, className = _a.className, initStyle = _a.style, sx = _a.sx;
1089
1058
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formSpacing = _b.spacing, formFocused = _b.focused, formLabelShrink = _b.labelShrink, formFullWidth = _b.fullWidth, otherFormState = __rest$2(_b, ["variant", "size", "color", "spacing", "focused", "labelShrink", "fullWidth"]);
1090
- // State - FormState -----------------------------------------------------------------------------------------------
1091
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
1092
- var size = useAutoUpdateState$1(initSize || formSize)[0];
1093
- var color = useAutoUpdateState$1(initColor || formColor)[0];
1094
- var spacing = useAutoUpdateState$1(initSpacing == null ? formSpacing : initSpacing)[0];
1095
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
1096
- var labelShrink = useAutoUpdateState$1(initLabelShrink || formLabelShrink)[0];
1097
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
1059
+ // Memo - FormState ------------------------------------------------------------------------------------------------
1060
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
1061
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
1062
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
1063
+ var spacing = React.useMemo(function () { return initSpacing || formSpacing; }, [initSpacing, formSpacing]);
1064
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
1065
+ var labelShrink = React.useMemo(function () { return (initLabelShrink == null ? formLabelShrink : initLabelShrink); }, [initLabelShrink, formLabelShrink]);
1066
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
1098
1067
  // State -----------------------------------------------------------------------------------------------------------
1099
1068
  var formCols = React.useState({})[0];
1100
1069
  var _c = React.useState(12), formColAutoXs = _c[0], setFormColAutoXs = _c[1];
1101
- // State - style ---------------------------------------------------------------------------------------------------
1102
- var style = useAutoUpdateState$1(React.useCallback(function () {
1070
+ // Memo --------------------------------------------------------------------------------------------------------------
1071
+ var style = React.useMemo(function () {
1103
1072
  var style = __assign$4({ width: '100%' }, initStyle);
1104
1073
  if (hidden) {
1105
1074
  style.display = 'none';
1106
1075
  }
1107
1076
  return style;
1108
- }, [initStyle, hidden]))[0];
1077
+ }, [hidden, initStyle]);
1109
1078
  // Function - makeFormColXs ----------------------------------------------------------------------------------------
1110
1079
  var makeFormColXs = React.useCallback(function () {
1111
1080
  var formColKeys = Object.keys(formCols);
@@ -1119,16 +1088,16 @@ var templateObject_1$1;var FormRow = React__default["default"].forwardRef(functi
1119
1088
  }
1120
1089
  });
1121
1090
  setFormColAutoXs(autoXsCount === 0 ? autoXs : autoXs / autoXsCount);
1122
- }, []);
1091
+ }, [formCols]);
1123
1092
  // Event Handler ---------------------------------------------------------------------------------------------------
1124
1093
  var handleAddFormCol = React.useCallback(function (id, xs) {
1125
1094
  formCols[id] = xs;
1126
1095
  makeFormColXs();
1127
- }, []);
1096
+ }, [formCols, makeFormColXs]);
1128
1097
  var handleRemoveFormCol = React.useCallback(function (id) {
1129
1098
  delete formCols[id];
1130
1099
  makeFormColXs();
1131
- }, []);
1100
+ }, [formCols, makeFormColXs]);
1132
1101
  //------------------------------------------------------------------------------------------------------------------
1133
1102
  return (React__default["default"].createElement(FormContext.Provider, { value: __assign$4({ variant: variant, size: size, color: color, spacing: spacing, focused: focused, labelShrink: labelShrink, fullWidth: fullWidth, formColAutoXs: formColAutoXs, onAddFormCol: handleAddFormCol, onRemoveFormCol: handleRemoveFormCol }, otherFormState) },
1134
1103
  React__default["default"].createElement(material.Grid, { item: true, ref: ref, xs: 12, className: classNames$1(className, 'FormRow'), style: style, sx: sx },
@@ -1996,20 +1965,20 @@ function useResizeDetector(props) {
1996
1965
  var id = React.useId();
1997
1966
  // FormState -------------------------------------------------------------------------------------------------------
1998
1967
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formSpacing = _b.spacing, formFormColGap = _b.formColGap, formFocused = _b.focused, formLabelShrink = _b.labelShrink, formFullWidth = _b.fullWidth, formColAutoXs = _b.formColAutoXs, onAddFormCol = _b.onAddFormCol, onRemoveFormCol = _b.onRemoveFormCol, otherFormState = __rest$2(_b, ["variant", "size", "color", "spacing", "formColGap", "focused", "labelShrink", "fullWidth", "formColAutoXs", "onAddFormCol", "onRemoveFormCol"]);
1999
- // State - FormState -----------------------------------------------------------------------------------------------
2000
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
2001
- var size = useAutoUpdateState$1(initSize || formSize)[0];
2002
- var color = useAutoUpdateState$1(initColor || formColor)[0];
2003
- var spacing = useAutoUpdateState$1(initSpacing == null ? formSpacing : initSpacing)[0];
2004
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
2005
- var labelShrink = useAutoUpdateState$1(initLabelShrink || formLabelShrink)[0];
2006
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
2007
- // State - Gap -----------------------------------------------------------------------------------------------------
2008
- var gap = useAutoUpdateState$1(initGap == null ? formFormColGap : initGap)[0];
1968
+ // Memo - FormState ------------------------------------------------------------------------------------------------
1969
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
1970
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
1971
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
1972
+ var spacing = React.useMemo(function () { return initSpacing || formSpacing; }, [initSpacing, formSpacing]);
1973
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
1974
+ var labelShrink = React.useMemo(function () { return (initLabelShrink == null ? formLabelShrink : initLabelShrink); }, [initLabelShrink, formLabelShrink]);
1975
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
1976
+ // Memo --------------------------------------------------------------------------------------------------------------
1977
+ var gap = React.useMemo(function () { return (initGap == null ? formFormColGap : initGap); }, [formFormColGap, initGap]);
2009
1978
  // ResizeDetector --------------------------------------------------------------------------------------------------
2010
1979
  var _c = useResizeDetector(), formColWidth = _c.width, resizeDetectorRef = _c.ref;
2011
1980
  // State - style ---------------------------------------------------------------------------------------------------
2012
- var style = useAutoUpdateState$1(React.useCallback(function () {
1981
+ var style = useAutoUpdateLayoutState(React.useCallback(function () {
2013
1982
  if (hidden) {
2014
1983
  return __assign$4(__assign$4({}, initStyle), { display: 'none' });
2015
1984
  }
@@ -2025,6 +1994,7 @@ function useResizeDetector(props) {
2025
1994
  if (onRemoveFormCol)
2026
1995
  onRemoveFormCol(id);
2027
1996
  };
1997
+ // eslint-disable-next-line react-hooks/exhaustive-deps
2028
1998
  }, [xs]);
2029
1999
  // Effect ----------------------------------------------------------------------------------------------------------
2030
2000
  React.useEffect(function () {
@@ -2036,6 +2006,7 @@ function useResizeDetector(props) {
2036
2006
  ref.current = resizeDetectorRef.current;
2037
2007
  }
2038
2008
  }
2009
+ // eslint-disable-next-line react-hooks/exhaustive-deps
2039
2010
  }, []);
2040
2011
  // Render ----------------------------------------------------------------------------------------------------------
2041
2012
  return (React__default["default"].createElement(FormContextProvider, { value: __assign$4({ variant: variant, size: size, color: color, spacing: spacing, focused: focused, labelShrink: labelShrink, fullWidth: fullWidth, formColXs: xs || formColAutoXs || 12, formColWidth: formColWidth, formColWithLabel: !!label, formColWithHelperText: !!helperText }, otherFormState) },
@@ -2093,29 +2064,29 @@ styleInject(css_248z$j);var FormTextField = React__default["default"].forwardRef
2093
2064
  var inputRef = React.useRef(null);
2094
2065
  // FormState -------------------------------------------------------------------------------------------------------
2095
2066
  var _c = useFormState(), formVariant = _c.variant, formSize = _c.size, formColor = _c.color, formFocused = _c.focused, formLabelShrink = _c.labelShrink, formFullWidth = _c.fullWidth, formColWithHelperText = _c.formColWithHelperText, onAddValueItem = _c.onAddValueItem, onRemoveValueItem = _c.onRemoveValueItem, onValueChange = _c.onValueChange, onValueChangeByUser = _c.onValueChangeByUser, onRequestSearchSubmit = _c.onRequestSearchSubmit;
2096
- // State - FormState -----------------------------------------------------------------------------------------------
2097
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
2098
- var size = useAutoUpdateState$1(initSize || formSize)[0];
2099
- var color = useAutoUpdateState$1(initColor || formColor)[0];
2100
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
2101
- var labelShrink = useAutoUpdateState$1(initLabelShrink || formLabelShrink)[0];
2102
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
2067
+ // Memo - FormState ------------------------------------------------------------------------------------------------
2068
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
2069
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
2070
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
2071
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
2072
+ var labelShrink = React.useMemo(function () { return (initLabelShrink == null ? formLabelShrink : initLabelShrink); }, [initLabelShrink, formLabelShrink]);
2073
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
2103
2074
  // State -----------------------------------------------------------------------------------------------------------
2104
- var _d = useAutoUpdateState$1(initError), error = _d[0], setError = _d[1];
2105
- var _e = useAutoUpdateState$1(initHelperText), helperText = _e[0], setHelperText = _e[1];
2075
+ var _d = useAutoUpdateLayoutState(initError), error = _d[0], setError = _d[1];
2076
+ var _e = useAutoUpdateLayoutState(initHelperText), helperText = _e[0], setHelperText = _e[1];
2106
2077
  var _f = React.useState(false), showClear = _f[0], setShowClear = _f[1];
2107
- var _g = useAutoUpdateState$1(initDisabled), disabled = _g[0], setDisabled = _g[1];
2108
- // State - muiInputLabelProps --------------------------------------------------------------------------------------
2109
- var muiInputLabelProps = useAutoUpdateState$1(React.useCallback(function () {
2078
+ var _g = useAutoUpdateLayoutState(initDisabled), disabled = _g[0], setDisabled = _g[1];
2079
+ // Memo - muiInputLabelProps ---------------------------------------------------------------------------------------
2080
+ var muiInputLabelProps = React.useMemo(function () {
2110
2081
  if (labelShrink || placeholder) {
2111
2082
  return __assign$4(__assign$4({}, initMuiInputLabelProps), { shrink: true });
2112
2083
  }
2113
2084
  else {
2114
2085
  return initMuiInputLabelProps;
2115
2086
  }
2116
- }, [initMuiInputLabelProps, labelShrink, placeholder]))[0];
2117
- // State - inputProps ----------------------------------------------------------------------------------------------
2118
- var inputProps = useAutoUpdateState$1(React.useCallback(function () {
2087
+ }, [initMuiInputLabelProps, labelShrink, placeholder]);
2088
+ // Memo - inputProps -----------------------------------------------------------------------------------------------
2089
+ var inputProps = React.useMemo(function () {
2119
2090
  if (readOnly != null || maxLength != null) {
2120
2091
  var finalInputProps = __assign$4(__assign$4({}, initInputProps), { readOnly: readOnly, maxLength: maxLength });
2121
2092
  if (readOnly) {
@@ -2126,30 +2097,31 @@ styleInject(css_248z$j);var FormTextField = React__default["default"].forwardRef
2126
2097
  else {
2127
2098
  return initInputProps;
2128
2099
  }
2129
- }, [initInputProps, readOnly, maxLength]))[0];
2130
- // State - style ---------------------------------------------------------------------------------------------------
2131
- var style = useAutoUpdateState$1(React.useCallback(function () {
2100
+ }, [initInputProps, readOnly, maxLength]);
2101
+ // Memo - style ----------------------------------------------------------------------------------------------------
2102
+ var style = React.useMemo(function () {
2132
2103
  if (width != null) {
2133
2104
  return __assign$4(__assign$4({}, initStyle), { width: width });
2134
2105
  }
2135
2106
  else {
2136
2107
  return initStyle;
2137
2108
  }
2138
- }, [initStyle, width]))[0];
2139
- // State - label ---------------------------------------------------------------------------------------------------
2140
- var label = useAutoUpdateState$1(React.useCallback(function () {
2109
+ }, [initStyle, width]);
2110
+ // Memo - label ----------------------------------------------------------------------------------------------------
2111
+ var label = React.useMemo(function () {
2141
2112
  return labelIcon ? (React__default["default"].createElement(React__default["default"].Fragment, null,
2142
2113
  React__default["default"].createElement(FormIcon, { style: { verticalAlign: 'middle', marginRight: 4 } }, labelIcon),
2143
2114
  React__default["default"].createElement("span", { style: { verticalAlign: 'middle' } }, initLabel))) : (initLabel);
2144
- }, [initLabel, labelIcon]))[0];
2115
+ }, [initLabel, labelIcon]);
2145
2116
  // Function - getFinalValue ----------------------------------------------------------------------------------------
2146
2117
  var getFinalValue = React.useCallback(function (value) {
2147
2118
  return onValue ? onValue(value) : value;
2148
2119
  }, [onValue]);
2149
2120
  // State - value ---------------------------------------------------------------------------------------------------
2150
- var _h = useAutoUpdateState$1(initValue, getFinalValue), value = _h[0], setValue = _h[1];
2121
+ var _h = useAutoUpdateLayoutState(initValue, getFinalValue), value = _h[0], setValue = _h[1];
2151
2122
  React.useEffect(function () {
2152
2123
  setShowClear(clear ? notEmpty(value) : false);
2124
+ // eslint-disable-next-line react-hooks/exhaustive-deps
2153
2125
  }, [value]);
2154
2126
  useFirstSkipEffect$1(function () {
2155
2127
  if (error)
@@ -2170,6 +2142,11 @@ styleInject(css_248z$j);var FormTextField = React__default["default"].forwardRef
2170
2142
  (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.focus();
2171
2143
  }
2172
2144
  }, [initInputRef, inputRef]);
2145
+ // Function - setErrorHelperText -----------------------------------------------------------------------------------
2146
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
2147
+ setError(error);
2148
+ setHelperText(helperText);
2149
+ }, [setError, setHelperText]);
2173
2150
  // Function - validate ---------------------------------------------------------------------------------------------
2174
2151
  var validate = React.useCallback(function (value) {
2175
2152
  if (required && empty$1(value)) {
@@ -2197,14 +2174,9 @@ styleInject(css_248z$j);var FormTextField = React__default["default"].forwardRef
2197
2174
  }
2198
2175
  setErrorHelperText(false, initHelperText);
2199
2176
  return true;
2200
- }, [required, validPattern, invalidPattern, onValidate, initHelperText]);
2201
- // Function - setErrorHelperText -----------------------------------------------------------------------------------
2202
- var setErrorHelperText = React.useCallback(function (error, helperText) {
2203
- setError(error);
2204
- setHelperText(helperText);
2205
- }, []);
2206
- // State - muiInputProps -------------------------------------------------------------------------------------------
2207
- var muiInputProps = useAutoUpdateState$1(React.useCallback(function () {
2177
+ }, [required, validPattern, invalidPattern, onValidate, setErrorHelperText, initHelperText]);
2178
+ // Memo - muiInputProps --------------------------------------------------------------------------------------------
2179
+ var muiInputProps = React.useMemo(function () {
2208
2180
  var muiInputProps = __assign$4({}, initMuiInputProps);
2209
2181
  if (startAdornment || icon || muiInputProps.startAdornment) {
2210
2182
  muiInputProps.startAdornment = (React__default["default"].createElement(React__default["default"].Fragment, null,
@@ -2233,21 +2205,22 @@ styleInject(css_248z$j);var FormTextField = React__default["default"].forwardRef
2233
2205
  }
2234
2206
  return muiInputProps;
2235
2207
  }, [
2236
- initMuiInputProps,
2237
- icon,
2238
- getFinalValue,
2239
- startAdornment,
2240
- endAdornment,
2241
2208
  clear,
2242
- readOnly,
2243
2209
  disabled,
2244
- showClear,
2210
+ endAdornment,
2245
2211
  focus,
2212
+ getFinalValue,
2213
+ icon,
2214
+ initMuiInputProps,
2246
2215
  name,
2247
2216
  noFormValueItem,
2248
- onValueChangeByUser,
2249
2217
  onRequestSearchSubmit,
2250
- ]))[0];
2218
+ onValueChangeByUser,
2219
+ readOnly,
2220
+ setValue,
2221
+ showClear,
2222
+ startAdornment,
2223
+ ]);
2251
2224
  // Effect ----------------------------------------------------------------------------------------------------------
2252
2225
  React.useEffect(function () {
2253
2226
  if (value !== initValue) {
@@ -2255,6 +2228,7 @@ styleInject(css_248z$j);var FormTextField = React__default["default"].forwardRef
2255
2228
  onChange(value);
2256
2229
  onValueChange(name, value);
2257
2230
  }
2231
+ // eslint-disable-next-line react-hooks/exhaustive-deps
2258
2232
  }, []);
2259
2233
  // Commands --------------------------------------------------------------------------------------------------------
2260
2234
  React.useLayoutEffect(function () {
@@ -2323,6 +2297,11 @@ styleInject(css_248z$j);var FormTextField = React__default["default"].forwardRef
2323
2297
  noFormValueItem,
2324
2298
  onAddValueItem,
2325
2299
  onRemoveValueItem,
2300
+ id,
2301
+ setValue,
2302
+ setDisabled,
2303
+ setErrorHelperText,
2304
+ initHelperText,
2326
2305
  ]);
2327
2306
  // Event Handler ---------------------------------------------------------------------------------------------------
2328
2307
  var handleChange = React.useCallback(function (e) {
@@ -2336,7 +2315,7 @@ styleInject(css_248z$j);var FormTextField = React__default["default"].forwardRef
2336
2315
  }
2337
2316
  });
2338
2317
  }
2339
- }, [name, getFinalValue, select, noFormValueItem, onValueChangeByUser, onRequestSearchSubmit]);
2318
+ }, [getFinalValue, setValue, noFormValueItem, onValueChangeByUser, name, select, onRequestSearchSubmit]);
2340
2319
  var handleBlur = React.useCallback(function (e) {
2341
2320
  if (error)
2342
2321
  validate(value);
@@ -2351,7 +2330,7 @@ styleInject(css_248z$j);var FormTextField = React__default["default"].forwardRef
2351
2330
  }
2352
2331
  if (onKeyDown)
2353
2332
  onKeyDown(e);
2354
- }, [select, multiline, name, value, noFormValueItem, onRequestSearchSubmit]);
2333
+ }, [select, multiline, noFormValueItem, onKeyDown, onRequestSearchSubmit, name, value]);
2355
2334
  // Render ----------------------------------------------------------------------------------------------------------
2356
2335
  return (React__default["default"].createElement(material.TextField, __assign$4({}, props, { variant: variant, size: size, color: color, focused: focused || undefined, name: name, label: label, placeholder: placeholder, className: classNames$1(className, 'FormValueItem', 'FormTextField', "variant-".concat(variant)), inputRef: initInputRef ? initInputRef : inputRef, value: value, required: required, fullWidth: !width && fullWidth, error: error, helperText: formColWithHelperText ? undefined : helperText, FormHelperTextProps: { component: 'div' }, disabled: disabled, InputProps: muiInputProps, InputLabelProps: muiInputLabelProps, inputProps: ((_b = initInputProps === null || initInputProps === void 0 ? void 0 : initInputProps.className) === null || _b === void 0 ? void 0 : _b.includes('FormTag-Input')) ? initInputProps : inputProps, style: style, select: select, SelectProps: SelectProps, multiline: multiline, onChange: handleChange, onBlur: handleBlur, onKeyDown: handleKeyDown })));
2357
2336
  });
@@ -2382,7 +2361,7 @@ styleInject(css_248z$h);var FormTag = React__default["default"].forwardRef(funct
2382
2361
  var className = _a.className, name = _a.name, initValue = _a.value, exceptValue = _a.exceptValue, required = _a.required, readOnly = _a.readOnly, maxLength = _a.maxLength, disabled = _a.disabled, initFullWidth = _a.fullWidth, initError = _a.error, initHelperText = _a.helperText, formValueSeparator = _a.formValueSeparator, formValueSort = _a.formValueSort, onValidate = _a.onValidate, onKeyDown = _a.onKeyDown, onChange = _a.onChange, onValue = _a.onValue, onBlur = _a.onBlur, props = __rest$2(_a, ["className", "name", "value", "exceptValue", "required", "readOnly", "maxLength", "disabled", "fullWidth", "error", "helperText", "formValueSeparator", "formValueSort", "onValidate", "onKeyDown", "onChange", "onValue", "onBlur"]);
2383
2362
  var _b = useFormState(), formFullWidth = _b.fullWidth, onAddValueItem = _b.onAddValueItem, onValueChange = _b.onValueChange, onValueChangeByUser = _b.onValueChangeByUser, onRequestSearchSubmit = _b.onRequestSearchSubmit, otherFormState = __rest$2(_b, ["fullWidth", "onAddValueItem", "onValueChange", "onValueChangeByUser", "onRequestSearchSubmit"]);
2384
2363
  // State - FormState -----------------------------------------------------------------------------------------------
2385
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
2364
+ var fullWidth = useAutoUpdateLayoutState(initFullWidth == null ? formFullWidth : initFullWidth)[0];
2386
2365
  // Function - getFinalValue ----------------------------------------------------------------------------------------
2387
2366
  var getFinalValue = React.useCallback(function (value) {
2388
2367
  var finalValue;
@@ -2400,7 +2379,7 @@ styleInject(css_248z$h);var FormTag = React__default["default"].forwardRef(funct
2400
2379
  var _c = React.useState(function () {
2401
2380
  return new Set(getFinalValue(initValue));
2402
2381
  }), valueSet = _c[0], setValueSet = _c[1];
2403
- var _d = useAutoUpdateState$1(initValue, getFinalValue), value = _d[0], setValue = _d[1];
2382
+ var _d = useAutoUpdateLayoutState(initValue, getFinalValue), value = _d[0], setValue = _d[1];
2404
2383
  useFirstSkipEffect$1(function () {
2405
2384
  if (error)
2406
2385
  validate(value);
@@ -2410,16 +2389,22 @@ styleInject(css_248z$h);var FormTag = React__default["default"].forwardRef(funct
2410
2389
  }, [value]);
2411
2390
  //------------------------------------------------------------------------------------------------------------------
2412
2391
  var _e = React.useState(''), inputValue = _e[0], setInputValue = _e[1];
2413
- var _f = useAutoUpdateState$1(initError), error = _f[0], setError = _f[1];
2414
- var _g = useAutoUpdateState$1(initHelperText), helperText = _g[0], setHelperText = _g[1];
2392
+ var _f = useAutoUpdateLayoutState(initError), error = _f[0], setError = _f[1];
2393
+ var _g = useAutoUpdateLayoutState(initHelperText), helperText = _g[0], setHelperText = _g[1];
2415
2394
  // Effect ----------------------------------------------------------------------------------------------------------
2416
2395
  React.useEffect(function () {
2417
- if (!isSame$1(value, initValue)) {
2396
+ if (!isSame$2(value, initValue)) {
2418
2397
  if (onChange)
2419
2398
  onChange(value);
2420
2399
  onValueChange(name, value);
2421
2400
  }
2401
+ // eslint-disable-next-line react-hooks/exhaustive-deps
2422
2402
  }, []);
2403
+ // Function - setErrorHelperText -----------------------------------------------------------------------------------
2404
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
2405
+ setError(error);
2406
+ setHelperText(helperText);
2407
+ }, [setError, setHelperText]);
2423
2408
  // Function - validate ---------------------------------------------------------------------------------------------
2424
2409
  var validate = React.useCallback(function (value) {
2425
2410
  if (required && empty$1(value)) {
@@ -2435,12 +2420,7 @@ styleInject(css_248z$h);var FormTag = React__default["default"].forwardRef(funct
2435
2420
  }
2436
2421
  setErrorHelperText(false, initHelperText);
2437
2422
  return true;
2438
- }, [required, onValidate, initHelperText]);
2439
- // Function - setErrorHelperText -----------------------------------------------------------------------------------
2440
- var setErrorHelperText = React.useCallback(function (error, helperText) {
2441
- setError(error);
2442
- setHelperText(helperText);
2443
- }, []);
2423
+ }, [required, onValidate, setErrorHelperText, initHelperText]);
2444
2424
  // Function - getExtraCommands -------------------------------------------------------------------------------------
2445
2425
  var getExtraCommands = React.useCallback(function () {
2446
2426
  return {
@@ -2456,13 +2436,13 @@ styleInject(css_248z$h);var FormTag = React__default["default"].forwardRef(funct
2456
2436
  setValue(lastValue);
2457
2437
  }, getValue: function () { return lastValue; }, setValue: function (newValue) {
2458
2438
  var finalValue = getFinalValue(newValue);
2459
- if (!isSame$1(lastValue, finalValue)) {
2439
+ if (!isSame$2(lastValue, finalValue)) {
2460
2440
  lastValue = finalValue;
2461
2441
  setValueSet(new Set(lastValue));
2462
2442
  setValue(lastValue);
2463
2443
  }
2464
2444
  }, validate: function () { return validate(value); } }), getExtraCommands());
2465
- }, [initValue, value, getFinalValue, validate, getExtraCommands]);
2445
+ }, [value, getExtraCommands, getFinalValue, initValue, setValue, validate]);
2466
2446
  // Function - appendTag, removeTag ---------------------------------------------------------------------------------
2467
2447
  var appendTag = React.useCallback(function (tag) {
2468
2448
  if (valueSet.has(tag)) {
@@ -2479,7 +2459,7 @@ styleInject(css_248z$h);var FormTag = React__default["default"].forwardRef(funct
2479
2459
  onRequestSearchSubmit(name, finalValue_1);
2480
2460
  });
2481
2461
  }
2482
- }, [valueSet, name, getFinalValue, onValueChangeByUser, onRequestSearchSubmit]);
2462
+ }, [valueSet, getFinalValue, setValue, onValueChangeByUser, name, onRequestSearchSubmit]);
2483
2463
  var removeTag = React.useCallback(function (tag) {
2484
2464
  if (valueSet.has(tag)) {
2485
2465
  valueSet.delete(tag);
@@ -2490,7 +2470,7 @@ styleInject(css_248z$h);var FormTag = React__default["default"].forwardRef(funct
2490
2470
  onRequestSearchSubmit(name, finalValue_2);
2491
2471
  });
2492
2472
  }
2493
- }, [valueSet, name, getFinalValue, onValueChangeByUser, onRequestSearchSubmit]);
2473
+ }, [valueSet, getFinalValue, setValue, onValueChangeByUser, name, onRequestSearchSubmit]);
2494
2474
  // Event Handler ---------------------------------------------------------------------------------------------------
2495
2475
  var handleAddValueItem = React.useCallback(function (id, commands) {
2496
2476
  onAddValueItem(id, getCommands(commands));
@@ -2528,7 +2508,7 @@ styleInject(css_248z$h);var FormTag = React__default["default"].forwardRef(funct
2528
2508
  }
2529
2509
  if (onBlur)
2530
2510
  onBlur(e);
2531
- }, [inputValue, onBlur]);
2511
+ }, [appendTag, inputValue, onBlur]);
2532
2512
  var handleRenderTags = React.useCallback(function (tags) {
2533
2513
  return tags.map(function (tag) { return (React__default["default"].createElement(material.Chip, { className: 'MuiAutocomplete-tag', key: tag, label: tag, size: 'small', disabled: disabled, onDelete: readOnly || disabled ? undefined : function () { return removeTag(tag); } })); });
2534
2514
  }, [disabled, readOnly, removeTag]);
@@ -2573,8 +2553,8 @@ var FormPassword = React__default["default"].forwardRef(function (_a, ref) {
2573
2553
  var className = _a.className, initMuiInputProps = _a.InputProps, eye = _a.eye, onChange = _a.onChange, props = __rest$2(_a, ["className", "InputProps", "eye", "onChange"]);
2574
2554
  var _b = React.useState('password'), type = _b[0], setType = _b[1];
2575
2555
  var _c = React.useState(notEmpty(props.value)), showEye = _c[0], setShowEye = _c[1];
2576
- // State - muiInputProps -------------------------------------------------------------------------------------------
2577
- var muiInputProps = useAutoUpdateState$1(React.useCallback(function () {
2556
+ // Memo --------------------------------------------------------------------------------------------------------------
2557
+ var muiInputProps = React.useMemo(function () {
2578
2558
  if (eye) {
2579
2559
  var newProps = __assign$4({}, initMuiInputProps);
2580
2560
  newProps.endAdornment = (React__default["default"].createElement(React__default["default"].Fragment, null,
@@ -2589,7 +2569,7 @@ var FormPassword = React__default["default"].forwardRef(function (_a, ref) {
2589
2569
  else {
2590
2570
  return initMuiInputProps;
2591
2571
  }
2592
- }, [initMuiInputProps, type, eye, showEye]))[0];
2572
+ }, [eye, initMuiInputProps, showEye, type]);
2593
2573
  // Event Handler ---------------------------------------------------------------------------------------------------
2594
2574
  var handleChange = React.useCallback(function (value) {
2595
2575
  setShowEye(notEmpty(value));
@@ -4075,9 +4055,9 @@ NumberFormat.defaultProps = defaultProps;var NumberFormatCustom = React__default
4075
4055
  } })));
4076
4056
  });
4077
4057
  NumberFormatCustom.displayName = 'NumberFormatCustom';var FormNumberDefaultProps = __assign$4({}, FormTextDefaultProps);var FormNumber = React__default["default"].forwardRef(function (_a, ref) {
4078
- // State - muiInputProps -------------------------------------------------------------------------------------------
4058
+ // Memo --------------------------------------------------------------------------------------------------------------
4079
4059
  var className = _a.className, allowLeadingZeros = _a.allowLeadingZeros, allowNegative = _a.allowNegative, thousandSeparator = _a.thousandSeparator, allowDecimal = _a.allowDecimal, decimalScale = _a.decimalScale, prefix = _a.prefix, suffix = _a.suffix, readOnly = _a.readOnly, initMuiInputProps = _a.InputProps, props = __rest$2(_a, ["className", "allowLeadingZeros", "allowNegative", "thousandSeparator", "allowDecimal", "decimalScale", "prefix", "suffix", "readOnly", "InputProps"]);
4080
- var muiInputProps = useAutoUpdateState$1(React.useCallback(function () {
4060
+ var muiInputProps = React.useMemo(function () {
4081
4061
  var inputProps = {
4082
4062
  allowLeadingZeros: allowLeadingZeros,
4083
4063
  allowNegative: allowNegative,
@@ -4095,7 +4075,17 @@ NumberFormatCustom.displayName = 'NumberFormatCustom';var FormNumberDefaultProps
4095
4075
  inputProps.decimalScale = 0;
4096
4076
  }
4097
4077
  return __assign$4(__assign$4({}, initMuiInputProps), { inputComponent: NumberFormatCustom, inputProps: inputProps });
4098
- }, [initMuiInputProps, allowLeadingZeros, allowNegative, thousandSeparator, allowDecimal, decimalScale]))[0];
4078
+ }, [
4079
+ allowDecimal,
4080
+ allowLeadingZeros,
4081
+ allowNegative,
4082
+ decimalScale,
4083
+ initMuiInputProps,
4084
+ prefix,
4085
+ readOnly,
4086
+ suffix,
4087
+ thousandSeparator,
4088
+ ]);
4099
4089
  // Render ----------------------------------------------------------------------------------------------------------
4100
4090
  return React__default["default"].createElement(FormText, __assign$4({ ref: ref, className: classNames$1(className, 'FormNumber'), InputProps: muiInputProps }, props));
4101
4091
  });
@@ -4122,16 +4112,16 @@ styleInject(css_248z$d);var FormSelect = React__default["default"].forwardRef(fu
4122
4112
  // FormState -------------------------------------------------------------------------------------------------------
4123
4113
  var className = _a.className, name = _a.name, initItems = _a.items, initFullWidth = _a.fullWidth, onLoadItems = _a.onLoadItems, readOnly = _a.readOnly, multiple = _a.multiple, checkbox = _a.checkbox, placeholder = _a.placeholder, initStartAdornment = _a.startAdornment, initValue = _a.value, initInputLabelProps = _a.InputLabelProps, initSelectProps = _a.SelectProps, formValueSeparator = _a.formValueSeparator, formValueSort = _a.formValueSort, width = _a.width, minWidth = _a.minWidth, initLoading = _a.loading, onChange = _a.onChange, onValue = _a.onValue, props = __rest$2(_a, ["className", "name", "items", "fullWidth", "onLoadItems", "readOnly", "multiple", "checkbox", "placeholder", "startAdornment", "value", "InputLabelProps", "SelectProps", "formValueSeparator", "formValueSort", "width", "minWidth", "loading", "onChange", "onValue"]);
4124
4114
  var _b = useFormState(), formFullWidth = _b.fullWidth, onAddValueItem = _b.onAddValueItem, onValueChange = _b.onValueChange, otherFormState = __rest$2(_b, ["fullWidth", "onAddValueItem", "onValueChange"]);
4125
- // State - FormState -----------------------------------------------------------------------------------------------
4126
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
4115
+ // Memo - FormState ------------------------------------------------------------------------------------------------
4116
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
4127
4117
  // State -----------------------------------------------------------------------------------------------------------
4128
4118
  var emptyValue = React.useState([])[0];
4129
4119
  var _c = React.useState({}), itemValueLabels = _c[0], setItemValueLabels = _c[1];
4130
4120
  var _d = React.useState(false), hasEmptyValue = _d[0], setHasEmptyValue = _d[1];
4131
4121
  var _e = React.useState(false), isOnGetItemLoading = _e[0], setIsOnGetItemLoading = _e[1];
4132
4122
  var _f = React.useState(initLoading), loading = _f[0], setLoading = _f[1];
4133
- // State - startAdornment ------------------------------------------------------------------------------------------
4134
- var startAdornment = useAutoUpdateState$1(React.useCallback(function () {
4123
+ // Memo --------------------------------------------------------------------------------------------------------------
4124
+ var startAdornment = React.useMemo(function () {
4135
4125
  if (isOnGetItemLoading || loading) {
4136
4126
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
4137
4127
  initStartAdornment,
@@ -4140,9 +4130,9 @@ styleInject(css_248z$d);var FormSelect = React__default["default"].forwardRef(fu
4140
4130
  else {
4141
4131
  return initStartAdornment;
4142
4132
  }
4143
- }, [initStartAdornment, isOnGetItemLoading, loading]))[0];
4133
+ }, [initStartAdornment, isOnGetItemLoading, loading]);
4144
4134
  // State - items ---------------------------------------------------------------------------------------------------
4145
- var _g = useAutoUpdateState$1(initItems), items = _g[0], setItems = _g[1];
4135
+ var _g = useAutoUpdateLayoutState(initItems), items = _g[0], setItems = _g[1];
4146
4136
  React.useEffect(function () {
4147
4137
  if (items) {
4148
4138
  setItemValueLabels(items.reduce(function (res, item) {
@@ -4159,8 +4149,8 @@ styleInject(css_248z$d);var FormSelect = React__default["default"].forwardRef(fu
4159
4149
  setHasEmptyValue(false);
4160
4150
  }
4161
4151
  }, [items]);
4162
- // State - itemsValues ---------------------------------------------------------------------------------------------
4163
- var itemsValues = useAutoUpdateState$1(React.useCallback(function () {
4152
+ // Memo --------------------------------------------------------------------------------------------------------------
4153
+ var itemsValues = React.useMemo(function () {
4164
4154
  if (items) {
4165
4155
  return items.reduce(function (res, _a) {
4166
4156
  var value = _a.value;
@@ -4171,9 +4161,9 @@ styleInject(css_248z$d);var FormSelect = React__default["default"].forwardRef(fu
4171
4161
  else {
4172
4162
  return {};
4173
4163
  }
4174
- }, [items]))[0];
4164
+ }, [items]);
4175
4165
  // State - inputLabelProps -----------------------------------------------------------------------------------------
4176
- var inputLabelProps = useAutoUpdateState$1(React.useCallback(function () {
4166
+ var inputLabelProps = useAutoUpdateLayoutState(React.useCallback(function () {
4177
4167
  if (hasEmptyValue || (!hasEmptyValue && placeholder)) {
4178
4168
  return __assign$4(__assign$4({}, initInputLabelProps), { shrink: true });
4179
4169
  }
@@ -4230,19 +4220,19 @@ styleInject(css_248z$d);var FormSelect = React__default["default"].forwardRef(fu
4230
4220
  return onValue ? onValue(finalValue) : finalValue;
4231
4221
  }, [multiple, formValueSeparator, itemsValues, onValue]);
4232
4222
  // State - value ---------------------------------------------------------------------------------------------------
4233
- var _h = useAutoUpdateState$1(initValue, getFinalValue), value = _h[0], setValue = _h[1];
4223
+ var _h = useAutoUpdateLayoutState(initValue, getFinalValue), value = _h[0], setValue = _h[1];
4234
4224
  useFirstSkipEffect$1(function () {
4235
4225
  if (onChange)
4236
4226
  onChange(value);
4237
4227
  onValueChange(name, value);
4238
4228
  }, [value]);
4239
4229
  // State - isSelectedPlaceholder -----------------------------------------------------------------------------------
4240
- var isSelectedPlaceholder = useAutoUpdateState$1(React.useCallback(function () {
4230
+ var isSelectedPlaceholder = useAutoUpdateLayoutState(React.useCallback(function () {
4241
4231
  return notEmpty(items) && empty$1(value) && !!placeholder && !hasEmptyValue;
4242
4232
  }, [items, value, placeholder, hasEmptyValue]))[0];
4243
4233
  // Effect ----------------------------------------------------------------------------------------------------------
4244
4234
  React.useEffect(function () {
4245
- if (!isSame$1(value, initValue)) {
4235
+ if (!isSame$2(value, initValue)) {
4246
4236
  if (onChange)
4247
4237
  onChange(value);
4248
4238
  onValueChange(name, value);
@@ -4254,9 +4244,10 @@ styleInject(css_248z$d);var FormSelect = React__default["default"].forwardRef(fu
4254
4244
  setIsOnGetItemLoading(false);
4255
4245
  });
4256
4246
  }
4247
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4257
4248
  }, []);
4258
- // State - selectProps ---------------------------------------------------------------------------------------------
4259
- var selectProps = useAutoUpdateState$1(React.useCallback(function () {
4249
+ // Memo --------------------------------------------------------------------------------------------------------------
4250
+ var selectProps = React.useMemo(function () {
4260
4251
  var _a;
4261
4252
  var finalSelectProps = __assign$4(__assign$4({}, initSelectProps), { displayEmpty: true, multiple: !!multiple });
4262
4253
  if (multiple) {
@@ -4282,16 +4273,7 @@ styleInject(css_248z$d);var FormSelect = React__default["default"].forwardRef(fu
4282
4273
  }
4283
4274
  finalSelectProps.MenuProps = __assign$4(__assign$4({}, finalSelectProps.MenuProps), { className: classNames$1((_a = finalSelectProps.MenuProps) === null || _a === void 0 ? void 0 : _a.className, 'FormSelect-Menu-Popover') });
4284
4275
  return finalSelectProps;
4285
- }, [
4286
- initSelectProps,
4287
- multiple,
4288
- itemValueLabels,
4289
- minWidth,
4290
- width,
4291
- hasEmptyValue,
4292
- placeholder,
4293
- isSelectedPlaceholder,
4294
- ]))[0];
4276
+ }, [initSelectProps, isSelectedPlaceholder, itemValueLabels, minWidth, multiple, placeholder, width]);
4295
4277
  // Function - getExtraCommands -------------------------------------------------------------------------------------
4296
4278
  var getBaseCommands = React.useCallback(function () {
4297
4279
  var lastValue = value;
@@ -4307,7 +4289,7 @@ styleInject(css_248z$d);var FormSelect = React__default["default"].forwardRef(fu
4307
4289
  setValue(lastValue);
4308
4290
  },
4309
4291
  };
4310
- }, [value, initValue, getFinalValue]);
4292
+ }, [value, getFinalValue, initValue, setValue]);
4311
4293
  var getExtraCommands = React.useCallback(function () {
4312
4294
  var lastItems = items;
4313
4295
  var lastLoading = loading;
@@ -4326,7 +4308,7 @@ styleInject(css_248z$d);var FormSelect = React__default["default"].forwardRef(fu
4326
4308
  setLoading(lastLoading);
4327
4309
  },
4328
4310
  };
4329
- }, [items, loading, formValueSeparator, formValueSort, multiple]);
4311
+ }, [items, loading, formValueSeparator, formValueSort, setItems, multiple]);
4330
4312
  // Event Handler ---------------------------------------------------------------------------------------------------
4331
4313
  var handleRef = React.useCallback(function (commands) {
4332
4314
  if (ref) {
@@ -4383,13 +4365,13 @@ styleInject(css_248z$c);var FormItemBase = React__default["default"].forwardRef(
4383
4365
  //----------------------------------------------------------------------------------------------------------------
4384
4366
  className = _a.className, style = _a.style, sx = _a.sx;
4385
4367
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formFullWidth = _b.fullWidth, formColWithLabel = _b.formColWithLabel, formColWithHelperText = _b.formColWithHelperText;
4386
- // State - FormState -----------------------------------------------------------------------------------------------
4387
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
4388
- var size = useAutoUpdateState$1(initSize || formSize)[0];
4389
- var color = useAutoUpdateState$1(initColor || formColor)[0];
4390
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
4391
- // State - wrapStyle -----------------------------------------------------------------------------------------------
4392
- var wrapStyle = useAutoUpdateState$1(React.useCallback(function () {
4368
+ // Memo - FormState ------------------------------------------------------------------------------------------------
4369
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
4370
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
4371
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
4372
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
4373
+ // Memo --------------------------------------------------------------------------------------------------------------
4374
+ var wrapStyle = React.useMemo(function () {
4393
4375
  var wrapStyle = {
4394
4376
  display: fullWidth ? 'block' : 'inline-flex',
4395
4377
  width: fullWidth ? '100%' : undefined,
@@ -4398,7 +4380,7 @@ styleInject(css_248z$c);var FormItemBase = React__default["default"].forwardRef(
4398
4380
  wrapStyle.marginTop = -20;
4399
4381
  }
4400
4382
  return wrapStyle;
4401
- }, [formColWithLabel]))[0];
4383
+ }, [formColWithLabel, fullWidth]);
4402
4384
  // State - inputHeight ---------------------------------------------------------------------------------------------
4403
4385
  var _c = React.useState(0), inputHeight = _c[0], setInputHeight = _c[1];
4404
4386
  var inputResizeDetectorRef = useResizeDetector({
@@ -4417,8 +4399,8 @@ styleInject(css_248z$c);var FormItemBase = React__default["default"].forwardRef(
4417
4399
  setRealControlHeight(realControlResizeDetectorRef.current.getBoundingClientRect().height);
4418
4400
  },
4419
4401
  }).ref;
4420
- // State - bottomMargin --------------------------------------------------------------------------------------------
4421
- var bottomMargin = useAutoUpdateState$1(React.useCallback(function () {
4402
+ // Memo ------------------------------------------------------------------------------------------------------------
4403
+ var bottomMargin = React.useMemo(function () {
4422
4404
  var realHeight = realControlHeight || 0;
4423
4405
  var height = controlHeight || 0;
4424
4406
  var checkInputHeight = variant === 'standard' ? inputHeight + 16 : inputHeight;
@@ -4432,9 +4414,8 @@ styleInject(css_248z$c);var FormItemBase = React__default["default"].forwardRef(
4432
4414
  }
4433
4415
  }
4434
4416
  return bottomMargin;
4435
- }, [variant, realControlHeight, controlHeight, inputHeight, label, formColWithLabel]))[0];
4436
- // State - controlMarginTop ----------------------------------------------------------------------------------------
4437
- var controlMarginTop = useAutoUpdateState$1(React.useCallback(function () {
4417
+ }, [variant, realControlHeight, controlHeight, inputHeight]);
4418
+ var controlMarginTop = React.useMemo(function () {
4438
4419
  var topMargin = 0;
4439
4420
  if (inputHeight && controlHeight && controlVerticalCenter) {
4440
4421
  topMargin = inputHeight / 2 - controlHeight / 2;
@@ -4462,7 +4443,7 @@ styleInject(css_248z$c);var FormItemBase = React__default["default"].forwardRef(
4462
4443
  break;
4463
4444
  }
4464
4445
  return controlMarginTop;
4465
- }, [inputHeight, controlHeight, controlVerticalCenter, size, label, formColWithLabel]))[0];
4446
+ }, [controlHeight, controlVerticalCenter, formColWithLabel, inputHeight, label, size, variant]);
4466
4447
  // Render ----------------------------------------------------------------------------------------------------------
4467
4448
  return (React__default["default"].createElement("div", { style: wrapStyle },
4468
4449
  React__default["default"].createElement(material.FormControl, { ref: ref, variant: 'standard', className: classNames$1(className, 'FormItemBase', !!label && 'with-label', "variant-".concat(variant), controlVerticalCenter && 'control-vertical-center', !!error && 'error'), style: style, color: color, error: error, focused: focused, sx: sx },
@@ -4491,25 +4472,25 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React__default["def
4491
4472
  var id = React.useId();
4492
4473
  // FormState -------------------------------------------------------------------------------------------------------
4493
4474
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formFocused = _b.focused, formFullWidth = _b.fullWidth, onAddValueItem = _b.onAddValueItem, onRemoveValueItem = _b.onRemoveValueItem, onValueChange = _b.onValueChange, onValueChangeByUser = _b.onValueChangeByUser, onRequestSearchSubmit = _b.onRequestSearchSubmit;
4494
- // State - FormState ------------------------------------------------------------------------------------------------------------------
4495
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
4496
- var size = useAutoUpdateState$1(initSize || formSize)[0];
4497
- var color = useAutoUpdateState$1(initColor || formColor)[0];
4498
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
4499
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
4475
+ // Memo - FormState ------------------------------------------------------------------------------------------------
4476
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
4477
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
4478
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
4479
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
4480
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
4500
4481
  // Ref -------------------------------------------------------------------------------------------------------------
4501
4482
  var inputRef = React.useRef(null);
4502
4483
  var actionRef = React.useRef(null);
4503
4484
  // ResizeDetector --------------------------------------------------------------------------------------------------
4504
4485
  var _c = useResizeDetector(), width = _c.width, height = _c.height, resizeDetectorRef = _c.ref;
4505
4486
  // State -----------------------------------------------------------------------------------------------------------
4506
- var _d = useAutoUpdateState$1(initValue), value = _d[0], setValue = _d[1];
4507
- var _e = useAutoUpdateState$1(initUncheckedValue), uncheckedValue = _e[0], setUncheckedValue = _e[1];
4508
- var _f = useAutoUpdateState$1(initError), error = _f[0], setError = _f[1];
4509
- var _g = useAutoUpdateState$1(initHelperText), helperText = _g[0], setHelperText = _g[1];
4510
- var _h = useAutoUpdateState$1(initDisabled), disabled = _h[0], setDisabled = _h[1];
4487
+ var _d = useAutoUpdateLayoutState(initValue), value = _d[0], setValue = _d[1];
4488
+ var _e = useAutoUpdateLayoutState(initUncheckedValue), uncheckedValue = _e[0], setUncheckedValue = _e[1];
4489
+ var _f = useAutoUpdateLayoutState(initError), error = _f[0], setError = _f[1];
4490
+ var _g = useAutoUpdateLayoutState(initHelperText), helperText = _g[0], setHelperText = _g[1];
4491
+ var _h = useAutoUpdateLayoutState(initDisabled), disabled = _h[0], setDisabled = _h[1];
4511
4492
  // State - checked -------------------------------------------------------------------------------------------------
4512
- var _j = useAutoUpdateState$1(initChecked), checked = _j[0], setChecked = _j[1];
4493
+ var _j = useAutoUpdateLayoutState(initChecked), checked = _j[0], setChecked = _j[1];
4513
4494
  useFirstSkipEffect$1(function () {
4514
4495
  if (error)
4515
4496
  validate(checked);
@@ -4517,10 +4498,8 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React__default["def
4517
4498
  onChange(!!checked);
4518
4499
  onValueChange(name, !!checked);
4519
4500
  }, [checked]);
4520
- // State - style ---------------------------------------------------------------------------------------------------
4521
- var style = useAutoUpdateState$1(React.useCallback(function () {
4522
- return __assign$4({ width: fullWidth ? '100%' : width || 100, paddingLeft: 3 }, initStyle);
4523
- }, [initStyle, fullWidth, width]))[0];
4501
+ // Memo --------------------------------------------------------------------------------------------------------------
4502
+ var style = React.useMemo(function () { return (__assign$4({ width: fullWidth ? '100%' : width || 100, paddingLeft: 3 }, initStyle)); }, [initStyle, fullWidth, width]);
4524
4503
  // Function - focus ------------------------------------------------------------------------------------------------
4525
4504
  var focus = React.useCallback(function () {
4526
4505
  var _a, _b, _c, _d;
@@ -4537,6 +4516,11 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React__default["def
4537
4516
  (_d = actionRef.current) === null || _d === void 0 ? void 0 : _d.focusVisible();
4538
4517
  }
4539
4518
  }, [initInputRef, inputRef, initAction, actionRef]);
4519
+ // Function - setErrorHelperText -----------------------------------------------------------------------------------
4520
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
4521
+ setError(error);
4522
+ setHelperText(helperText);
4523
+ }, [setError, setHelperText]);
4540
4524
  // Function - validate ---------------------------------------------------------------------------------------------
4541
4525
  var validate = React.useCallback(function (checked) {
4542
4526
  if (onValidate) {
@@ -4548,12 +4532,7 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React__default["def
4548
4532
  }
4549
4533
  setErrorHelperText(false, initHelperText);
4550
4534
  return true;
4551
- }, [onValidate, initHelperText]);
4552
- // Function - setErrorHelperText -----------------------------------------------------------------------------------
4553
- var setErrorHelperText = React.useCallback(function (error, helperText) {
4554
- setError(error);
4555
- setHelperText(helperText);
4556
- }, []);
4535
+ }, [onValidate, setErrorHelperText, initHelperText]);
4557
4536
  // Commands --------------------------------------------------------------------------------------------------------
4558
4537
  React.useLayoutEffect(function () {
4559
4538
  var lastChecked = checked;
@@ -4630,6 +4609,12 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React__default["def
4630
4609
  disabled,
4631
4610
  validate,
4632
4611
  initHelperText,
4612
+ id,
4613
+ setChecked,
4614
+ setValue,
4615
+ setUncheckedValue,
4616
+ setDisabled,
4617
+ setErrorHelperText,
4633
4618
  ]);
4634
4619
  // Event Handler ---------------------------------------------------------------------------------------------------
4635
4620
  var handleChange = React.useCallback(function (e, checked) {
@@ -4643,7 +4628,7 @@ FormItemBase.displayName = 'FormItemBase';var FormCheckbox = React__default["def
4643
4628
  onRequestSearchSubmit(name, checked);
4644
4629
  });
4645
4630
  }
4646
- }, [readOnly, name, onValueChangeByUser, onRequestSearchSubmit]);
4631
+ }, [readOnly, setChecked, onValueChangeByUser, name, onRequestSearchSubmit]);
4647
4632
  // Render ----------------------------------------------------------------------------------------------------------
4648
4633
  return (React__default["default"].createElement(FormItemBase, { variant: variant, size: size, color: color, focused: focused, className: classNames$1(className, 'FormValueItem', 'FormCheckbox'), labelIcon: labelIcon, label: label, error: error, fullWidth: fullWidth, helperText: helperText, helperTextProps: { style: { marginLeft: 2 } }, style: style, sx: sx, controlHeight: height || (size === 'small' ? 35 : 39), controlVerticalCenter: true, control: React__default["default"].createElement(material.FormControlLabel, { ref: resizeDetectorRef, control: React__default["default"].createElement(material.Checkbox, __assign$4({ name: name, color: color, size: size, inputRef: initInputRef ? initInputRef : inputRef, action: initAction ? initAction : actionRef, checked: !!checked, checkedIcon: React__default["default"].createElement(iconsMaterial.CheckBox, { color: error ? 'error' : undefined }), icon: React__default["default"].createElement(iconsMaterial.CheckBoxOutlineBlank, { color: error ? 'error' : undefined }), onChange: handleChange, disabled: disabled || readOnly }, props)), label: React__default["default"].createElement(material.Typography, { color: error ? 'error' : undefined, whiteSpace: 'nowrap' }, text) }) }));
4649
4634
  });
@@ -4663,25 +4648,26 @@ var FormRadioGroup = React__default["default"].forwardRef(function (_a, ref) {
4663
4648
  var id = React.useId();
4664
4649
  // FormState -------------------------------------------------------------------------------------------------------
4665
4650
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formFocused = _b.focused, formFullWidth = _b.fullWidth, onAddValueItem = _b.onAddValueItem, onRemoveValueItem = _b.onRemoveValueItem, onValueChange = _b.onValueChange, onValueChangeByUser = _b.onValueChangeByUser, onRequestSearchSubmit = _b.onRequestSearchSubmit;
4651
+ // Memo - FormState ------------------------------------------------------------------------------------------------
4652
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
4653
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
4654
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
4655
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
4666
4656
  // State - FormState -----------------------------------------------------------------------------------------------
4667
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
4668
- var size = useAutoUpdateState$1(initSize || formSize)[0];
4669
- var color = useAutoUpdateState$1(initColor || formColor)[0];
4670
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
4671
- var _c = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth), fullWidth = _c[0], setFullWidth = _c[1];
4657
+ var _c = useAutoUpdateLayoutState(initFullWidth == null ? formFullWidth : initFullWidth), fullWidth = _c[0], setFullWidth = _c[1];
4672
4658
  // Theme -----------------------------------------------------------------------------------------------------------
4673
4659
  var theme = material.useTheme();
4674
4660
  // Ref -------------------------------------------------------------------------------------------------------------
4675
4661
  var baseRef = React.useRef(null);
4676
4662
  var firstInputRef = React.useRef(null);
4677
4663
  // State -----------------------------------------------------------------------------------------------------------
4678
- var _d = useAutoUpdateState$1(initItems), items = _d[0], setItems = _d[1];
4679
- var _e = useAutoUpdateState$1(initError), error = _e[0], setError = _e[1];
4680
- var _f = useAutoUpdateState$1(initHelperText), helperText = _f[0], setHelperText = _f[1];
4681
- var _g = useAutoUpdateState$1(initDisabled), disabled = _g[0], setDisabled = _g[1];
4664
+ var _d = useAutoUpdateLayoutState(initItems), items = _d[0], setItems = _d[1];
4665
+ var _e = useAutoUpdateLayoutState(initError), error = _e[0], setError = _e[1];
4666
+ var _f = useAutoUpdateLayoutState(initHelperText), helperText = _f[0], setHelperText = _f[1];
4667
+ var _g = useAutoUpdateLayoutState(initDisabled), disabled = _g[0], setDisabled = _g[1];
4682
4668
  var _h = React.useState(false), isOnGetItemLoading = _h[0], setIsOnGetItemLoading = _h[1];
4683
- var _j = useAutoUpdateState$1(initLoading), loading = _j[0], setLoading = _j[1];
4684
- var _k = useAutoUpdateState$1(initWidth || '100%'), width = _k[0], setWidth = _k[1];
4669
+ var _j = useAutoUpdateLayoutState(initLoading), loading = _j[0], setLoading = _j[1];
4670
+ var _k = useAutoUpdateLayoutState(initWidth || '100%'), width = _k[0], setWidth = _k[1];
4685
4671
  var _l = React.useState(), formColWrapRect = _l[0], setFormColWrapRect = _l[1];
4686
4672
  // State - radioGroupNoWrapRect (ResizeDetector) -------------------------------------------------------------------
4687
4673
  var _m = React.useState(), radioGroupNoWrapRect = _m[0], setRadioGroupNoWrapRect = _m[1];
@@ -4700,7 +4686,7 @@ var FormRadioGroup = React__default["default"].forwardRef(function (_a, ref) {
4700
4686
  return onValue ? onValue(value) : value;
4701
4687
  }, [onValue]);
4702
4688
  // State - value ---------------------------------------------------------------------------------------------------
4703
- var _p = useAutoUpdateState$1(initValue, getFinalValue), value = _p[0], setValue = _p[1];
4689
+ var _p = useAutoUpdateLayoutState(initValue, getFinalValue), value = _p[0], setValue = _p[1];
4704
4690
  useFirstSkipEffect$1(function () {
4705
4691
  if (error)
4706
4692
  validate(value);
@@ -4709,10 +4695,8 @@ var FormRadioGroup = React__default["default"].forwardRef(function (_a, ref) {
4709
4695
  if (onValueChange)
4710
4696
  onValueChange(name, value);
4711
4697
  }, [value]);
4712
- // State - style ---------------------------------------------------------------------------------------------------
4713
- var style = useAutoUpdateState$1(React.useCallback(function () {
4714
- return __assign$4({ width: width, paddingLeft: PADDING_LEFT }, initStyle);
4715
- }, [initStyle, width]))[0];
4698
+ // Memo --------------------------------------------------------------------------------------------------------------
4699
+ var style = React.useMemo(function () { return (__assign$4({ width: width, paddingLeft: PADDING_LEFT }, initStyle)); }, [initStyle, width]);
4716
4700
  // Effect ----------------------------------------------------------------------------------------------------------
4717
4701
  React.useEffect(function () {
4718
4702
  if (value !== initValue) {
@@ -4721,6 +4705,7 @@ var FormRadioGroup = React__default["default"].forwardRef(function (_a, ref) {
4721
4705
  if (onValueChange)
4722
4706
  onValueChange(name, value);
4723
4707
  }
4708
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4724
4709
  }, []);
4725
4710
  React.useEffect(function () {
4726
4711
  if (!fullWidth || initWidth) {
@@ -4750,6 +4735,7 @@ var FormRadioGroup = React__default["default"].forwardRef(function (_a, ref) {
4750
4735
  };
4751
4736
  }
4752
4737
  }
4738
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4753
4739
  }, [fullWidth, initWidth]);
4754
4740
  React.useEffect(function () {
4755
4741
  var width;
@@ -4774,12 +4760,18 @@ var FormRadioGroup = React__default["default"].forwardRef(function (_a, ref) {
4774
4760
  }
4775
4761
  setWidth(width);
4776
4762
  setFullWidth(fullWidth);
4763
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4777
4764
  }, [initWidth, formFullWidth, initFullWidth, formColWrapRect, radioGroupNoWrapRect]);
4778
4765
  // Function - focus ------------------------------------------------------------------------------------------------
4779
4766
  var focus = React.useCallback(function () {
4780
4767
  var _a;
4781
4768
  (_a = firstInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
4782
4769
  }, []);
4770
+ // Function - setErrorHelperText -----------------------------------------------------------------------------------
4771
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
4772
+ setError(error);
4773
+ setHelperText(helperText);
4774
+ }, [setError, setHelperText]);
4783
4775
  // Function - validate ---------------------------------------------------------------------------------------------
4784
4776
  var validate = React.useCallback(function (value) {
4785
4777
  if (required && empty$1(value)) {
@@ -4795,12 +4787,7 @@ var FormRadioGroup = React__default["default"].forwardRef(function (_a, ref) {
4795
4787
  }
4796
4788
  setErrorHelperText(false, initHelperText);
4797
4789
  return true;
4798
- }, [required, onValidate, initHelperText]);
4799
- // Function - setErrorHelperText -----------------------------------------------------------------------------------
4800
- var setErrorHelperText = React.useCallback(function (error, helperText) {
4801
- setError(error);
4802
- setHelperText(helperText);
4803
- }, []);
4790
+ }, [required, onValidate, setErrorHelperText, initHelperText]);
4804
4791
  // Commands --------------------------------------------------------------------------------------------------------
4805
4792
  React.useLayoutEffect(function () {
4806
4793
  var lastValue = value;
@@ -4877,6 +4864,13 @@ var FormRadioGroup = React__default["default"].forwardRef(function (_a, ref) {
4877
4864
  ref,
4878
4865
  onAddValueItem,
4879
4866
  onRemoveValueItem,
4867
+ id,
4868
+ setValue,
4869
+ setDisabled,
4870
+ setErrorHelperText,
4871
+ initHelperText,
4872
+ setItems,
4873
+ setLoading,
4880
4874
  ]);
4881
4875
  React.useEffect(function () {
4882
4876
  if (onLoadItems) {
@@ -4886,6 +4880,7 @@ var FormRadioGroup = React__default["default"].forwardRef(function (_a, ref) {
4886
4880
  setIsOnGetItemLoading(false);
4887
4881
  });
4888
4882
  }
4883
+ // eslint-disable-next-line react-hooks/exhaustive-deps
4889
4884
  }, []);
4890
4885
  // Event Handler ---------------------------------------------------------------------------------------------------
4891
4886
  var handleChange = React.useCallback(function (e) {
@@ -4912,7 +4907,7 @@ var FormRadioGroup = React__default["default"].forwardRef(function (_a, ref) {
4912
4907
  });
4913
4908
  }
4914
4909
  }
4915
- }, [readOnly, value, items, name, getFinalValue, onValueChangeByUser, onRequestSearchSubmit]);
4910
+ }, [readOnly, items, getFinalValue, value, setValue, onValueChangeByUser, name, onRequestSearchSubmit]);
4916
4911
  // Render ----------------------------------------------------------------------------------------------------------
4917
4912
  return (React__default["default"].createElement(FormItemBase, { focused: focused, ref: baseRef, className: classNames$1(className, 'FormValueItem', 'FormRadioGroup'), variant: variant, size: size, color: color, labelIcon: labelIcon, label: label, fullWidth: fullWidth, required: required, error: error, helperText: helperText, helperTextProps: { style: { marginLeft: 2 } }, style: style, sx: sx, controlHeight: height || (size === 'small' ? 35 : 39), controlVerticalCenter: true, control: React__default["default"].createElement(React__default["default"].Fragment, null,
4918
4913
  !fullWidth && !isOnGetItemLoading && !loading && items && (React__default["default"].createElement("div", { ref: resizeWidthDetectorRef, style: {
@@ -4959,12 +4954,13 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
4959
4954
  var labelId = React.useId();
4960
4955
  // FormState -------------------------------------------------------------------------------------------------------
4961
4956
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formFocused = _b.focused, formFullWidth = _b.fullWidth, formColWidth = _b.formColWidth, onAddValueItem = _b.onAddValueItem, onRemoveValueItem = _b.onRemoveValueItem, onValueChange = _b.onValueChange, onValueChangeByUser = _b.onValueChangeByUser, onRequestSearchSubmit = _b.onRequestSearchSubmit;
4957
+ // Memo - FormState ------------------------------------------------------------------------------------------------
4958
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
4959
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
4960
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
4961
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
4962
4962
  // State - FormState -----------------------------------------------------------------------------------------------
4963
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
4964
- var size = useAutoUpdateState$1(initSize || formSize)[0];
4965
- var color = useAutoUpdateState$1(initColor || formColor)[0];
4966
- var _c = useAutoUpdateState$1(initFocused || formFocused), focused = _c[0], setFocused = _c[1];
4967
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
4963
+ var _c = useAutoUpdateLayoutState(initFocused == null ? formFocused : initFocused), focused = _c[0], setFocused = _c[1];
4968
4964
  // Theme -----------------------------------------------------------------------------------------------------------
4969
4965
  var theme = material.useTheme();
4970
4966
  // State - width (ResizeDetector) ----------------------------------------------------------------------------------
@@ -4985,13 +4981,13 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
4985
4981
  }).ref;
4986
4982
  // State -----------------------------------------------------------------------------------------------------------
4987
4983
  var _f = React.useState(false), isOnGetItemLoading = _f[0], setIsOnGetItemLoading = _f[1];
4988
- var _g = useAutoUpdateState$1(initItems), items = _g[0], setItems = _g[1];
4989
- var _h = useAutoUpdateState$1(initError), error = _h[0], setError = _h[1];
4990
- var _j = useAutoUpdateState$1(initHelperText), helperText = _j[0], setHelperText = _j[1];
4991
- var _k = useAutoUpdateState$1(initLoading), loading = _k[0], setLoading = _k[1];
4992
- var _l = useAutoUpdateState$1(initDisabled), disabled = _l[0], setDisabled = _l[1];
4993
- // State - itemsValues-----------------------------------------------------------------------------------------------------------
4994
- var itemsValues = useAutoUpdateState$1(React.useCallback(function () {
4984
+ var _g = useAutoUpdateLayoutState(initItems), items = _g[0], setItems = _g[1];
4985
+ var _h = useAutoUpdateLayoutState(initError), error = _h[0], setError = _h[1];
4986
+ var _j = useAutoUpdateLayoutState(initHelperText), helperText = _j[0], setHelperText = _j[1];
4987
+ var _k = useAutoUpdateLayoutState(initLoading), loading = _k[0], setLoading = _k[1];
4988
+ var _l = useAutoUpdateLayoutState(initDisabled), disabled = _l[0], setDisabled = _l[1];
4989
+ // Memo --------------------------------------------------------------------------------------------------------------
4990
+ var itemsValues = React.useMemo(function () {
4995
4991
  if (items) {
4996
4992
  return items.reduce(function (res, _a) {
4997
4993
  var value = _a.value;
@@ -5002,9 +4998,8 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
5002
4998
  else {
5003
4999
  return {};
5004
5000
  }
5005
- }, [items]))[0];
5006
- // State - style ---------------------------------------------------------------------------------------------------
5007
- var style = useAutoUpdateState$1(React.useCallback(function () {
5001
+ }, [items]);
5002
+ var style = React.useMemo(function () {
5008
5003
  var finalWidth;
5009
5004
  if (initWidth) {
5010
5005
  finalWidth = initWidth;
@@ -5026,7 +5021,7 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
5026
5021
  }
5027
5022
  }
5028
5023
  return __assign$4({ width: finalWidth }, initStyle);
5029
- }, [initStyle, initWidth, fullWidth, isOnGetItemLoading, width, formColWidth]))[0];
5024
+ }, [formColWidth, fullWidth, initStyle, initWidth, isOnGetItemLoading, width]);
5030
5025
  // Function - getFinalValue ----------------------------------------------------------------------------------------
5031
5026
  var getFinalValue = React.useCallback(function (value) {
5032
5027
  var finalValue = value;
@@ -5076,7 +5071,7 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
5076
5071
  return onValue ? onValue(finalValue) : finalValue;
5077
5072
  }, [multiple, formValueSeparator, itemsValues, onValue]);
5078
5073
  // State - value ---------------------------------------------------------------------------------------------------
5079
- var _m = useAutoUpdateState$1(initValue, getFinalValue), value = _m[0], setValue = _m[1];
5074
+ var _m = useAutoUpdateLayoutState(initValue, getFinalValue), value = _m[0], setValue = _m[1];
5080
5075
  // Effect ----------------------------------------------------------------------------------------------------------
5081
5076
  React.useEffect(function () {
5082
5077
  if (value !== initValue) {
@@ -5091,6 +5086,7 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
5091
5086
  setIsOnGetItemLoading(false);
5092
5087
  });
5093
5088
  }
5089
+ // eslint-disable-next-line react-hooks/exhaustive-deps
5094
5090
  }, []);
5095
5091
  useFirstSkipEffect$1(function () {
5096
5092
  if (error)
@@ -5118,12 +5114,18 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
5118
5114
  }
5119
5115
  }
5120
5116
  }
5117
+ // eslint-disable-next-line react-hooks/exhaustive-deps
5121
5118
  }, [items, value, multiple, notAllowEmptyValue]);
5122
5119
  // Function - focus ------------------------------------------------------------------------------------------------
5123
5120
  var focus = React.useCallback(function () {
5124
5121
  if (resizeHeightDetectorRef.current)
5125
5122
  resizeHeightDetectorRef.current.focus();
5126
5123
  }, [resizeHeightDetectorRef]);
5124
+ // Function - setErrorHelperText -----------------------------------------------------------------------------------
5125
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
5126
+ setError(error);
5127
+ setHelperText(helperText);
5128
+ }, [setError, setHelperText]);
5127
5129
  // Function - validate ---------------------------------------------------------------------------------------------
5128
5130
  var validate = React.useCallback(function (value) {
5129
5131
  if (required && empty$1(value)) {
@@ -5139,12 +5141,7 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
5139
5141
  }
5140
5142
  setErrorHelperText(false, initHelperText);
5141
5143
  return true;
5142
- }, [required, onValidate, initHelperText]);
5143
- // Function - setErrorHelperText -----------------------------------------------------------------------------------
5144
- var setErrorHelperText = React.useCallback(function (error, helperText) {
5145
- setError(error);
5146
- setHelperText(helperText);
5147
- }, []);
5144
+ }, [required, onValidate, setErrorHelperText, initHelperText]);
5148
5145
  // Commands --------------------------------------------------------------------------------------------------------
5149
5146
  React.useLayoutEffect(function () {
5150
5147
  if (ref || onAddValueItem) {
@@ -5230,6 +5227,14 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
5230
5227
  ref,
5231
5228
  onAddValueItem,
5232
5229
  onRemoveValueItem,
5230
+ loading,
5231
+ id,
5232
+ setValue,
5233
+ setDisabled,
5234
+ setErrorHelperText,
5235
+ initHelperText,
5236
+ setItems,
5237
+ setLoading,
5233
5238
  ]);
5234
5239
  // Event Handler ---------------------------------------------------------------------------------------------------
5235
5240
  var handleChange = React.useCallback(function (e, newValue) {
@@ -5253,7 +5258,7 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
5253
5258
  }
5254
5259
  }
5255
5260
  finalValue_1 = getFinalValue(finalValue_1);
5256
- if (!isSame$1(value, finalValue_1)) {
5261
+ if (!isSame$2(value, finalValue_1)) {
5257
5262
  setValue(finalValue_1);
5258
5263
  nextTick(function () {
5259
5264
  onValueChangeByUser(name, finalValue_1);
@@ -5262,14 +5267,14 @@ styleInject(css_248z$b);var FormToggleButtonGroup = React__default["default"].fo
5262
5267
  }
5263
5268
  }
5264
5269
  }, [
5265
- value,
5266
- multiple,
5267
5270
  readOnly,
5268
5271
  notAllowEmptyValue,
5269
- multiple,
5270
5272
  getFinalValue,
5271
- name,
5273
+ value,
5274
+ multiple,
5275
+ setValue,
5272
5276
  onValueChangeByUser,
5277
+ name,
5273
5278
  onRequestSearchSubmit,
5274
5279
  ]);
5275
5280
  // Render ----------------------------------------------------------------------------------------------------------
@@ -5327,17 +5332,18 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
5327
5332
  var id = React.useId();
5328
5333
  // FormState -------------------------------------------------------------------------------------------------------
5329
5334
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formFocused = _b.focused, onAddValueItem = _b.onAddValueItem, onRemoveValueItem = _b.onRemoveValueItem, onValueChange = _b.onValueChange, onValueChangeByUser = _b.onValueChangeByUser, onRequestSearchSubmit = _b.onRequestSearchSubmit;
5335
+ // Memo - FormState ------------------------------------------------------------------------------------------------
5336
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
5337
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
5338
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
5330
5339
  // State - FormState -----------------------------------------------------------------------------------------------
5331
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
5332
- var size = useAutoUpdateState$1(initSize || formSize)[0];
5333
- var color = useAutoUpdateState$1(initColor || formColor)[0];
5334
- var _c = useAutoUpdateState$1(initFocused || formFocused), focused = _c[0], setFocused = _c[1];
5340
+ var _c = useAutoUpdateLayoutState(initFocused == null ? formFocused : initFocused), focused = _c[0], setFocused = _c[1];
5335
5341
  // Ref -------------------------------------------------------------------------------------------------------------
5336
5342
  var inputRef = React.useRef();
5337
5343
  // State -----------------------------------------------------------------------------------------------------------
5338
- var _d = useAutoUpdateState$1(initError), error = _d[0], setError = _d[1];
5339
- var _e = useAutoUpdateState$1(initHelperText), helperText = _e[0], setHelperText = _e[1];
5340
- var _f = useAutoUpdateState$1(initDisabled), disabled = _f[0], setDisabled = _f[1];
5344
+ var _d = useAutoUpdateLayoutState(initError), error = _d[0], setError = _d[1];
5345
+ var _e = useAutoUpdateLayoutState(initHelperText), helperText = _e[0], setHelperText = _e[1];
5346
+ var _f = useAutoUpdateLayoutState(initDisabled), disabled = _f[0], setDisabled = _f[1];
5341
5347
  // State - width, height -------------------------------------------------------------------------------------------
5342
5348
  var _g = useResizeDetector(), width = _g.width, height = _g.height, resizeDetectorRef = _g.ref;
5343
5349
  // Function - getFinalValue ----------------------------------------------------------------------------------------
@@ -5345,7 +5351,7 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
5345
5351
  return onValue ? onValue(value) : value;
5346
5352
  }, [onValue]);
5347
5353
  // State - value ---------------------------------------------------------------------------------------------------
5348
- var _h = useAutoUpdateState$1(initValue || 0, getFinalValue), value = _h[0], setValue = _h[1];
5354
+ var _h = useAutoUpdateLayoutState(initValue || 0, getFinalValue), value = _h[0], setValue = _h[1];
5349
5355
  useFirstSkipEffect$1(function () {
5350
5356
  if (error)
5351
5357
  validate(value);
@@ -5353,10 +5359,8 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
5353
5359
  onChange(value);
5354
5360
  onValueChange(name, value);
5355
5361
  }, [value]);
5356
- // State - style ---------------------------------------------------------------------------------------------------
5357
- var style = useAutoUpdateState$1(React.useCallback(function () {
5358
- return __assign$4({ width: width || 100 }, initStyle);
5359
- }, [initStyle, width]))[0];
5362
+ // Memo --------------------------------------------------------------------------------------------------------------
5363
+ var style = React.useMemo(function () { return (__assign$4({ width: width || 100 }, initStyle)); }, [initStyle, width]);
5360
5364
  // Effect ----------------------------------------------------------------------------------------------------------
5361
5365
  React.useEffect(function () {
5362
5366
  if (value !== initValue) {
@@ -5367,6 +5371,7 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
5367
5371
  if (resizeDetectorRef.current) {
5368
5372
  inputRef.current = resizeDetectorRef.current.querySelector('input');
5369
5373
  }
5374
+ // eslint-disable-next-line react-hooks/exhaustive-deps
5370
5375
  }, []);
5371
5376
  // Function --------------------------------------------------------------------------------------------------------
5372
5377
  var focus = React.useCallback(function () {
@@ -5377,6 +5382,10 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
5377
5382
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
5378
5383
  });
5379
5384
  }, []);
5385
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
5386
+ setError(error);
5387
+ setHelperText(helperText);
5388
+ }, [setError, setHelperText]);
5380
5389
  var validate = React.useCallback(function (value) {
5381
5390
  if (required && (empty$1(value) || value === 0)) {
5382
5391
  setErrorHelperText(true, '필수 선택 항목입니다.');
@@ -5391,11 +5400,7 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
5391
5400
  }
5392
5401
  setErrorHelperText(false, initHelperText);
5393
5402
  return true;
5394
- }, [required, onValidate, initHelperText]);
5395
- var setErrorHelperText = React.useCallback(function (error, helperText) {
5396
- setError(error);
5397
- setHelperText(helperText);
5398
- }, []);
5403
+ }, [required, onValidate, setErrorHelperText, initHelperText]);
5399
5404
  // Commands --------------------------------------------------------------------------------------------------------
5400
5405
  React.useLayoutEffect(function () {
5401
5406
  var lastValue = value;
@@ -5459,6 +5464,10 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
5459
5464
  ref,
5460
5465
  onAddValueItem,
5461
5466
  onRemoveValueItem,
5467
+ id,
5468
+ setValue,
5469
+ setDisabled,
5470
+ setErrorHelperText,
5462
5471
  ]);
5463
5472
  // Event Handler ---------------------------------------------------------------------------------------------------
5464
5473
  var handleChange = React.useCallback(function (e, value) {
@@ -5473,7 +5482,7 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
5473
5482
  onRequestSearchSubmit(name, finalValue_1);
5474
5483
  });
5475
5484
  }
5476
- }, [readOnly, name, getFinalValue, onValueChangeByUser, onRequestSearchSubmit]);
5485
+ }, [readOnly, getFinalValue, setValue, onValueChangeByUser, name, onRequestSearchSubmit]);
5477
5486
  // Render ----------------------------------------------------------------------------------------------------------
5478
5487
  return (React__default["default"].createElement(FormItemBase, { variant: variant, size: size, color: color, focused: focused, className: classNames$1(className, 'FormValueItem', 'FormRating'), labelIcon: labelIcon, label: label, error: error, fullWidth: false, required: required, helperText: helperText, helperTextProps: { style: { marginLeft: 5 } }, style: style, sx: sx, controlHeight: height || (size === 'small' ? 21 : 26), controlVerticalCenter: true, control: React__default["default"].createElement(material.Rating, { ref: resizeDetectorRef, size: size === 'medium' ? 'large' : 'medium', name: name, precision: precision, highlightSelectedOnly: highlightSelectedOnly, value: value, disabled: disabled || readOnly, max: max, icon: React__default["default"].createElement(FormIcon, { color: color, fontSize: 'inherit' }, icon ? icon : 'Star'), emptyIcon: React__default["default"].createElement(FormIcon, { fontSize: 'inherit' }, emptyIcon ? emptyIcon : 'StarBorder'), onChange: handleChange, onFocus: function () { return setFocused(initFocused || true); }, onBlur: function () { return setFocused(initFocused || false); } }) }));
5479
5488
  });
@@ -7216,16 +7225,17 @@ styleInject(css_248z$a);var FormTextEditor = React__default["default"].forwardRe
7216
7225
  var id = React.useId();
7217
7226
  // FormState -------------------------------------------------------------------------------------------------------
7218
7227
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formFocused = _b.focused, onAddValueItem = _b.onAddValueItem, onValueChange = _b.onValueChange, onRemoveValueItem = _b.onRemoveValueItem, onValueChangeByUser = _b.onValueChangeByUser;
7228
+ // Memo - FormState ------------------------------------------------------------------------------------------------
7229
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
7230
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
7231
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
7219
7232
  // State - FormState -----------------------------------------------------------------------------------------------
7220
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
7221
- var size = useAutoUpdateState$1(initSize || formSize)[0];
7222
- var color = useAutoUpdateState$1(initColor || formColor)[0];
7223
- var _c = useAutoUpdateState$1(initFocused || formFocused), focused = _c[0], setFocused = _c[1];
7233
+ var _c = useAutoUpdateLayoutState(initFocused == null ? formFocused : initFocused), focused = _c[0], setFocused = _c[1];
7224
7234
  // Ref -------------------------------------------------------------------------------------------------------------
7225
7235
  var editorRef = React.useRef(null);
7226
7236
  var keyDownTime = React.useRef(0);
7227
7237
  // State - value ---------------------------------------------------------------------------------------------------
7228
- var _d = useAutoUpdateState$1(initValue), value = _d[0], setValue = _d[1];
7238
+ var _d = useAutoUpdateLayoutState(initValue), value = _d[0], setValue = _d[1];
7229
7239
  useFirstSkipEffect$1(function () {
7230
7240
  if (error)
7231
7241
  validate(value);
@@ -7234,10 +7244,10 @@ styleInject(css_248z$a);var FormTextEditor = React__default["default"].forwardRe
7234
7244
  onValueChange(name, value);
7235
7245
  }, [value]);
7236
7246
  // State -----------------------------------------------------------------------------------------------------------
7237
- var _e = useAutoUpdateState$1(initError), error = _e[0], setError = _e[1];
7238
- var _f = useAutoUpdateState$1(initHelperText), helperText = _f[0], setHelperText = _f[1];
7247
+ var _e = useAutoUpdateLayoutState(initError), error = _e[0], setError = _e[1];
7248
+ var _f = useAutoUpdateLayoutState(initHelperText), helperText = _f[0], setHelperText = _f[1];
7239
7249
  var _g = React.useState(false), initialized = _g[0], setInitialized = _g[1];
7240
- var _h = useAutoUpdateState$1(initDisabled), disabled = _h[0], setDisabled = _h[1];
7250
+ var _h = useAutoUpdateLayoutState(initDisabled), disabled = _h[0], setDisabled = _h[1];
7241
7251
  // Function - focus ------------------------------------------------------------------------------------------------
7242
7252
  var focus = React.useCallback(function () {
7243
7253
  var _a, _b;
@@ -7248,6 +7258,11 @@ styleInject(css_248z$a);var FormTextEditor = React__default["default"].forwardRe
7248
7258
  textarea.style.display = 'none';
7249
7259
  }
7250
7260
  }, [editorRef]);
7261
+ // Function - setErrorHelperText -----------------------------------------------------------------------------------
7262
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
7263
+ setError(error);
7264
+ setHelperText(helperText);
7265
+ }, [setError, setHelperText]);
7251
7266
  // Function - validate ---------------------------------------------------------------------------------------------
7252
7267
  var validate = React.useCallback(function (value) {
7253
7268
  var isEmptyValue = false;
@@ -7270,12 +7285,7 @@ styleInject(css_248z$a);var FormTextEditor = React__default["default"].forwardRe
7270
7285
  }
7271
7286
  setErrorHelperText(false, initHelperText);
7272
7287
  return true;
7273
- }, [onValidate, initHelperText]);
7274
- // Function - setErrorHelperText -----------------------------------------------------------------------------------
7275
- var setErrorHelperText = React.useCallback(function (error, helperText) {
7276
- setError(error);
7277
- setHelperText(helperText);
7278
- }, []);
7288
+ }, [required, onValidate, setErrorHelperText, initHelperText]);
7279
7289
  // Commands --------------------------------------------------------------------------------------------------------
7280
7290
  React.useLayoutEffect(function () {
7281
7291
  var lastValue = value;
@@ -7338,6 +7348,10 @@ styleInject(css_248z$a);var FormTextEditor = React__default["default"].forwardRe
7338
7348
  ref,
7339
7349
  onAddValueItem,
7340
7350
  onRemoveValueItem,
7351
+ id,
7352
+ setValue,
7353
+ setDisabled,
7354
+ setErrorHelperText,
7341
7355
  ]);
7342
7356
  // Event Handler ---------------------------------------------------------------------------------------------------
7343
7357
  var handleEditorChange = React.useCallback(function (value) {
@@ -7348,7 +7362,7 @@ styleInject(css_248z$a);var FormTextEditor = React__default["default"].forwardRe
7348
7362
  onValueChangeByUser(name, value);
7349
7363
  });
7350
7364
  }
7351
- }, [name, onValueChangeByUser]);
7365
+ }, [name, onValueChangeByUser, setValue]);
7352
7366
  var handleKeyDown = React.useCallback(function () {
7353
7367
  keyDownTime.current = new Date().getTime();
7354
7368
  }, []);
@@ -7390,7 +7404,7 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7390
7404
  // ID --------------------------------------------------------------------------------------------------------------
7391
7405
  var initVariant = _a.variant, initSize = _a.size, initColor = _a.color, initFocused = _a.focused, initLabelShrink = _a.labelShrink, initFullWidth = _a.fullWidth,
7392
7406
  //----------------------------------------------------------------------------------------------------------------
7393
- name = _a.name, labelIcon = _a.labelIcon, label = _a.label, initLoading = _a.loading, initItems = _a.items, initValue = _a.value, initError = _a.error, initHelperText = _a.helperText, initDisabled = _a.disabled, readOnly = _a.readOnly, required = _a.required, exceptValue = _a.exceptValue, width = _a.width, placeholder = _a.placeholder, initMultiple = _a.multiple, formValueSeparator = _a.formValueSeparator, formValueSort = _a.formValueSort, disablePortal = _a.disablePortal, noOptionsText = _a.noOptionsText, loadingText = _a.loadingText, limitTags = _a.limitTags, openOnFocus = _a.openOnFocus, disableClearable = _a.disableClearable, onLoadItems = _a.onLoadItems, onRenderItem = _a.onRenderItem, onRenderTag = _a.onRenderTag, onAddItem = _a.onAddItem,
7407
+ name = _a.name, labelIcon = _a.labelIcon, label = _a.label, initLoading = _a.loading, initItems = _a.items, initValue = _a.value, initError = _a.error, initHelperText = _a.helperText, initDisabled = _a.disabled, readOnly = _a.readOnly, required = _a.required, exceptValue = _a.exceptValue, width = _a.width, placeholder = _a.placeholder, multiple = _a.multiple, formValueSeparator = _a.formValueSeparator, formValueSort = _a.formValueSort, disablePortal = _a.disablePortal, noOptionsText = _a.noOptionsText, loadingText = _a.loadingText, limitTags = _a.limitTags, openOnFocus = _a.openOnFocus, disableClearable = _a.disableClearable, onLoadItems = _a.onLoadItems, onRenderItem = _a.onRenderItem, onRenderTag = _a.onRenderTag, onAddItem = _a.onAddItem,
7394
7408
  //----------------------------------------------------------------------------------------------------------------
7395
7409
  onChange = _a.onChange, onValue = _a.onValue, onValidate = _a.onValidate,
7396
7410
  //----------------------------------------------------------------------------------------------------------------
@@ -7400,25 +7414,22 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7400
7414
  var textFieldRef = React.useRef(null);
7401
7415
  // FormState -------------------------------------------------------------------------------------------------------
7402
7416
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formFocused = _b.focused, formLabelShrink = _b.labelShrink, formFullWidth = _b.fullWidth, onAddValueItem = _b.onAddValueItem, onRemoveValueItem = _b.onRemoveValueItem, onValueChange = _b.onValueChange, onValueChangeByUser = _b.onValueChangeByUser, onRequestSearchSubmit = _b.onRequestSearchSubmit;
7403
- // State - FormState -----------------------------------------------------------------------------------------------
7404
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
7405
- var size = useAutoUpdateState$1(initSize || formSize)[0];
7406
- var color = useAutoUpdateState$1(initColor || formColor)[0];
7407
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
7408
- var labelShrink = useAutoUpdateState$1(initLabelShrink || formLabelShrink)[0];
7409
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
7417
+ // Memo - FormState ------------------------------------------------------------------------------------------------
7418
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
7419
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
7420
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
7421
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
7422
+ var labelShrink = React.useMemo(function () { return (initLabelShrink == null ? formLabelShrink : initLabelShrink); }, [initLabelShrink, formLabelShrink]);
7423
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
7410
7424
  // State -----------------------------------------------------------------------------------------------------------
7411
7425
  var _c = React.useState(false), isOnGetItemLoading = _c[0], setIsOnGetItemLoading = _c[1];
7412
- var _d = useAutoUpdateState$1(initItems), items = _d[0], setItems = _d[1];
7413
- var _e = useAutoUpdateState$1(initError), error = _e[0], setError = _e[1];
7414
- var _f = useAutoUpdateState$1(initHelperText), helperText = _f[0], setHelperText = _f[1];
7415
- var _g = useAutoUpdateState$1(initLoading), loading = _g[0], setLoading = _g[1];
7416
- var _h = useAutoUpdateState$1(initDisabled), disabled = _h[0], setDisabled = _h[1];
7417
- var multiple = useAutoUpdateLayoutState(React.useCallback(function () {
7418
- return initMultiple;
7419
- }, [initMultiple]))[0];
7420
- // State - itemsValues-----------------------------------------------------------------------------------------------------------
7421
- var itemsValues = useAutoUpdateState$1(React.useCallback(function () {
7426
+ var _d = useAutoUpdateLayoutState(initItems), items = _d[0], setItems = _d[1];
7427
+ var _e = useAutoUpdateLayoutState(initError), error = _e[0], setError = _e[1];
7428
+ var _f = useAutoUpdateLayoutState(initHelperText), helperText = _f[0], setHelperText = _f[1];
7429
+ var _g = useAutoUpdateLayoutState(initLoading), loading = _g[0], setLoading = _g[1];
7430
+ var _h = useAutoUpdateLayoutState(initDisabled), disabled = _h[0], setDisabled = _h[1];
7431
+ // Memo --------------------------------------------------------------------------------------------------------------
7432
+ var itemsValues = React.useMemo(function () {
7422
7433
  if (items) {
7423
7434
  return items.reduce(function (res, _a) {
7424
7435
  var value = _a.value;
@@ -7429,19 +7440,18 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7429
7440
  else {
7430
7441
  return {};
7431
7442
  }
7432
- }, [items]))[0];
7433
- // State - style ---------------------------------------------------------------------------------------------------
7434
- var style = useAutoUpdateState$1(React.useCallback(function () {
7443
+ }, [items]);
7444
+ var style = React.useMemo(function () {
7435
7445
  var style = __assign$4({ minWidth: 120 }, initStyle);
7436
7446
  if (width != null) {
7437
7447
  style.width = width;
7438
7448
  }
7439
7449
  return style;
7440
- }, [initStyle, width]))[0];
7450
+ }, [initStyle, width]);
7441
7451
  // Function - getFinalValue ----------------------------------------------------------------------------------------
7442
7452
  var getFinalValue = React.useCallback(function (value) {
7443
7453
  var finalValue = value;
7444
- if (initMultiple) {
7454
+ if (multiple) {
7445
7455
  if (!Array.isArray(finalValue)) {
7446
7456
  if (finalValue != null && notEmpty(finalValue)) {
7447
7457
  if (typeof finalValue === 'string') {
@@ -7468,7 +7478,7 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7468
7478
  }
7469
7479
  if (notEmpty(itemsValues)) {
7470
7480
  if (finalValue != null && notEmpty(finalValue)) {
7471
- if (initMultiple) {
7481
+ if (multiple) {
7472
7482
  if (Array.isArray(finalValue)) {
7473
7483
  finalValue = finalValue.map(function (v) {
7474
7484
  var realValue = itemsValues[v.toString()];
@@ -7485,13 +7495,13 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7485
7495
  }
7486
7496
  }
7487
7497
  return onValue ? onValue(finalValue) : finalValue;
7488
- }, [initMultiple, formValueSeparator, itemsValues, onValue]);
7498
+ }, [multiple, formValueSeparator, itemsValues, onValue]);
7489
7499
  // State - value ---------------------------------------------------------------------------------------------------
7490
7500
  var _j = useAutoUpdateLayoutState(initValue, getFinalValue), value = _j[0], setValue = _j[1];
7491
- var componentValue = useAutoUpdateLayoutState(React.useCallback(function () {
7501
+ var componentValue = React.useMemo(function () {
7492
7502
  var finalValue = value;
7493
7503
  if (finalValue != null) {
7494
- if (initMultiple) {
7504
+ if (multiple) {
7495
7505
  if (!Array.isArray(finalValue)) {
7496
7506
  finalValue = [finalValue];
7497
7507
  }
@@ -7503,20 +7513,20 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7503
7513
  }
7504
7514
  }
7505
7515
  else {
7506
- finalValue = initMultiple ? [] : undefined;
7516
+ finalValue = multiple ? [] : undefined;
7507
7517
  }
7508
7518
  if (notEmpty(finalValue) && items) {
7509
7519
  if (Array.isArray(finalValue)) {
7510
7520
  return items.filter(function (info) { return Array.isArray(finalValue) && finalValue.includes(info.value); });
7511
7521
  }
7512
7522
  else {
7513
- return items.find(function (info) { return info.value === value; }) || (initMultiple ? [] : null);
7523
+ return items.find(function (info) { return info.value === value; }) || (multiple ? [] : null);
7514
7524
  }
7515
7525
  }
7516
7526
  else {
7517
- return initMultiple ? [] : null;
7527
+ return multiple ? [] : null;
7518
7528
  }
7519
- }, [value, initMultiple, items]))[0];
7529
+ }, [value, multiple, items]);
7520
7530
  // Effect ----------------------------------------------------------------------------------------------------------
7521
7531
  React.useEffect(function () {
7522
7532
  if (value !== initValue) {
@@ -7531,6 +7541,7 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7531
7541
  setIsOnGetItemLoading(false);
7532
7542
  });
7533
7543
  }
7544
+ // eslint-disable-next-line react-hooks/exhaustive-deps
7534
7545
  }, []);
7535
7546
  useFirstSkipEffect$1(function () {
7536
7547
  if (error)
@@ -7544,6 +7555,11 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7544
7555
  var _a;
7545
7556
  (_a = textFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
7546
7557
  }, [textFieldRef]);
7558
+ // Function - setErrorHelperText -----------------------------------------------------------------------------------
7559
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
7560
+ setError(error);
7561
+ setHelperText(helperText);
7562
+ }, [setError, setHelperText]);
7547
7563
  // Function - validate ---------------------------------------------------------------------------------------------
7548
7564
  var validate = React.useCallback(function (value) {
7549
7565
  if (required && empty$1(value)) {
@@ -7559,12 +7575,7 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7559
7575
  }
7560
7576
  setErrorHelperText(false, initHelperText);
7561
7577
  return true;
7562
- }, [required, onValidate, initHelperText]);
7563
- // Function - setErrorHelperText -----------------------------------------------------------------------------------
7564
- var setErrorHelperText = React.useCallback(function (error, helperText) {
7565
- setError(error);
7566
- setHelperText(helperText);
7567
- }, []);
7578
+ }, [required, onValidate, setErrorHelperText, initHelperText]);
7568
7579
  // Commands --------------------------------------------------------------------------------------------------------
7569
7580
  React.useLayoutEffect(function () {
7570
7581
  if (ref || onAddValueItem) {
@@ -7650,6 +7661,14 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7650
7661
  ref,
7651
7662
  onAddValueItem,
7652
7663
  onRemoveValueItem,
7664
+ loading,
7665
+ id,
7666
+ setValue,
7667
+ setDisabled,
7668
+ setErrorHelperText,
7669
+ initHelperText,
7670
+ setItems,
7671
+ setLoading,
7653
7672
  ]);
7654
7673
  // Event Handler ---------------------------------------------------------------------------------------------------
7655
7674
  var handleChange = React.useCallback(function (componentValue, reason, details) {
@@ -7666,7 +7685,7 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7666
7685
  }
7667
7686
  }
7668
7687
  var finalValue = getFinalValue(newValue);
7669
- if (!isSame$1(value, finalValue)) {
7688
+ if (!isSame$2(value, finalValue)) {
7670
7689
  setValue(finalValue);
7671
7690
  nextTick(function () {
7672
7691
  onValueChangeByUser(name, finalValue);
@@ -7694,7 +7713,7 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
7694
7713
  else {
7695
7714
  go();
7696
7715
  }
7697
- }, [value, multiple, readOnly, getFinalValue, name, onValueChangeByUser, onRequestSearchSubmit, onAddItem]);
7716
+ }, [multiple, getFinalValue, value, setValue, onValueChangeByUser, name, onRequestSearchSubmit, onAddItem]);
7698
7717
  // Render ----------------------------------------------------------------------------------------------------------
7699
7718
  return (React__default["default"].createElement(material.Autocomplete, { options: items || [], className: classNames$1(className, 'FormValueItem', 'FormAutocomplete'), sx: sx, multiple: multiple, fullWidth: !width && fullWidth, openOnFocus: openOnFocus, disableClearable: disableClearable, disablePortal: disablePortal, noOptionsText: noOptionsText, value: componentValue, style: style, isOptionEqualToValue: function (option, value) { return option.value === value.value; }, disabled: disabled, readOnly: readOnly, loading: loading || isOnGetItemLoading, loadingText: loadingText, limitTags: limitTags, onChange: function (e, value, reason, details) { return handleChange(value, reason, details); }, renderOption: function (props, option) { return (React__default["default"].createElement("li", __assign$4({}, props, { key: option.value }), onRenderItem ? onRenderItem(option) : option.label)); }, renderTags: function (value, getTagProps) {
7700
7719
  return value.map(function (option, index) { return (React__default["default"].createElement(material.Chip, __assign$4({ size: 'small', label: onRenderTag ? onRenderTag(option) : option.label }, getTagProps({ index: index })))); });
@@ -7877,10 +7896,8 @@ IconText.defaultProps = IconTextDefaultProps;var PrivateDatePickerDefaultProps =
7877
7896
  styleInject(css_248z$9);var PrivateToggleButtonDefaultProps = {};var PrivateToggleButton = React__default["default"].forwardRef(function (_a, ref) {
7878
7897
  var children = _a.children, initClassName = _a.className, selected = _a.selected, activated = _a.activated, outlined = _a.outlined, props = __rest$2(_a, ["children", "className", "selected", "activated", "outlined"]);
7879
7898
  var theme = material.useTheme();
7880
- var className = useAutoUpdateState$1(React.useCallback(function () {
7881
- return classNames$1(initClassName, selected && 'selected', activated && 'activated', outlined && 'outlined');
7882
- }, [initClassName, selected, activated, outlined]))[0];
7883
- var sx = useAutoUpdateState$1(React.useCallback(function () {
7899
+ var className = React.useMemo(function () { return classNames$1(initClassName, selected && 'selected', activated && 'activated', outlined && 'outlined'); }, [activated, initClassName, outlined, selected]);
7900
+ var sx = React.useMemo(function () {
7884
7901
  var newSx = {
7885
7902
  color: 'inherit',
7886
7903
  ':hover': {
@@ -7901,7 +7918,7 @@ styleInject(css_248z$9);var PrivateToggleButtonDefaultProps = {};var PrivateTogg
7901
7918
  }
7902
7919
  }
7903
7920
  return newSx;
7904
- }, [selected, activated, outlined]))[0];
7921
+ }, [activated, outlined, selected, theme]);
7905
7922
  return (React__default["default"].createElement(material.Button, __assign$4({}, props, { ref: ref, sx: sx, variant: 'text', className: classNames$1(className, selected && 'selected') }), children));
7906
7923
  });
7907
7924
  PrivateToggleButton.displayName = 'PrivateToggleButton';
@@ -14061,6 +14078,7 @@ var PrivateYearSelect = function (_a) {
14061
14078
  });
14062
14079
  }
14063
14080
  }
14081
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14064
14082
  }, []);
14065
14083
  // Render ----------------------------------------------------------------------------------------------------------
14066
14084
  var today = dayjs__default["default"]().startOf('date');
@@ -14167,6 +14185,7 @@ var PrivateTimeSelect = React__default["default"].forwardRef(function (_a, ref)
14167
14185
  if (value != null) {
14168
14186
  scrollToValue(value);
14169
14187
  }
14188
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14170
14189
  }, []);
14171
14190
  // LayoutEffect ----------------------------------------------------------------------------------------------------
14172
14191
  React.useLayoutEffect(function () {
@@ -14237,24 +14256,14 @@ var PrivateStaticDatePicker = React__default["default"].forwardRef(function (_a,
14237
14256
  var _c = React.useState(null), activeMonthValue = _c[0], setActiveMonthValue = _c[1];
14238
14257
  var _d = React.useState(false), yearSelectOpen = _d[0], setYearSelectOpen = _d[1];
14239
14258
  var _e = React.useState(false), monthSelectOpen = _e[0], setMonthSelectOpen = _e[1];
14240
- var hours = useAutoUpdateState$1(React.useCallback(function () {
14241
- return initHours || DEFAULT_HOURS;
14242
- }, [initHours]))[0];
14243
- var minutes = useAutoUpdateState$1(React.useCallback(function () {
14244
- return initMinutes || DEFAULT_MINUTES;
14245
- }, [initMinutes]))[0];
14246
- var seconds = useAutoUpdateState$1(React.useCallback(function () {
14247
- return initSeconds || DEFAULT_SECONDS;
14248
- }, [initSeconds]))[0];
14249
- var availableDate = useAutoUpdateState$1(React.useCallback(function () {
14250
- if (initAvailableDate) {
14251
- return initAvailableDate;
14252
- }
14253
- else {
14254
- return makeAvailableDate(minDate, maxDate, !!disablePast, !!disableFuture);
14255
- }
14256
- }, [initAvailableDate, minDate, maxDate, disablePast, disableFuture]))[0];
14257
- var disableHours = useAutoUpdateState$1(React.useCallback(function () {
14259
+ // Memo --------------------------------------------------------------------------------------------------------------
14260
+ var hours = React.useMemo(function () { return initHours || DEFAULT_HOURS; }, [initHours]);
14261
+ var minutes = React.useMemo(function () { return initMinutes || DEFAULT_MINUTES; }, [initMinutes]);
14262
+ var seconds = React.useMemo(function () { return initSeconds || DEFAULT_SECONDS; }, [initSeconds]);
14263
+ var availableDate = React.useMemo(function () {
14264
+ return initAvailableDate ? initAvailableDate : makeAvailableDate(minDate, maxDate, !!disablePast, !!disableFuture);
14265
+ }, [initAvailableDate, minDate, maxDate, disablePast, disableFuture]);
14266
+ var disableHours = React.useMemo(function () {
14258
14267
  var newDisableHours = [];
14259
14268
  if (time && value && (availableDate[0] || availableDate[1])) {
14260
14269
  hours.forEach(function (h) {
@@ -14264,8 +14273,8 @@ var PrivateStaticDatePicker = React__default["default"].forwardRef(function (_a,
14264
14273
  });
14265
14274
  }
14266
14275
  return newDisableHours;
14267
- }, [time, value, availableDate, hours]))[0];
14268
- var disableMinutes = useAutoUpdateState$1(React.useCallback(function () {
14276
+ }, [time, value, availableDate, hours]);
14277
+ var disableMinutes = React.useMemo(function () {
14269
14278
  var newDisableMinutes = [];
14270
14279
  if (time === 'minute' || time === 'second') {
14271
14280
  if (value && (availableDate[0] || availableDate[1])) {
@@ -14277,8 +14286,8 @@ var PrivateStaticDatePicker = React__default["default"].forwardRef(function (_a,
14277
14286
  }
14278
14287
  }
14279
14288
  return newDisableMinutes;
14280
- }, [time, value, availableDate, minutes]))[0];
14281
- var disableSeconds = useAutoUpdateState$1(React.useCallback(function () {
14289
+ }, [time, value, availableDate, minutes]);
14290
+ var disableSeconds = React.useMemo(function () {
14282
14291
  var newDisableSeconds = [];
14283
14292
  if (time === 'second') {
14284
14293
  if (value && (availableDate[0] || availableDate[1])) {
@@ -14290,7 +14299,7 @@ var PrivateStaticDatePicker = React__default["default"].forwardRef(function (_a,
14290
14299
  }
14291
14300
  }
14292
14301
  return newDisableSeconds;
14293
- }, [time, value, availableDate, seconds]))[0];
14302
+ }, [time, value, availableDate, seconds]);
14294
14303
  // Effect ----------------------------------------------------------------------------------------------------------
14295
14304
  React.useEffect(function () {
14296
14305
  if (!yearSelectOpen) {
@@ -14314,12 +14323,10 @@ var PrivateStaticDatePicker = React__default["default"].forwardRef(function (_a,
14314
14323
  };
14315
14324
  return ArrowButton;
14316
14325
  })[0];
14317
- var components = useAutoUpdateState$1(React.useCallback(function () {
14318
- return {
14319
- LeftArrowButton: LeftArrowButton,
14320
- RightArrowButton: RightArrowButton,
14321
- };
14322
- }, [LeftArrowButton, RightArrowButton]))[0];
14326
+ var components = React.useMemo(function () { return ({
14327
+ LeftArrowButton: LeftArrowButton,
14328
+ RightArrowButton: RightArrowButton,
14329
+ }); }, [LeftArrowButton, RightArrowButton]);
14323
14330
  // Function --------------------------------------------------------------------------------------------------------
14324
14331
  var previousMonth = React.useCallback(function () {
14325
14332
  if (leftArrowOnClickRef.current) {
@@ -14396,7 +14403,7 @@ var PrivateStaticDatePicker = React__default["default"].forwardRef(function (_a,
14396
14403
  }
14397
14404
  onChange('action_date', finalDate, finalDate.format(inputFormat));
14398
14405
  } }, label));
14399
- }, [type, time, onChange, inputFormat, availableDate, timeSelectScrollToDate]);
14406
+ }, [type, time, onChange, inputFormat, availableDate]);
14400
14407
  // Render ----------------------------------------------------------------------------------------------------------
14401
14408
  return (React__default["default"].createElement(material.Grid, { container: true, className: classNames$1('PrivateStaticDatePicker', type) },
14402
14409
  type !== 'time' && (React__default["default"].createElement(material.Grid, { item: true },
@@ -14534,49 +14541,48 @@ styleInject(css_248z$5);var PrivateDatePicker = React__default["default"].forwar
14534
14541
  var openValueRef = React.useRef(null);
14535
14542
  // FormState -------------------------------------------------------------------------------------------------------
14536
14543
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formFocused = _b.focused, formLabelShrink = _b.labelShrink, formFullWidth = _b.fullWidth, formColWithHelperText = _b.formColWithHelperText, onAddValueItem = _b.onAddValueItem, onRemoveValueItem = _b.onRemoveValueItem, onValueChange = _b.onValueChange, onValueChangeByUser = _b.onValueChangeByUser, onRequestSearchSubmit = _b.onRequestSearchSubmit;
14537
- // State - FormState -----------------------------------------------------------------------------------------------
14538
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
14539
- var size = useAutoUpdateState$1(initSize || formSize)[0];
14540
- var color = useAutoUpdateState$1(initColor || formColor)[0];
14541
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
14542
- var labelShrink = useAutoUpdateState$1(initLabelShrink || formLabelShrink)[0];
14543
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
14544
+ // Memo - FormState ------------------------------------------------------------------------------------------------
14545
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
14546
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
14547
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
14548
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
14549
+ var labelShrink = React.useMemo(function () { return (initLabelShrink == null ? formLabelShrink : initLabelShrink); }, [initLabelShrink, formLabelShrink]);
14550
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
14544
14551
  // State - open ----------------------------------------------------------------------------------------------------
14545
14552
  var _c = React.useState(false), open = _c[0], setOpen = _c[1];
14546
14553
  // State -----------------------------------------------------------------------------------------------------------
14547
- var _d = useAutoUpdateState$1(initError), error = _d[0], setError = _d[1];
14554
+ var _d = useAutoUpdateLayoutState(initError), error = _d[0], setError = _d[1];
14548
14555
  var _e = React.useState(null), timeError = _e[0], setTimeError = _e[1];
14549
- var _f = useAutoUpdateState$1(initHelperText), helperText = _f[0], setHelperText = _f[1];
14550
- var _g = useAutoUpdateState$1(initDisabled), disabled = _g[0], setDisabled = _g[1];
14551
- var label = useAutoUpdateState$1(React.useCallback(function () {
14556
+ var _f = useAutoUpdateLayoutState(initHelperText), helperText = _f[0], setHelperText = _f[1];
14557
+ var _g = useAutoUpdateLayoutState(initDisabled), disabled = _g[0], setDisabled = _g[1];
14558
+ // Memo --------------------------------------------------------------------------------------------------------------
14559
+ var label = React.useMemo(function () {
14552
14560
  if (labelIcon) {
14553
14561
  return React__default["default"].createElement(IconText, { icon: labelIcon }, initLabel);
14554
14562
  }
14555
14563
  else {
14556
14564
  return initLabel;
14557
14565
  }
14558
- }, [initLabel, labelIcon]))[0];
14559
- var format = useAutoUpdateState$1(React.useCallback(function () {
14566
+ }, [initLabel, labelIcon]);
14567
+ var format = React.useMemo(function () {
14560
14568
  if (initFormat) {
14561
14569
  return initFormat;
14562
14570
  }
14563
14571
  else {
14564
14572
  return getDateTimeFormat(type, time);
14565
14573
  }
14566
- }, [type, time, initFormat]))[0];
14567
- var formValueFormat = useAutoUpdateState$1(React.useCallback(function () {
14574
+ }, [initFormat, time, type]);
14575
+ var formValueFormat = React.useMemo(function () {
14568
14576
  if (initFormValueFormat) {
14569
14577
  return initFormValueFormat;
14570
14578
  }
14571
14579
  else {
14572
14580
  return getDateTimeFormValueFormat(type, time);
14573
14581
  }
14574
- }, [time, initFormValueFormat]))[0];
14575
- var availableDate = useAutoUpdateState$1(React.useCallback(function () {
14576
- return makeAvailableDate(minDate, maxDate, !!disablePast, !!disableFuture);
14577
- }, [minDate, maxDate, disablePast, disableFuture]))[0];
14582
+ }, [initFormValueFormat, time, type]);
14583
+ var availableDate = React.useMemo(function () { return makeAvailableDate(minDate, maxDate, !!disablePast, !!disableFuture); }, [disableFuture, disablePast, maxDate, minDate]);
14578
14584
  // State - style ---------------------------------------------------------------------------------------------------
14579
- var style = useAutoUpdateState$1(React.useCallback(function () {
14585
+ var style = useAutoUpdateLayoutState(React.useCallback(function () {
14580
14586
  if (width != null) {
14581
14587
  return __assign$4(__assign$4({}, initStyle), { width: width });
14582
14588
  }
@@ -14598,6 +14604,7 @@ styleInject(css_248z$5);var PrivateDatePicker = React__default["default"].forwar
14598
14604
  onChange(value);
14599
14605
  onValueChange(name, value);
14600
14606
  }
14607
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14601
14608
  }, []);
14602
14609
  useFirstSkipEffect$1(function () {
14603
14610
  if (error)
@@ -14633,7 +14640,7 @@ styleInject(css_248z$5);var PrivateDatePicker = React__default["default"].forwar
14633
14640
  }
14634
14641
  }, [open]);
14635
14642
  React.useEffect(function () {
14636
- if (time && value && (availableDate[0] || availableDate[1])) {
14643
+ if (type !== 'time' && time && value && (availableDate[0] || availableDate[1])) {
14637
14644
  var availableDateVal = getAvailableDateVal(availableDate, type, time);
14638
14645
  var valueVal = getDateValForAvailableDate(value, type, time);
14639
14646
  var timeError_1 = null;
@@ -14648,12 +14655,18 @@ styleInject(css_248z$5);var PrivateDatePicker = React__default["default"].forwar
14648
14655
  else {
14649
14656
  setTimeError(null);
14650
14657
  }
14658
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14651
14659
  }, [value]);
14652
14660
  // Function - focus ------------------------------------------------------------------------------------------------
14653
14661
  var focus = React.useCallback(function () {
14654
14662
  var _a;
14655
14663
  (_a = textFieldInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
14656
14664
  }, [textFieldInputRef]);
14665
+ // Function - setErrorHelperText -----------------------------------------------------------------------------------
14666
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
14667
+ setError(error);
14668
+ setHelperText(helperText);
14669
+ }, [setError, setHelperText]);
14657
14670
  // Function - validate ---------------------------------------------------------------------------------------------
14658
14671
  var validate = React.useCallback(function (value) {
14659
14672
  if (required && empty$1(value)) {
@@ -14681,12 +14694,7 @@ styleInject(css_248z$5);var PrivateDatePicker = React__default["default"].forwar
14681
14694
  }
14682
14695
  setErrorHelperText(false, initHelperText);
14683
14696
  return true;
14684
- }, [required, onValidate, initHelperText, datePickerErrorRef, timeError]);
14685
- // Function - setErrorHelperText -----------------------------------------------------------------------------------
14686
- var setErrorHelperText = React.useCallback(function (error, helperText) {
14687
- setError(error);
14688
- setHelperText(helperText);
14689
- }, []);
14697
+ }, [required, timeError, onValidate, setErrorHelperText, initHelperText]);
14690
14698
  // Commands --------------------------------------------------------------------------------------------------------
14691
14699
  React.useLayoutEffect(function () {
14692
14700
  if (ref || onAddValueItem) {
@@ -14755,6 +14763,11 @@ styleInject(css_248z$5);var PrivateDatePicker = React__default["default"].forwar
14755
14763
  ref,
14756
14764
  onAddValueItem,
14757
14765
  onRemoveValueItem,
14766
+ id,
14767
+ setValue,
14768
+ setDisabled,
14769
+ setErrorHelperText,
14770
+ initHelperText,
14758
14771
  ]);
14759
14772
  // Event Handler ---------------------------------------------------------------------------------------------------
14760
14773
  var handleChange = React.useCallback(function (unit, newValue, keyboardInputValue) {
@@ -14769,7 +14782,7 @@ styleInject(css_248z$5);var PrivateDatePicker = React__default["default"].forwar
14769
14782
  }
14770
14783
  var finalValue = newValue;
14771
14784
  if (updateValue) {
14772
- if (finalValue != null && keyboardInputValue == null) {
14785
+ if (type !== 'time' && finalValue != null && keyboardInputValue == null) {
14773
14786
  var checkResult = checkDateAvailable(finalValue, availableDate, type, time);
14774
14787
  if (checkResult !== 'available') {
14775
14788
  var availableDateDate = getAvailableDate(availableDate, type, time);
@@ -14819,7 +14832,7 @@ styleInject(css_248z$5);var PrivateDatePicker = React__default["default"].forwar
14819
14832
  }
14820
14833
  }
14821
14834
  setInputValue(finalValue);
14822
- }, [name, type, time, availableDate, open, value]);
14835
+ }, [type, time, setValue, availableDate, open, onValueChangeByUser, name, onRequestSearchSubmit]);
14823
14836
  var handleContainerFocus = React.useCallback(function () {
14824
14837
  if (closeTimeoutRef.current) {
14825
14838
  clearTimeout(closeTimeoutRef.current);
@@ -14963,7 +14976,7 @@ FormTimePicker.defaultProps = FormTimePickerDefaultProps;var FormDateRangePicker
14963
14976
  styleInject(css_248z$4);var CustomDatePicker = React__default["default"].forwardRef(function (_a, ref) {
14964
14977
  // State -----------------------------------------------------------------------------------------------------------
14965
14978
  var selectType = _a.selectType, initValue = _a.value, focusedDate = _a.focusedDate, month = _a.month, disableFuture = _a.disableFuture, disablePast = _a.disablePast, minDate = _a.minDate, maxDate = _a.maxDate, onValueChange = _a.onValueChange, onMouseEnterPickersDay = _a.onMouseEnterPickersDay, onMonthChange = _a.onMonthChange;
14966
- var value = useAutoUpdateState$1(React.useCallback(function () {
14979
+ var value = useAutoUpdateLayoutState(React.useCallback(function () {
14967
14980
  return initValue ? initValue : [null, null];
14968
14981
  }, [initValue]))[0];
14969
14982
  var _b = React.useState(null), activeMonthValue = _b[0], setActiveMonthValue = _b[1];
@@ -14984,18 +14997,16 @@ styleInject(css_248z$4);var CustomDatePicker = React__default["default"].forward
14984
14997
  };
14985
14998
  return ArrowButton;
14986
14999
  })[0];
14987
- var components = useAutoUpdateState$1(React.useCallback(function () {
14988
- return {
14989
- LeftArrowButton: LeftArrowButton,
14990
- RightArrowButton: RightArrowButton,
14991
- };
14992
- }, [LeftArrowButton, RightArrowButton]))[0];
15000
+ var components = React.useMemo(function () { return ({
15001
+ LeftArrowButton: LeftArrowButton,
15002
+ RightArrowButton: RightArrowButton,
15003
+ }); }, [LeftArrowButton, RightArrowButton]);
14993
15004
  //--------------------------------------------------------------------------------------------------------------------
14994
15005
  var getDateVal = React.useCallback(function (date) {
14995
15006
  return Number(date.format('YYYYMMDD'));
14996
15007
  }, []);
14997
15008
  //--------------------------------------------------------------------------------------------------------------------
14998
- var baseClassNames = useAutoUpdateState$1(React.useCallback(function () {
15009
+ var baseClassNames = React.useMemo(function () {
14999
15010
  var newValue = {};
15000
15011
  var lastDayOfMonth = month.endOf('month').date();
15001
15012
  var now = dayjs__default["default"](month);
@@ -15011,8 +15022,8 @@ styleInject(css_248z$4);var CustomDatePicker = React__default["default"].forward
15011
15022
  newValue[nowVal] = className;
15012
15023
  }
15013
15024
  return newValue;
15014
- }, [month]))[0];
15015
- var selectedClassNames = useAutoUpdateState$1(React.useCallback(function () {
15025
+ }, [getDateVal, month]);
15026
+ var selectedClassNames = React.useMemo(function () {
15016
15027
  var newValue = {};
15017
15028
  var startDateVal = value[0] ? getDateVal(value[0]) : null;
15018
15029
  var endDateVal = value[1] ? getDateVal(value[1]) : null;
@@ -15036,8 +15047,8 @@ styleInject(css_248z$4);var CustomDatePicker = React__default["default"].forward
15036
15047
  newValue[nowVal] = className;
15037
15048
  }
15038
15049
  return newValue;
15039
- }, [month, value]))[0];
15040
- var focusedClassNames = useAutoUpdateState$1(React.useCallback(function () {
15050
+ }, [getDateVal, month, value]);
15051
+ var focusedClassNames = React.useMemo(function () {
15041
15052
  var newValue = {};
15042
15053
  var startDateVal = value[0] ? getDateVal(value[0]) : null;
15043
15054
  var endDateVal = value[1] ? getDateVal(value[1]) : null;
@@ -15081,7 +15092,7 @@ styleInject(css_248z$4);var CustomDatePicker = React__default["default"].forward
15081
15092
  }
15082
15093
  }
15083
15094
  return newValue;
15084
- }, [selectType, month, value, focusedDate]))[0];
15095
+ }, [value, getDateVal, focusedDate, month, selectType]);
15085
15096
  //--------------------------------------------------------------------------------------------------------------------
15086
15097
  var previousMonth = React.useCallback(function () {
15087
15098
  if (leftArrowOnClickRef.current) {
@@ -15131,7 +15142,7 @@ styleInject(css_248z$4);var CustomDatePicker = React__default["default"].forward
15131
15142
  React__default["default"].createElement("div", { className: classNames$1('focused-bg', baseClassName, focusedClassName) }),
15132
15143
  React__default["default"].createElement("div", { className: classNames$1('selected-bg', baseClassName, selectedClassName) }),
15133
15144
  React__default["default"].createElement(xDatePickers.PickersDay, __assign$4({}, pickersDayProps, { disableMargin: true, selected: date.isSame(startDate, 'date') || date.isSame(endDate, 'date'), onMouseEnter: value[0] || value[1] ? function () { return onMouseEnterPickersDay && onMouseEnterPickersDay(date); } : undefined }))));
15134
- }, [value, baseClassNames, selectedClassNames, focusedClassNames]);
15145
+ }, [value, getDateVal, baseClassNames, selectedClassNames, focusedClassNames, onMouseEnterPickersDay]);
15135
15146
  return (React__default["default"].createElement(xDatePickers.StaticDatePicker, { className: 'CustomDatePicker', displayStaticWrapperAs: 'desktop', components: components, value: activeMonthValue, defaultCalendarMonth: month, disableFuture: disableFuture, disablePast: disablePast, minDate: minDate, maxDate: maxDate, onChange: function (newValue) { return onValueChange && onValueChange(selectType, newValue); }, renderDay: handleRenderDay, renderInput: function (params) { return React__default["default"].createElement(material.TextField, __assign$4({}, params)); }, inputFormat: 'YYYY-MM-DD HH:mm:ss', onMonthChange: function (month) {
15136
15147
  if (onMonthChange)
15137
15148
  onMonthChange(month);
@@ -15157,17 +15168,13 @@ var CustomDatePickerContainer = React__default["default"].forwardRef(function (_
15157
15168
  var datePicker3Ref = React.useRef(null);
15158
15169
  var yearSelectRef = React.useRef(null);
15159
15170
  var activeYearBtnRef = React.useRef(null);
15160
- // State -----------------------------------------------------------------------------------------------------------
15171
+ // Memo --------------------------------------------------------------------------------------------------------------
15161
15172
  var _b = React.useState(), focusedDate = _b[0], setFocusedDate = _b[1];
15162
15173
  var _c = React.useState(0), yearMonthSelectIndex = _c[0], setYearMonthSelectIndex = _c[1];
15163
15174
  var _d = React.useState(false), yearSelectOpen = _d[0], setYearSelectOpen = _d[1];
15164
15175
  var _e = React.useState(false), monthSelectOpen = _e[0], setMonthSelectOpen = _e[1];
15165
- var customDatePickerProps = useAutoUpdateState$1(React.useCallback(function () {
15166
- return { selectType: selectType, value: value, minDate: minDate, maxDate: maxDate, disableFuture: disableFuture, disablePast: disablePast, onValueChange: onValueChange };
15167
- }, [selectType, value, minDate, maxDate, disableFuture, disablePast, onValueChange]))[0];
15168
- var availableDate = useAutoUpdateState$1(React.useCallback(function () {
15169
- return makeAvailableDate(minDate, maxDate, !!disablePast, !!disableFuture);
15170
- }, [minDate, maxDate, disablePast, disableFuture]))[0];
15176
+ var customDatePickerProps = React.useMemo(function () { return ({ selectType: selectType, value: value, minDate: minDate, maxDate: maxDate, disableFuture: disableFuture, disablePast: disablePast, onValueChange: onValueChange }); }, [selectType, value, minDate, maxDate, disableFuture, disablePast, onValueChange]);
15177
+ var availableDate = React.useMemo(function () { return makeAvailableDate(minDate, maxDate, !!disablePast, !!disableFuture); }, [minDate, maxDate, disablePast, disableFuture]);
15171
15178
  // Effect ----------------------------------------------------------------------------------------------------------
15172
15179
  React.useEffect(function () {
15173
15180
  if (yearSelectOpen) {
@@ -15208,7 +15215,7 @@ var CustomDatePickerContainer = React__default["default"].forwardRef(function (_
15208
15215
  if (onMonthsChange) {
15209
15216
  onMonthsChange([date, date.add(1, 'month'), date.add(2, 'month')]);
15210
15217
  }
15211
- }, []);
15218
+ }, [onMonthsChange]);
15212
15219
  var handleYearSelectClick = React.useCallback(function (index) {
15213
15220
  if (yearSelectOpen) {
15214
15221
  setYearSelectOpen(false);
@@ -15245,11 +15252,11 @@ var CustomDatePickerContainer = React__default["default"].forwardRef(function (_
15245
15252
  activeMonth(months[yearMonthSelectIndex].set('year', year).subtract(yearMonthSelectIndex, 'month'));
15246
15253
  setYearSelectOpen(false);
15247
15254
  setMonthSelectOpen(true);
15248
- }, [months, yearMonthSelectIndex]);
15255
+ }, [activeMonth, months, yearMonthSelectIndex]);
15249
15256
  var handleMonthSelect = React.useCallback(function (m) {
15250
15257
  activeMonth(months[yearMonthSelectIndex].set('month', m).subtract(yearMonthSelectIndex, 'month'));
15251
15258
  setMonthSelectOpen(false);
15252
- }, [months, yearMonthSelectIndex]);
15259
+ }, [activeMonth, months, yearMonthSelectIndex]);
15253
15260
  // Commands --------------------------------------------------------------------------------------------------------
15254
15261
  React.useLayoutEffect(function () {
15255
15262
  if (ref) {
@@ -15283,7 +15290,7 @@ var CustomDatePickerContainer = React__default["default"].forwardRef(function (_
15283
15290
  React__default["default"].createElement(material.Button, { variant: 'text', className: monthSelectOpen && yearMonthSelectIndex === index ? 'active' : undefined, onClick: function () { return handleMonthSelectClick(index); } },
15284
15291
  months[index].format('M월'),
15285
15292
  React__default["default"].createElement(material.Icon, null, monthSelectOpen && yearMonthSelectIndex === index ? 'arrow_drop_up' : 'arrow_drop_down'))));
15286
- }, [months, yearSelectOpen, monthSelectOpen, yearMonthSelectIndex]);
15293
+ }, [yearSelectOpen, yearMonthSelectIndex, months, monthSelectOpen, handleYearSelectClick, handleMonthSelectClick]);
15287
15294
  // Render - Function -----------------------------------------------------------------------------------------------
15288
15295
  var getActionButton = React.useCallback(function (startDate, endDate, label) {
15289
15296
  var availableDateDate = getAvailableDate(availableDate, 'date');
@@ -15309,7 +15316,8 @@ var CustomDatePickerContainer = React__default["default"].forwardRef(function (_
15309
15316
  onChange([finalStartDate, finalEndDate]);
15310
15317
  } }, label));
15311
15318
  }, [onChange, availableDate]);
15312
- var actionButtons = useAutoUpdateState$1(React.useCallback(function () {
15319
+ // Render ----------------------------------------------------------------------------------------------------------
15320
+ var actionButtons = React.useMemo(function () {
15313
15321
  var now = dayjs__default["default"]().startOf('d');
15314
15322
  var lastWeek = now.subtract(1, 'week');
15315
15323
  var dayOfWeek = now.day();
@@ -15332,8 +15340,7 @@ var CustomDatePickerContainer = React__default["default"].forwardRef(function (_
15332
15340
  getActionButton(thisWeekDate[0], thisWeekDate[1], '이번주'),
15333
15341
  getActionButton(now.subtract(1, 'd'), now.subtract(1, 'd'), '어제'),
15334
15342
  getActionButton(now, now, '오늘')));
15335
- }, [getActionButton]))[0];
15336
- // Render ----------------------------------------------------------------------------------------------------------
15343
+ }, [getActionButton]);
15337
15344
  return (React__default["default"].createElement("div", { className: 'CustomDatePickerContainer' },
15338
15345
  React__default["default"].createElement(material.Grid, { container: true, direction: 'column' },
15339
15346
  !yearSelectOpen && !monthSelectOpen && (React__default["default"].createElement(material.Grid, { item: true },
@@ -15411,19 +15418,19 @@ styleInject(css_248z$2);var InputDatePicker = function (_a) {
15411
15418
  //--------------------------------------------------------------------------------------------------------------------
15412
15419
  className = _a.className, style = _a.style, value = _a.value, initLabel = _a.label, labelIcon = _a.labelIcon, inputRef = _a.inputRef, format = _a.format, error = _a.error, icon = _a.icon, startAdornment = _a.startAdornment, endAdornment = _a.endAdornment, align = _a.align, readOnlyInput = _a.readOnlyInput, onFocus = _a.onFocus, onBlur = _a.onBlur, props = __rest$2(_a, ["variant", "size", "color", "focused", "fullWidth", "disabled", "readOnly", "required", "labelShrink", "className", "style", "value", "label", "labelIcon", "inputRef", "format", "error", "icon", "startAdornment", "endAdornment", "align", "readOnlyInput", "onFocus", "onBlur"]);
15413
15420
  var id = React.useId();
15414
- // State -----------------------------------------------------------------------------------------------------------
15415
- var label = useAutoUpdateState$1(React.useCallback(function () {
15421
+ // Memo --------------------------------------------------------------------------------------------------------------
15422
+ var label = React.useMemo(function () {
15416
15423
  return labelIcon ? (React__default["default"].createElement(React__default["default"].Fragment, null,
15417
15424
  React__default["default"].createElement(FormIcon, { style: { verticalAlign: 'middle', marginRight: 4 } }, labelIcon),
15418
15425
  React__default["default"].createElement("span", { style: { verticalAlign: 'middle' } }, initLabel))) : (initLabel);
15419
- }, [initLabel, labelIcon]))[0];
15420
- var inputLabelProps = useAutoUpdateState$1(React.useCallback(function () {
15426
+ }, [initLabel, labelIcon]);
15427
+ var inputLabelProps = React.useMemo(function () {
15421
15428
  if (labelShrink) {
15422
15429
  return {
15423
15430
  shrink: true,
15424
15431
  };
15425
15432
  }
15426
- }, [labelShrink]))[0];
15433
+ }, [labelShrink]);
15427
15434
  // Render ----------------------------------------------------------------------------------------------------------
15428
15435
  return (React__default["default"].createElement(xDatePickers.DesktopDatePicker, __assign$4({}, props, { className: classNames$1(className, 'InputDatePicker', "align-".concat(align)), open: false, value: value, inputFormat: format, disabled: disabled, readOnly: readOnly || readOnlyInput, renderInput: function (_a) {
15429
15436
  var inputStyle = _a.style, inputInputRef = _a.inputRef, inputInputProps = _a.InputProps, inputError = _a.error, inputOnFocus = _a.onFocus, inputOnBlur = _a.onBlur, params = __rest$2(_a, ["style", "inputRef", "InputProps", "error", "onFocus", "onBlur"]);
@@ -15473,13 +15480,13 @@ var FormDateRangePicker = React__default["default"].forwardRef(function (_a, ref
15473
15480
  var id = React.useId();
15474
15481
  // FormState -------------------------------------------------------------------------------------------------------
15475
15482
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formFocused = _b.focused, formLabelShrink = _b.labelShrink, formFullWidth = _b.fullWidth, formColWithHelperText = _b.formColWithHelperText, onAddValueItem = _b.onAddValueItem, onRemoveValueItem = _b.onRemoveValueItem, onValueChange = _b.onValueChange, onValueChangeByUser = _b.onValueChangeByUser, onRequestSearchSubmit = _b.onRequestSearchSubmit;
15476
- // State - FormState -----------------------------------------------------------------------------------------------
15477
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
15478
- var size = useAutoUpdateState$1(initSize || formSize)[0];
15479
- var color = useAutoUpdateState$1(initColor || formColor)[0];
15480
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
15481
- var labelShrink = useAutoUpdateState$1(initLabelShrink || formLabelShrink)[0];
15482
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
15483
+ // Memo - FormState ------------------------------------------------------------------------------------------------
15484
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
15485
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
15486
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
15487
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
15488
+ var labelShrink = React.useMemo(function () { return (initLabelShrink == null ? formLabelShrink : initLabelShrink); }, [initLabelShrink, formLabelShrink]);
15489
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
15483
15490
  // Ref -------------------------------------------------------------------------------------------------------------
15484
15491
  var containerRef = React.useRef(null);
15485
15492
  var startDateTextFieldRef = React.useRef();
@@ -15490,10 +15497,13 @@ var FormDateRangePicker = React__default["default"].forwardRef(function (_a, ref
15490
15497
  var endInputDatePickerErrorRef = React.useRef(null);
15491
15498
  var openValueRef = React.useRef();
15492
15499
  // State -----------------------------------------------------------------------------------------------------------
15493
- var _c = useAutoUpdateState$1(initError), error = _c[0], setError = _c[1];
15500
+ var _c = useAutoUpdateLayoutState(initError), error = _c[0], setError = _c[1];
15494
15501
  var _d = React.useState(false), startError = _d[0], setStartError = _d[1];
15495
15502
  var _e = React.useState(false), endError = _e[0], setEndError = _e[1];
15496
- var _f = useAutoUpdateState$1(initDisabled), disabled = _f[0], setDisabled = _f[1];
15503
+ var _f = useAutoUpdateLayoutState(initDisabled), disabled = _f[0], setDisabled = _f[1];
15504
+ var _g = useAutoUpdateLayoutState(initHelperText), helperText = _g[0], setHelperText = _g[1];
15505
+ // Memo --------------------------------------------------------------------------------------------------------------
15506
+ var format = React.useMemo(function () { return initFormat || DEFAULT_FORMAT; }, [initFormat]);
15497
15507
  // Function - getFinalValue ----------------------------------------------------------------------------------------
15498
15508
  var getFinalValue = React.useCallback(function (value) {
15499
15509
  return value || DEFAULT_VALUE;
@@ -15511,7 +15521,20 @@ var FormDateRangePicker = React__default["default"].forwardRef(function (_a, ref
15511
15521
  else {
15512
15522
  (_b = startDateTextFieldRef.current) === null || _b === void 0 ? void 0 : _b.focus();
15513
15523
  }
15514
- }, [error, startError, endError, startDateTextFieldRef, endDateTextFieldRef]);
15524
+ }, [endError, startDateTextFieldRef, endDateTextFieldRef]);
15525
+ // Function - setErrorHelperText -----------------------------------------------------------------------------------
15526
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
15527
+ setError(error);
15528
+ setHelperText(helperText);
15529
+ }, [setError, setHelperText]);
15530
+ var setStartErrorHelperText = React.useCallback(function (error, helperText) {
15531
+ setStartError(error);
15532
+ setHelperText(helperText);
15533
+ }, [setHelperText]);
15534
+ var setEndErrorHelperText = React.useCallback(function (error, helperText) {
15535
+ setEndError(error);
15536
+ setHelperText(helperText);
15537
+ }, [setHelperText]);
15515
15538
  // Function - validate ---------------------------------------------------------------------------------------------
15516
15539
  var validate = React.useCallback(function (value) {
15517
15540
  var _a, _b;
@@ -15573,20 +15596,18 @@ var FormDateRangePicker = React__default["default"].forwardRef(function (_a, ref
15573
15596
  setStartError(false);
15574
15597
  setEndError(false);
15575
15598
  return true;
15576
- }, [required, requiredStart, requiredEnd, startError, endError, allowSingleSelect, onValidate, initHelperText]);
15577
- // Function - setErrorHelperText -----------------------------------------------------------------------------------
15578
- var setErrorHelperText = React.useCallback(function (error, helperText) {
15579
- setError(error);
15580
- setHelperText(helperText);
15581
- }, []);
15582
- var setStartErrorHelperText = React.useCallback(function (error, helperText) {
15583
- setStartError(error);
15584
- setHelperText(helperText);
15585
- }, []);
15586
- var setEndErrorHelperText = React.useCallback(function (error, helperText) {
15587
- setEndError(error);
15588
- setHelperText(helperText);
15589
- }, []);
15599
+ }, [
15600
+ required,
15601
+ requiredStart,
15602
+ requiredEnd,
15603
+ allowSingleSelect,
15604
+ format,
15605
+ onValidate,
15606
+ setErrorHelperText,
15607
+ initHelperText,
15608
+ setStartErrorHelperText,
15609
+ setEndErrorHelperText,
15610
+ ]);
15590
15611
  // Function activeMonth --------------------------------------------------------------------------------------------
15591
15612
  var activeMonth = React.useCallback(function (month) {
15592
15613
  var _a;
@@ -15594,44 +15615,31 @@ var FormDateRangePicker = React__default["default"].forwardRef(function (_a, ref
15594
15615
  (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.activeMonth(month);
15595
15616
  }, [containerRef]);
15596
15617
  // State -----------------------------------------------------------------------------------------------------------
15597
- var _g = React.useState(false), open = _g[0], setOpen = _g[1];
15598
- var _h = React.useState('start'), selectType = _h[0], setSelectType = _h[1];
15599
- var _j = useAutoUpdateState$1(React.useCallback(function () {
15618
+ var _h = React.useState(false), open = _h[0], setOpen = _h[1];
15619
+ var _j = React.useState('start'), selectType = _j[0], setSelectType = _j[1];
15620
+ var _k = useAutoUpdateLayoutState(React.useCallback(function () {
15600
15621
  return initValue || DEFAULT_VALUE;
15601
- }, [initValue])), value = _j[0], setValue = _j[1];
15602
- var format = useAutoUpdateState$1(React.useCallback(function () {
15603
- return initFormat || DEFAULT_FORMAT;
15604
- }, [initFormat]))[0];
15605
- var calendarCount = useAutoUpdateState$1(initCalendarCount || 2)[0];
15606
- var _k = useAutoUpdateState$1(initHelperText), helperText = _k[0], setHelperText = _k[1];
15622
+ }, [initValue])), value = _k[0], setValue = _k[1];
15623
+ var calendarCount = useAutoUpdateLayoutState(initCalendarCount || 2)[0];
15607
15624
  var _l = React.useState(function () {
15608
15625
  var now = dayjs__default["default"]();
15609
15626
  return [now, now.add(1, 'month'), now.add(2, 'month')];
15610
15627
  }), months = _l[0], setMonths = _l[1];
15611
- var inputDatePickerProps = useAutoUpdateState$1(React.useCallback(function () {
15612
- return {
15613
- variant: variant,
15614
- size: size,
15615
- color: color,
15616
- labelShrink: labelShrink,
15617
- fullWidth: fullWidth,
15618
- disabled: disabled,
15619
- format: format,
15620
- disablePast: disablePast,
15621
- disableFuture: disableFuture,
15622
- minDate: minDate,
15623
- maxDate: maxDate,
15624
- };
15625
- }, [variant, size, color, labelShrink, fullWidth, disabled, format, disablePast, disableFuture, minDate, maxDate]))[0];
15626
- // State - inputStyle ----------------------------------------------------------------------------------------------
15627
- var inputStyle = useAutoUpdateState$1(React.useCallback(function () {
15628
- if (inputWidth != null) {
15629
- return { width: inputWidth };
15630
- }
15631
- else {
15632
- return { width: fullWidth ? undefined : 150 };
15633
- }
15634
- }, [inputWidth, fullWidth]))[0];
15628
+ // Memo --------------------------------------------------------------------------------------------------------------
15629
+ var inputDatePickerProps = React.useMemo(function () { return ({
15630
+ variant: variant,
15631
+ size: size,
15632
+ color: color,
15633
+ labelShrink: labelShrink,
15634
+ fullWidth: fullWidth,
15635
+ disabled: disabled,
15636
+ format: format,
15637
+ disablePast: disablePast,
15638
+ disableFuture: disableFuture,
15639
+ minDate: minDate,
15640
+ maxDate: maxDate,
15641
+ }); }, [variant, size, color, labelShrink, fullWidth, disabled, format, disablePast, disableFuture, minDate, maxDate]);
15642
+ var inputStyle = React.useMemo(function () { return (inputWidth != null ? { width: inputWidth } : { width: fullWidth ? undefined : 150 }); }, [inputWidth, fullWidth]);
15635
15643
  // Effect ----------------------------------------------------------------------------------------------------------
15636
15644
  React.useEffect(function () {
15637
15645
  if (value !== initValue) {
@@ -15639,6 +15647,7 @@ var FormDateRangePicker = React__default["default"].forwardRef(function (_a, ref
15639
15647
  onChange(value);
15640
15648
  onValueChange(name, value);
15641
15649
  }
15650
+ // eslint-disable-next-line react-hooks/exhaustive-deps
15642
15651
  }, []);
15643
15652
  useFirstSkipEffect$1(function () {
15644
15653
  if (error || startError || endError)
@@ -15688,7 +15697,7 @@ var FormDateRangePicker = React__default["default"].forwardRef(function (_a, ref
15688
15697
  setOpen(false);
15689
15698
  setStartErrorHelperText(false, initHelperText);
15690
15699
  setEndErrorHelperText(false, initHelperText);
15691
- }, []);
15700
+ }, [initHelperText, setEndErrorHelperText, setStartErrorHelperText, setValue]);
15692
15701
  var handleValueChange = React.useCallback(function (selectType, newValue, fromInput) {
15693
15702
  var _a;
15694
15703
  var finalValue;
@@ -15758,14 +15767,17 @@ var FormDateRangePicker = React__default["default"].forwardRef(function (_a, ref
15758
15767
  onValueChangeByUser(name, finalValue);
15759
15768
  });
15760
15769
  }, [
15761
- name,
15770
+ setValue,
15762
15771
  value,
15763
- activeMonth,
15764
15772
  setStartErrorHelperText,
15765
- setEndErrorHelperText,
15766
15773
  initHelperText,
15767
- allowSingleSelect,
15774
+ activeMonth,
15775
+ calendarCount,
15776
+ setEndErrorHelperText,
15768
15777
  open,
15778
+ onRequestSearchSubmit,
15779
+ name,
15780
+ onValueChangeByUser,
15769
15781
  ]);
15770
15782
  var handleInputDatePickerChange = React.useCallback(function (selectType, newValue) {
15771
15783
  var error = false;
@@ -15942,6 +15954,11 @@ var FormDateRangePicker = React__default["default"].forwardRef(function (_a, ref
15942
15954
  ref,
15943
15955
  onAddValueItem,
15944
15956
  onRemoveValueItem,
15957
+ id,
15958
+ setValue,
15959
+ setDisabled,
15960
+ setErrorHelperText,
15961
+ initHelperText,
15945
15962
  ]);
15946
15963
  // Render ----------------------------------------------------------------------------------------------------------
15947
15964
  return (React__default["default"].createElement(xDatePickers.LocalizationProvider, { dateAdapter: AdapterDayjs.AdapterDayjs, adapterLocale: dayjsLocale__default["default"] },
@@ -16033,18 +16050,18 @@ styleInject(css_248z$1);var FormFile = React__default["default"].forwardRef(func
16033
16050
  var id = React.useId();
16034
16051
  // FormState -------------------------------------------------------------------------------------------------------
16035
16052
  var _b = useFormState(), formVariant = _b.variant, formSize = _b.size, formColor = _b.color, formFocused = _b.focused, formLabelShrink = _b.labelShrink, formFullWidth = _b.fullWidth, onAddValueItem = _b.onAddValueItem, onValueChange = _b.onValueChange, onRemoveValueItem = _b.onRemoveValueItem, onValueChangeByUser = _b.onValueChangeByUser;
16036
- // State - FormState -----------------------------------------------------------------------------------------------
16037
- var variant = useAutoUpdateState$1(initVariant || formVariant)[0];
16038
- var size = useAutoUpdateState$1(initSize || formSize)[0];
16039
- var color = useAutoUpdateState$1(initColor || formColor)[0];
16040
- var focused = useAutoUpdateState$1(initFocused || formFocused)[0];
16041
- var labelShrink = useAutoUpdateState$1(initLabelShrink || formLabelShrink)[0];
16042
- var fullWidth = useAutoUpdateState$1(initFullWidth == null ? formFullWidth : initFullWidth)[0];
16053
+ // Memo - FormState ------------------------------------------------------------------------------------------------
16054
+ var variant = React.useMemo(function () { return (initVariant == null ? formVariant : initVariant); }, [initVariant, formVariant]);
16055
+ var size = React.useMemo(function () { return (initSize == null ? formSize : initSize); }, [initSize, formSize]);
16056
+ var color = React.useMemo(function () { return (initColor == null ? formColor : initColor); }, [initColor, formColor]);
16057
+ var focused = React.useMemo(function () { return (initFocused == null ? formFocused : initFocused); }, [initFocused, formFocused]);
16058
+ var labelShrink = React.useMemo(function () { return (initLabelShrink == null ? formLabelShrink : initLabelShrink); }, [initLabelShrink, formLabelShrink]);
16059
+ var fullWidth = React.useMemo(function () { return (initFullWidth == null ? formFullWidth : initFullWidth); }, [initFullWidth, formFullWidth]);
16043
16060
  // Ref -------------------------------------------------------------------------------------------------------------
16044
16061
  var textFieldRef = React.useRef(null);
16045
16062
  var fileUploadBtnRef = React.useRef(null);
16046
16063
  // State - value ---------------------------------------------------------------------------------------------------
16047
- var _c = useAutoUpdateState$1(initValue), value = _c[0], setValue = _c[1];
16064
+ var _c = useAutoUpdateLayoutState(initValue), value = _c[0], setValue = _c[1];
16048
16065
  var fileValue = React.useState('')[0];
16049
16066
  useFirstSkipEffect$1(function () {
16050
16067
  if (error)
@@ -16054,16 +16071,17 @@ styleInject(css_248z$1);var FormFile = React__default["default"].forwardRef(func
16054
16071
  onValueChange(name, value);
16055
16072
  }, [value]);
16056
16073
  // State -----------------------------------------------------------------------------------------------------------
16057
- var _d = useAutoUpdateState$1(initError), error = _d[0], setError = _d[1];
16058
- var _e = useAutoUpdateState$1(initHelperText), helperText = _e[0], setHelperText = _e[1];
16059
- var _f = useAutoUpdateState$1(initDisabled), disabled = _f[0], setDisabled = _f[1];
16074
+ var _d = useAutoUpdateLayoutState(initError), error = _d[0], setError = _d[1];
16075
+ var _e = useAutoUpdateLayoutState(initHelperText), helperText = _e[0], setHelperText = _e[1];
16076
+ var _f = useAutoUpdateLayoutState(initDisabled), disabled = _f[0], setDisabled = _f[1];
16060
16077
  var _g = React.useState(false), isOpenLinkDialog = _g[0], setIsOpenLinkDialog = _g[1];
16061
16078
  var _h = React.useState({ open: false }), alertDialogProps = _h[0], setAlertDialogProps = _h[1];
16062
- var label = useAutoUpdateState$1(React.useCallback(function () {
16079
+ // Memo --------------------------------------------------------------------------------------------------------------
16080
+ var label = React.useMemo(function () {
16063
16081
  return labelIcon ? (React__default["default"].createElement(React__default["default"].Fragment, null,
16064
16082
  React__default["default"].createElement(FormIcon, { style: { verticalAlign: 'middle', marginRight: 4 } }, labelIcon),
16065
16083
  React__default["default"].createElement("span", { style: { verticalAlign: 'middle' } }, initLabel))) : (initLabel);
16066
- }, [initLabel, labelIcon]))[0];
16084
+ }, [initLabel, labelIcon]);
16067
16085
  // Function - focus ------------------------------------------------------------------------------------------------
16068
16086
  var focus = React.useCallback(function () {
16069
16087
  var _a, _b;
@@ -16074,6 +16092,11 @@ styleInject(css_248z$1);var FormFile = React__default["default"].forwardRef(func
16074
16092
  (_b = textFieldRef.current) === null || _b === void 0 ? void 0 : _b.focus();
16075
16093
  }
16076
16094
  }, [hideUrl]);
16095
+ // Function - setErrorHelperText -----------------------------------------------------------------------------------
16096
+ var setErrorHelperText = React.useCallback(function (error, helperText) {
16097
+ setError(error);
16098
+ setHelperText(helperText);
16099
+ }, [setError, setHelperText]);
16077
16100
  // Function - validate ---------------------------------------------------------------------------------------------
16078
16101
  var validate = React.useCallback(function (value) {
16079
16102
  var isEmptyValue = false;
@@ -16096,12 +16119,7 @@ styleInject(css_248z$1);var FormFile = React__default["default"].forwardRef(func
16096
16119
  }
16097
16120
  setErrorHelperText(false, initHelperText);
16098
16121
  return true;
16099
- }, [onValidate, initHelperText]);
16100
- // Function - setErrorHelperText -----------------------------------------------------------------------------------
16101
- var setErrorHelperText = React.useCallback(function (error, helperText) {
16102
- setError(error);
16103
- setHelperText(helperText);
16104
- }, []);
16122
+ }, [required, onValidate, setErrorHelperText, initHelperText]);
16105
16123
  // Commands --------------------------------------------------------------------------------------------------------
16106
16124
  React.useLayoutEffect(function () {
16107
16125
  var lastValue = value;
@@ -16164,6 +16182,10 @@ styleInject(css_248z$1);var FormFile = React__default["default"].forwardRef(func
16164
16182
  ref,
16165
16183
  onAddValueItem,
16166
16184
  onRemoveValueItem,
16185
+ id,
16186
+ setValue,
16187
+ setDisabled,
16188
+ setErrorHelperText,
16167
16189
  ]);
16168
16190
  // Function --------------------------------------------------------------------------------------------------------
16169
16191
  var fileSizeCheck = React.useCallback(function (file) {
@@ -16215,7 +16237,7 @@ styleInject(css_248z$1);var FormFile = React__default["default"].forwardRef(func
16215
16237
  });
16216
16238
  });
16217
16239
  }
16218
- }, [onFile, onValueChangeByUser]);
16240
+ }, [fileSizeCheck, name, onFile, onValueChangeByUser, setValue]);
16219
16241
  var handleLinkClick = React.useCallback(function () {
16220
16242
  setIsOpenLinkDialog(true);
16221
16243
  }, []);
@@ -16225,7 +16247,7 @@ styleInject(css_248z$1);var FormFile = React__default["default"].forwardRef(func
16225
16247
  if (onValueChangeByUser)
16226
16248
  onValueChangeByUser(name, '');
16227
16249
  });
16228
- }, [onValueChangeByUser]);
16250
+ }, [name, onValueChangeByUser, setValue]);
16229
16251
  var handleLinkDialogConfirm = React.useCallback(function (url) {
16230
16252
  if (onLink) {
16231
16253
  onLink(url).then(function (finalUrl) {
@@ -16243,7 +16265,7 @@ styleInject(css_248z$1);var FormFile = React__default["default"].forwardRef(func
16243
16265
  onValueChangeByUser(name, url);
16244
16266
  });
16245
16267
  }
16246
- }, [onLink, onValueChangeByUser]);
16268
+ }, [name, onLink, onValueChangeByUser, setValue]);
16247
16269
  // Render ----------------------------------------------------------------------------------------------------------
16248
16270
  return (React__default["default"].createElement(FormItemBase, { variant: variant, size: size, color: color, focused: focused, className: classNames$1(className, 'FormValueItem', 'FormFile', "variant-".concat(variant), "size-".concat(size), !!initLabel && 'with-label', !!fullWidth && 'full-width', !!hideUrl && 'hide-file-name', !!hideLink && 'hide-link', notEmpty(value) && 'with-value'), labelIcon: hideUrl ? labelIcon : undefined, label: hideUrl ? initLabel : undefined, error: error, required: required, fullWidth: fullWidth, helperText: React__default["default"].createElement("div", null,
16249
16271
  preview,
@@ -16292,7 +16314,7 @@ FormFile.displayName = 'FormFile';
16292
16314
  FormFile.defaultProps = FormFileDefaultProps;var FormImageFileDefaultProps = __assign$4(__assign$4({}, FormFileDefaultProps), { accept: '.jpg,.jpeg,.png' });var css_248z = ".FormImageFile .preview-img {\n max-width: 100%;\n}\n.FormImageFile:not(.hide-file-name):not(.variant-standard) .preview-img {\n padding-right: 14px;\n}";
16293
16315
  styleInject(css_248z);var FormImageFile = React__default["default"].forwardRef(function (_a, ref) {
16294
16316
  var className = _a.className, imageSize = _a.imageSize, preview = _a.preview, previewMaxHeight = _a.previewMaxHeight, initValue = _a.value, onChange = _a.onChange, onFile = _a.onFile, onLink = _a.onLink, props = __rest$2(_a, ["className", "imageSize", "preview", "previewMaxHeight", "value", "onChange", "onFile", "onLink"]);
16295
- var _b = useAutoUpdateState$1(initValue), value = _b[0], setValue = _b[1];
16317
+ var _b = useAutoUpdateLayoutState(initValue), value = _b[0], setValue = _b[1];
16296
16318
  var _c = React.useState(), previewNode = _c[0], setPreviewNode = _c[1];
16297
16319
  var _d = React.useState({
16298
16320
  open: false,
@@ -16371,7 +16393,7 @@ styleInject(css_248z);var FormImageFile = React__default["default"].forwardRef(f
16371
16393
  var handleChange = React.useCallback(function (value) {
16372
16394
  setValue(value);
16373
16395
  onChange && onChange(value);
16374
- }, []);
16396
+ }, [onChange, setValue]);
16375
16397
  var handleFile = React.useCallback(function (file) {
16376
16398
  return new Promise(function (resolve, reject) {
16377
16399
  imageSizeCheck(file)
@@ -16437,6 +16459,7 @@ SearchGroupRow.defaultProps = SearchGroupRowDefaultProps;var Search = React__def
16437
16459
  if (autoSubmit) {
16438
16460
  (_a = formRef.current) === null || _a === void 0 ? void 0 : _a.submit();
16439
16461
  }
16462
+ // eslint-disable-next-line react-hooks/exhaustive-deps
16440
16463
  }, []);
16441
16464
  // Memo --------------------------------------------------------------------------------------------------------------
16442
16465
  var renderChildren = React.useMemo(function () {
@@ -16539,7 +16562,7 @@ var SearchGroup = function (_a) {
16539
16562
  var children = _a.children, className = _a.className, style = _a.style, sx = _a.sx,
16540
16563
  //--------------------------------------------------------------------------------------------------------------------
16541
16564
  max = _a.max, align = _a.align, hidden = _a.hidden, spacing = _a.spacing;
16542
- var justifyContent = useAutoUpdateState$1(React.useCallback(function () {
16565
+ var justifyContent = React.useMemo(function () {
16543
16566
  switch (align) {
16544
16567
  case undefined:
16545
16568
  case 'left':
@@ -16549,7 +16572,7 @@ var SearchGroup = function (_a) {
16549
16572
  case 'right':
16550
16573
  return 'end';
16551
16574
  }
16552
- }, [align]))[0];
16575
+ }, [align]);
16553
16576
  // Render ----------------------------------------------------------------------------------------------------------
16554
16577
  return (React__default["default"].createElement(material.Grid, { item: true, className: classNames$1(className, 'SearchGroup'), style: { flex: max ? 1 : undefined, display: hidden ? 'none' : undefined } },
16555
16578
  React__default["default"].createElement(material.Grid, { container: true, wrap: 'wrap', spacing: spacing, justifyContent: justifyContent, alignItems: 'start', style: style, sx: sx }, React__default["default"].Children.map(children, function (child) {
@@ -16562,11 +16585,9 @@ var SearchGroup = function (_a) {
16562
16585
  }))));
16563
16586
  };
16564
16587
  SearchGroup.defaultProps = SearchGroupDefaultProps;var SearchButtonDefaultProps = {};var SearchButton = function (_a) {
16565
- // State -----------------------------------------------------------------------------------------------------------
16588
+ // Memo --------------------------------------------------------------------------------------------------------------
16566
16589
  var children = _a.children, className = _a.className, initSx = _a.sx, startIcon = _a.startIcon, endIcon = _a.endIcon, icon = _a.icon, props = __rest$2(_a, ["children", "className", "sx", "startIcon", "endIcon", "icon"]);
16567
- var sx = useAutoUpdateState$1(React.useCallback(function () {
16568
- return __assign$4({ minWidth: 0, px: !startIcon && !endIcon && !icon ? 1.2 : 1.7 }, initSx);
16569
- }, [initSx, startIcon, endIcon, icon]))[0];
16590
+ var sx = React.useMemo(function () { return (__assign$4({ minWidth: 0, px: !startIcon && !endIcon && !icon ? 1.2 : 1.7 }, initSx)); }, [endIcon, icon, initSx, startIcon]);
16570
16591
  // Render ----------------------------------------------------------------------------------------------------------
16571
16592
  return (React__default["default"].createElement(FormButton, __assign$4({ className: classNames$1(className, 'SearchButton'), size: 'medium', sx: sx, fullWidth: false, startIcon: startIcon, endIcon: endIcon, icon: icon }, props), children));
16572
16593
  };