@pdg/react-form 1.0.98 → 1.0.99

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.
Files changed (3) hide show
  1. package/dist/index.esm.js +863 -816
  2. package/dist/index.js +862 -815
  3. package/package.json +1 -1
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import React,{createContext,useContext,useMemo,useRef,useState,useCallback,useLayoutEffect,useEffect,useId}from'react';import classNames from'classnames';import {Box,Button,styled,useTheme,InputLabel,Grid,Collapse,FormHelperText,InputAdornment,IconButton,TextField,Chip,Autocomplete,Icon,CircularProgress,MenuItem,Checkbox,FormControl,Input,OutlinedInput,FilledInput,FormControlLabel,Typography,RadioGroup,Radio,ToggleButton,ToggleButtonGroup,Rating,Skeleton,darken,Tooltip,tooltipClasses,ClickAwayListener,Dialog,DialogTitle,DialogContent,DialogActions,Switch,Paper,Menu}from'@mui/material';import {empty,nextTick,notEmpty,equal,telNoAutoDash,companyNoAutoDash,personalNoAutoDash}from'@pdg/util';import dayjs from'dayjs';import {PdgIcon,PdgIconText}from'@pdg/react-component';import {useAutoUpdateState,useFirstSkipEffect}from'@pdg/react-hook';import {useResizeDetector}from'react-resize-detector';import {NumericFormat}from'react-number-format';import {CheckBox,CheckBoxOutlineBlank,RadioButtonUnchecked,RadioButtonChecked}from'@mui/icons-material';import {Editor}from'@tinymce/tinymce-react';import CircularProgress$1 from'@mui/material/CircularProgress';import {AdapterDayjs}from'@mui/x-date-pickers/AdapterDayjs';import {PickersDay,StaticDatePicker,LocalizationProvider,DesktopDatePicker,StaticDateTimePicker,DesktopDateTimePicker}from'@mui/x-date-pickers';import SimpleBar from'simplebar-react';import'dayjs/locale/ko';/******************************************************************************
1
+ import React,{createContext,useContext,useMemo,useRef,useState,useCallback,useLayoutEffect,useEffect,useId}from'react';import classNames from'classnames';import {Box,Button,styled,useTheme,InputLabel,Grid,Collapse,FormHelperText,InputAdornment,IconButton,TextField,Chip,Autocomplete,Icon,CircularProgress,MenuItem,Checkbox,FormControl,Input,OutlinedInput,FilledInput,FormControlLabel,Typography,RadioGroup,Radio,ToggleButton,ToggleButtonGroup,Rating,Skeleton,darken,Tooltip,tooltipClasses,ClickAwayListener,Dialog,DialogTitle,DialogContent,DialogActions,Switch,Paper,Menu}from'@mui/material';import {empty,nextTick,notEmpty,equal,telNoAutoDash,ifUndefined,companyNoAutoDash,personalNoAutoDash}from'@pdg/util';import dayjs from'dayjs';import {PdgIcon,PdgIconText}from'@pdg/react-component';import {useAutoUpdateState,useFirstSkipEffect}from'@pdg/react-hook';import {useResizeDetector}from'react-resize-detector';import {NumericFormat}from'react-number-format';import {CheckBox,CheckBoxOutlineBlank,RadioButtonUnchecked,RadioButtonChecked}from'@mui/icons-material';import {Editor}from'@tinymce/tinymce-react';import CircularProgress$1 from'@mui/material/CircularProgress';import {AdapterDayjs}from'@mui/x-date-pickers/AdapterDayjs';import {PickersDay,StaticDatePicker,LocalizationProvider,DesktopDatePicker,StaticDateTimePicker,DesktopDateTimePicker}from'@mui/x-date-pickers';import SimpleBar from'simplebar-react';import'dayjs/locale/ko';/******************************************************************************
2
2
  Copyright (c) Microsoft Corporation.
3
3
 
4
4
  Permission to use, copy, modify, and/or distribute this software for any
@@ -1125,35 +1125,6 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1125
1125
  var getFinalValue = useCallback(function (value) {
1126
1126
  return onValue ? onValue(value) : value;
1127
1127
  }, [onValue]);
1128
- /********************************************************************************************************************
1129
- * State - value
1130
- * ******************************************************************************************************************/
1131
- var _k = useAutoUpdateState(initValue, getFinalValue), value = _k[0], setValue = _k[1];
1132
- useEffect(function () {
1133
- setShowClear(clear ? notEmpty(value) : false);
1134
- // eslint-disable-next-line react-hooks/exhaustive-deps
1135
- }, [value]);
1136
- useFirstSkipEffect(function () {
1137
- if (error)
1138
- validate(value);
1139
- if (onChange)
1140
- onChange(value);
1141
- if (!noFormValueItem) {
1142
- onValueChange(name, value);
1143
- }
1144
- }, [value]);
1145
- /********************************************************************************************************************
1146
- * Function - focus
1147
- * ******************************************************************************************************************/
1148
- var focus = useCallback(function () {
1149
- var _a, _b;
1150
- if (initInputRef) {
1151
- (_a = initInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
1152
- }
1153
- else {
1154
- (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.focus();
1155
- }
1156
- }, [initInputRef, inputRef]);
1157
1128
  /********************************************************************************************************************
1158
1129
  * Function - setErrorErrorHelperText
1159
1130
  * ******************************************************************************************************************/
@@ -1191,6 +1162,43 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1191
1162
  setErrorErrorHelperText(false, undefined);
1192
1163
  return true;
1193
1164
  }, [required, validPattern, invalidPattern, onValidate, setErrorErrorHelperText]);
1165
+ /********************************************************************************************************************
1166
+ * State - value
1167
+ * ******************************************************************************************************************/
1168
+ var _k = useState(function () { return getFinalValue(initValue); }), value = _k[0], setValue = _k[1];
1169
+ var changeValue = useCallback(function (newValue) {
1170
+ if (!equal(value, newValue)) {
1171
+ setValue(newValue);
1172
+ nextTick(function () {
1173
+ if (error)
1174
+ validate(newValue);
1175
+ if (onChange)
1176
+ onChange(newValue);
1177
+ if (!noFormValueItem) {
1178
+ onValueChange(name, newValue);
1179
+ }
1180
+ });
1181
+ }
1182
+ }, [error, name, noFormValueItem, onChange, onValueChange, validate, value]);
1183
+ useFirstSkipEffect(function () {
1184
+ changeValue(getFinalValue(initValue));
1185
+ }, [initValue]);
1186
+ useEffect(function () {
1187
+ setShowClear(clear ? notEmpty(value) : false);
1188
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1189
+ }, [value]);
1190
+ /********************************************************************************************************************
1191
+ * Function - focus
1192
+ * ******************************************************************************************************************/
1193
+ var focus = useCallback(function () {
1194
+ var _a, _b;
1195
+ if (initInputRef) {
1196
+ (_a = initInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
1197
+ }
1198
+ else {
1199
+ (_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.focus();
1200
+ }
1201
+ }, [initInputRef, inputRef]);
1194
1202
  /********************************************************************************************************************
1195
1203
  * Memo - muiInputProps
1196
1204
  * ******************************************************************************************************************/
@@ -1208,7 +1216,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1208
1216
  clear && !readOnly && !disabled && (React.createElement(InputAdornment, { className: classNames('clear-icon-button-wrap', showClear && 'show'), position: 'end' },
1209
1217
  React.createElement(IconButton, { className: 'clear-icon-button', size: 'small', tabIndex: -1, onClick: function () {
1210
1218
  var finalValue = getFinalValue('');
1211
- setValue(finalValue);
1219
+ changeValue(finalValue);
1212
1220
  focus();
1213
1221
  if (!noFormValueItem) {
1214
1222
  nextTick(function () {
@@ -1223,6 +1231,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1223
1231
  }
1224
1232
  return muiInputProps;
1225
1233
  }, [
1234
+ changeValue,
1226
1235
  clear,
1227
1236
  disabled,
1228
1237
  endAdornment,
@@ -1235,21 +1244,9 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1235
1244
  onRequestSearchSubmit,
1236
1245
  onValueChangeByUser,
1237
1246
  readOnly,
1238
- setValue,
1239
1247
  showClear,
1240
1248
  startAdornment,
1241
1249
  ]);
1242
- /********************************************************************************************************************
1243
- * Effect
1244
- * ******************************************************************************************************************/
1245
- useEffect(function () {
1246
- if (value !== initValue) {
1247
- if (onChange)
1248
- onChange(value);
1249
- onValueChange(name, value);
1250
- }
1251
- // eslint-disable-next-line react-hooks/exhaustive-deps
1252
- }, []);
1253
1250
  /********************************************************************************************************************
1254
1251
  * Commands
1255
1252
  * ******************************************************************************************************************/
@@ -1265,12 +1262,12 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1265
1262
  getReset: function () { return getFinalValue(initValue); },
1266
1263
  reset: function () {
1267
1264
  lastValue_1 = getFinalValue(initValue);
1268
- setValue(lastValue_1);
1265
+ changeValue(lastValue_1);
1269
1266
  },
1270
1267
  getValue: function () { return lastValue_1; },
1271
1268
  setValue: function (value) {
1272
1269
  lastValue_1 = getFinalValue(value);
1273
- setValue(lastValue_1);
1270
+ changeValue(lastValue_1);
1274
1271
  },
1275
1272
  getData: function () { return lastData_1; },
1276
1273
  setData: function (data) {
@@ -1333,19 +1330,19 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1333
1330
  onAddValueItem,
1334
1331
  onRemoveValueItem,
1335
1332
  id,
1336
- setValue,
1337
1333
  setDisabled,
1338
1334
  setErrorErrorHelperText,
1339
1335
  setData,
1340
1336
  hidden,
1341
1337
  setHidden,
1338
+ changeValue,
1342
1339
  ]);
1343
1340
  /********************************************************************************************************************
1344
1341
  * Event Handler
1345
1342
  * ******************************************************************************************************************/
1346
1343
  var handleChange = useCallback(function (e) {
1347
1344
  var finalValue = getFinalValue(e.target.value);
1348
- setValue(finalValue);
1345
+ changeValue(finalValue);
1349
1346
  if (!noFormValueItem) {
1350
1347
  nextTick(function () {
1351
1348
  onValueChangeByUser(name, finalValue);
@@ -1354,7 +1351,7 @@ styleInject(css_248z$l);var FormTextField = React.forwardRef(function (_a, ref)
1354
1351
  }
1355
1352
  });
1356
1353
  }
1357
- }, [getFinalValue, setValue, noFormValueItem, onValueChangeByUser, name, select, onRequestSearchSubmit]);
1354
+ }, [getFinalValue, changeValue, noFormValueItem, onValueChangeByUser, name, select, onRequestSearchSubmit]);
1358
1355
  var handleBlur = useCallback(function (e) {
1359
1356
  if (error)
1360
1357
  validate(value);
@@ -2230,17 +2227,32 @@ styleInject(css_248z$f);var FormSelect = ToForwardRefExoticComponent(AutoTypeFor
2230
2227
  }
2231
2228
  }
2232
2229
  }
2233
- return onValue ? onValue(finalValue) : finalValue;
2230
+ finalValue = onValue ? onValue(finalValue) : finalValue;
2231
+ return equal(value, finalValue) ? value : finalValue;
2234
2232
  }, [multiple, formValueSeparator, itemsValues, onValue]);
2235
2233
  /********************************************************************************************************************
2236
2234
  * State - value
2237
2235
  * ******************************************************************************************************************/
2238
- var _h = useAutoUpdateState(initValue, getFinalValue), value = _h[0], setValue = _h[1];
2236
+ var _h = useState(function () { return getFinalValue(initValue); }), value = _h[0], setValue = _h[1];
2237
+ /********************************************************************************************************************
2238
+ * Function
2239
+ * ******************************************************************************************************************/
2240
+ var changeValue = useCallback(function (newValue) {
2241
+ if (!equal(value, newValue)) {
2242
+ setValue(newValue);
2243
+ nextTick(function () {
2244
+ if (onChange)
2245
+ onChange(newValue);
2246
+ onValueChange(name, newValue);
2247
+ });
2248
+ }
2249
+ }, [name, onChange, onValueChange, value]);
2239
2250
  useFirstSkipEffect(function () {
2240
- if (onChange)
2241
- onChange(value);
2242
- onValueChange(name, value);
2243
- }, [value]);
2251
+ changeValue(getFinalValue(initValue));
2252
+ }, [initValue]);
2253
+ useFirstSkipEffect(function () {
2254
+ changeValue(getFinalValue(value));
2255
+ }, [multiple]);
2244
2256
  /********************************************************************************************************************
2245
2257
  * State - isSelectedPlaceholder
2246
2258
  * ******************************************************************************************************************/
@@ -2251,11 +2263,6 @@ styleInject(css_248z$f);var FormSelect = ToForwardRefExoticComponent(AutoTypeFor
2251
2263
  * Effect
2252
2264
  * ******************************************************************************************************************/
2253
2265
  useEffect(function () {
2254
- if (!equal(value, initValue)) {
2255
- if (onChange)
2256
- onChange(value);
2257
- onValueChange(name, value);
2258
- }
2259
2266
  if (onLoadItems) {
2260
2267
  setIsOnGetItemLoading(true);
2261
2268
  onLoadItems().then(function (items) {
@@ -2270,7 +2277,7 @@ styleInject(css_248z$f);var FormSelect = ToForwardRefExoticComponent(AutoTypeFor
2270
2277
  * ******************************************************************************************************************/
2271
2278
  var selectProps = useMemo(function () {
2272
2279
  var _a;
2273
- var finalSelectProps = __assign(__assign({}, initSelectProps), { displayEmpty: true, multiple: !!multiple });
2280
+ var finalSelectProps = __assign(__assign({}, initSelectProps), { displayEmpty: true, multiple: !!multiple, value: value });
2274
2281
  if (multiple) {
2275
2282
  finalSelectProps.renderValue = function (selected) {
2276
2283
  if (isSelectedPlaceholder) {
@@ -2294,7 +2301,7 @@ styleInject(css_248z$f);var FormSelect = ToForwardRefExoticComponent(AutoTypeFor
2294
2301
  }
2295
2302
  finalSelectProps.MenuProps = __assign(__assign({}, finalSelectProps.MenuProps), { className: classNames((_a = finalSelectProps.MenuProps) === null || _a === void 0 ? void 0 : _a.className, 'FormSelect-Menu-Popover') });
2296
2303
  return finalSelectProps;
2297
- }, [initSelectProps, isSelectedPlaceholder, itemValueLabels, minWidth, multiple, placeholder, width]);
2304
+ }, [initSelectProps, isSelectedPlaceholder, itemValueLabels, minWidth, multiple, placeholder, value, width]);
2298
2305
  /********************************************************************************************************************
2299
2306
  * Function - getExtraCommands
2300
2307
  * ******************************************************************************************************************/
@@ -2304,15 +2311,15 @@ styleInject(css_248z$f);var FormSelect = ToForwardRefExoticComponent(AutoTypeFor
2304
2311
  getReset: function () { return getFinalValue(initValue); },
2305
2312
  reset: function () {
2306
2313
  lastValue = getFinalValue(initValue);
2307
- setValue(lastValue);
2314
+ changeValue(lastValue);
2308
2315
  },
2309
2316
  getValue: function () { return lastValue; },
2310
2317
  setValue: function (value) {
2311
2318
  lastValue = getFinalValue(value);
2312
- setValue(lastValue);
2319
+ changeValue(lastValue);
2313
2320
  },
2314
2321
  };
2315
- }, [value, getFinalValue, initValue, setValue]);
2322
+ }, [value, getFinalValue, initValue, changeValue]);
2316
2323
  var getExtraCommands = useCallback(function () {
2317
2324
  var lastItems = items;
2318
2325
  var lastLoading = loading;
@@ -2351,7 +2358,7 @@ styleInject(css_248z$f);var FormSelect = ToForwardRefExoticComponent(AutoTypeFor
2351
2358
  onAddValueItem(id, __assign(__assign(__assign({}, commands), getBaseCommands()), getExtraCommands()));
2352
2359
  }, [onAddValueItem, getBaseCommands, getExtraCommands]);
2353
2360
  var handleChange = function (newValue) {
2354
- setValue(newValue);
2361
+ changeValue(getFinalValue(newValue));
2355
2362
  };
2356
2363
  var handleValue = useCallback(function (value) {
2357
2364
  return getFinalValue(value);
@@ -2366,6 +2373,23 @@ styleInject(css_248z$f);var FormSelect = ToForwardRefExoticComponent(AutoTypeFor
2366
2373
  else {
2367
2374
  finalValue = multiple ? emptyValue : '';
2368
2375
  }
2376
+ if (multiple) {
2377
+ if (selectProps.value != null && !Array.isArray(selectProps.value)) {
2378
+ selectProps.value = [selectProps.value];
2379
+ }
2380
+ if (finalValue !== undefined && !Array.isArray(finalValue)) {
2381
+ finalValue = [finalValue];
2382
+ }
2383
+ }
2384
+ else {
2385
+ if (Array.isArray(selectProps.value)) {
2386
+ selectProps.value = selectProps.value[0];
2387
+ }
2388
+ if (Array.isArray(finalValue)) {
2389
+ finalValue = finalValue[0];
2390
+ }
2391
+ finalValue = ifUndefined(finalValue, '');
2392
+ }
2369
2393
  return (React.createElement(FormContextProvider, { value: __assign({ fullWidth: formFullWidth, onAddValueItem: handleAddValueItem,
2370
2394
  // eslint-disable-next-line
2371
2395
  onValueChange: function () { } }, otherFormState) },
@@ -2882,18 +2906,50 @@ var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a
2882
2906
  var getFinalValue = useCallback(function (value) {
2883
2907
  return onValue ? onValue(value) : value;
2884
2908
  }, [onValue]);
2909
+ /********************************************************************************************************************
2910
+ * Function - setErrorErrorHelperText
2911
+ * ******************************************************************************************************************/
2912
+ var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
2913
+ setError(error);
2914
+ setErrorHelperText(errorHelperText);
2915
+ }, [setError]);
2916
+ /********************************************************************************************************************
2917
+ * Function - validate
2918
+ * ******************************************************************************************************************/
2919
+ var validate = useCallback(function (value) {
2920
+ if (required && empty(value)) {
2921
+ setErrorErrorHelperText(true, '필수 선택 항목입니다.');
2922
+ return false;
2923
+ }
2924
+ if (onValidate) {
2925
+ var onValidateResult = onValidate(value);
2926
+ if (onValidateResult != null && onValidateResult !== true) {
2927
+ setErrorErrorHelperText(true, onValidateResult);
2928
+ return false;
2929
+ }
2930
+ }
2931
+ setErrorErrorHelperText(false, undefined);
2932
+ return true;
2933
+ }, [required, onValidate, setErrorErrorHelperText]);
2885
2934
  /********************************************************************************************************************
2886
2935
  * State - value
2887
2936
  * ******************************************************************************************************************/
2888
- var _r = useAutoUpdateState(initValue, getFinalValue), value = _r[0], setValue = _r[1];
2937
+ var _r = useState(function () { return getFinalValue(initValue); }), value = _r[0], setValue = _r[1];
2938
+ var changeValue = useCallback(function (newValue) {
2939
+ if (!equal(value, newValue)) {
2940
+ setValue(newValue);
2941
+ nextTick(function () {
2942
+ if (error)
2943
+ validate(newValue);
2944
+ if (onChange)
2945
+ onChange(newValue);
2946
+ onValueChange(name, newValue);
2947
+ });
2948
+ }
2949
+ }, [error, name, onChange, onValueChange, validate, value]);
2889
2950
  useFirstSkipEffect(function () {
2890
- if (error)
2891
- validate(value);
2892
- if (onChange)
2893
- onChange(value);
2894
- if (onValueChange)
2895
- onValueChange(name, value);
2896
- }, [value]);
2951
+ changeValue(getFinalValue(initValue));
2952
+ }, [initValue]);
2897
2953
  /********************************************************************************************************************
2898
2954
  * Memo
2899
2955
  * ******************************************************************************************************************/
@@ -2901,15 +2957,6 @@ var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a
2901
2957
  /********************************************************************************************************************
2902
2958
  * Effect
2903
2959
  * ******************************************************************************************************************/
2904
- useEffect(function () {
2905
- if (value !== initValue) {
2906
- if (onChange)
2907
- onChange(value);
2908
- if (onValueChange)
2909
- onValueChange(name, value);
2910
- }
2911
- // eslint-disable-next-line react-hooks/exhaustive-deps
2912
- }, []);
2913
2960
  useEffect(function () {
2914
2961
  if (!fullWidth || initWidth) {
2915
2962
  var findParentByClassName_1 = function (element, className) {
@@ -2972,31 +3019,6 @@ var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a
2972
3019
  var _a;
2973
3020
  (_a = firstInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
2974
3021
  }, []);
2975
- /********************************************************************************************************************
2976
- * Function - setErrorErrorHelperText
2977
- * ******************************************************************************************************************/
2978
- var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
2979
- setError(error);
2980
- setErrorHelperText(errorHelperText);
2981
- }, [setError]);
2982
- /********************************************************************************************************************
2983
- * Function - validate
2984
- * ******************************************************************************************************************/
2985
- var validate = useCallback(function (value) {
2986
- if (required && empty(value)) {
2987
- setErrorErrorHelperText(true, '필수 선택 항목입니다.');
2988
- return false;
2989
- }
2990
- if (onValidate) {
2991
- var onValidateResult = onValidate(value);
2992
- if (onValidateResult != null && onValidateResult !== true) {
2993
- setErrorErrorHelperText(true, onValidateResult);
2994
- return false;
2995
- }
2996
- }
2997
- setErrorErrorHelperText(false, undefined);
2998
- return true;
2999
- }, [required, onValidate, setErrorErrorHelperText]);
3000
3022
  /********************************************************************************************************************
3001
3023
  * Commands
3002
3024
  * ******************************************************************************************************************/
@@ -3013,12 +3035,12 @@ var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a
3013
3035
  getReset: function () { return getFinalValue(initValue); },
3014
3036
  reset: function () {
3015
3037
  lastValue = getFinalValue(initValue);
3016
- setValue(lastValue);
3038
+ changeValue(lastValue);
3017
3039
  },
3018
3040
  getValue: function () { return lastValue; },
3019
3041
  setValue: function (value) {
3020
3042
  lastValue = getFinalValue(value);
3021
- setValue(lastValue);
3043
+ changeValue(lastValue);
3022
3044
  },
3023
3045
  getData: function () { return lastData; },
3024
3046
  setData: function (data) {
@@ -3088,7 +3110,6 @@ var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a
3088
3110
  onAddValueItem,
3089
3111
  onRemoveValueItem,
3090
3112
  id,
3091
- setValue,
3092
3113
  setDisabled,
3093
3114
  setErrorErrorHelperText,
3094
3115
  setItems,
@@ -3097,6 +3118,7 @@ var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a
3097
3118
  setData,
3098
3119
  hidden,
3099
3120
  setHidden,
3121
+ changeValue,
3100
3122
  ]);
3101
3123
  useEffect(function () {
3102
3124
  if (onLoadItems) {
@@ -3128,14 +3150,14 @@ var FormRadioGroup = ToForwardRefExoticComponent(AutoTypeForwardRef(function (_a
3128
3150
  }
3129
3151
  finalValue_1 = getFinalValue(finalValue_1);
3130
3152
  if (value !== finalValue_1) {
3131
- setValue(finalValue_1);
3153
+ changeValue(finalValue_1);
3132
3154
  nextTick(function () {
3133
3155
  onValueChangeByUser(name, finalValue_1);
3134
3156
  onRequestSearchSubmit(name, finalValue_1);
3135
3157
  });
3136
3158
  }
3137
3159
  }
3138
- }, [readOnly, items, getFinalValue, value, setValue, onValueChangeByUser, name, onRequestSearchSubmit]);
3160
+ }, [readOnly, items, getFinalValue, value, changeValue, onValueChangeByUser, name, onRequestSearchSubmit]);
3139
3161
  /********************************************************************************************************************
3140
3162
  * Render
3141
3163
  * ******************************************************************************************************************/
@@ -3344,10 +3366,6 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3344
3366
  finalValue = onValue ? onValue(finalValue) : finalValue;
3345
3367
  return equal(value, finalValue) ? value : finalValue;
3346
3368
  }, [multiple, formValueSeparator, itemsValues, onValue]);
3347
- /********************************************************************************************************************
3348
- * State - value
3349
- * ******************************************************************************************************************/
3350
- var _p = useState(function () { return getFinalValue(initValue); }), value = _p[0], setValue = _p[1];
3351
3369
  /********************************************************************************************************************
3352
3370
  * Function - setErrorErrorHelperText
3353
3371
  * ******************************************************************************************************************/
@@ -3374,8 +3392,9 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3374
3392
  return true;
3375
3393
  }, [required, onValidate, setErrorErrorHelperText]);
3376
3394
  /********************************************************************************************************************
3377
- * Function
3395
+ * State - value
3378
3396
  * ******************************************************************************************************************/
3397
+ var _p = useState(function () { return getFinalValue(initValue); }), value = _p[0], setValue = _p[1];
3379
3398
  var changeValue = useCallback(function (newValue) {
3380
3399
  if (!equal(value, newValue)) {
3381
3400
  setValue(newValue);
@@ -3388,12 +3407,15 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3388
3407
  });
3389
3408
  }
3390
3409
  }, [error, name, onChange, onValueChange, validate, value]);
3391
- /********************************************************************************************************************
3392
- * Effect
3393
- * ******************************************************************************************************************/
3394
3410
  useFirstSkipEffect(function () {
3395
3411
  changeValue(getFinalValue(initValue));
3396
3412
  }, [initValue]);
3413
+ useFirstSkipEffect(function () {
3414
+ changeValue(getFinalValue(value));
3415
+ }, [multiple]);
3416
+ /********************************************************************************************************************
3417
+ * Effect
3418
+ * ******************************************************************************************************************/
3397
3419
  useEffect(function () {
3398
3420
  if (onLoadItems) {
3399
3421
  setIsOnGetItemLoading(true);
@@ -3404,13 +3426,6 @@ styleInject(css_248z$d);var FormToggleButtonGroup = ToForwardRefExoticComponent(
3404
3426
  }
3405
3427
  // eslint-disable-next-line react-hooks/exhaustive-deps
3406
3428
  }, []);
3407
- useFirstSkipEffect(function () {
3408
- if (error)
3409
- validate(value);
3410
- if (onChange)
3411
- onChange(value);
3412
- onValueChange(name, value);
3413
- }, [value]);
3414
3429
  useEffect(function () {
3415
3430
  if (notAllowEmptyValue) {
3416
3431
  if (items && notEmpty(items)) {
@@ -3712,46 +3727,9 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
3712
3727
  var getFinalValue = useCallback(function (value) {
3713
3728
  return onValue ? onValue(value) : value;
3714
3729
  }, [onValue]);
3715
- /********************************************************************************************************************
3716
- * State - value
3717
- * ******************************************************************************************************************/
3718
- var _k = useAutoUpdateState(initValue || 0, getFinalValue), value = _k[0], setValue = _k[1];
3719
- useFirstSkipEffect(function () {
3720
- if (error)
3721
- validate(value);
3722
- if (onChange)
3723
- onChange(value);
3724
- onValueChange(name, value);
3725
- }, [value]);
3726
- /********************************************************************************************************************
3727
- * Memo
3728
- * ******************************************************************************************************************/
3729
- var style = useMemo(function () { return (__assign({ width: width || 100 }, initStyle)); }, [initStyle, width]);
3730
- /********************************************************************************************************************
3731
- * Effect
3732
- * ******************************************************************************************************************/
3733
- useEffect(function () {
3734
- if (value !== initValue) {
3735
- if (onChange)
3736
- onChange(value);
3737
- onValueChange(name, value);
3738
- }
3739
- if (ratingRef.current) {
3740
- inputRef.current = ratingRef.current.querySelector('input') || undefined;
3741
- }
3742
- // eslint-disable-next-line react-hooks/exhaustive-deps
3743
- }, []);
3744
3730
  /********************************************************************************************************************
3745
3731
  * Function
3746
3732
  * ******************************************************************************************************************/
3747
- var focus = useCallback(function () {
3748
- var _a;
3749
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
3750
- setTimeout(function () {
3751
- var _a;
3752
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
3753
- });
3754
- }, []);
3755
3733
  var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
3756
3734
  setError(error);
3757
3735
  setErrorHelperText(errorHelperText);
@@ -3772,11 +3750,54 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
3772
3750
  return true;
3773
3751
  }, [required, onValidate, setErrorErrorHelperText]);
3774
3752
  /********************************************************************************************************************
3775
- * Commands
3753
+ * State - value
3776
3754
  * ******************************************************************************************************************/
3777
- useLayoutEffect(function () {
3778
- var lastValue = value;
3779
- var lastData = data;
3755
+ var _k = useState(function () { return getFinalValue(initValue || 0); }), value = _k[0], setValue = _k[1];
3756
+ var changeValue = useCallback(function (newValue) {
3757
+ if (!equal(value, newValue)) {
3758
+ setValue(newValue);
3759
+ nextTick(function () {
3760
+ if (error)
3761
+ validate(newValue);
3762
+ if (onChange)
3763
+ onChange(newValue);
3764
+ onValueChange(name, newValue);
3765
+ });
3766
+ }
3767
+ }, [error, name, onChange, onValueChange, validate, value]);
3768
+ useFirstSkipEffect(function () {
3769
+ changeValue(getFinalValue(initValue || 0));
3770
+ }, [initValue]);
3771
+ /********************************************************************************************************************
3772
+ * Memo
3773
+ * ******************************************************************************************************************/
3774
+ var style = useMemo(function () { return (__assign({ width: width || 100 }, initStyle)); }, [initStyle, width]);
3775
+ /********************************************************************************************************************
3776
+ * Effect
3777
+ * ******************************************************************************************************************/
3778
+ useEffect(function () {
3779
+ if (ratingRef.current) {
3780
+ inputRef.current = ratingRef.current.querySelector('input') || undefined;
3781
+ }
3782
+ // eslint-disable-next-line react-hooks/exhaustive-deps
3783
+ }, []);
3784
+ /********************************************************************************************************************
3785
+ * Function
3786
+ * ******************************************************************************************************************/
3787
+ var focus = useCallback(function () {
3788
+ var _a;
3789
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
3790
+ setTimeout(function () {
3791
+ var _a;
3792
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
3793
+ });
3794
+ }, []);
3795
+ /********************************************************************************************************************
3796
+ * Commands
3797
+ * ******************************************************************************************************************/
3798
+ useLayoutEffect(function () {
3799
+ var lastValue = value;
3800
+ var lastData = data;
3780
3801
  var lastDisabled = !!disabled;
3781
3802
  var lastHidden = !!hidden;
3782
3803
  var commands = {
@@ -3785,12 +3806,12 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
3785
3806
  getReset: function () { return getFinalValue(initValue || 0); },
3786
3807
  reset: function () {
3787
3808
  lastValue = getFinalValue(initValue || 0);
3788
- setValue(lastValue);
3809
+ changeValue(lastValue);
3789
3810
  },
3790
3811
  getValue: function () { return lastValue; },
3791
3812
  setValue: function (value) {
3792
3813
  lastValue = getFinalValue(value);
3793
- setValue(lastValue);
3814
+ changeValue(lastValue);
3794
3815
  },
3795
3816
  getData: function () { return lastData; },
3796
3817
  setData: function (data) {
@@ -3848,13 +3869,13 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
3848
3869
  onAddValueItem,
3849
3870
  onRemoveValueItem,
3850
3871
  id,
3851
- setValue,
3852
3872
  setDisabled,
3853
3873
  setErrorErrorHelperText,
3854
3874
  data,
3855
3875
  setData,
3856
3876
  hidden,
3857
3877
  setHidden,
3878
+ changeValue,
3858
3879
  ]);
3859
3880
  /********************************************************************************************************************
3860
3881
  * Event Handler
@@ -3865,13 +3886,13 @@ FormToggleButtonGroup.defaultProps = FormToggleButtonGroupDefaultProps;var FormR
3865
3886
  }
3866
3887
  else {
3867
3888
  var finalValue_1 = getFinalValue(value || 0);
3868
- setValue(finalValue_1);
3889
+ changeValue(finalValue_1);
3869
3890
  nextTick(function () {
3870
3891
  onValueChangeByUser(name, finalValue_1);
3871
3892
  onRequestSearchSubmit(name, finalValue_1);
3872
3893
  });
3873
3894
  }
3874
- }, [readOnly, getFinalValue, setValue, onValueChangeByUser, name, onRequestSearchSubmit]);
3895
+ }, [readOnly, getFinalValue, changeValue, onValueChangeByUser, name, onRequestSearchSubmit]);
3875
3896
  /********************************************************************************************************************
3876
3897
  * Render
3877
3898
  * ******************************************************************************************************************/
@@ -3916,33 +3937,15 @@ styleInject(css_248z$c);var FormTextEditor = React.forwardRef(function (_a, ref)
3916
3937
  * ******************************************************************************************************************/
3917
3938
  var editorRef = useRef();
3918
3939
  var keyDownTime = useRef(0);
3919
- /********************************************************************************************************************
3920
- * State - value
3921
- * ******************************************************************************************************************/
3922
- var _d = useAutoUpdateState(initValue || ''), value = _d[0], setValue = _d[1];
3923
- useFirstSkipEffect(function () {
3924
- if (error)
3925
- validate(value);
3926
- if (onChange)
3927
- onChange(value);
3928
- onValueChange(name, value);
3929
- }, [value]);
3930
3940
  /********************************************************************************************************************
3931
3941
  * State
3932
3942
  * ******************************************************************************************************************/
3933
- var _e = useAutoUpdateState(initError), error = _e[0], setError = _e[1];
3934
- var _f = useState(), errorHelperText = _f[0], setErrorHelperText = _f[1];
3935
- var _g = useState(false), initialized = _g[0], setInitialized = _g[1];
3936
- var _h = useAutoUpdateState(initDisabled == null ? formDisabled : initDisabled), disabled = _h[0], setDisabled = _h[1];
3937
- var _j = useAutoUpdateState(initHidden), hidden = _j[0], setHidden = _j[1];
3938
- var _k = useAutoUpdateState(initData), data = _k[0], setData = _k[1];
3939
- /********************************************************************************************************************
3940
- * Function - focus
3941
- * ******************************************************************************************************************/
3942
- var focus = useCallback(function () {
3943
- var _a;
3944
- (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.focus();
3945
- }, [editorRef]);
3943
+ var _d = useAutoUpdateState(initError), error = _d[0], setError = _d[1];
3944
+ var _e = useState(), errorHelperText = _e[0], setErrorHelperText = _e[1];
3945
+ var _f = useState(false), initialized = _f[0], setInitialized = _f[1];
3946
+ var _g = useAutoUpdateState(initDisabled == null ? formDisabled : initDisabled), disabled = _g[0], setDisabled = _g[1];
3947
+ var _h = useAutoUpdateState(initHidden), hidden = _h[0], setHidden = _h[1];
3948
+ var _j = useAutoUpdateState(initData), data = _j[0], setData = _j[1];
3946
3949
  /********************************************************************************************************************
3947
3950
  * Function - setErrorErrorHelperText
3948
3951
  * ******************************************************************************************************************/
@@ -3969,6 +3972,32 @@ styleInject(css_248z$c);var FormTextEditor = React.forwardRef(function (_a, ref)
3969
3972
  setErrorErrorHelperText(false, undefined);
3970
3973
  return true;
3971
3974
  }, [required, onValidate, setErrorErrorHelperText]);
3975
+ /********************************************************************************************************************
3976
+ * State - value
3977
+ * ******************************************************************************************************************/
3978
+ var _k = useState(initValue || ''), value = _k[0], setValue = _k[1];
3979
+ var changeValue = useCallback(function (newValue) {
3980
+ if (!equal(value, newValue)) {
3981
+ setValue(newValue);
3982
+ nextTick(function () {
3983
+ if (error)
3984
+ validate(newValue);
3985
+ if (onChange)
3986
+ onChange(newValue);
3987
+ onValueChange(name, newValue);
3988
+ });
3989
+ }
3990
+ }, [error, name, onChange, onValueChange, validate, value]);
3991
+ useFirstSkipEffect(function () {
3992
+ changeValue(initValue || '');
3993
+ }, [initValue]);
3994
+ /********************************************************************************************************************
3995
+ * Function - focus
3996
+ * ******************************************************************************************************************/
3997
+ var focus = useCallback(function () {
3998
+ var _a;
3999
+ (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.focus();
4000
+ }, [editorRef]);
3972
4001
  /********************************************************************************************************************
3973
4002
  * Commands
3974
4003
  * ******************************************************************************************************************/
@@ -3983,12 +4012,12 @@ styleInject(css_248z$c);var FormTextEditor = React.forwardRef(function (_a, ref)
3983
4012
  getReset: function () { return initValue || ''; },
3984
4013
  reset: function () {
3985
4014
  lastValue = initValue || '';
3986
- setValue(lastValue);
4015
+ changeValue(lastValue);
3987
4016
  },
3988
4017
  getValue: function () { return lastValue; },
3989
4018
  setValue: function (value) {
3990
4019
  lastValue = value;
3991
- setValue(lastValue);
4020
+ changeValue(lastValue);
3992
4021
  },
3993
4022
  getData: function () { return lastData; },
3994
4023
  setData: function (data) {
@@ -4044,7 +4073,6 @@ styleInject(css_248z$c);var FormTextEditor = React.forwardRef(function (_a, ref)
4044
4073
  onAddValueItem,
4045
4074
  onRemoveValueItem,
4046
4075
  id,
4047
- setValue,
4048
4076
  setDisabled,
4049
4077
  setErrorErrorHelperText,
4050
4078
  data,
@@ -4052,19 +4080,20 @@ styleInject(css_248z$c);var FormTextEditor = React.forwardRef(function (_a, ref)
4052
4080
  validate,
4053
4081
  hidden,
4054
4082
  setHidden,
4083
+ changeValue,
4055
4084
  ]);
4056
4085
  /********************************************************************************************************************
4057
4086
  * Event Handler
4058
4087
  * ******************************************************************************************************************/
4059
4088
  var handleEditorChange = useCallback(function (value) {
4060
- setValue(value);
4089
+ changeValue(value);
4061
4090
  if (new Date().getTime() - keyDownTime.current < 300) {
4062
4091
  nextTick(function () {
4063
4092
  if (onValueChangeByUser)
4064
4093
  onValueChangeByUser(name, value);
4065
4094
  });
4066
4095
  }
4067
- }, [name, onValueChangeByUser, setValue]);
4096
+ }, [changeValue, name, onValueChangeByUser]);
4068
4097
  var handleKeyDown = useCallback(function () {
4069
4098
  keyDownTime.current = new Date().getTime();
4070
4099
  }, []);
@@ -4245,11 +4274,54 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
4245
4274
  }
4246
4275
  return onValue ? onValue(finalValue) : finalValue;
4247
4276
  }, [multiple, formValueSeparator, itemsValues, onValue]);
4277
+ /********************************************************************************************************************
4278
+ * Function - setErrorErrorHelperText
4279
+ * ******************************************************************************************************************/
4280
+ var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
4281
+ setError(error);
4282
+ setErrorHelperText(errorHelperText);
4283
+ }, [setError]);
4284
+ /********************************************************************************************************************
4285
+ * Function - validate
4286
+ * ******************************************************************************************************************/
4287
+ var validate = useCallback(function (value) {
4288
+ if (required && empty(value)) {
4289
+ setErrorErrorHelperText(true, '필수 선택 항목입니다.');
4290
+ return false;
4291
+ }
4292
+ if (onValidate) {
4293
+ var onValidateResult = onValidate(value);
4294
+ if (onValidateResult != null && onValidateResult !== true) {
4295
+ setErrorErrorHelperText(true, onValidateResult);
4296
+ return false;
4297
+ }
4298
+ }
4299
+ setErrorErrorHelperText(false, undefined);
4300
+ return true;
4301
+ }, [required, onValidate, setErrorErrorHelperText]);
4248
4302
  /********************************************************************************************************************
4249
4303
  * State - value
4250
4304
  * ******************************************************************************************************************/
4251
- var _m = useAutoUpdateState(initValue, getFinalValue), value = _m[0], setValue = _m[1];
4305
+ var _m = useState(function () { return getFinalValue(initValue); }), value = _m[0], setValue = _m[1];
4252
4306
  var _o = useState(null), valueItem = _o[0], setValueItem = _o[1];
4307
+ var changeValue = useCallback(function (newValue) {
4308
+ if (!equal(value, newValue)) {
4309
+ setValue(newValue);
4310
+ nextTick(function () {
4311
+ if (error)
4312
+ validate(newValue);
4313
+ if (onChange)
4314
+ onChange(newValue);
4315
+ onValueChange(name, newValue);
4316
+ });
4317
+ }
4318
+ }, [error, name, onChange, onValueChange, validate, value]);
4319
+ useFirstSkipEffect(function () {
4320
+ changeValue(getFinalValue(initValue));
4321
+ }, [initValue]);
4322
+ useFirstSkipEffect(function () {
4323
+ changeValue(getFinalValue(value));
4324
+ }, [multiple]);
4253
4325
  var componentValue = useMemo(function () {
4254
4326
  var finalValue = value;
4255
4327
  if (finalValue != null) {
@@ -4335,11 +4407,6 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
4335
4407
  * Effect
4336
4408
  * ******************************************************************************************************************/
4337
4409
  useEffect(function () {
4338
- if (value !== initValue) {
4339
- if (onChange)
4340
- onChange(value);
4341
- onValueChange(name, value);
4342
- }
4343
4410
  if (!async && onLoadItems) {
4344
4411
  showOnGetItemLoading();
4345
4412
  onLoadItems().then(function (items) {
@@ -4355,13 +4422,6 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
4355
4422
  };
4356
4423
  // eslint-disable-next-line react-hooks/exhaustive-deps
4357
4424
  }, []);
4358
- useFirstSkipEffect(function () {
4359
- if (error)
4360
- validate(value);
4361
- if (onChange)
4362
- onChange(value);
4363
- onValueChange(name, value);
4364
- }, [value]);
4365
4425
  useEffect(function () {
4366
4426
  if (async && onLoadItems) {
4367
4427
  if (asyncTimerRef.current) {
@@ -4417,31 +4477,6 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
4417
4477
  var _a;
4418
4478
  (_a = textFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
4419
4479
  }, [textFieldRef]);
4420
- /********************************************************************************************************************
4421
- * Function - setErrorErrorHelperText
4422
- * ******************************************************************************************************************/
4423
- var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
4424
- setError(error);
4425
- setErrorHelperText(errorHelperText);
4426
- }, [setError]);
4427
- /********************************************************************************************************************
4428
- * Function - validate
4429
- * ******************************************************************************************************************/
4430
- var validate = useCallback(function (value) {
4431
- if (required && empty(value)) {
4432
- setErrorErrorHelperText(true, '필수 선택 항목입니다.');
4433
- return false;
4434
- }
4435
- if (onValidate) {
4436
- var onValidateResult = onValidate(value);
4437
- if (onValidateResult != null && onValidateResult !== true) {
4438
- setErrorErrorHelperText(true, onValidateResult);
4439
- return false;
4440
- }
4441
- }
4442
- setErrorErrorHelperText(false, undefined);
4443
- return true;
4444
- }, [required, onValidate, setErrorErrorHelperText]);
4445
4480
  /********************************************************************************************************************
4446
4481
  * Commands
4447
4482
  * ******************************************************************************************************************/
@@ -4459,12 +4494,12 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
4459
4494
  getReset: function () { return getFinalValue(initValue); },
4460
4495
  reset: function () {
4461
4496
  lastValue_1 = getFinalValue(initValue);
4462
- setValue(lastValue_1);
4497
+ changeValue(lastValue_1);
4463
4498
  },
4464
4499
  getValue: function () { return lastValue_1; },
4465
4500
  setValue: function (value) {
4466
4501
  lastValue_1 = getFinalValue(value);
4467
- setValue(lastValue_1);
4502
+ changeValue(lastValue_1);
4468
4503
  },
4469
4504
  getData: function () { return lastData_1; },
4470
4505
  setData: function (data) {
@@ -4543,7 +4578,6 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
4543
4578
  onRemoveValueItem,
4544
4579
  loading,
4545
4580
  id,
4546
- setValue,
4547
4581
  setDisabled,
4548
4582
  setErrorErrorHelperText,
4549
4583
  setItems,
@@ -4552,6 +4586,7 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
4552
4586
  setData,
4553
4587
  hidden,
4554
4588
  setHidden,
4589
+ changeValue,
4555
4590
  ]);
4556
4591
  /********************************************************************************************************************
4557
4592
  * Event Handler
@@ -4571,7 +4606,7 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
4571
4606
  }
4572
4607
  var finalValue = getFinalValue(newValue);
4573
4608
  if (!equal(value, finalValue)) {
4574
- setValue(finalValue);
4609
+ changeValue(finalValue);
4575
4610
  setValueItem(componentValue);
4576
4611
  nextTick(function () {
4577
4612
  onValueChangeByUser(name, finalValue);
@@ -4599,7 +4634,7 @@ FormTextEditor.defaultProps = FormTextEditorDefaultProps;var FormAutocompleteDef
4599
4634
  else {
4600
4635
  go();
4601
4636
  }
4602
- }, [multiple, getFinalValue, value, setValue, onValueChangeByUser, name, onRequestSearchSubmit, onAddItem]);
4637
+ }, [multiple, getFinalValue, value, changeValue, onValueChangeByUser, name, onRequestSearchSubmit, onAddItem]);
4603
4638
  var handleGetOptionDisabled = useCallback(function (option) {
4604
4639
  if (getOptionDisabled) {
4605
4640
  return option.disabled || getOptionDisabled(option);
@@ -4848,7 +4883,7 @@ var PrivateTimeSelect = React.forwardRef(function (_a, ref) {
4848
4883
  }))))));
4849
4884
  });
4850
4885
  PrivateTimeSelect.displayName = 'PrivateTimeSelect';
4851
- PrivateTimeSelect.defaultProps = PrivateTimeSelectDefaultProps;var css_248z$8 = ".PrivateStaticDatePicker.time {\n height: 400px;\n}\n.PrivateStaticDatePicker .MuiPickersCalendarHeader-root {\n display: none;\n}\n.PrivateStaticDatePicker .month-title-container {\n display: flex;\n align-items: center;\n margin-left: 5px;\n}\n.PrivateStaticDatePicker .month-title-container .month-title-wrap {\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n.PrivateStaticDatePicker .month-title-container .month-title-wrap .month-title button {\n font-size: 15px;\n padding-left: 8px;\n padding-right: 0;\n min-width: 0;\n}\n.PrivateStaticDatePicker .month-title-container .month-title-wrap .month-title button:not(.active) {\n color: unset;\n}\n.PrivateStaticDatePicker .action-buttons {\n border-top: 1px solid #efefef;\n padding: 10px;\n text-align: right;\n}\n.PrivateStaticDatePicker .action-buttons button {\n min-width: 0;\n color: inherit;\n}\n.PrivateStaticDatePicker .action-buttons button:not(:first-child) {\n margin-left: 5px;\n}\n.PrivateStaticDatePicker .action-buttons button.disabled {\n color: rgba(0, 0, 0, 0.5);\n}\n.PrivateStaticDatePicker .time {\n border-left: 2px solid #bfbfbf;\n}\n.PrivateStaticDatePicker .time .time-container {\n height: 100%;\n}\n.PrivateStaticDatePicker .time .time-container .time-title {\n text-align: center;\n padding: 22px 0;\n font-size: 15px;\n}\n.PrivateStaticDatePicker .time .time-container .time-select-wrap {\n flex: 1;\n border-top: 1px solid #efefef;\n}\n.PrivateStaticDatePicker.time .time .time-container .time-select-wrap > div > div:not(:first-child) {\n border-left: 1px solid #efefef;\n}";
4886
+ PrivateTimeSelect.defaultProps = PrivateTimeSelectDefaultProps;var css_248z$8 = ".PrivateStaticDatePicker.time {\n height: 400px;\n}\n.PrivateStaticDatePicker .MuiPickersCalendarHeader-root {\n display: none;\n}\n.PrivateStaticDatePicker .month-title-container {\n display: flex;\n align-items: center;\n margin-left: 5px;\n}\n.PrivateStaticDatePicker .month-title-container .month-title-wrap {\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n.PrivateStaticDatePicker .month-title-container .month-title-wrap .month-title button {\n font-size: 15px;\n padding-left: 8px;\n padding-right: 0;\n min-width: 0;\n}\n.PrivateStaticDatePicker .month-title-container .month-title-wrap .month-title button:not(.active) {\n color: unset;\n}\n.PrivateStaticDatePicker .action-buttons {\n border-top: 1px solid #efefef;\n padding: 10px;\n text-align: right;\n}\n.PrivateStaticDatePicker .action-buttons button {\n min-width: 0;\n color: inherit;\n}\n.PrivateStaticDatePicker .action-buttons button:not(:first-of-type) {\n margin-left: 5px;\n}\n.PrivateStaticDatePicker .action-buttons button.disabled {\n color: rgba(0, 0, 0, 0.5);\n}\n.PrivateStaticDatePicker .time {\n border-left: 2px solid #bfbfbf;\n}\n.PrivateStaticDatePicker .time .time-container {\n height: 100%;\n}\n.PrivateStaticDatePicker .time .time-container .time-title {\n text-align: center;\n padding: 22px 0;\n font-size: 15px;\n}\n.PrivateStaticDatePicker .time .time-container .time-select-wrap {\n flex: 1;\n border-top: 1px solid #efefef;\n}\n.PrivateStaticDatePicker.time .time .time-container .time-select-wrap > div > div:not(:first-of-type) {\n border-left: 1px solid #efefef;\n}";
4852
4887
  styleInject(css_248z$8);var DEFAULT_HOURS$1 = new Array(24).fill(0);
4853
4888
  for (var i$2 = 0; i$2 < DEFAULT_HOURS$1.length; i$2 += 1) {
4854
4889
  DEFAULT_HOURS$1[i$2] = i$2;
@@ -5244,29 +5279,66 @@ styleInject(css_248z$7);var PrivateDatePicker = React.forwardRef(function (_a, r
5244
5279
  var getFinalValue = useCallback(function (value) {
5245
5280
  return value;
5246
5281
  }, []);
5282
+ /********************************************************************************************************************
5283
+ * Function - setErrorErrorHelperText
5284
+ * ******************************************************************************************************************/
5285
+ var setErrorErrorHelperText = useCallback(function (error, helperText) {
5286
+ setError(error);
5287
+ setErrorHelperText(helperText);
5288
+ }, [setError]);
5289
+ /********************************************************************************************************************
5290
+ * Function - validate
5291
+ * ******************************************************************************************************************/
5292
+ var validate = useCallback(function (value) {
5293
+ if (required && empty(value)) {
5294
+ setErrorErrorHelperText(true, '필수 입력 항목입니다.');
5295
+ return false;
5296
+ }
5297
+ if (value && !value.isValid()) {
5298
+ setErrorErrorHelperText(true, '형식이 일치하지 않습니다.');
5299
+ return false;
5300
+ }
5301
+ if (datePickerErrorRef.current) {
5302
+ setErrorErrorHelperText(true, getDateValidationErrorText(datePickerErrorRef.current));
5303
+ return false;
5304
+ }
5305
+ if (timeError) {
5306
+ setErrorErrorHelperText(true, getDateValidationErrorText(timeError));
5307
+ return false;
5308
+ }
5309
+ if (onValidate) {
5310
+ var onValidateResult = onValidate(value);
5311
+ if (onValidateResult != null && onValidateResult !== true) {
5312
+ setErrorErrorHelperText(true, onValidateResult);
5313
+ return false;
5314
+ }
5315
+ }
5316
+ setErrorErrorHelperText(false, undefined);
5317
+ return true;
5318
+ }, [required, timeError, onValidate, setErrorErrorHelperText]);
5247
5319
  /********************************************************************************************************************
5248
5320
  * State - value
5249
5321
  * ******************************************************************************************************************/
5250
- var _k = useAutoUpdateState(initValue || null, getFinalValue), value = _k[0], setValue = _k[1];
5322
+ var _k = useState(function () { return getFinalValue(initValue || null); }), value = _k[0], setValue = _k[1];
5251
5323
  var _l = useState(null), inputValue = _l[0], setInputValue = _l[1];
5324
+ var changeValue = useCallback(function (newValue) {
5325
+ if (value !== newValue) {
5326
+ setValue(newValue);
5327
+ nextTick(function () {
5328
+ if (error)
5329
+ validate(newValue);
5330
+ if (onChange)
5331
+ onChange(newValue);
5332
+ onValueChange(name, newValue);
5333
+ });
5334
+ }
5335
+ }, [error, name, onChange, onValueChange, validate, value]);
5252
5336
  /********************************************************************************************************************
5253
5337
  * Effect
5254
5338
  * ******************************************************************************************************************/
5255
- useEffect(function () {
5256
- if (value !== initValue) {
5257
- if (onChange)
5258
- onChange(value);
5259
- onValueChange(name, value);
5260
- }
5261
- // eslint-disable-next-line react-hooks/exhaustive-deps
5262
- }, []);
5263
5339
  useFirstSkipEffect(function () {
5264
- if (error)
5265
- validate(value);
5266
- if (onChange)
5267
- onChange(value);
5268
- onValueChange(name, value);
5269
- }, [value]);
5340
+ changeValue(getFinalValue(initValue || null));
5341
+ }, [initValue]);
5270
5342
  useEffect(function () {
5271
5343
  setInputValue(value);
5272
5344
  }, [value]);
@@ -5326,44 +5398,7 @@ styleInject(css_248z$7);var PrivateDatePicker = React.forwardRef(function (_a, r
5326
5398
  (_a = textFieldInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
5327
5399
  }, [textFieldInputRef]);
5328
5400
  /********************************************************************************************************************
5329
- * Function - setErrorErrorHelperText
5330
- * ******************************************************************************************************************/
5331
- var setErrorErrorHelperText = useCallback(function (error, helperText) {
5332
- setError(error);
5333
- setErrorHelperText(helperText);
5334
- }, [setError]);
5335
- /********************************************************************************************************************
5336
- * Function - validate
5337
- * ******************************************************************************************************************/
5338
- var validate = useCallback(function (value) {
5339
- if (required && empty(value)) {
5340
- setErrorErrorHelperText(true, '필수 입력 항목입니다.');
5341
- return false;
5342
- }
5343
- if (value && !value.isValid()) {
5344
- setErrorErrorHelperText(true, '형식이 일치하지 않습니다.');
5345
- return false;
5346
- }
5347
- if (datePickerErrorRef.current) {
5348
- setErrorErrorHelperText(true, getDateValidationErrorText(datePickerErrorRef.current));
5349
- return false;
5350
- }
5351
- if (timeError) {
5352
- setErrorErrorHelperText(true, getDateValidationErrorText(timeError));
5353
- return false;
5354
- }
5355
- if (onValidate) {
5356
- var onValidateResult = onValidate(value);
5357
- if (onValidateResult != null && onValidateResult !== true) {
5358
- setErrorErrorHelperText(true, onValidateResult);
5359
- return false;
5360
- }
5361
- }
5362
- setErrorErrorHelperText(false, undefined);
5363
- return true;
5364
- }, [required, timeError, onValidate, setErrorErrorHelperText]);
5365
- /********************************************************************************************************************
5366
- * Commands
5401
+ * Commands
5367
5402
  * ******************************************************************************************************************/
5368
5403
  useLayoutEffect(function () {
5369
5404
  if (ref || onAddValueItem) {
@@ -5377,12 +5412,12 @@ styleInject(css_248z$7);var PrivateDatePicker = React.forwardRef(function (_a, r
5377
5412
  getReset: function () { return getFinalValue(initValue || null); },
5378
5413
  reset: function () {
5379
5414
  lastValue_1 = getFinalValue(initValue || null);
5380
- setValue(lastValue_1);
5415
+ changeValue(lastValue_1);
5381
5416
  },
5382
5417
  getValue: function () { return lastValue_1; },
5383
5418
  setValue: function (value) {
5384
5419
  lastValue_1 = getFinalValue(value);
5385
- setValue(lastValue_1);
5420
+ changeValue(lastValue_1);
5386
5421
  },
5387
5422
  getData: function () { return lastData_1; },
5388
5423
  setData: function (data) {
@@ -5445,13 +5480,13 @@ styleInject(css_248z$7);var PrivateDatePicker = React.forwardRef(function (_a, r
5445
5480
  onAddValueItem,
5446
5481
  onRemoveValueItem,
5447
5482
  id,
5448
- setValue,
5449
5483
  setDisabled,
5450
5484
  setErrorErrorHelperText,
5451
5485
  data,
5452
5486
  setData,
5453
5487
  hidden,
5454
5488
  setHidden,
5489
+ changeValue,
5455
5490
  ]);
5456
5491
  /********************************************************************************************************************
5457
5492
  * Event Handler
@@ -5492,7 +5527,7 @@ styleInject(css_248z$7);var PrivateDatePicker = React.forwardRef(function (_a, r
5492
5527
  if (time === unit)
5493
5528
  setOpen(false);
5494
5529
  }
5495
- setValue(finalValue);
5530
+ changeValue(finalValue);
5496
5531
  nextTick(function () {
5497
5532
  onValueChangeByUser(name, finalValue);
5498
5533
  if (runOnRequestSearchSubmit_1) {
@@ -5501,7 +5536,7 @@ styleInject(css_248z$7);var PrivateDatePicker = React.forwardRef(function (_a, r
5501
5536
  });
5502
5537
  }
5503
5538
  setInputValue(finalValue);
5504
- }, [type, time, setValue, availableDate, open, onValueChangeByUser, name, onRequestSearchSubmit]);
5539
+ }, [type, time, changeValue, availableDate, open, onValueChangeByUser, name, onRequestSearchSubmit]);
5505
5540
  var handleContainerFocus = useCallback(function () {
5506
5541
  if (closeTimeoutRef.current) {
5507
5542
  clearTimeout(closeTimeoutRef.current);
@@ -5625,7 +5660,7 @@ PrivateDatePicker.defaultProps = PrivateDatePickerDefaultProps;var PrivateDateTi
5625
5660
  align: 'center',
5626
5661
  value: null,
5627
5662
  };var css_248z$6 = ".PrivateDateTimePicker .input-text-field.align-left .MuiInputBase-input {\n text-align: left;\n}\n.PrivateDateTimePicker .input-text-field.align-center .MuiInputBase-input {\n text-align: center;\n}\n.PrivateDateTimePicker .input-text-field.align-right .MuiInputBase-input {\n text-align: right;\n}";
5628
- styleInject(css_248z$6);var PrivateStaticDateTimePickerDefaultProps = {};var css_248z$5 = ".PrivateStaticDateTimePicker.time {\n height: 400px;\n}\n.PrivateStaticDateTimePicker .MuiPickersCalendarHeader-root {\n display: none;\n}\n.PrivateStaticDateTimePicker .month-title-container {\n display: flex;\n align-items: center;\n margin-left: 5px;\n}\n.PrivateStaticDateTimePicker .month-title-container .month-title-wrap {\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n.PrivateStaticDateTimePicker .month-title-container .month-title-wrap .month-title button {\n font-size: 15px;\n padding-left: 8px;\n padding-right: 0;\n min-width: 0;\n}\n.PrivateStaticDateTimePicker .month-title-container .month-title-wrap .month-title button:not(.active) {\n color: unset;\n}\n.PrivateStaticDateTimePicker .action-buttons {\n border-top: 1px solid #efefef;\n padding: 10px;\n text-align: right;\n}\n.PrivateStaticDateTimePicker .action-buttons button {\n min-width: 0;\n color: inherit;\n}\n.PrivateStaticDateTimePicker .action-buttons button:not(:first-child) {\n margin-left: 5px;\n}\n.PrivateStaticDateTimePicker .action-buttons button.disabled {\n color: rgba(0, 0, 0, 0.5);\n}\n.PrivateStaticDateTimePicker .time {\n border-left: 2px solid #bfbfbf;\n}\n.PrivateStaticDateTimePicker .time .time-container {\n height: 100%;\n}\n.PrivateStaticDateTimePicker .time .time-container .time-title {\n text-align: center;\n padding: 22px 0;\n font-size: 15px;\n}\n.PrivateStaticDateTimePicker .time .time-container .time-select-wrap {\n flex: 1;\n border-top: 1px solid #efefef;\n}\n.PrivateStaticDateTimePicker.time .time .time-container .time-select-wrap > div > div:not(:first-child) {\n border-left: 1px solid #efefef;\n}";
5663
+ styleInject(css_248z$6);var PrivateStaticDateTimePickerDefaultProps = {};var css_248z$5 = ".PrivateStaticDateTimePicker.time {\n height: 400px;\n}\n.PrivateStaticDateTimePicker .MuiPickersCalendarHeader-root {\n display: none;\n}\n.PrivateStaticDateTimePicker .month-title-container {\n display: flex;\n align-items: center;\n margin-left: 5px;\n}\n.PrivateStaticDateTimePicker .month-title-container .month-title-wrap {\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n.PrivateStaticDateTimePicker .month-title-container .month-title-wrap .month-title button {\n font-size: 15px;\n padding-left: 8px;\n padding-right: 0;\n min-width: 0;\n}\n.PrivateStaticDateTimePicker .month-title-container .month-title-wrap .month-title button:not(.active) {\n color: unset;\n}\n.PrivateStaticDateTimePicker .action-buttons {\n border-top: 1px solid #efefef;\n padding: 10px;\n text-align: right;\n}\n.PrivateStaticDateTimePicker .action-buttons button {\n min-width: 0;\n color: inherit;\n}\n.PrivateStaticDateTimePicker .action-buttons button:not(:first-of-type) {\n margin-left: 5px;\n}\n.PrivateStaticDateTimePicker .action-buttons button.disabled {\n color: rgba(0, 0, 0, 0.5);\n}\n.PrivateStaticDateTimePicker .time {\n border-left: 2px solid #bfbfbf;\n}\n.PrivateStaticDateTimePicker .time .time-container {\n height: 100%;\n}\n.PrivateStaticDateTimePicker .time .time-container .time-title {\n text-align: center;\n padding: 22px 0;\n font-size: 15px;\n}\n.PrivateStaticDateTimePicker .time .time-container .time-select-wrap {\n flex: 1;\n border-top: 1px solid #efefef;\n}\n.PrivateStaticDateTimePicker.time .time .time-container .time-select-wrap > div > div:not(:first-of-type) {\n border-left: 1px solid #efefef;\n}";
5629
5664
  styleInject(css_248z$5);var DEFAULT_HOURS = new Array(24).fill(0);
5630
5665
  for (var i$1 = 0; i$1 < DEFAULT_HOURS.length; i$1 += 1) {
5631
5666
  DEFAULT_HOURS[i$1] = i$1;
@@ -6012,29 +6047,66 @@ PrivateStaticDateTimePicker.defaultProps = PrivateStaticDateTimePickerDefaultPro
6012
6047
  var getFinalValue = useCallback(function (value) {
6013
6048
  return value;
6014
6049
  }, []);
6050
+ /********************************************************************************************************************
6051
+ * Function - setErrorErrorHelperText
6052
+ * ******************************************************************************************************************/
6053
+ var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
6054
+ setError(error);
6055
+ setErrorHelperText(errorHelperText);
6056
+ }, [setError]);
6057
+ /********************************************************************************************************************
6058
+ * Function - validate
6059
+ * ******************************************************************************************************************/
6060
+ var validate = useCallback(function (value) {
6061
+ if (required && empty(value)) {
6062
+ setErrorErrorHelperText(true, '필수 입력 항목입니다.');
6063
+ return false;
6064
+ }
6065
+ if (value && !value.isValid()) {
6066
+ setErrorErrorHelperText(true, '형식이 일치하지 않습니다.');
6067
+ return false;
6068
+ }
6069
+ if (datePickerErrorRef.current) {
6070
+ setErrorErrorHelperText(true, getDateValidationErrorText(datePickerErrorRef.current));
6071
+ return false;
6072
+ }
6073
+ if (timeError) {
6074
+ setErrorErrorHelperText(true, getDateValidationErrorText(timeError));
6075
+ return false;
6076
+ }
6077
+ if (onValidate) {
6078
+ var onValidateResult = onValidate(value);
6079
+ if (onValidateResult != null && onValidateResult !== true) {
6080
+ setErrorErrorHelperText(true, onValidateResult);
6081
+ return false;
6082
+ }
6083
+ }
6084
+ setErrorErrorHelperText(false, undefined);
6085
+ return true;
6086
+ }, [required, timeError, onValidate, setErrorErrorHelperText]);
6015
6087
  /********************************************************************************************************************
6016
6088
  * State - value
6017
6089
  * ******************************************************************************************************************/
6018
- var _k = useAutoUpdateState(initValue || null, getFinalValue), value = _k[0], setValue = _k[1];
6090
+ var _k = useState(function () { return getFinalValue(initValue || null); }), value = _k[0], setValue = _k[1];
6019
6091
  var _l = useState(null), inputValue = _l[0], setInputValue = _l[1];
6092
+ var changeValue = useCallback(function (newValue) {
6093
+ if (value !== newValue) {
6094
+ setValue(newValue);
6095
+ nextTick(function () {
6096
+ if (error)
6097
+ validate(newValue);
6098
+ if (onChange)
6099
+ onChange(newValue);
6100
+ onValueChange(name, newValue);
6101
+ });
6102
+ }
6103
+ }, [error, name, onChange, onValueChange, validate, value]);
6020
6104
  /********************************************************************************************************************
6021
6105
  * Effect
6022
6106
  * ******************************************************************************************************************/
6023
- useEffect(function () {
6024
- if (value !== initValue) {
6025
- if (onChange)
6026
- onChange(value);
6027
- onValueChange(name, value);
6028
- }
6029
- // eslint-disable-next-line react-hooks/exhaustive-deps
6030
- }, []);
6031
6107
  useFirstSkipEffect(function () {
6032
- if (error)
6033
- validate(value);
6034
- if (onChange)
6035
- onChange(value);
6036
- onValueChange(name, value);
6037
- }, [value]);
6108
+ changeValue(getFinalValue(initValue || null));
6109
+ }, [initValue]);
6038
6110
  useEffect(function () {
6039
6111
  setInputValue(value);
6040
6112
  }, [value]);
@@ -6093,43 +6165,6 @@ PrivateStaticDateTimePicker.defaultProps = PrivateStaticDateTimePickerDefaultPro
6093
6165
  var _a;
6094
6166
  (_a = textFieldInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
6095
6167
  }, [textFieldInputRef]);
6096
- /********************************************************************************************************************
6097
- * Function - setErrorErrorHelperText
6098
- * ******************************************************************************************************************/
6099
- var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
6100
- setError(error);
6101
- setErrorHelperText(errorHelperText);
6102
- }, [setError]);
6103
- /********************************************************************************************************************
6104
- * Function - validate
6105
- * ******************************************************************************************************************/
6106
- var validate = useCallback(function (value) {
6107
- if (required && empty(value)) {
6108
- setErrorErrorHelperText(true, '필수 입력 항목입니다.');
6109
- return false;
6110
- }
6111
- if (value && !value.isValid()) {
6112
- setErrorErrorHelperText(true, '형식이 일치하지 않습니다.');
6113
- return false;
6114
- }
6115
- if (datePickerErrorRef.current) {
6116
- setErrorErrorHelperText(true, getDateValidationErrorText(datePickerErrorRef.current));
6117
- return false;
6118
- }
6119
- if (timeError) {
6120
- setErrorErrorHelperText(true, getDateValidationErrorText(timeError));
6121
- return false;
6122
- }
6123
- if (onValidate) {
6124
- var onValidateResult = onValidate(value);
6125
- if (onValidateResult != null && onValidateResult !== true) {
6126
- setErrorErrorHelperText(true, onValidateResult);
6127
- return false;
6128
- }
6129
- }
6130
- setErrorErrorHelperText(false, undefined);
6131
- return true;
6132
- }, [required, timeError, onValidate, setErrorErrorHelperText]);
6133
6168
  /********************************************************************************************************************
6134
6169
  * Commands
6135
6170
  * ******************************************************************************************************************/
@@ -6145,12 +6180,12 @@ PrivateStaticDateTimePicker.defaultProps = PrivateStaticDateTimePickerDefaultPro
6145
6180
  getReset: function () { return getFinalValue(initValue || null); },
6146
6181
  reset: function () {
6147
6182
  lastValue_1 = getFinalValue(initValue || null);
6148
- setValue(lastValue_1);
6183
+ changeValue(lastValue_1);
6149
6184
  },
6150
6185
  getValue: function () { return lastValue_1; },
6151
6186
  setValue: function (value) {
6152
6187
  lastValue_1 = getFinalValue(value);
6153
- setValue(lastValue_1);
6188
+ changeValue(lastValue_1);
6154
6189
  },
6155
6190
  getData: function () { return lastData_1; },
6156
6191
  setData: function (data) {
@@ -6213,13 +6248,13 @@ PrivateStaticDateTimePicker.defaultProps = PrivateStaticDateTimePickerDefaultPro
6213
6248
  onAddValueItem,
6214
6249
  onRemoveValueItem,
6215
6250
  id,
6216
- setValue,
6217
6251
  setDisabled,
6218
6252
  setErrorErrorHelperText,
6219
6253
  data,
6220
6254
  setData,
6221
6255
  hidden,
6222
6256
  setHidden,
6257
+ changeValue,
6223
6258
  ]);
6224
6259
  /********************************************************************************************************************
6225
6260
  * Event Handler
@@ -6261,7 +6296,7 @@ PrivateStaticDateTimePicker.defaultProps = PrivateStaticDateTimePickerDefaultPro
6261
6296
  if (time === unit)
6262
6297
  setOpen(false);
6263
6298
  }
6264
- setValue(finalValue);
6299
+ changeValue(finalValue);
6265
6300
  nextTick(function () {
6266
6301
  onValueChangeByUser(name, finalValue);
6267
6302
  if (runOnRequestSearchSubmit_1) {
@@ -6286,7 +6321,7 @@ PrivateStaticDateTimePicker.defaultProps = PrivateStaticDateTimePickerDefaultPro
6286
6321
  }
6287
6322
  }
6288
6323
  setInputValue(finalValue);
6289
- }, [type, time, setValue, availableDate, open, onValueChangeByUser, name, onRequestSearchSubmit]);
6324
+ }, [type, time, changeValue, availableDate, open, onValueChangeByUser, name, onRequestSearchSubmit]);
6290
6325
  var handleContainerFocus = useCallback(function () {
6291
6326
  if (closeTimeoutRef.current) {
6292
6327
  clearTimeout(closeTimeoutRef.current);
@@ -6673,7 +6708,7 @@ var StyledYearError = styled('span')(templateObject_3$3 || (templateObject_3$3 =
6673
6708
  });
6674
6709
  var StyledTitleGap = styled('span')(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject(["\n padding: 0 7px;\n opacity: 0.5;\n"], ["\n padding: 0 7px;\n opacity: 0.5;\n"])));
6675
6710
  var StyledActionContainer$1 = styled('div')(templateObject_5$1 || (templateObject_5$1 = __makeTemplateObject(["\n border-top: 1px solid #efefef;\n padding: 10px;\n text-align: right;\n &:empty {\n display: none;\n }\n"], ["\n border-top: 1px solid #efefef;\n padding: 10px;\n text-align: right;\n &:empty {\n display: none;\n }\n"])));
6676
- var StyledActionButton$1 = styled(Button)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n min-width: 0;\n color: unset;\n &:not(:first-child) {\n margin-left: 5px;\n }\n &.disabled {\n color: rgba(0, 0, 0, 0.5);\n }\n"], ["\n min-width: 0;\n color: unset;\n &:not(:first-child) {\n margin-left: 5px;\n }\n &.disabled {\n color: rgba(0, 0, 0, 0.5);\n }\n"])));
6711
+ var StyledActionButton$1 = styled(Button)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n min-width: 0;\n color: unset;\n &:not(:first-of-type) {\n margin-left: 5px;\n }\n &.disabled {\n color: rgba(0, 0, 0, 0.5);\n }\n"], ["\n min-width: 0;\n color: unset;\n &:not(:first-of-type) {\n margin-left: 5px;\n }\n &.disabled {\n color: rgba(0, 0, 0, 0.5);\n }\n"])));
6677
6712
  var templateObject_1$8, templateObject_2$5, templateObject_3$3, templateObject_4$2, templateObject_5$1, templateObject_6;var DEFAULT_VALUE$5 = [null, null];
6678
6713
  var PrivateYearRangePicker = function (_a) {
6679
6714
  /********************************************************************************************************************
@@ -7327,7 +7362,7 @@ PrivateMonthPicker.defaultProps = PrivateMonthPickerDefaultProps;var PrivateMont
7327
7362
  },
7328
7363
  };var StyledDiv = styled(Grid)(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n width: 30px;\n border-left: 1px solid #efefef;\n border-right: 1px solid #efefef;\n background-color: #fafafa;\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n width: 30px;\n border-left: 1px solid #efefef;\n border-right: 1px solid #efefef;\n background-color: #fafafa;\n"])));
7329
7364
  var StyledActionContainer = styled('div')(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border-top: 1px solid #efefef;\n padding: 10px;\n text-align: right;\n &:empty {\n display: none;\n }\n"], ["\n border-top: 1px solid #efefef;\n padding: 10px;\n text-align: right;\n &:empty {\n display: none;\n }\n"])));
7330
- var StyledActionButton = styled(Button)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n min-width: 0;\n color: unset;\n &:not(:first-child) {\n margin-left: 5px;\n }\n &.disabled {\n color: rgba(0, 0, 0, 0.5);\n }\n"], ["\n min-width: 0;\n color: unset;\n &:not(:first-child) {\n margin-left: 5px;\n }\n &.disabled {\n color: rgba(0, 0, 0, 0.5);\n }\n"])));
7365
+ var StyledActionButton = styled(Button)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n min-width: 0;\n color: unset;\n &:not(:first-of-type) {\n margin-left: 5px;\n }\n &.disabled {\n color: rgba(0, 0, 0, 0.5);\n }\n"], ["\n min-width: 0;\n color: unset;\n &:not(:first-of-type) {\n margin-left: 5px;\n }\n &.disabled {\n color: rgba(0, 0, 0, 0.5);\n }\n"])));
7331
7366
  var templateObject_1$1, templateObject_2, templateObject_3;var PrivateMonthRangePicker = function (_a) {
7332
7367
  /********************************************************************************************************************
7333
7368
  * Function
@@ -7714,7 +7749,7 @@ styleInject(css_248z$3);var FormDateRangePickerTooltipPicker = React.forwardRef(
7714
7749
  } }));
7715
7750
  });
7716
7751
  FormDateRangePickerTooltipPicker.displayName = 'FormDateRangePickerTooltipPicker';
7717
- FormDateRangePickerTooltipPicker.defaultProps = FormDateRangePickerTooltipPickerDefaultProps;var css_248z$2 = ".FormDateRangePickerTooltipPickerContainer {\n display: inline-block;\n position: relative;\n}\n.FormDateRangePickerTooltipPickerContainer .month-change-arrow-wrap {\n position: absolute;\n top: 15px;\n left: 0;\n right: 0;\n}\n.FormDateRangePickerTooltipPickerContainer .month-change-arrow-wrap > div:first-child {\n padding-left: 20px;\n}\n.FormDateRangePickerTooltipPickerContainer .month-change-arrow-wrap > div:last-child {\n padding-right: 20px;\n text-align: right;\n}\n.FormDateRangePickerTooltipPickerContainer .month-title {\n text-align: center;\n padding-top: 13px;\n padding-bottom: 10px;\n}\n.FormDateRangePickerTooltipPickerContainer .month-title button {\n font-size: 15px;\n padding-left: 8px;\n padding-right: 0;\n min-width: 0;\n}\n.FormDateRangePickerTooltipPickerContainer .month-title button:not(.active) {\n color: unset;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap {\n position: relative;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select,\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .month-select {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n border-top: 1px solid #efefef;\n padding-top: 15px;\n background-color: white;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select button.today:not(.selected),\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .month-select button.today:not(.selected) {\n border: 1px solid rgba(0, 0, 0, 0.1);\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select button.active:not(.selected),\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .month-select button.active:not(.selected) {\n background-color: #f5f5f5;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select button.active:not(.selected):hover,\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .month-select button.active:not(.selected):hover {\n background-color: rgb(229, 229, 229);\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select {\n overflow-y: scroll;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select button {\n font-size: 14px;\n font-weight: 400;\n border-radius: 18px;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .month-select button {\n font-size: 15px;\n font-weight: 400;\n border-radius: 18px;\n}\n.FormDateRangePickerTooltipPickerContainer .action-buttons button {\n min-width: 0;\n color: unset;\n}\n.FormDateRangePickerTooltipPickerContainer .action-buttons button:not(:first-child) {\n margin-left: 5px;\n}\n.FormDateRangePickerTooltipPickerContainer .action-buttons button.disabled {\n color: rgba(0, 0, 0, 0.5);\n}";
7752
+ FormDateRangePickerTooltipPicker.defaultProps = FormDateRangePickerTooltipPickerDefaultProps;var css_248z$2 = ".FormDateRangePickerTooltipPickerContainer {\n display: inline-block;\n position: relative;\n}\n.FormDateRangePickerTooltipPickerContainer .month-change-arrow-wrap {\n position: absolute;\n top: 15px;\n left: 0;\n right: 0;\n}\n.FormDateRangePickerTooltipPickerContainer .month-change-arrow-wrap > div:first-of-type {\n padding-left: 20px;\n}\n.FormDateRangePickerTooltipPickerContainer .month-change-arrow-wrap > div:last-child {\n padding-right: 20px;\n text-align: right;\n}\n.FormDateRangePickerTooltipPickerContainer .month-title {\n text-align: center;\n padding-top: 13px;\n padding-bottom: 10px;\n}\n.FormDateRangePickerTooltipPickerContainer .month-title button {\n font-size: 15px;\n padding-left: 8px;\n padding-right: 0;\n min-width: 0;\n}\n.FormDateRangePickerTooltipPickerContainer .month-title button:not(.active) {\n color: unset;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap {\n position: relative;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select,\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .month-select {\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n border-top: 1px solid #efefef;\n padding-top: 15px;\n background-color: white;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select button.today:not(.selected),\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .month-select button.today:not(.selected) {\n border: 1px solid rgba(0, 0, 0, 0.1);\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select button.active:not(.selected),\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .month-select button.active:not(.selected) {\n background-color: #f5f5f5;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select button.active:not(.selected):hover,\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .month-select button.active:not(.selected):hover {\n background-color: rgb(229, 229, 229);\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select {\n overflow-y: scroll;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .year-select button {\n font-size: 14px;\n font-weight: 400;\n border-radius: 18px;\n}\n.FormDateRangePickerTooltipPickerContainer .date-picker-wrap .month-select button {\n font-size: 15px;\n font-weight: 400;\n border-radius: 18px;\n}\n.FormDateRangePickerTooltipPickerContainer .action-buttons button {\n min-width: 0;\n color: unset;\n}\n.FormDateRangePickerTooltipPickerContainer .action-buttons button:not(:first-of-type) {\n margin-left: 5px;\n}\n.FormDateRangePickerTooltipPickerContainer .action-buttons button.disabled {\n color: rgba(0, 0, 0, 0.5);\n}";
7718
7753
  styleInject(css_248z$2);var YEARS = new Array(200).fill(0);
7719
7754
  for (var i = 0; i < 200; i += 1) {
7720
7755
  YEARS[i] = 1900 + i;
@@ -8172,14 +8207,30 @@ var FormDateRangePicker = React.forwardRef(function (_a, ref) {
8172
8207
  * ******************************************************************************************************************/
8173
8208
  var _m = useState(false), open = _m[0], setOpen = _m[1];
8174
8209
  var _o = useState('start'), selectType = _o[0], setSelectType = _o[1];
8175
- var _p = useAutoUpdateState(useCallback(function () {
8176
- return initValue || DEFAULT_VALUE$4;
8177
- }, [initValue])), value = _p[0], setValue = _p[1];
8178
8210
  var calendarCount = useAutoUpdateState(initCalendarCount || 2)[0];
8179
- var _q = useState(function () {
8211
+ var _p = useState(function () {
8180
8212
  var now = dayjs();
8181
8213
  return [now, now.add(1, 'month'), now.add(2, 'month')];
8182
- }), months = _q[0], setMonths = _q[1];
8214
+ }), months = _p[0], setMonths = _p[1];
8215
+ /********************************************************************************************************************
8216
+ * State - Value
8217
+ * ******************************************************************************************************************/
8218
+ var _q = useState(function () { return getFinalValue(initValue); }), value = _q[0], setValue = _q[1];
8219
+ var changeValue = useCallback(function (newValue) {
8220
+ if (value !== newValue) {
8221
+ setValue(newValue);
8222
+ nextTick(function () {
8223
+ if (error || fromError || toError)
8224
+ validate(newValue);
8225
+ if (onChange)
8226
+ onChange(newValue);
8227
+ onValueChange(name, newValue);
8228
+ });
8229
+ }
8230
+ }, [error, fromError, name, onChange, onValueChange, toError, validate, value]);
8231
+ useFirstSkipEffect(function () {
8232
+ changeValue(getFinalValue(initValue));
8233
+ }, [initValue]);
8183
8234
  /********************************************************************************************************************
8184
8235
  * Memo
8185
8236
  * ******************************************************************************************************************/
@@ -8214,21 +8265,6 @@ var FormDateRangePicker = React.forwardRef(function (_a, ref) {
8214
8265
  /********************************************************************************************************************
8215
8266
  * Effect
8216
8267
  * ******************************************************************************************************************/
8217
- useEffect(function () {
8218
- if (value !== initValue) {
8219
- if (onChange)
8220
- onChange(value);
8221
- onValueChange(name, value);
8222
- }
8223
- // eslint-disable-next-line react-hooks/exhaustive-deps
8224
- }, []);
8225
- useFirstSkipEffect(function () {
8226
- if (error || fromError || toError)
8227
- validate(value);
8228
- if (onChange)
8229
- onChange(value);
8230
- onValueChange(name, value);
8231
- }, [value]);
8232
8268
  useFirstSkipEffect(function () {
8233
8269
  if (open) {
8234
8270
  openValueRef.current = value;
@@ -8275,11 +8311,11 @@ var FormDateRangePicker = React.forwardRef(function (_a, ref) {
8275
8311
  * Event Handler
8276
8312
  * ******************************************************************************************************************/
8277
8313
  var handleChange = useCallback(function (newValue) {
8278
- setValue(newValue);
8314
+ changeValue(newValue);
8279
8315
  setOpen(false);
8280
8316
  setFromErrorErrorHelperText(false, undefined);
8281
8317
  setToErrorErrorHelperText(false, undefined);
8282
- }, [setToErrorErrorHelperText, setFromErrorErrorHelperText, setValue]);
8318
+ }, [changeValue, setFromErrorErrorHelperText, setToErrorErrorHelperText]);
8283
8319
  var handleValueChange = useCallback(function (selectType, newValue, fromInput) {
8284
8320
  var _a;
8285
8321
  var finalValue;
@@ -8344,12 +8380,12 @@ var FormDateRangePicker = React.forwardRef(function (_a, ref) {
8344
8380
  }
8345
8381
  break;
8346
8382
  }
8347
- setValue(finalValue);
8383
+ changeValue(finalValue);
8348
8384
  nextTick(function () {
8349
8385
  onValueChangeByUser(name, finalValue);
8350
8386
  });
8351
8387
  }, [
8352
- setValue,
8388
+ changeValue,
8353
8389
  value,
8354
8390
  setFromErrorErrorHelperText,
8355
8391
  activeMonth,
@@ -8459,12 +8495,12 @@ var FormDateRangePicker = React.forwardRef(function (_a, ref) {
8459
8495
  getReset: function () { return getFinalValue(initValue); },
8460
8496
  reset: function () {
8461
8497
  lastValue_1 = getFinalValue(initValue);
8462
- setValue(lastValue_1);
8498
+ changeValue(lastValue_1);
8463
8499
  },
8464
8500
  getValue: function () { return lastValue_1; },
8465
8501
  setValue: function (value) {
8466
8502
  lastValue_1 = getFinalValue(value);
8467
- setValue(lastValue_1);
8503
+ changeValue(lastValue_1);
8468
8504
  },
8469
8505
  getData: function () { return lastData_1; },
8470
8506
  setData: function (data) {
@@ -8474,12 +8510,12 @@ var FormDateRangePicker = React.forwardRef(function (_a, ref) {
8474
8510
  getFromValue: function () { return lastValue_1[0]; },
8475
8511
  setFromValue: function (value) {
8476
8512
  lastValue_1 = [value, lastValue_1[1]];
8477
- setValue(lastValue_1);
8513
+ changeValue(lastValue_1);
8478
8514
  },
8479
8515
  getToValue: function () { return lastValue_1[1]; },
8480
8516
  setToValue: function (value) {
8481
8517
  lastValue_1 = [lastValue_1[0], value];
8482
- setValue(lastValue_1);
8518
+ changeValue(lastValue_1);
8483
8519
  },
8484
8520
  isExceptValue: function () { return !!exceptValue; },
8485
8521
  isDisabled: function () { return lastDisabled_1; },
@@ -8552,13 +8588,13 @@ var FormDateRangePicker = React.forwardRef(function (_a, ref) {
8552
8588
  onAddValueItem,
8553
8589
  onRemoveValueItem,
8554
8590
  id,
8555
- setValue,
8556
8591
  setDisabled,
8557
8592
  setErrorErrorHelperText,
8558
8593
  data,
8559
8594
  setData,
8560
8595
  hidden,
8561
8596
  setHidden,
8597
+ changeValue,
8562
8598
  ]);
8563
8599
  /********************************************************************************************************************
8564
8600
  * Render
@@ -8691,53 +8727,16 @@ styleInject(css_248z$1);var FormFile = React.forwardRef(function (_a, ref) {
8691
8727
  var textFieldRef = useRef(null);
8692
8728
  var fileUploadBtnRef = useRef(null);
8693
8729
  var linkBtnRef = useRef(null);
8694
- /********************************************************************************************************************
8695
- * State - value
8696
- * ******************************************************************************************************************/
8697
- var _c = useAutoUpdateState(initValue || ''), value = _c[0], setValue = _c[1];
8698
- var fileValue = useState('')[0];
8699
- useFirstSkipEffect(function () {
8700
- if (error)
8701
- validate(value);
8702
- if (onChange)
8703
- onChange(value);
8704
- onValueChange(name, value);
8705
- }, [value]);
8706
8730
  /********************************************************************************************************************
8707
8731
  * State
8708
8732
  * ******************************************************************************************************************/
8709
- var _d = useAutoUpdateState(initError), error = _d[0], setError = _d[1];
8710
- var _e = useState(), errorHelperText = _e[0], setErrorHelperText = _e[1];
8711
- var _f = useAutoUpdateState(initDisabled == null ? formDisabled : initDisabled), disabled = _f[0], setDisabled = _f[1];
8712
- var _g = useAutoUpdateState(initHidden), hidden = _g[0], setHidden = _g[1];
8713
- var _h = useState(false), isOpenLinkDialog = _h[0], setIsOpenLinkDialog = _h[1];
8714
- var _j = useAutoUpdateState(initData), data = _j[0], setData = _j[1];
8715
- var _k = useState({ open: false }), alertDialogProps = _k[0], setAlertDialogProps = _k[1];
8716
- /********************************************************************************************************************
8717
- * Memo
8718
- * ******************************************************************************************************************/
8719
- var label = useMemo(function () {
8720
- return labelIcon ? (React.createElement(React.Fragment, null,
8721
- React.createElement(PdgIcon, { style: { verticalAlign: 'middle', marginRight: 4 } }, labelIcon),
8722
- React.createElement("span", { style: { verticalAlign: 'middle' } }, initLabel))) : (initLabel);
8723
- }, [initLabel, labelIcon]);
8724
- /********************************************************************************************************************
8725
- * Function - focus
8726
- * ******************************************************************************************************************/
8727
- var focus = useCallback(function () {
8728
- var _a, _b, _c;
8729
- if (hideUrl) {
8730
- if (hideUpload) {
8731
- (_a = linkBtnRef.current) === null || _a === void 0 ? void 0 : _a.focus();
8732
- }
8733
- else {
8734
- (_b = fileUploadBtnRef.current) === null || _b === void 0 ? void 0 : _b.focus();
8735
- }
8736
- }
8737
- else {
8738
- (_c = textFieldRef.current) === null || _c === void 0 ? void 0 : _c.focus();
8739
- }
8740
- }, [hideUpload, hideUrl]);
8733
+ var _c = useAutoUpdateState(initError), error = _c[0], setError = _c[1];
8734
+ var _d = useState(), errorHelperText = _d[0], setErrorHelperText = _d[1];
8735
+ var _e = useAutoUpdateState(initDisabled == null ? formDisabled : initDisabled), disabled = _e[0], setDisabled = _e[1];
8736
+ var _f = useAutoUpdateState(initHidden), hidden = _f[0], setHidden = _f[1];
8737
+ var _g = useState(false), isOpenLinkDialog = _g[0], setIsOpenLinkDialog = _g[1];
8738
+ var _h = useAutoUpdateState(initData), data = _h[0], setData = _h[1];
8739
+ var _j = useState({ open: false }), alertDialogProps = _j[0], setAlertDialogProps = _j[1];
8741
8740
  /********************************************************************************************************************
8742
8741
  * Function - setErrorErrorHelperText
8743
8742
  * ******************************************************************************************************************/
@@ -8771,42 +8770,90 @@ styleInject(css_248z$1);var FormFile = React.forwardRef(function (_a, ref) {
8771
8770
  return true;
8772
8771
  }, [required, onValidate, setErrorErrorHelperText]);
8773
8772
  /********************************************************************************************************************
8774
- * Commands
8773
+ * State - value
8775
8774
  * ******************************************************************************************************************/
8776
- useLayoutEffect(function () {
8777
- var lastValue = value;
8778
- var lastData = data;
8779
- var lastDisabled = !!disabled;
8780
- var lastHidden = !!hidden;
8781
- var commands = {
8782
- getType: function () { return 'FormFile'; },
8783
- getName: function () { return name; },
8784
- getReset: function () { return initValue || ''; },
8785
- reset: function () {
8786
- lastValue = initValue || '';
8787
- setValue(lastValue);
8788
- },
8789
- getValue: function () { return lastValue; },
8790
- setValue: function (value) {
8791
- lastValue = value;
8792
- setValue(lastValue);
8793
- },
8794
- getData: function () { return lastData; },
8795
- setData: function (data) {
8796
- lastData = data;
8797
- setData(data);
8798
- },
8799
- isExceptValue: function () { return !!exceptValue; },
8800
- isDisabled: function () { return lastDisabled; },
8801
- setDisabled: function (disabled) {
8802
- lastDisabled = disabled;
8803
- setDisabled(disabled);
8804
- },
8805
- isHidden: function () { return lastHidden; },
8806
- setHidden: function (hidden) {
8807
- lastHidden = hidden;
8808
- setHidden(hidden);
8809
- },
8775
+ var _k = useState(initValue || ''), value = _k[0], setValue = _k[1];
8776
+ var fileValue = useState('')[0];
8777
+ var changeValue = useCallback(function (newValue) {
8778
+ if (!equal(value, newValue)) {
8779
+ setValue(newValue);
8780
+ nextTick(function () {
8781
+ if (error)
8782
+ validate(newValue);
8783
+ if (onChange)
8784
+ onChange(newValue);
8785
+ onValueChange(name, newValue);
8786
+ });
8787
+ }
8788
+ }, [error, name, onChange, onValueChange, validate, value]);
8789
+ /********************************************************************************************************************
8790
+ * Effect
8791
+ * ******************************************************************************************************************/
8792
+ useFirstSkipEffect(function () {
8793
+ changeValue(initValue || '');
8794
+ }, [initValue]);
8795
+ /********************************************************************************************************************
8796
+ * Memo
8797
+ * ******************************************************************************************************************/
8798
+ var label = useMemo(function () {
8799
+ return labelIcon ? (React.createElement(React.Fragment, null,
8800
+ React.createElement(PdgIcon, { style: { verticalAlign: 'middle', marginRight: 4 } }, labelIcon),
8801
+ React.createElement("span", { style: { verticalAlign: 'middle' } }, initLabel))) : (initLabel);
8802
+ }, [initLabel, labelIcon]);
8803
+ /********************************************************************************************************************
8804
+ * Function - focus
8805
+ * ******************************************************************************************************************/
8806
+ var focus = useCallback(function () {
8807
+ var _a, _b, _c;
8808
+ if (hideUrl) {
8809
+ if (hideUpload) {
8810
+ (_a = linkBtnRef.current) === null || _a === void 0 ? void 0 : _a.focus();
8811
+ }
8812
+ else {
8813
+ (_b = fileUploadBtnRef.current) === null || _b === void 0 ? void 0 : _b.focus();
8814
+ }
8815
+ }
8816
+ else {
8817
+ (_c = textFieldRef.current) === null || _c === void 0 ? void 0 : _c.focus();
8818
+ }
8819
+ }, [hideUpload, hideUrl]);
8820
+ /********************************************************************************************************************
8821
+ * Commands
8822
+ * ******************************************************************************************************************/
8823
+ useLayoutEffect(function () {
8824
+ var lastValue = value;
8825
+ var lastData = data;
8826
+ var lastDisabled = !!disabled;
8827
+ var lastHidden = !!hidden;
8828
+ var commands = {
8829
+ getType: function () { return 'FormFile'; },
8830
+ getName: function () { return name; },
8831
+ getReset: function () { return initValue || ''; },
8832
+ reset: function () {
8833
+ lastValue = initValue || '';
8834
+ changeValue(lastValue);
8835
+ },
8836
+ getValue: function () { return lastValue; },
8837
+ setValue: function (value) {
8838
+ lastValue = value;
8839
+ changeValue(lastValue);
8840
+ },
8841
+ getData: function () { return lastData; },
8842
+ setData: function (data) {
8843
+ lastData = data;
8844
+ setData(data);
8845
+ },
8846
+ isExceptValue: function () { return !!exceptValue; },
8847
+ isDisabled: function () { return lastDisabled; },
8848
+ setDisabled: function (disabled) {
8849
+ lastDisabled = disabled;
8850
+ setDisabled(disabled);
8851
+ },
8852
+ isHidden: function () { return lastHidden; },
8853
+ setHidden: function (hidden) {
8854
+ lastHidden = hidden;
8855
+ setHidden(hidden);
8856
+ },
8810
8857
  focus: focus,
8811
8858
  focusValidate: focus,
8812
8859
  validate: function () { return validate(value); },
@@ -8846,13 +8893,13 @@ styleInject(css_248z$1);var FormFile = React.forwardRef(function (_a, ref) {
8846
8893
  onAddValueItem,
8847
8894
  onRemoveValueItem,
8848
8895
  id,
8849
- setValue,
8850
8896
  setDisabled,
8851
8897
  setErrorErrorHelperText,
8852
8898
  data,
8853
8899
  setData,
8854
8900
  hidden,
8855
8901
  setHidden,
8902
+ changeValue,
8856
8903
  ]);
8857
8904
  /********************************************************************************************************************
8858
8905
  * Function
@@ -8900,7 +8947,7 @@ styleInject(css_248z$1);var FormFile = React.forwardRef(function (_a, ref) {
8900
8947
  var file_1 = target.files[0];
8901
8948
  fileSizeCheck(file_1).then(function () {
8902
8949
  onFile(file_1).then(function (url) {
8903
- setValue(url);
8950
+ changeValue(url);
8904
8951
  nextTick(function () {
8905
8952
  if (onValueChangeByUser)
8906
8953
  onValueChangeByUser(name, url);
@@ -8908,21 +8955,21 @@ styleInject(css_248z$1);var FormFile = React.forwardRef(function (_a, ref) {
8908
8955
  });
8909
8956
  });
8910
8957
  }
8911
- }, [fileSizeCheck, name, onFile, onValueChangeByUser, setValue]);
8958
+ }, [changeValue, fileSizeCheck, name, onFile, onValueChangeByUser]);
8912
8959
  var handleLinkClick = useCallback(function () {
8913
8960
  setIsOpenLinkDialog(true);
8914
8961
  }, []);
8915
8962
  var handleRemoveClick = useCallback(function () {
8916
- setValue('');
8963
+ changeValue('');
8917
8964
  nextTick(function () {
8918
8965
  if (onValueChangeByUser)
8919
8966
  onValueChangeByUser(name, '');
8920
8967
  });
8921
- }, [name, onValueChangeByUser, setValue]);
8968
+ }, [changeValue, name, onValueChangeByUser]);
8922
8969
  var handleLinkDialogConfirm = useCallback(function (url) {
8923
8970
  if (onLink) {
8924
8971
  onLink(url).then(function (finalUrl) {
8925
- setValue(finalUrl);
8972
+ changeValue(finalUrl);
8926
8973
  nextTick(function () {
8927
8974
  if (onValueChangeByUser)
8928
8975
  onValueChangeByUser(name, finalUrl);
@@ -8930,13 +8977,13 @@ styleInject(css_248z$1);var FormFile = React.forwardRef(function (_a, ref) {
8930
8977
  });
8931
8978
  }
8932
8979
  else {
8933
- setValue(url);
8980
+ changeValue(url);
8934
8981
  nextTick(function () {
8935
8982
  if (onValueChangeByUser)
8936
8983
  onValueChangeByUser(name, url);
8937
8984
  });
8938
8985
  }
8939
- }, [name, onLink, onValueChangeByUser, setValue]);
8986
+ }, [changeValue, name, onLink, onValueChangeByUser]);
8940
8987
  /********************************************************************************************************************
8941
8988
  * Render
8942
8989
  * ******************************************************************************************************************/
@@ -9192,19 +9239,51 @@ var FormMonthPicker = React.forwardRef(function (_a, ref) {
9192
9239
  var getFinalValue = useCallback(function (value) {
9193
9240
  return value || DEFAULT_VALUE$3;
9194
9241
  }, []);
9242
+ /********************************************************************************************************************
9243
+ * Function
9244
+ * ******************************************************************************************************************/
9245
+ var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
9246
+ setError(error);
9247
+ setErrorHelperText(errorHelperText);
9248
+ }, [setError]);
9249
+ var validate = useCallback(function (value) {
9250
+ if (required && empty(value)) {
9251
+ setErrorErrorHelperText(true, '필수 선택 항목입니다.');
9252
+ return false;
9253
+ }
9254
+ if (inputDatePickerErrorRef.current) {
9255
+ setErrorErrorHelperText(true, getDateValidationErrorText(inputDatePickerErrorRef.current));
9256
+ return false;
9257
+ }
9258
+ if (onValidate) {
9259
+ var onValidateResult = onValidate(value);
9260
+ if (onValidateResult != null && onValidateResult !== true) {
9261
+ setErrorErrorHelperText(true, onValidateResult);
9262
+ return false;
9263
+ }
9264
+ }
9265
+ setErrorErrorHelperText(false, undefined);
9266
+ return true;
9267
+ }, [onValidate, required, setErrorErrorHelperText]);
9195
9268
  /********************************************************************************************************************
9196
9269
  * State - value
9197
9270
  * ******************************************************************************************************************/
9198
- var _j = useAutoUpdateState(useCallback(function () {
9199
- return initValue || DEFAULT_VALUE$3;
9200
- }, [initValue])), value = _j[0], setValue = _j[1];
9271
+ var _j = useState(function () { return getFinalValue(initValue); }), value = _j[0], setValue = _j[1];
9272
+ var changeValue = useCallback(function (newValue) {
9273
+ if (!equal(value, newValue)) {
9274
+ setValue(newValue);
9275
+ nextTick(function () {
9276
+ if (error)
9277
+ validate(newValue);
9278
+ if (onChange)
9279
+ onChange(newValue);
9280
+ onValueChange(name, newValue);
9281
+ });
9282
+ }
9283
+ }, [error, name, onChange, onValueChange, validate, value]);
9201
9284
  useFirstSkipEffect(function () {
9202
- if (error)
9203
- validate(value);
9204
- if (onChange)
9205
- onChange(value);
9206
- onValueChange(name, value);
9207
- }, [value]);
9285
+ changeValue(getFinalValue(initValue));
9286
+ }, [initValue]);
9208
9287
  /********************************************************************************************************************
9209
9288
  * Function
9210
9289
  * ******************************************************************************************************************/
@@ -9250,11 +9329,6 @@ var FormMonthPicker = React.forwardRef(function (_a, ref) {
9250
9329
  * Effect
9251
9330
  * ******************************************************************************************************************/
9252
9331
  useEffect(function () {
9253
- if (value !== initValue) {
9254
- if (onChange)
9255
- onChange(value);
9256
- onValueChange(name, value);
9257
- }
9258
9332
  if (ratingRef.current) {
9259
9333
  inputRef.current = ratingRef.current.querySelector('input') || undefined;
9260
9334
  }
@@ -9291,29 +9365,6 @@ var FormMonthPicker = React.forwardRef(function (_a, ref) {
9291
9365
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
9292
9366
  });
9293
9367
  }, []);
9294
- var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
9295
- setError(error);
9296
- setErrorHelperText(errorHelperText);
9297
- }, [setError]);
9298
- var validate = useCallback(function (value) {
9299
- if (required && empty(value)) {
9300
- setErrorErrorHelperText(true, '필수 선택 항목입니다.');
9301
- return false;
9302
- }
9303
- if (inputDatePickerErrorRef.current) {
9304
- setErrorErrorHelperText(true, getDateValidationErrorText(inputDatePickerErrorRef.current));
9305
- return false;
9306
- }
9307
- if (onValidate) {
9308
- var onValidateResult = onValidate(value);
9309
- if (onValidateResult != null && onValidateResult !== true) {
9310
- setErrorErrorHelperText(true, onValidateResult);
9311
- return false;
9312
- }
9313
- }
9314
- setErrorErrorHelperText(false, undefined);
9315
- return true;
9316
- }, [onValidate, required, setErrorErrorHelperText]);
9317
9368
  /********************************************************************************************************************
9318
9369
  * Commands
9319
9370
  * ******************************************************************************************************************/
@@ -9328,12 +9379,12 @@ var FormMonthPicker = React.forwardRef(function (_a, ref) {
9328
9379
  getReset: function () { return getFinalValue(initValue); },
9329
9380
  reset: function () {
9330
9381
  lastValue = getFinalValue(initValue);
9331
- setValue(lastValue);
9382
+ changeValue(lastValue);
9332
9383
  },
9333
9384
  getValue: function () { return lastValue; },
9334
9385
  setValue: function (value) {
9335
9386
  lastValue = getFinalValue(value);
9336
- setValue(lastValue);
9387
+ changeValue(lastValue);
9337
9388
  },
9338
9389
  getData: function () { return lastData; },
9339
9390
  setData: function (data) {
@@ -9347,7 +9398,7 @@ var FormMonthPicker = React.forwardRef(function (_a, ref) {
9347
9398
  : lastValue
9348
9399
  ? { year: year, month: lastValue.month }
9349
9400
  : { year: year, month: year === new Date().getFullYear() ? new Date().getMonth() + 1 : 1 });
9350
- setValue(lastValue);
9401
+ changeValue(lastValue);
9351
9402
  },
9352
9403
  getMonth: function () { return (lastValue ? lastValue.month : null); },
9353
9404
  setMonth: function (month) {
@@ -9356,7 +9407,7 @@ var FormMonthPicker = React.forwardRef(function (_a, ref) {
9356
9407
  : lastValue
9357
9408
  ? { year: lastValue.year, month: month }
9358
9409
  : { year: new Date().getFullYear(), month: month });
9359
- setValue(lastValue);
9410
+ changeValue(lastValue);
9360
9411
  },
9361
9412
  isExceptValue: function () { return !!exceptValue; },
9362
9413
  isDisabled: function () { return lastDisabled; },
@@ -9421,7 +9472,6 @@ var FormMonthPicker = React.forwardRef(function (_a, ref) {
9421
9472
  onAddValueItem,
9422
9473
  onRemoveValueItem,
9423
9474
  id,
9424
- setValue,
9425
9475
  setDisabled,
9426
9476
  setErrorErrorHelperText,
9427
9477
  data,
@@ -9430,6 +9480,7 @@ var FormMonthPicker = React.forwardRef(function (_a, ref) {
9430
9480
  formValueMonthNameSuffix,
9431
9481
  hidden,
9432
9482
  setHidden,
9483
+ changeValue,
9433
9484
  ]);
9434
9485
  /********************************************************************************************************************
9435
9486
  * Event Handler
@@ -9460,13 +9511,13 @@ var FormMonthPicker = React.forwardRef(function (_a, ref) {
9460
9511
  }
9461
9512
  }, []);
9462
9513
  var handleContainerChange = useCallback(function (newValue, isMonthSelect) {
9463
- setValue(newValue);
9514
+ changeValue(newValue);
9464
9515
  if (isMonthSelect)
9465
9516
  setOpen(false);
9466
9517
  nextTick(function () {
9467
9518
  onValueChangeByUser(name, newValue);
9468
9519
  });
9469
- }, [name, onValueChangeByUser, setValue]);
9520
+ }, [changeValue, name, onValueChangeByUser]);
9470
9521
  var handleInputDatePickerFocus = useCallback(function () {
9471
9522
  if (readOnly || disabled)
9472
9523
  return;
@@ -9513,7 +9564,7 @@ var FormMonthPicker = React.forwardRef(function (_a, ref) {
9513
9564
  }, title: React.createElement("div", { style: { display: 'flex' } },
9514
9565
  React.createElement(PrivateMonthPicker, { minValue: minValue, maxValue: maxValue, disablePast: disablePast, disableFuture: disableFuture, value: value, onChange: handleContainerChange })) },
9515
9566
  React.createElement("div", null,
9516
- React.createElement(PrivateInputDatePicker, __assign({}, inputDatePickerProps, { style: inputStyle, sx: sx, value: valueDate, label: label, labelIcon: labelIcon, error: error, focused: focused, required: required, readOnly: readOnly, readOnlyInput: readOnlyInput, icon: icon, startAdornment: startAdornment, endAdornment: endAdornment, inputRef: inputRef, onChange: function (v) { return setValue(v ? dateToValue(v) : v); }, onFocus: handleInputDatePickerFocus, onError: function (reason) { return (inputDatePickerErrorRef.current = reason); }, shouldDisableYear: handleInputDatePickerShouldDisableYear })))),
9567
+ React.createElement(PrivateInputDatePicker, __assign({}, inputDatePickerProps, { style: inputStyle, sx: sx, value: valueDate, label: label, labelIcon: labelIcon, error: error, focused: focused, required: required, readOnly: readOnly, readOnlyInput: readOnlyInput, icon: icon, startAdornment: startAdornment, endAdornment: endAdornment, inputRef: inputRef, onChange: function (v) { return changeValue(v ? dateToValue(v) : v); }, onFocus: handleInputDatePickerFocus, onError: function (reason) { return (inputDatePickerErrorRef.current = reason); }, shouldDisableYear: handleInputDatePickerShouldDisableYear })))),
9517
9568
  !formColWithHelperText && (!!helperText || (error && !!errorHelperText)) && (React.createElement(FormHelperText, { error: error, style: { marginLeft: variant === 'standard' ? 0 : 14 } }, error ? errorHelperText : helperText))))));
9518
9569
  });
9519
9570
  FormMonthPicker.displayName = 'FormMonthPicker';
@@ -9587,19 +9638,76 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9587
9638
  var getFinalValue = useCallback(function (value) {
9588
9639
  return value || DEFAULT_VALUE$2;
9589
9640
  }, []);
9641
+ /********************************************************************************************************************
9642
+ * Function
9643
+ * ******************************************************************************************************************/
9644
+ var setFromErrorErrorHelperText = useCallback(function (error, fromErrorHelperText) {
9645
+ setFromError(error);
9646
+ setFromErrorHelperText(fromErrorHelperText);
9647
+ }, []);
9648
+ var setToErrorErrorHelperText = useCallback(function (error, toErrorHelperText) {
9649
+ setToError(error);
9650
+ setToErrorHelperText(toErrorHelperText);
9651
+ }, []);
9652
+ var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
9653
+ setError(error);
9654
+ setErrorHelperText(errorHelperText);
9655
+ }, [setError]);
9656
+ var validate = useCallback(function (value) {
9657
+ if (required && (value[0] == null || value[1] == null)) {
9658
+ if (value[0] == null && value[1] == null) {
9659
+ setErrorErrorHelperText(true, '필수 입력 항목입니다.');
9660
+ }
9661
+ else if (value[0] == null) {
9662
+ setFromErrorErrorHelperText(true, '필수 입력 항목입니다.');
9663
+ }
9664
+ else {
9665
+ setToErrorErrorHelperText(true, '필수 입력 항목입니다.');
9666
+ }
9667
+ return false;
9668
+ }
9669
+ if (startInputDatePickerErrorRef.current) {
9670
+ setFromErrorErrorHelperText(true, getDateValidationErrorText(startInputDatePickerErrorRef.current));
9671
+ if (endInputDatePickerErrorRef.current) {
9672
+ setToErrorErrorHelperText(true, getDateValidationErrorText(endInputDatePickerErrorRef.current));
9673
+ }
9674
+ return false;
9675
+ }
9676
+ if (endInputDatePickerErrorRef.current) {
9677
+ setToErrorErrorHelperText(true, getDateValidationErrorText(endInputDatePickerErrorRef.current));
9678
+ return false;
9679
+ }
9680
+ if (onValidate) {
9681
+ var onValidateResult = onValidate(value);
9682
+ if (onValidateResult != null && onValidateResult !== true) {
9683
+ setErrorErrorHelperText(true, onValidateResult);
9684
+ return false;
9685
+ }
9686
+ }
9687
+ setErrorErrorHelperText(false, undefined);
9688
+ setFromErrorErrorHelperText(false, undefined);
9689
+ setToErrorErrorHelperText(false, undefined);
9690
+ return true;
9691
+ }, [onValidate, required, setToErrorErrorHelperText, setErrorErrorHelperText, setFromErrorErrorHelperText]);
9590
9692
  /********************************************************************************************************************
9591
9693
  * State - value
9592
9694
  * ******************************************************************************************************************/
9593
- var _o = useAutoUpdateState(useCallback(function () {
9594
- return initValue || DEFAULT_VALUE$2;
9595
- }, [initValue])), value = _o[0], setValue = _o[1];
9695
+ var _o = useState(function () { return getFinalValue(initValue); }), value = _o[0], setValue = _o[1];
9696
+ var changeValue = useCallback(function (newValue) {
9697
+ if (!equal(value, newValue)) {
9698
+ setValue(newValue);
9699
+ nextTick(function () {
9700
+ if (error || fromError || toError)
9701
+ validate(value);
9702
+ if (onChange)
9703
+ onChange(newValue);
9704
+ onValueChange(name, newValue);
9705
+ });
9706
+ }
9707
+ }, [error, fromError, name, onChange, onValueChange, toError, validate, value]);
9596
9708
  useFirstSkipEffect(function () {
9597
- if (error || fromError || toError)
9598
- validate(value);
9599
- if (onChange)
9600
- onChange(value);
9601
- onValueChange(name, value);
9602
- }, [value]);
9709
+ changeValue(getFinalValue(initValue));
9710
+ }, [initValue]);
9603
9711
  /********************************************************************************************************************
9604
9712
  * Function
9605
9713
  * ******************************************************************************************************************/
@@ -9647,14 +9755,6 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9647
9755
  /********************************************************************************************************************
9648
9756
  * Effect
9649
9757
  * ******************************************************************************************************************/
9650
- useEffect(function () {
9651
- if (value !== initValue) {
9652
- if (onChange)
9653
- onChange(value);
9654
- onValueChange(name, value);
9655
- }
9656
- // eslint-disable-next-line react-hooks/exhaustive-deps
9657
- }, []);
9658
9758
  useFirstSkipEffect(function () {
9659
9759
  if (open) {
9660
9760
  openValueRef.current = value;
@@ -9681,54 +9781,6 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9681
9781
  var _a;
9682
9782
  (_a = startInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
9683
9783
  }, []);
9684
- var setFromErrorErrorHelperText = useCallback(function (error, fromErrorHelperText) {
9685
- setFromError(error);
9686
- setFromErrorHelperText(fromErrorHelperText);
9687
- }, []);
9688
- var setToErrorErrorHelperText = useCallback(function (error, toErrorHelperText) {
9689
- setToError(error);
9690
- setToErrorHelperText(toErrorHelperText);
9691
- }, []);
9692
- var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
9693
- setError(error);
9694
- setErrorHelperText(errorHelperText);
9695
- }, [setError]);
9696
- var validate = useCallback(function (value) {
9697
- if (required && (value[0] == null || value[1] == null)) {
9698
- if (value[0] == null && value[1] == null) {
9699
- setErrorErrorHelperText(true, '필수 입력 항목입니다.');
9700
- }
9701
- else if (value[0] == null) {
9702
- setFromErrorErrorHelperText(true, '필수 입력 항목입니다.');
9703
- }
9704
- else {
9705
- setToErrorErrorHelperText(true, '필수 입력 항목입니다.');
9706
- }
9707
- return false;
9708
- }
9709
- if (startInputDatePickerErrorRef.current) {
9710
- setFromErrorErrorHelperText(true, getDateValidationErrorText(startInputDatePickerErrorRef.current));
9711
- if (endInputDatePickerErrorRef.current) {
9712
- setToErrorErrorHelperText(true, getDateValidationErrorText(endInputDatePickerErrorRef.current));
9713
- }
9714
- return false;
9715
- }
9716
- if (endInputDatePickerErrorRef.current) {
9717
- setToErrorErrorHelperText(true, getDateValidationErrorText(endInputDatePickerErrorRef.current));
9718
- return false;
9719
- }
9720
- if (onValidate) {
9721
- var onValidateResult = onValidate(value);
9722
- if (onValidateResult != null && onValidateResult !== true) {
9723
- setErrorErrorHelperText(true, onValidateResult);
9724
- return false;
9725
- }
9726
- }
9727
- setErrorErrorHelperText(false, undefined);
9728
- setFromErrorErrorHelperText(false, undefined);
9729
- setToErrorErrorHelperText(false, undefined);
9730
- return true;
9731
- }, [onValidate, required, setToErrorErrorHelperText, setErrorErrorHelperText, setFromErrorErrorHelperText]);
9732
9784
  /********************************************************************************************************************
9733
9785
  * Commands
9734
9786
  * ******************************************************************************************************************/
@@ -9743,12 +9795,12 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9743
9795
  getReset: function () { return getFinalValue(initValue); },
9744
9796
  reset: function () {
9745
9797
  lastValue = getFinalValue(initValue);
9746
- setValue(lastValue);
9798
+ changeValue(lastValue);
9747
9799
  },
9748
9800
  getValue: function () { return lastValue; },
9749
9801
  setValue: function (value) {
9750
9802
  lastValue = getFinalValue(value);
9751
- setValue(lastValue);
9803
+ changeValue(lastValue);
9752
9804
  },
9753
9805
  getData: function () { return lastData; },
9754
9806
  setData: function (data) {
@@ -9758,12 +9810,12 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9758
9810
  getFromValue: function () { return lastValue[0]; },
9759
9811
  setFromValue: function (value) {
9760
9812
  lastValue = [value, lastValue[1]];
9761
- setValue(lastValue);
9813
+ changeValue(lastValue);
9762
9814
  },
9763
9815
  getToValue: function () { return lastValue[1]; },
9764
9816
  setToValue: function (value) {
9765
9817
  lastValue = [lastValue[0], value];
9766
- setValue(lastValue);
9818
+ changeValue(lastValue);
9767
9819
  },
9768
9820
  getFromYear: function () { return (lastValue[0] ? lastValue[0].year : null); },
9769
9821
  setFromYear: function (year) {
@@ -9775,7 +9827,7 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9775
9827
  : { year: year, month: year === new Date().getFullYear() ? new Date().getMonth() + 1 : 1 },
9776
9828
  lastValue[1],
9777
9829
  ]);
9778
- setValue(lastValue);
9830
+ changeValue(lastValue);
9779
9831
  },
9780
9832
  getFromMonth: function () { return (lastValue[0] ? lastValue[0].month : null); },
9781
9833
  setFromMonth: function (month) {
@@ -9787,7 +9839,7 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9787
9839
  : { year: new Date().getFullYear(), month: month },
9788
9840
  lastValue[1],
9789
9841
  ]);
9790
- setValue(lastValue);
9842
+ changeValue(lastValue);
9791
9843
  },
9792
9844
  getToYear: function () { return (lastValue[1] ? lastValue[1].year : null); },
9793
9845
  setToYear: function (year) {
@@ -9799,7 +9851,7 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9799
9851
  ? { year: year, month: lastValue[1].month }
9800
9852
  : { year: year, month: year === new Date().getFullYear() ? new Date().getMonth() + 1 : 1 },
9801
9853
  ]);
9802
- setValue(lastValue);
9854
+ changeValue(lastValue);
9803
9855
  },
9804
9856
  getToMonth: function () { return (lastValue[1] ? lastValue[1].month : null); },
9805
9857
  setToMonth: function (month) {
@@ -9811,7 +9863,7 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9811
9863
  ? { year: lastValue[1].year, month: month }
9812
9864
  : { year: new Date().getFullYear(), month: month },
9813
9865
  ]);
9814
- setValue(lastValue);
9866
+ changeValue(lastValue);
9815
9867
  },
9816
9868
  isExceptValue: function () { return !!exceptValue; },
9817
9869
  isDisabled: function () { return lastDisabled; },
@@ -9888,7 +9940,6 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9888
9940
  onAddValueItem,
9889
9941
  onRemoveValueItem,
9890
9942
  id,
9891
- setValue,
9892
9943
  setDisabled,
9893
9944
  setErrorErrorHelperText,
9894
9945
  data,
@@ -9899,12 +9950,13 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9899
9950
  formValueToMonthNameSuffix,
9900
9951
  hidden,
9901
9952
  setHidden,
9953
+ changeValue,
9902
9954
  ]);
9903
9955
  /********************************************************************************************************************
9904
9956
  * Event Handler
9905
9957
  * ******************************************************************************************************************/
9906
9958
  var handleContainerChange = useCallback(function (newValue, selectType, isMonthSelect) {
9907
- setValue(newValue);
9959
+ changeValue(newValue);
9908
9960
  if (selectType === 'start' && isMonthSelect) {
9909
9961
  nextTick(function () {
9910
9962
  var _a;
@@ -9917,59 +9969,56 @@ var FormMonthRangePicker = React.forwardRef(function (_a, ref) {
9917
9969
  nextTick(function () {
9918
9970
  onValueChangeByUser(name, newValue);
9919
9971
  });
9920
- }, [name, onValueChangeByUser, setValue]);
9972
+ }, [changeValue, name, onValueChangeByUser]);
9921
9973
  var handleInputDatePickerChange = useCallback(function (selectType, date) {
9922
9974
  if (date == null || date.isValid()) {
9923
9975
  if (selectType === 'start') {
9924
- setValue(function (old) {
9925
- var newValue = [date ? dateToValue(date) : null, old[1]];
9926
- if (newValue[0] !== null &&
9927
- valueToYm(newValue[0]) >= minAvailableYm &&
9928
- valueToYm(newValue[0]) <= maxAvailableYm) {
9929
- if (newValue[1] !== null && newValue[1] < newValue[0]) {
9930
- newValue[1] = newValue[0];
9931
- }
9932
- }
9933
- if (fromError) {
9934
- validate(newValue);
9976
+ var newValue_1 = [date ? dateToValue(date) : null, value[1]];
9977
+ if (newValue_1[0] !== null &&
9978
+ valueToYm(newValue_1[0]) >= minAvailableYm &&
9979
+ valueToYm(newValue_1[0]) <= maxAvailableYm) {
9980
+ if (newValue_1[1] !== null && newValue_1[1] < newValue_1[0]) {
9981
+ newValue_1[1] = newValue_1[0];
9935
9982
  }
9936
- nextTick(function () {
9937
- onValueChangeByUser(name, newValue);
9938
- });
9939
- return newValue;
9983
+ }
9984
+ if (fromError) {
9985
+ validate(newValue_1);
9986
+ }
9987
+ nextTick(function () {
9988
+ onValueChangeByUser(name, newValue_1);
9940
9989
  });
9990
+ changeValue(newValue_1);
9941
9991
  }
9942
9992
  else {
9943
- setValue(function (old) {
9944
- var newValue = [old[0], date ? dateToValue(date) : null];
9945
- if (newValue[1] !== null &&
9946
- valueToYm(newValue[1]) >= minAvailableYm &&
9947
- valueToYm(newValue[1]) <= maxAvailableYm) {
9948
- if (newValue[0] !== null && newValue[0] > newValue[1]) {
9949
- newValue[0] = newValue[1];
9950
- }
9951
- }
9952
- if (toError) {
9953
- validate(newValue);
9993
+ var newValue_2 = [value[0], date ? dateToValue(date) : null];
9994
+ if (newValue_2[1] !== null &&
9995
+ valueToYm(newValue_2[1]) >= minAvailableYm &&
9996
+ valueToYm(newValue_2[1]) <= maxAvailableYm) {
9997
+ if (newValue_2[0] !== null && newValue_2[0] > newValue_2[1]) {
9998
+ newValue_2[0] = newValue_2[1];
9954
9999
  }
9955
- nextTick(function () {
9956
- onValueChangeByUser(name, newValue);
9957
- });
9958
- return newValue;
10000
+ }
10001
+ if (toError) {
10002
+ validate(newValue_2);
10003
+ }
10004
+ nextTick(function () {
10005
+ onValueChangeByUser(name, newValue_2);
9959
10006
  });
10007
+ changeValue(newValue_2);
9960
10008
  }
9961
10009
  }
9962
10010
  }, [
9963
10011
  dateToValue,
9964
- toError,
9965
- maxAvailableYm,
10012
+ value,
10013
+ valueToYm,
9966
10014
  minAvailableYm,
9967
- name,
9968
- onValueChangeByUser,
9969
- setValue,
10015
+ maxAvailableYm,
9970
10016
  fromError,
10017
+ changeValue,
9971
10018
  validate,
9972
- valueToYm,
10019
+ onValueChangeByUser,
10020
+ name,
10021
+ toError,
9973
10022
  ]);
9974
10023
  var handleInputDatePickerFocus = useCallback(function (selectType) {
9975
10024
  var _a;
@@ -10093,19 +10142,48 @@ var FormYearPicker = React.forwardRef(function (_a, ref) {
10093
10142
  var getFinalValue = useCallback(function (value) {
10094
10143
  return value || DEFAULT_VALUE$1;
10095
10144
  }, []);
10145
+ var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
10146
+ setError(error);
10147
+ setErrorHelperText(errorHelperText);
10148
+ }, [setError]);
10149
+ var validate = useCallback(function (value) {
10150
+ if (required && empty(value)) {
10151
+ setErrorErrorHelperText(true, '필수 선택 항목입니다.');
10152
+ return false;
10153
+ }
10154
+ if (inputDatePickerErrorRef.current) {
10155
+ setErrorErrorHelperText(true, getDateValidationErrorText(inputDatePickerErrorRef.current));
10156
+ return false;
10157
+ }
10158
+ if (onValidate) {
10159
+ var onValidateResult = onValidate(value);
10160
+ if (onValidateResult != null && onValidateResult !== true) {
10161
+ setErrorErrorHelperText(true, onValidateResult);
10162
+ return false;
10163
+ }
10164
+ }
10165
+ setErrorErrorHelperText(false, undefined);
10166
+ return true;
10167
+ }, [onValidate, required, setErrorErrorHelperText]);
10096
10168
  /********************************************************************************************************************
10097
10169
  * State - value
10098
10170
  * ******************************************************************************************************************/
10099
- var _j = useAutoUpdateState(useCallback(function () {
10100
- return initValue || DEFAULT_VALUE$1;
10101
- }, [initValue])), value = _j[0], setValue = _j[1];
10171
+ var _j = useState(function () { return getFinalValue(initValue); }), value = _j[0], setValue = _j[1];
10172
+ var changeValue = useCallback(function (newValue) {
10173
+ if (!equal(value, newValue)) {
10174
+ setValue(newValue);
10175
+ nextTick(function () {
10176
+ if (error)
10177
+ validate(newValue);
10178
+ if (onChange)
10179
+ onChange(newValue);
10180
+ onValueChange(name, newValue);
10181
+ });
10182
+ }
10183
+ }, [error, name, onChange, onValueChange, validate, value]);
10102
10184
  useFirstSkipEffect(function () {
10103
- if (error)
10104
- validate(value);
10105
- if (onChange)
10106
- onChange(value);
10107
- onValueChange(name, value);
10108
- }, [value]);
10185
+ changeValue(getFinalValue(initValue));
10186
+ }, [initValue]);
10109
10187
  /********************************************************************************************************************
10110
10188
  * Function
10111
10189
  * ******************************************************************************************************************/
@@ -10126,11 +10204,6 @@ var FormYearPicker = React.forwardRef(function (_a, ref) {
10126
10204
  * Effect
10127
10205
  * ******************************************************************************************************************/
10128
10206
  useEffect(function () {
10129
- if (value !== initValue) {
10130
- if (onChange)
10131
- onChange(value);
10132
- onValueChange(name, value);
10133
- }
10134
10207
  if (ratingRef.current) {
10135
10208
  inputRef.current = ratingRef.current.querySelector('input') || undefined;
10136
10209
  }
@@ -10166,29 +10239,6 @@ var FormYearPicker = React.forwardRef(function (_a, ref) {
10166
10239
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
10167
10240
  });
10168
10241
  }, []);
10169
- var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
10170
- setError(error);
10171
- setErrorHelperText(errorHelperText);
10172
- }, [setError]);
10173
- var validate = useCallback(function (value) {
10174
- if (required && empty(value)) {
10175
- setErrorErrorHelperText(true, '필수 선택 항목입니다.');
10176
- return false;
10177
- }
10178
- if (inputDatePickerErrorRef.current) {
10179
- setErrorErrorHelperText(true, getDateValidationErrorText(inputDatePickerErrorRef.current));
10180
- return false;
10181
- }
10182
- if (onValidate) {
10183
- var onValidateResult = onValidate(value);
10184
- if (onValidateResult != null && onValidateResult !== true) {
10185
- setErrorErrorHelperText(true, onValidateResult);
10186
- return false;
10187
- }
10188
- }
10189
- setErrorErrorHelperText(false, undefined);
10190
- return true;
10191
- }, [onValidate, required, setErrorErrorHelperText]);
10192
10242
  /********************************************************************************************************************
10193
10243
  * Commands
10194
10244
  * ******************************************************************************************************************/
@@ -10203,12 +10253,12 @@ var FormYearPicker = React.forwardRef(function (_a, ref) {
10203
10253
  getReset: function () { return getFinalValue(initValue); },
10204
10254
  reset: function () {
10205
10255
  lastValue = getFinalValue(initValue);
10206
- setValue(lastValue);
10256
+ changeValue(lastValue);
10207
10257
  },
10208
10258
  getValue: function () { return lastValue; },
10209
10259
  setValue: function (value) {
10210
10260
  lastValue = getFinalValue(value);
10211
- setValue(lastValue);
10261
+ changeValue(lastValue);
10212
10262
  },
10213
10263
  getData: function () { return lastData; },
10214
10264
  setData: function (data) {
@@ -10266,13 +10316,13 @@ var FormYearPicker = React.forwardRef(function (_a, ref) {
10266
10316
  onAddValueItem,
10267
10317
  onRemoveValueItem,
10268
10318
  id,
10269
- setValue,
10270
10319
  setDisabled,
10271
10320
  setErrorErrorHelperText,
10272
10321
  data,
10273
10322
  setData,
10274
10323
  hidden,
10275
10324
  setHidden,
10325
+ changeValue,
10276
10326
  ]);
10277
10327
  /********************************************************************************************************************
10278
10328
  * Event Handler
@@ -10303,20 +10353,20 @@ var FormYearPicker = React.forwardRef(function (_a, ref) {
10303
10353
  }
10304
10354
  }, []);
10305
10355
  var handleContainerChange = useCallback(function (newValue, isClick) {
10306
- setValue(newValue);
10356
+ changeValue(newValue);
10307
10357
  if (isClick)
10308
10358
  setOpen(false);
10309
10359
  nextTick(function () {
10310
10360
  onValueChangeByUser(name, newValue);
10311
10361
  });
10312
- }, [name, onValueChangeByUser, setValue]);
10362
+ }, [changeValue, name, onValueChangeByUser]);
10313
10363
  var handleInputDatePickerChange = useCallback(function (v) {
10314
10364
  var newValue = v ? dateToValue(v) : v;
10315
- setValue(newValue);
10365
+ changeValue(newValue);
10316
10366
  nextTick(function () {
10317
10367
  onValueChangeByUser(name, newValue);
10318
10368
  });
10319
- }, [dateToValue, name, onValueChangeByUser, setValue]);
10369
+ }, [changeValue, dateToValue, name, onValueChangeByUser]);
10320
10370
  var handleInputDatePickerFocus = useCallback(function () {
10321
10371
  if (readOnly || disabled)
10322
10372
  return;
@@ -10429,19 +10479,76 @@ var FormYearRangePicker = React.forwardRef(function (_a, ref) {
10429
10479
  var getFinalValue = useCallback(function (value) {
10430
10480
  return value || DEFAULT_VALUE;
10431
10481
  }, []);
10482
+ /********************************************************************************************************************
10483
+ * Function
10484
+ * ******************************************************************************************************************/
10485
+ var setFromErrorErrorHelperText = useCallback(function (error, fromErrorHelperText) {
10486
+ setFromError(error);
10487
+ setFromErrorHelperText(fromErrorHelperText);
10488
+ }, []);
10489
+ var setToErrorErrorHelperText = useCallback(function (error, toErrorHelperText) {
10490
+ setToError(error);
10491
+ setToErrorHelperText(toErrorHelperText);
10492
+ }, []);
10493
+ var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
10494
+ setError(error);
10495
+ setErrorHelperText(errorHelperText);
10496
+ }, [setError]);
10497
+ var validate = useCallback(function (value) {
10498
+ if (required && (value[0] == null || value[1] == null)) {
10499
+ if (value[0] == null && value[1] == null) {
10500
+ setErrorErrorHelperText(true, '필수 입력 항목입니다.');
10501
+ }
10502
+ else if (value[0] == null) {
10503
+ setFromErrorErrorHelperText(true, '필수 입력 항목입니다.');
10504
+ }
10505
+ else {
10506
+ setToErrorErrorHelperText(true, '필수 입력 항목입니다.');
10507
+ }
10508
+ return false;
10509
+ }
10510
+ if (startInputDatePickerErrorRef.current) {
10511
+ setFromErrorErrorHelperText(true, getDateValidationErrorText(startInputDatePickerErrorRef.current));
10512
+ if (endInputDatePickerErrorRef.current) {
10513
+ setToErrorErrorHelperText(true, getDateValidationErrorText(endInputDatePickerErrorRef.current));
10514
+ }
10515
+ return false;
10516
+ }
10517
+ if (endInputDatePickerErrorRef.current) {
10518
+ setToErrorErrorHelperText(true, getDateValidationErrorText(endInputDatePickerErrorRef.current));
10519
+ return false;
10520
+ }
10521
+ if (onValidate) {
10522
+ var onValidateResult = onValidate(value);
10523
+ if (onValidateResult != null && onValidateResult !== true) {
10524
+ setErrorErrorHelperText(true, onValidateResult);
10525
+ return false;
10526
+ }
10527
+ }
10528
+ setErrorErrorHelperText(false, undefined);
10529
+ setFromErrorErrorHelperText(false, undefined);
10530
+ setToErrorErrorHelperText(false, undefined);
10531
+ return true;
10532
+ }, [onValidate, required, setToErrorErrorHelperText, setErrorErrorHelperText, setFromErrorErrorHelperText]);
10432
10533
  /********************************************************************************************************************
10433
10534
  * State - value
10434
10535
  * ******************************************************************************************************************/
10435
- var _p = useAutoUpdateState(useCallback(function () {
10436
- return initValue || DEFAULT_VALUE;
10437
- }, [initValue])), value = _p[0], setValue = _p[1];
10536
+ var _p = useState(function () { return getFinalValue(initValue); }), value = _p[0], setValue = _p[1];
10537
+ var changeValue = useCallback(function (newValue) {
10538
+ if (!equal(value, newValue)) {
10539
+ setValue(newValue);
10540
+ nextTick(function () {
10541
+ if (error || fromError || toError)
10542
+ validate(value);
10543
+ if (onChange)
10544
+ onChange(newValue);
10545
+ onValueChange(name, newValue);
10546
+ });
10547
+ }
10548
+ }, [error, fromError, name, onChange, onValueChange, toError, validate, value]);
10438
10549
  useFirstSkipEffect(function () {
10439
- if (error || fromError || toError)
10440
- validate(value);
10441
- if (onChange)
10442
- onChange(value);
10443
- onValueChange(name, value);
10444
- }, [value]);
10550
+ changeValue(getFinalValue(initValue));
10551
+ }, [initValue]);
10445
10552
  /********************************************************************************************************************
10446
10553
  * Function
10447
10554
  * ******************************************************************************************************************/
@@ -10466,14 +10573,6 @@ var FormYearRangePicker = React.forwardRef(function (_a, ref) {
10466
10573
  /********************************************************************************************************************
10467
10574
  * Effect
10468
10575
  * ******************************************************************************************************************/
10469
- useEffect(function () {
10470
- if (value !== initValue) {
10471
- if (onChange)
10472
- onChange(value);
10473
- onValueChange(name, value);
10474
- }
10475
- // eslint-disable-next-line react-hooks/exhaustive-deps
10476
- }, []);
10477
10576
  useFirstSkipEffect(function () {
10478
10577
  if (open) {
10479
10578
  openValueRef.current = value;
@@ -10500,54 +10599,6 @@ var FormYearRangePicker = React.forwardRef(function (_a, ref) {
10500
10599
  var _a;
10501
10600
  (_a = startInputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
10502
10601
  }, []);
10503
- var setFromErrorErrorHelperText = useCallback(function (error, fromErrorHelperText) {
10504
- setFromError(error);
10505
- setFromErrorHelperText(fromErrorHelperText);
10506
- }, []);
10507
- var setToErrorErrorHelperText = useCallback(function (error, toErrorHelperText) {
10508
- setToError(error);
10509
- setToErrorHelperText(toErrorHelperText);
10510
- }, []);
10511
- var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
10512
- setError(error);
10513
- setErrorHelperText(errorHelperText);
10514
- }, [setError]);
10515
- var validate = useCallback(function (value) {
10516
- if (required && (value[0] == null || value[1] == null)) {
10517
- if (value[0] == null && value[1] == null) {
10518
- setErrorErrorHelperText(true, '필수 입력 항목입니다.');
10519
- }
10520
- else if (value[0] == null) {
10521
- setFromErrorErrorHelperText(true, '필수 입력 항목입니다.');
10522
- }
10523
- else {
10524
- setToErrorErrorHelperText(true, '필수 입력 항목입니다.');
10525
- }
10526
- return false;
10527
- }
10528
- if (startInputDatePickerErrorRef.current) {
10529
- setFromErrorErrorHelperText(true, getDateValidationErrorText(startInputDatePickerErrorRef.current));
10530
- if (endInputDatePickerErrorRef.current) {
10531
- setToErrorErrorHelperText(true, getDateValidationErrorText(endInputDatePickerErrorRef.current));
10532
- }
10533
- return false;
10534
- }
10535
- if (endInputDatePickerErrorRef.current) {
10536
- setToErrorErrorHelperText(true, getDateValidationErrorText(endInputDatePickerErrorRef.current));
10537
- return false;
10538
- }
10539
- if (onValidate) {
10540
- var onValidateResult = onValidate(value);
10541
- if (onValidateResult != null && onValidateResult !== true) {
10542
- setErrorErrorHelperText(true, onValidateResult);
10543
- return false;
10544
- }
10545
- }
10546
- setErrorErrorHelperText(false, undefined);
10547
- setFromErrorErrorHelperText(false, undefined);
10548
- setToErrorErrorHelperText(false, undefined);
10549
- return true;
10550
- }, [onValidate, required, setToErrorErrorHelperText, setErrorErrorHelperText, setFromErrorErrorHelperText]);
10551
10602
  /********************************************************************************************************************
10552
10603
  * Commands
10553
10604
  * ******************************************************************************************************************/
@@ -10562,12 +10613,12 @@ var FormYearRangePicker = React.forwardRef(function (_a, ref) {
10562
10613
  getReset: function () { return getFinalValue(initValue); },
10563
10614
  reset: function () {
10564
10615
  lastValue = getFinalValue(initValue);
10565
- setValue(lastValue);
10616
+ changeValue(lastValue);
10566
10617
  },
10567
10618
  getValue: function () { return lastValue; },
10568
10619
  setValue: function (value) {
10569
10620
  lastValue = getFinalValue(value);
10570
- setValue(lastValue);
10621
+ changeValue(lastValue);
10571
10622
  },
10572
10623
  getData: function () { return lastData; },
10573
10624
  setData: function (data) {
@@ -10577,12 +10628,12 @@ var FormYearRangePicker = React.forwardRef(function (_a, ref) {
10577
10628
  getFromValue: function () { return lastValue[0]; },
10578
10629
  setFromValue: function (value) {
10579
10630
  lastValue = [value, lastValue[1]];
10580
- setValue(lastValue);
10631
+ changeValue(lastValue);
10581
10632
  },
10582
10633
  getToValue: function () { return lastValue[1]; },
10583
10634
  setToValue: function (value) {
10584
10635
  lastValue = [lastValue[0], value];
10585
- setValue(lastValue);
10636
+ changeValue(lastValue);
10586
10637
  },
10587
10638
  isExceptValue: function () { return !!exceptValue; },
10588
10639
  isDisabled: function () { return lastDisabled; },
@@ -10645,7 +10696,6 @@ var FormYearRangePicker = React.forwardRef(function (_a, ref) {
10645
10696
  onAddValueItem,
10646
10697
  onRemoveValueItem,
10647
10698
  id,
10648
- setValue,
10649
10699
  setDisabled,
10650
10700
  setErrorErrorHelperText,
10651
10701
  data,
@@ -10654,12 +10704,13 @@ var FormYearRangePicker = React.forwardRef(function (_a, ref) {
10654
10704
  formValueToNameSuffix,
10655
10705
  hidden,
10656
10706
  setHidden,
10707
+ changeValue,
10657
10708
  ]);
10658
10709
  /********************************************************************************************************************
10659
10710
  * Event Handler
10660
10711
  * ******************************************************************************************************************/
10661
10712
  var handleContainerChange = useCallback(function (newValue, selectType) {
10662
- setValue(newValue);
10713
+ changeValue(newValue);
10663
10714
  if (selectType === 'start') {
10664
10715
  nextTick(function () {
10665
10716
  var _a;
@@ -10673,45 +10724,41 @@ var FormYearRangePicker = React.forwardRef(function (_a, ref) {
10673
10724
  nextTick(function () {
10674
10725
  onValueChangeByUser(name, newValue);
10675
10726
  });
10676
- }, [name, onValueChangeByUser, setValue]);
10727
+ }, [changeValue, name, onValueChangeByUser]);
10677
10728
  var handleInputDatePickerChange = useCallback(function (selectType, date) {
10678
10729
  if (date == null || date.isValid()) {
10679
10730
  if (selectType === 'start') {
10680
- setValue(function (old) {
10681
- var newValue = [date ? dateToValue(date) : null, old[1]];
10682
- if (newValue[0] !== null && newValue[0] >= minYear && newValue[0] <= maxYear) {
10683
- if (newValue[1] !== null && newValue[1] < newValue[0]) {
10684
- newValue[1] = newValue[0];
10685
- }
10686
- }
10687
- if (fromError) {
10688
- validate(newValue);
10731
+ var newValue_1 = [date ? dateToValue(date) : null, value[1]];
10732
+ if (newValue_1[0] !== null && newValue_1[0] >= minYear && newValue_1[0] <= maxYear) {
10733
+ if (newValue_1[1] !== null && newValue_1[1] < newValue_1[0]) {
10734
+ newValue_1[1] = newValue_1[0];
10689
10735
  }
10690
- nextTick(function () {
10691
- onValueChangeByUser(name, newValue);
10692
- });
10693
- return newValue;
10736
+ }
10737
+ if (fromError) {
10738
+ validate(newValue_1);
10739
+ }
10740
+ nextTick(function () {
10741
+ onValueChangeByUser(name, newValue_1);
10694
10742
  });
10743
+ changeValue(newValue_1);
10695
10744
  }
10696
10745
  else {
10697
- setValue(function (old) {
10698
- var newValue = [old[0], date ? dateToValue(date) : null];
10699
- if (newValue[1] !== null && newValue[1] >= minYear && newValue[1] <= maxYear) {
10700
- if (newValue[0] !== null && newValue[0] > newValue[1]) {
10701
- newValue[0] = newValue[1];
10702
- }
10703
- }
10704
- if (toError) {
10705
- validate(newValue);
10746
+ var newValue_2 = [value[0], date ? dateToValue(date) : null];
10747
+ if (newValue_2[1] !== null && newValue_2[1] >= minYear && newValue_2[1] <= maxYear) {
10748
+ if (newValue_2[0] !== null && newValue_2[0] > newValue_2[1]) {
10749
+ newValue_2[0] = newValue_2[1];
10706
10750
  }
10707
- nextTick(function () {
10708
- onValueChangeByUser(name, newValue);
10709
- });
10710
- return newValue;
10751
+ }
10752
+ if (toError) {
10753
+ validate(newValue_2);
10754
+ }
10755
+ nextTick(function () {
10756
+ onValueChangeByUser(name, newValue_2);
10711
10757
  });
10758
+ changeValue(newValue_2);
10712
10759
  }
10713
10760
  }
10714
- }, [dateToValue, toError, maxYear, minYear, name, onValueChangeByUser, setValue, fromError, validate]);
10761
+ }, [dateToValue, value, minYear, maxYear, fromError, changeValue, validate, onValueChangeByUser, name, toError]);
10715
10762
  var handleInputDatePickerFocus = useCallback(function (selectType) {
10716
10763
  var _a;
10717
10764
  if (readOnly || disabled)
@@ -10823,39 +10870,9 @@ FormYearRangePicker.defaultProps = FormYearRangePickerDefaultProps;var FormSwitc
10823
10870
  var getFinalValue = useCallback(function (value) {
10824
10871
  return onValue ? onValue(value) : value;
10825
10872
  }, [onValue]);
10826
- /********************************************************************************************************************
10827
- * State - value
10828
- * ******************************************************************************************************************/
10829
- var _j = useAutoUpdateState(initValue || false, getFinalValue), value = _j[0], setValue = _j[1];
10830
- useFirstSkipEffect(function () {
10831
- if (error)
10832
- validate(value);
10833
- if (onChange)
10834
- onChange(value);
10835
- onValueChange(name, value);
10836
- }, [value]);
10837
- /********************************************************************************************************************
10838
- * Effect
10839
- * ******************************************************************************************************************/
10840
- useEffect(function () {
10841
- if (value !== initValue) {
10842
- if (onChange)
10843
- onChange(value);
10844
- onValueChange(name, value);
10845
- }
10846
- // eslint-disable-next-line react-hooks/exhaustive-deps
10847
- }, []);
10848
10873
  /********************************************************************************************************************
10849
10874
  * Function
10850
10875
  * ******************************************************************************************************************/
10851
- var focus = useCallback(function () {
10852
- var _a;
10853
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
10854
- setTimeout(function () {
10855
- var _a;
10856
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
10857
- });
10858
- }, []);
10859
10876
  var setErrorErrorHelperText = useCallback(function (error, errorHelperText) {
10860
10877
  setError(error);
10861
10878
  setErrorHelperText(errorHelperText);
@@ -10871,6 +10888,36 @@ FormYearRangePicker.defaultProps = FormYearRangePickerDefaultProps;var FormSwitc
10871
10888
  setErrorErrorHelperText(false, undefined);
10872
10889
  return true;
10873
10890
  }, [onValidate, setErrorErrorHelperText]);
10891
+ /********************************************************************************************************************
10892
+ * State - value
10893
+ * ******************************************************************************************************************/
10894
+ var _j = useState(function () { return getFinalValue(initValue || false); }), value = _j[0], setValue = _j[1];
10895
+ var changeValue = useCallback(function (newValue) {
10896
+ if (!equal(value, newValue)) {
10897
+ setValue(newValue);
10898
+ nextTick(function () {
10899
+ if (error)
10900
+ validate(newValue);
10901
+ if (onChange)
10902
+ onChange(newValue);
10903
+ onValueChange(name, newValue);
10904
+ });
10905
+ }
10906
+ }, [error, name, onChange, onValueChange, validate, value]);
10907
+ useFirstSkipEffect(function () {
10908
+ changeValue(getFinalValue(initValue || false));
10909
+ }, [initValue]);
10910
+ /********************************************************************************************************************
10911
+ * Function
10912
+ * ******************************************************************************************************************/
10913
+ var focus = useCallback(function () {
10914
+ var _a;
10915
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
10916
+ setTimeout(function () {
10917
+ var _a;
10918
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
10919
+ });
10920
+ }, []);
10874
10921
  /********************************************************************************************************************
10875
10922
  * Commands
10876
10923
  * ******************************************************************************************************************/
@@ -10885,12 +10932,12 @@ FormYearRangePicker.defaultProps = FormYearRangePickerDefaultProps;var FormSwitc
10885
10932
  getReset: function () { return getFinalValue(initValue || false); },
10886
10933
  reset: function () {
10887
10934
  lastValue = getFinalValue(initValue || false);
10888
- setValue(lastValue);
10935
+ changeValue(lastValue);
10889
10936
  },
10890
10937
  getValue: function () { return lastValue; },
10891
10938
  setValue: function (value) {
10892
10939
  lastValue = getFinalValue(value);
10893
- setValue(lastValue);
10940
+ changeValue(lastValue);
10894
10941
  },
10895
10942
  getData: function () { return lastData; },
10896
10943
  setData: function (data) {
@@ -10948,13 +10995,13 @@ FormYearRangePicker.defaultProps = FormYearRangePickerDefaultProps;var FormSwitc
10948
10995
  onAddValueItem,
10949
10996
  onRemoveValueItem,
10950
10997
  id,
10951
- setValue,
10952
10998
  setDisabled,
10953
10999
  setErrorErrorHelperText,
10954
11000
  data,
10955
11001
  setData,
10956
11002
  hidden,
10957
11003
  setHidden,
11004
+ changeValue,
10958
11005
  ]);
10959
11006
  /********************************************************************************************************************
10960
11007
  * Event Handler
@@ -10965,13 +11012,13 @@ FormYearRangePicker.defaultProps = FormYearRangePickerDefaultProps;var FormSwitc
10965
11012
  }
10966
11013
  else {
10967
11014
  var finalValue_1 = getFinalValue(checked);
10968
- setValue(finalValue_1);
11015
+ changeValue(finalValue_1);
10969
11016
  nextTick(function () {
10970
11017
  onValueChangeByUser(name, finalValue_1);
10971
11018
  onRequestSearchSubmit(name, finalValue_1);
10972
11019
  });
10973
11020
  }
10974
- }, [readOnly, getFinalValue, setValue, onValueChangeByUser, name, onRequestSearchSubmit]);
11021
+ }, [readOnly, getFinalValue, changeValue, onValueChangeByUser, name, onRequestSearchSubmit]);
10975
11022
  /********************************************************************************************************************
10976
11023
  * Render
10977
11024
  * ******************************************************************************************************************/